лекции ВТиИТ / 09_ЦОС, ЦПОС
.pdfЦифровая обработка сигналов Общие принципы цифровой обработки сигналов
Одним из основных направлений развития приборостроения является все более широкое использование цифровых методов представления, хранения, передачи и обработки информации. Данные методы позволяют не только повысить метрологические показатели по сравнению с аналоговыми приборами, но и максимально автоматизировать процесс измерения и обработки.
Цифровая обработка сигналов (ЦОС), в том числе и измерительной информации, имеет ряд преимуществ по сравнению с другими способами:
хорошая стабильность и воспроизводимость;
отсутствие таких дестабилизирующих факторов, присущих аналоговым устройствам как температурный и временной дрейф, разброс параметров, воздействие наводок и помех;
гибкость - возможность программной реализации алгоритмов обработки измерительной информации и изменение параметров аппаратуры;
возможность создание адаптивных систем с перестраиваемой структурой;
простота настройки и повышение метрологических характеристик без использования трудоемких и прецизионных операций (подгонка образцовых резисторов).
Цифровая обработка сигналов позволяет выполнять в принципе любое формально
описываемое преобразование сигнала по сколь угодно сложному алгоритму со сколь угодно большой степенью точности. Существует несколько типичных задач решаемых, с помощью ЦОС в измерительных приборах.
фильтрация сигнала;
его масштабирование;
сжатие (компрессия) измерительных сигналов;
дискретное преобразование Фурье;
преобразования спектра сигнала;
определение сложных функциональных зависимостей, аппроксимация функцией данного вида;
синтез нелинейных передаточных функций;
статистический анализ полученных результатов.
Чтобы выполнить цифровую обработку необходимо предварительно преобразовать аналоговый сигнал на входе в цифровой код с помощью аналого-цифрового преобразователя (АЦП). Обратное преобразование на выходе цифрового сигнала в аналоговый вид выполняется с помощью цифроаналогового преобразователя (ЦАП).
Алгоритмы цифровой обработки сигналов могут реализовываться как в устройствах на жесткой логике, в том числе и на программируемых логических интегральных схемах (ПЛИС), так и в устройствах с программной логикой – универсальных либо специализированных микропроцессорах и микроконтроллерах, а также в универсальных компьютерах.
Алгоритмы цифровой обработки сигналов Дискретные фильтры Общие положения
Дискретные фильтры, равно как и аналоговые, выполняют преобразование спектра сигнала за счет различного коэффициента передачи для разных гармонических составляющих. Фильтры классифицируются как фильтры верхних частот (ФВЧ), фильтры нижних частот (ФНЧ), и полосовые – пропускающие и задерживающие.
В отличие от аналоговых схем дискретные фильтры работают не с непрерывными сигналами, а с сигналами дискретизированными по времени, то есть с сигналами, представленными в виде последовательностей входных и выходных отсчетов сигнала. Другое название такого представления сигнала - решетчатая функция, значения этой функции определены только для определенных значений аргумента. Промежуток времени между двумя соседними отсчетами сигнала называется периодом дискретизации Tд, величина обратная ему - частотой дискретизации fд.
При дискретизации непрерывных сигналов частоту дискретизации следует выбирать с учетом теоремы Котельникова. Теорема Котельникова определяет, что для адекватного представления непрерывной по времени функции при помощи дискретной частота дискретизации должна быть, по крайней мере, в два раза больше, чем самая высокочастотная гармоническая составляющая непрерывного сигнала. Это определяет верхний частотный предел диапазона, в котором адекватно работают дискретные методы обработки сигналов (фильтрация, преобразование Фурье и др.).
Алгоритм цифровой фильтрации
В основе построения цифрового фильтра лежит реализация следующего алгоритма, называемого разностным уравнением:
M |
N |
yn bk xn k ak yn k |
|
k 0 |
k 1 |
где: xn – отсчет входного сигнала в текущий момент времени n (n-тый такт работы схемы) xn-k – отсчеты выходного сигнала в предыдущие моменты времени n-k, задержанные на i
тактов.
yn – отсчет выходного сигнала в текущий момент времени n
yn-k – отсчет выходного сигнала в предыдущие моменты времени n-i a, b – постоянные множители - коэффициенты фильтра.
Цифровой фильтр
Аналоговое преобразование: Uв х (t) Uв ых(t)
Цифровое преобразование: x(nT ) y(nT ) (x- вход, y- выход)
|
|
|
|
|
i(t) C |
d (U |
вх (t) U вых (t)) |
|
U |
вых |
(t) |
|||
Например: |
|
|
dt |
|
R |
|
(1) |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
C |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Uвх(t) |
|
|
R Uвых(t) |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Переходим от аналогового сигнала к цифровому:
|
d (U вх (t) U вых (t)) |
|
|
|
|
|
(xn yn ) (xn 1 yn 1 ) |
|
|||||||||||||||
|
|
||||||||||||||||||||||
|
|
dt |
|
|
|
|
|
|
|
|
|
|
|
|
T |
|
(2) |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
t nT |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
y n |
|
|
|
|
|
|
|
|||||
подставим (2 )в (1) и выразим |
|
|
|
|
|
|
|
||||||||||||||||
|
yn a0 xn |
a1 xn 1 b1 yn 1 |
(3), |
|
|
|
|
|
|
|
|||||||||||||
|
где a0 |
|
1 |
|
; a1 |
1 |
|
|
|
|
;b1 |
1 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
T |
|
|
|
T |
|
|
|
|
T |
|
|
|
|
|||||||
|
1 |
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|||||
|
|
RC |
|
|
|
|
|
RC |
|
RC |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
Передаточная функция ( |
H (z) Y (z) |
X (z) |
).где Y(z), X(z) – это Z преобразования |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
соответственно входных и выходных последовательностей.
Z – преобразование цифровой последовательности X (nT ) , n = 0,1…
|
|
1 |
|
|
X (z) X (nT )z n , обратное |
X (nT) |
X (z)z n 1dz |
||
|
||||
2 j |
||||
n 0 |
|
|
|
X(nT) |
+ |
|
|
a0 + Y(nT) |
||
|
|
|
-b |
1 |
Z-1 |
a1 |
|
|
|
|
|
|
|
Тогда (3) будет выглядеть: |
||||||
Y (z) a |
0 |
X (z) a X (z)z 1 |
b Y (z)z 1 |
|||
|
|
|
|
1 |
1 |
|
Y (z) |
a |
0 |
a z 1 |
|
|
|
|
1 |
X (z) |
|
|||
1 b z 1 |
|
|||||
|
|
|
1 |
|
|
|
Фактически z 1 - задержка на 1 тактовый период Т: Y (nT ) X (nT T )
Для фильтра второго порядка:
X(nT) |
|
+ |
|
|
|
a0 + Y(nT) |
|
|
|
|
|
-b1 |
|
Z-1 |
a1 |
|
|
|
-b2 |
|
Z-1 |
a1 |
|
|
|
|
|
|
|
|
|
Y a |
0 |
X |
n |
a X |
n 1 |
b Y (z)z 1 |
|
n |
|
1 |
1 |
|
|||
В общем случае: |
|
|
|||||
M |
|
|
|
N |
|
|
|
Yn ai X n i |
biYn i |
|
|||||
i 1 |
|
|
|
i 1 |
|
|
ai ,bi - константы со знаком
X i - последовательный ряд выборок входной переменной Yi - последовательный ряд выборок выходной переменной
Если N = 0 – нерекурсивный цифровой фильтр. (отклик – сумма входных сигналов), N > 0 - рекурсивный (учитывается не только входные, но и предыдущие выходные) -> -> их (выходные) надо запоминать.
В общем случае необходимо выполнять: A Ik A A – аккумулятор
I – отчет
k – коэф. из табл.
A Ik A - основная операция, реализуемая в цифровых процессорах обработки сигналов
Цифровые процессоры обработки сигналов
Особенности архитектуры ЦПОС
Особенности архитектуры цифровых процессоров обработки сигналов (ЦПОС) (Digital Signal Processors – DSP) связаны с особенностью программ, по которым им приходится работать:
программы выполняются, как правило, в реальном масштабе времени - по мере поступления входного сигнала, что придает критическую важность вопросам повышения быстродействия;
программы содержат много логических и особенно арифметических операций и практически не содержат программ перехода;
происходит постоянный и быстрый ввод вывод данных, зачастую в аналоговой форме
программы относительно короткие и достаточно редко изменяются, зачастую остаются неизменными на протяжении всего срока эксплуатации процессора.
Из этого проистекают такие особенности архитектуры:
в процессорах цифровой обработки сигналов очень часто используется так называемая Гарвардская архитектура - с раздельными блоками памяти для хранения программ и данных. Они могут иметь разную разрядность, к ним происходит обращение по разным командам;
большая (иногда нестандартная) разрядность обрабатываемых данных - 16, 24, 32, 48, 64, 128, что позволяет увеличить диапазон обрабатываемых чисел без применения формата с плавающей запятой или обрабатывать по несколько чисел одновременно;
блоки, предназначенные для ускорения выполнения команды умножения - сдвиговые регистры, матричные умножители;
память команд и данных на самом кристалле процессора;
возможность параллельного выполнения нескольких операций одновременно, например, ввода вывода и арифметических команд;
все команды имеют одинаковую длину и выполняются за одинаковое время, что позволяет использовать счетчик команд для отсчета временных интервалов.
Все эти особенности архитектуры проявляются таких процессорах как аналого-цифровой процессор КР1813ВЕ1, процессоры серии TMC320 фирмы Texas Instruments, DSP фирм
Motorola и Analog Devices.
ЦПОС семейства TMS320C1x
Первый процессор семейства - TMS320C10 был выпущен в 1982 г. и благодаря ряду удачных технических решений получил широкую распространенность.
Особенности семейства
В основу микропроцессора положена модифицированная Гарвардская архитектура, отличием которой от традиционной Гарвардской архитектуры является возможность обмена данными между памятью программ и памятью данных, что повышает гибкость устройства.
Арифметические функции в процессоре реализованы аппаратно. Он имеет аппаратные умножитель, устройство сдвига, аппаратную поддержку автоинкремента / декремента адресных регистров данных (ARO, AR1).
Структурная схема процессора |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Структурная схема |
|
|
8 |
|
|
|
|
|
самого младшего |
|
AR1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
члена семейства |
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
Адрес |
|
|
|
|
|
|
|
MUX |
8 |
ОЗУ |
|
TMS320l0 приведена |
|
|
|
|
|
|
||||
|
|
|
|
MUX |
(114х16) |
|
на рисунке. |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
AR0 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
MEN – выборка |
|
|
|
|
|
|
|
Даные |
|
|
|
|
|
|
|
|
|
команд из ПЗУ |
|
|
|
|
|
DP |
|
|
|
|
|
|
|
ARP |
|
|
|
|
DEN – чтение данных |
|
|
|
7 |
|
|
16 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
из портов |
|
Шина данных |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
ввода/вывода |
|
|
|
|
16 |
|
16 |
|
WE – запись в порт |
|
|
|
16 |
|
|
|
ввода/вывода |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Регистр Т (16) |
|
DP – указатель |
|
|
|
|
|
|
|
страницы памяти |
||
X1 |
|
|
Сдвигатель |
|
|
|
|
|
|
|
|
|
|
|
ARP – указатель |
||
X2 |
|
|
(0-15) |
|
|
Умножитель |
|
|
|
|
|
|
|
|
|
адреса |
|
|
|
|
|
|
|
|
|
|
WE |
Контроллер |
|
|
|
Регистр Р (32) |
|
PC – счетчик команд |
|
DEN |
|
|
|
|
|
|||
|
|
|
|
|
|
|
||
MEN |
|
32 |
|
32 |
|
|
Вспомогательные |
|
MC/MP |
|
|
|
|
||||
|
|
|
|
|
||||
|
|
|
|
|
|
|||
RS |
|
|
|
|
|
|
регистры AR0, AR1 |
|
BIO |
|
|
|
|
|
|
||
INT |
|
|
|
MUX |
|
|
|
используются при |
CLCOUT |
|
|
|
|
|
|
|
косвенной адресации. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
АЛУ выполняет |
|
|
|
|
|
|
|
|
обработку 32-х |
|
|
|
|
|
АЛУ (32 бита) |
32 |
разрядных данных |
|
|
MUX |
|
|
|
|
|
(операции сложения, |
|
16 |
|
|
|
|
|
|
||
|
|
|
|
32 |
|
|
вычитания, И, ИЛИ, |
|
DO-D15 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
сложения по модулю |
|
|
|
16 |
Сдвигатель |
|
А (32 бита) |
|
||
|
|
|
|
|
2). |
|||
|
16 |
|
(0,1,4) |
32 |
|
|
|
|
|
|
|
|
|
|
16 |
|
Параллельный |
|
|
|
|
|
|
|
|
|
|
|
|
Шина команд |
|
|
|
матричный |
|
|
|
|
|
|
|
умножитель |
||
|
|
|
|
|
|
|
|
|
|
|
|
Команда |
|
|
|
|
выполняет умножение |
|
|
|
|
|
|
|
16-ти разрядных |
|
12 |
MUX |
|
ПЗУ |
MUX |
|
|
Стек |
|
Адрес |
|
РС |
|
|||||
|
|
(4х12) |
чисел с |
|||||
|
|
|
||||||
A11-A0 |
команд |
|
|
|||||
|
|
|
||||||
|
(1536х16) |
|
|
|
фиксированной |
|||
|
|
12 |
|
|
||||
|
|
|
|
|
|
|
десятичной точкой. |
|
|
|
|
|
|
12 |
|
||
|
|
|
|
|
|
|
|
Регистр Т (16) – |
хранение множимого, Регистр Р (32) – результат умножения. Второй множитель выбирается |
||||||||
из памяти данных или из команды. |
|
|
|
|
|
|||
Сдвигатель (0-15) выполняет последовательный арифметический сдвиг влево. |
||||||||
Сдвигатель (0,1,4) выполняет сдвиг содержимого старших 16 разрядов Аккумулятора (А). |
||||||||
Используется при установлении десятичной точки после умножения. |
|
Технические характеристики
TMS320C10 является 16-разрядным процессором. Его адресное пространство составляет 4К 16-разрядных слов памяти программ и 144 16-разрядных слов памяти данных. длительность командного такта процессора составляет 160-200 нс.
С внешними устройствами процессор взаимодействует через 8 16-разрядных портов ввода/вывода. Предусмотрена возможность обработки внешнего прерывания.