Цифровая обработка сигналов  

Учебное пособие по курсу “Цифровая обработка сигналов”

назад | оглавление | вперёд

 

 

Учебное пособие по курсу

“Цифровая обработка сигналов”

часть II

 

1. Цифровые фильтры. Общая характеристика.

В цифровой вычислительной системе, предназначенной для обработ­ки сигналов действие над отсчетами сигнала, заменяется действием над кодовыми словами. Структурная схема подобного цифрового фильтра представлена на рис. 1.

Рисунок 1.

Где ЭК - электронный ключ. Производит преобразование аналогового сиг­нала в отсчеты. На выходе последовательность АИМ-1.

АЦП - аналого-цифровой преобразователь. На выходе вместо отсче­тов сигнала появляются кодовые слова, т.е. АИМ-2.

ЦФ - осуществляет операцию над кодовыми словами в соответствии с заданным алгоритмом (например, в соответствии с заданным разностным уравнением).

ЦАП - цифро-аналоговый преобразователь. На его выходе вместо кодовых слов появляются отсчеты выходного сигнала.

АСФ - аналоговый синтезирующий фильтр (ФНЧ). На его выходе появляется выходной аналоговый сигнал.


На рис. 2 показаны качественно происходящие процессы в отдель­ных узлах при цифровой обработке сигналов. Так под цифрой 1 показан входной аналоговый сигнал X(t), под цифрой 2 - отсчеты аналогового сиг­нала Х(пТ), под цифрой 3 - выходной сигнал цифрового фильтра, под циф­рой 4 - огибающая цифрового сигнала.

Рисунок 2.

Применение цифровых фильтров позволяет получать высокое качество обработки сигналов. Поскольку кодовые слова Х(nТ) и Y(nT) имеют конечную длину, то сигнал на выходе Y(t) будет отличаться от идеального варианта обработки на некоторую величину. Здесь сказывается эффект ко­нечной разрядности. Эти эффекты учитываются в окончательной схеме цифрового фильтра и рассматриваются ниже.

 

2. Структура и основные характеристики цифрового фильтра

Любую RLC цепь можно описать дифференциальными уравнениями. При переходе от непрерывных сигналов к дискретным дифференциальное уравнение заменяется разностным уравнением. А разностному уравнению соответствует цепь, элементы которой принципиально отличаются от эле­ментов RLC. Такое разностное уравнение общего вида, связывающее сиг­нал на входе и выходе дискретной цепи имеет вид:

                      (1)

где Х(nТ) сигнал на входе,

Y(nT) - сигнал на выходе,

М - число прямых связей системы,

L - число обратных связей системы,

m, е - целые числа (1, 2, 3 ...)

Этому разностному уравнению соответствует дискретная цепь (рис. 3).

  

 Рисунок 2.

На этой схеме соответствует элемент задержки на время Т (Т - шаг дискретизации). Элемент означает умножитель на величину ai или bi. Элемент означает сумматор.

Методы решения разностных уравнений имеют много общего с ме­тодами решений дифференциальных уравнений и позволяют получить решение в общем виде. Мы ограничимся численными методами решения. Разностное уравнение является алгоритмом работы дискретной системы. Такая цепь реализуется либо в виде программы работы на ЭВМ, либо в ви­де специализированного вычислителя.

Пример №1.

Составить структурную схему по следующему разностному уравне­нию:

Y(nT) = 0,4Х(пТ) - 0,2Y(nT - Т) + 0,3Y(nT - 2Т)                     (2)

 


Решение: Данному разностному уравнению соответствует структурная схема, изображенная на рис. 4.

Рисунок 4.

Пример №2.

Составить разностное уравнение по заданной структурной схеме (рис.5) и решить его для заданной последовательности Х(пТ)={1,0; 0,5;0}


Рисунок 5.

Решение: Данной структурной схеме соответствует разностное урав­нение

Y(nT) = 0,6[0,1Х(nТ) + 0.5Х(nТ - Т) + 0,4Х(nТ - 2Т)]

Найдем решение данного уравнения численными методами

n = 0 → Y(OT) = 0,6*0,1Х(0Т) = 0,06

n = 1 → Y(1T) = 0,6[0,1Х(1Т) + 0,5Х(1Т - Т)]= 0,6*0,1*0,5 + 0,6*0,5*1=0,45

n = 2 → Y(2T) = 0,6[0,1Х(2Т) + 0,5Х(2Т - Т) + 0,4Х(2Т - 2Т)] =

= 0,6[0,1*0 + 0,5*0,5 + 0,4*1] = 0,39

Y(nT)= {0,06; 0,45; 0,39}

Наряду с разностным уравнением очень часто структуру цифрового фильтра характеризуют передаточной характеристикой. Если разностное уравнение характеризует заданную цепь во временной области, то переда-

точная характеристика характеризует эту же цепь в частотной области. Численное выражение для передаточной характеристики равно:

                                                   (3)

В выражении (3) Y(Z) – Z - преобразование выходного сигнала.

X(Z) – Z - преобразование входного сигнала. Z = е -j2π/N: Т - период дискретизации, w - круговая частота, am - коэффициенты передачи нерекурсивной цепи, be - коэффициенты передачи рекурсивной цепи, Z-1 - характеризует задержку сигнала не один тактовый интервал, М, L - соответственно характеризует количество прямых и обратных связей системы.

Если , то цепь называется нерекурсивной.

Если  - то цепь рекурсивная.

Пример №3.

Пользуясь рис. 4 и рис. 5, составить уравнения для передаточной ха­рактеристики.

Решение: Цифровой фильтр, изображенный на рис. 4, характеризует­ся следующим видом H(Z)

                                                   (4)

а изображенный на рис. 5 характеризуется как

H(Z) =0,6 [0,1 + 0,5Z-1 + 0,4Z-2]                                                (5)

При анализе работы любой цифровой структуры важное место приобретает вопрос устойчивости. Если по каким-то причинам цепь оказывается неустойчивой, то вместо желаемого фильтра получают генератор. Критерий устойчивости дискретной цепи можно получить, зная критерий устойчивости непрерывной цепи. Дискретная цепь будет устойчива, если полюсы Н(Р) расположены в левой полуплоскости комплексной переменной Р = δ + jw. При переходе к плоскости Z левая плоскость комплексной переменной отображается на внутреннюю часть единичного круга Z. Следовательно, полюсы H(Z) дискретной цепи должны располагаться внутри единичного круга плоскости Z. Это и есть принцип устойчивости.

Пример №4.

Дискретная цепь описывается передаточной функцией

                                                     (6)

Определить устойчивость данной цепи.

Решение. Для решения данной задачи преобразуем H(Z) к следую­щему виду

                                                        (7)

Приравняем знаменатель (Z) к нулю и найдем корни

Z2 + 0,6Z - 0,1 = 0;                  

Рисунок 6.

Так как оба корня находятся внутри единичного круга Z плоскости, то цепь с передаточной характеристикой (6) является устойчивой. В некоторых случаях дискретная цепь оказывается неустойчивой. Однако такую цепь можно также реализовать, перейдя от рекурсивной цепи к нерекурсивной цепи.

 

Пример №5.

Определить устойчивость цепи

                                                      (8)

В случае обнаружения неустойчивости произвести преобразование рекурсивной цепи в нерекурсивную цепь.

Решение: Воспользовавшись приемом в примере 4, находим, что:

Z1 = l,65;     Z2 = -2,25

Цепь, характеризуемая выражением (8) неустойчива. Произведем преобра­зование. Для этого выражение (8) представим к виду:

Поделим числитель на знаменатель. Дискретная цепь, характеризуемая H(Z) выражением (8), реализуема и устойчива с передаточной характеристикой.

H(Z) = 0,7Z - 0.4Z-1 - 0,08Z-2...

Наряду с характеристикой H(Z) очень часто дискретную цепь харак­теризует так называемой импульсной реакцией h(nT). Импульсной реакци­ей цепи h(nT) называется отклик цепи на единичную δ функцию. Если H(Z) характеризует систему в частотной области, то h(nT) как и разностное уравнение характеризует цепь во временной области. Обе характеристики связаны с Z преобразованием. Определить h(nT) можно различными методами:

1. По известному разностному уравнению, если Х(nТ) = {1; 0}, тогда у(пТ) будет искомой h(nT), т.е. y(nT) = h(nT),

2. По известному H(Z), используя формулу обратного Z преобразования или теорему разложения,

3.     Численными методами, применяя деление полинома числителя на поли­ном знаменателя. Использование этого приема показано в примере №5.

 

Расчет X(jkw1), H(jkw1) и у(nТ) с применением БПФ и ОБПФ.

 

Связь между отсчетами во временной и частотной областях устанавливается формулами ДПФ.

 – ДПФ

 – ОДПФ

 

где  – количество отсчетов во временной и частотной областях.

Оба преобразователя можно вычислить с помощью одного и того же алгоритма. Для этого используют выражение:

W = ej2 – весовая функция.

Для прямого ДПФ a(n) =X(nT), aX(jkw1) = A(k).

При вычислении ОДПФ а(n) = X(jW1(N-n)), где n = 1, 2 ... N-1; а(0) = Х(0);

а  

Анализ алгоритма ДПФ показывает, что количество операций умно­жения будет равно N2. Этот алгоритм содержит большое количество избы­точных операций, в том числе и таких, когда одни и те же операции многократно выполняются над одними и теми же значениями величин. Устранение избыточных операций умножения приводит к алгоритму быстрых преобразований Фурье. На рис. 7 приведена схема восьмиточечного БПФ.


Рисунок 7.

При БПФ исходные отсчеты подаются на входы преобразователя не в естественном порядке. Для получения номеров отсчетов в требуемой по­следовательности необходимо номера отсчетов исходной последовательности представить в двоичной системе счисления, а затем для каждого номера переставить разряды, записав их в обратном порядке (таб.1).

 

Таблица 1.

0

1

2

3

4

5

6

7

Естественный

порядок

000

001

010

011

100

101

110

111

000

100

010

110

001

101

011

111

Двоично-инверсный

порядок

0

4

2

6

1

5

3

7.

На рис. 8 изображена схема алгоритма перестановки. Здесь N - количество элементов исходной последовательности, A(i) - ячейки для хранения данных исходной последовательности.

Рисунок 8.

Согласно этого алгоритма перестановка осуществляется непосредственно над содержимым ячеек, хранящих данные исходной последовательности. При этом получение двоично-инверсной последовательности не требует использования дополнительного массива ячеек памяти. Она формируется в том же массиве ячеек, в котором хранилась исходная последовательность. На рис. 9 показана схема алгоритма БПФ.

Рисунок 9.

В этом алгоритме:

М = log2N - количество этапов БПФ,

N - количество элементов исходной последовательности,

L1 - определяет количество взаимодействующих элементов входной последовательности на каждом этапе БПФ (на первом этапе - 2, на вто­ром- 4 и т.д.),

L2 - количество весовых функций, вычисляемых на каждом этапе преобразования (на первом этапе - 1(W0); на втором - 2(W0, W1); на

третьем - 4(W0, W1, W2, W3) и т.д.).

Весовая функция Wnk= (e-2π/N)nk представлена по формуле Эйлера;

A(i), B(i) - действительная и мнимая составляющие гармоники БПФ. Переменные i и il определяют взаимодействующие пары А(р) и А(g), согласно схеме на рис. 10.

Рисунок 10.


В процессе выполнения алгоритма БПФ на любом его этапе результат вычисления соответствующих пар значений А1(р), A1(g) (рис. 9) полу­чаются путем взаимодействия только А(р) и А(g), которые берутся из результата предыдущего этапа БПФ. Вычисленные значения А1 (р), А1(g) помещаются в ячейки, хранящие результаты предыдущего этапа. Т.о. обоб­щенный алгоритм БПФ имеет вид, представленный на рис. 11.


Рисунок 11.

При ОБПФ может быть использован алгоритм БПФ, но при вводе массива исходной последовательности необходимо предусмотреть ячейки для записи вещественной и мнимой составляющих X(jkw1). Весовая функция при этом

т.е. W1 = cos(π/L2), W2 = sin(π/L2) (рис. 9).

Полученные в результате вычислений ОБПФ значения Х(nТ) должны быть разделены на N. В курсовой работе по приведенному алгоритму необходимо составить программу БПФ и ОБПФ на языке высокого уровня. При расчете X(jkWl), исходной последовательностью является входное воздействие Х(nТ), при расчете H(jkWl) - импульсная реакция h(nT), определяемая по передаточной характеристике H(Z). Выходной сигнал у(пТ) может быть определен двумя путями:

1. С применением круговой свертки во временной области

2. С применением расчетов в частной области. По рассчитанным X(jkWl) и H(jkWl) определяют Y(jkWl), а затем, применяя ОБПФ, находят у(nТ).

 

3. Реализация H(Z) на МПК 1813ВЕ1

Для процессоров фильтрации или коррекции сигналов в диапазоне частот канала ТЧ, требуется быстродействующее МПК. Одним из них яв­ляется ВМ1813ВЕ1, позволяющий в реальном масштабе времени создать до пяти фильтров восьмого порядка. МПК 1813ВЕ1 оперирует с аналого­выми и цифровыми сигналами, при этом аналоговая и цифровая части его работают параллельно.

В таблице 2 приведены команды, выполняемые в цифровой части, а в таблице 3 - в аналоговой части МПК 1813ВЕ1.

Для обеспечения синхронной работы цифровой и аналоговой частей МПК используются пустые команды:

• в цифровой части - пустые пересылки (LDA),

• в аналоговой - команда NOP.

Рассмотрим пример реализации на ВМ 1813ВЕ1 цифрового фильтра второго порядка, передаточная функция которого имеет вид:

Прейдем к разностному уравнению:

Y(kT) = 0,02929X(kT) + l,7656Y(kT - Т) - 0,9746Y(kT - 2Т)

Введем обозначения:

Y0 = y(kT)

Х = x(kT)

Yl = y(kT - T)

Y2 = y(kT - 2T)

 Таблица 2.

№п/п

Мнемоника

Двоичный код

Комментарии

1

2

3

4

5

6

7

 

8

ADD

SUB

LDA

XQR

ABA

ABS

LIM

 

AND

110

101

111

000

100

011

010

 

001

В + 2n·А→В

В – 2n·А→В

А·2n→В

ВÅ(2n·А) →В

В·|2n·А|→В

|2n·А|→В

+1→В, если А>0

-1→В, если А<0

В·(А·2n) →В

При организации условных переходов

9

 

10

 

11

 

12

13

ADD CND(k)

 

SUB CND(k)

 

LDA CND(k)

 

ABA CND(k)

XQR CND(k)

110

 

101

 

111

 

100

000

В+(2n·А)→В,если DAR(k)=1;k=0,1... 8

В→В, если DAR(k)=0

B·(A·2n)→B, если DAR(k)=l

В+(А·2n)→В, если DAR(k)=0

А·2n→В, если DAR(k)=l

В→В, если DAR(k)=0

|(A·2n)|(mod2)B→B

(А·2n) + В→В

Здесь (mod 2) - операция сложения по модулю 2.

 

Таблица 3.

№ п/п

Мнемоника

Код операции

Комментарии

ADF

ADK

 

 

1.

IN(k)

k=0¸3

00

00

00

00

000 001 010 011

Ввод сигнала по 1 каналу

Ввод сигнала по 2 каналу

Ввод сигнала по 3 каналу

Ввод сигнала по 4 каналу

2.

NOP

00

100

Отсутствие операций

3.

EOP

00

101

Возврат работы ПЗУ к нулевой ячейке

4.

CUTS

00

110

Формирование в АЦП знакового разряда

5.

CUT(k)

10

...

10

000

111

Преобразование младшего разряда

 

Преобразование старшего (8-го) разряда

6.

CNDS

00

111

Условная операция по знаковому разряду

7.

OUT(k)

k=0¸7

01

01

000

111

Вывод сигнала по 1 каналу

 

Вывод сигнала по 8 каналу

8.

CND(k)

11

11

000

111

Условная операция по младшему разряду DAR

Условная операция по старшему разряду DAR

Для уменьшения времени при выполнении операций умножений, представим коэффициенты в следующем виде:

0,02929 » 2-8 – 2-10

1,7656 » 21-2-2+2-6

-0,9746 » -20+2-7-2-9

В этом случае, для того, чтобы умножить X(kT) на соответствующий коэффициент (0,02929), достаточно сделать сдвиг вправо X(kT) на 8 и на 10 разрядов. Полученные величины вычесть друг из друга, т.е.

0,02929X(kT) = Х*2-8 - Х*2-10

В таблице 4 приведена программа реализации фильтра.

 

Таблица 4.

№ п/п

КОП

цифровой

Код операнда В

Код операнда A

Код. масшт. устройства

КОП

аналого-

вый

Комментарии

1

LDA

Y2

Yl

R00

IN(0)

Y2=Y1

В аналоговой части осуществляется ввод сигнала по "Æ" ка-налу. Команда ввода повторяется 8 раз подряд.

2

LDA

Yl

Y0

R00

IN(0)

Y1=Y0

3

LDA

Y0

Yl

L02

IN(0)

Y0=Ylx21

4

SUB

Y0

Yl

R02

IN(0)

Y0=Y0-2-2xYl

5

ADD

Y0

Yl

R06

IN(0)

Y0=Y0+26xYl

6

SUB

Y0

Y2

L01

IN(0)

Y0=Y0-2 xY2

7

ADD

Y0

Y2

R07

IN(0)

Y0=Y0+2-7xY2

8

SUB

Y0

Y2

R09

IN(0)

Y0=Y0-2-9xY2

9

LDA

Y0

Y0

R00

CUTS

В цифровой части холост, операция.

В аналоговой части преобр.знака

10

LDA

Y0

Y0

R00

NOP

холостые

11

LDA

Y0

Y0

R00

NOP

операции

12

LDA

Y0

Y0

R00

CUT(7)

Преобразование 7

разряда мантиссы

13

LDA

Y0

Y0

R00

NOP

холостые

14

LDA

Y0

Y0

R00

NOP

операции

15

LDA

Y0

Y0

R00

CUT(7)

Преобразование 6 разряда мантиссы

16

LDA

Y0

Y0

R00

NOP

 

17

LDA

Y0

Y0

R00

NOP

 

35

LDA

Y0

Y0

R00

CUT(O)

Преобразование младш. разряда

 мантиссы

36

LDA

Y0

Y0

R00

NOP

 

37

LDA

Y0

Y0

R00

NOP

 

38

ADD

X

DAR

R00

NOP

X=DAR

39

SUB

Y0

X

R08

NOP

Y0=Y0+2-8

40

LDA

Y0

X

R10

NOP

Y0=Y0-2-l0xX

41

LDA

DAR

Y0

 

NOP

DAR=Y0

42

LDA

Y0

Y0

R00

OUT(l)

Вывод по первому выходу (повторяет-ся 8 раз подряд)

49

LDA

Y0

Y0

R00

OUT(l)

 

50

LDA

Y0

Y0

R00

EOP

Возврат в начало программы

 

Программа начинается с переприсвоения переменных, что эквива­лентно сдвигу выходного сигнала в первой и второй линиях задержки. Процесс умножения на заданные коэффициенты производится путем сдви­гов вправо или влево операнда А в масштабирующем устройстве. При сдвиге вправо используется мнемоническое обозначение R, а влево - L. Время, отводимое на выполнение всей программы, составит:

600нс*52=31мкс.

 


назад | оглавление | вперёд