13



Лабораторная работа №6

Синтез цифрового фильтра по аналоговому прототипу


Цель работы. В данной лабораторной работе изучается два метода синтеза цифрового фильтра по аналоговому прототипу: метод билинейного z-преобразования и метод инвариантной импульсной характеристики. Исследуются частотные и временные характеристики синтезированного фильтра, которые требуется сравнить с соответствующими характеристиками аналогового прототипа. Работа осуществляется с использованием программного пакета MATLAB.


Варианты заданий


Вариант

Параметры схемы

Метод синтеза

Тип схемы


L, мГн

C,

мкФ

R,

Ом



1

13

2

80

Бил. z-пр.

1

2

1.6

4

16

Инв. ИХ

1

3

0.2

5

10

Инв. ИХ

1

4

8

3

100

Бил. z-пр.

2

5

0.3

6

6

Бил. z-пр.

2

6

4

10

24

Бил. z-пр.

2


L, мГн

C,

мкФ

R1,

Ом

R2,

Ом



7

0.26

24

50

100

Инв. ИХ

3

8

1

24

200

200

Бил. z-пр.

3

9

0.16

70

80

50

Бил. z-пр.

3


L, мГн

C1,

мкФ

C2,

мкФ

R,

Ом



10

2,5

1

9

16

Инв. ИХ

4

11

0.63

0.5

9.5

12

Бил. z-пр.

4

12

8.4

2

10

50

Инв. ИХ

4


L1, мГн

L2, мГн

C,

мкФ

R,

Ом



13

18

2

22

9

Бил. z-пр.

5

14

9.5

0.5

24

7

Бил. z-пр.

5

15

10

1.5

5

32

Бил. z-пр.

5



Вариант

Параметры схемы

Метод синтеза

Тип схемы


C1,

мкФ

C2,

мкФ

R1,

кОм

R2,

кОм



16

0.002

0.01

7.5

18

Инв. ИХ

6

17

0.006

0.02

4.3

12

Инв. ИХ

6

18

0.002

0.01

30

51

Бил. z-пр.

6


C1,

мкФ

C2,

мкФ

R1,

кОм

R2,

кОм



19

0.003

0.003

4.7

39

Бил. z-пр.

7

20

0.004

0.004

3.9

43

Бил. z-пр.

7

21

0.005

0.005

4.3

62

Бил. z-пр.

7


C1,

мкФ

C2,

мкФ

R1,

кОм

R2,

кОм

R3,

кОм



22

0.002

0.002

30

2.2

130

Бил. z-пр.

8

23

0.007

0.007

51

1.6

150

Инв. ИХ

8

24

0.004

0.004

22

3

100

Инв. ИХ

8


C,

мкФ

R1,

кОм

R2,

кОм



25

0.01

5.1

75

Бил. z-пр.

9

26

0.01

2.2

82

Бил. z-пр.

9

27

0.005

3.9

62

Бил. z-пр.

9



Типы схем


Тип схемы


Схема

Передаточная функция и нормировочная частота



1



1/(LC)

K(p) =

p2 +p/(RC) +1/(LC)



w0 =1/ LC



2



p2

K(p) =

p2 +p/(RC)+1/(LC)


w0 = 1/ LC

Тип схемы


Схема

Передаточная функция и нормировочная частота




3



p/(R1C)

K(p) =

p(R1+R2) 1

p2 + +

R1 R2C LC


w0 =1 / LC




4



C1 1

(p2+ )

C1+C2 LC1

K(p)=

p 1

p2+ +

R(C1+C2) L(C1+C2)


w0=1/L(C1+C2)



5



1

p2 +

L1C

K(p)= p L1+L2

p2 + +

RC L1L2C


w0= (L1+L2)/(L1L2C)




6



b0

K(p) =

p2 + b1p + b0


b0= 1/( R1R2C1C2)


b1= (1/C2)(1/R1+1/R2)


w0= b0




Тип схемы

Схема

Передаточная функция и нормировочная частота





7



p2

K(p)=

p2 + b1p +b0


b0=1/(C1C2R1R2)


b1=(1/R2)(1/C1+1/C2)


w0= b0





8


a1p

K(p)=

p2 +b1p +b0


a1= 1/(R1C1)


b1= (1/R3)(1/C1+1/C2)


b0= (1/(R3C1C2))(1/R1+1/R2)


w0= b0







9


1

p2 +

R1R2C2

K(p)=

2p 1

p2+ +

R2C R1R2C2



w0= 1/(C R1R2)







Краткие теоретические сведения


Передаточная функция аналогового фильтра-прототипа представляется в виде:

b0pm +b1pm-1 +…+bkpm-k +…+bm

K(p) =

a0pn +a1pn-1 +…+akpn-k +…+an , m n,


где bk и ak – коэффициенты числителя и знаменателя передаточной функции, n – порядок фильтра. Можно записать её, задавая нули zk и полюса pk:


K0 (p – z1)(p – z2)…(p – zm)

K(p) =

(p – p1)(p – p2)…(p – pn) .


При синтезе цифрового фильтра (ЦФ) по аналоговому прототипу нужно прежде всего получить передаточную функцию ЦФ в виде:


b0 + b1z – 1 + …+ bkzk +…+ bMzM

K(z) =

a0 + a1z – 1 +…+ akz – k +…aNz – N ,


причём a0=1, max(M,N) – порядок фильтра, коэффициенты bk и ak передаточной функции ЦФ не совпадают с соответствующими коэффициентами аналогового прототипа.

С целью нахождения передаточной функции ЦФ осуществляется пересчёт коэффициентов передаточной функции аналогового прототипа в коэффициенты передаточной функции ЦФ в соответствии с тем или иным методом.

При билинейном z – преобразовании производится замена переменных:

2 z – 1

p =

T z + 1 ,


где Т – интервал дискретизации.

Такая замена обеспечивает сохранение основных требований к частотной характеристике фильтра.


В случае применения метода инвариантной импульсной характеристики передаточная функция ЦФ записывается в виде:


N rk

K(z) =

k=1 1 - epkT z – 1 ,


где rk = Res K(p) – вычет передаточной функции аналогового прототипа

p=pk

в полюсе pk, - некоторый коэффициент. Данный метод обеспечивает совпадение с точностью до постоянного множителя импульсных характеристик ЦФ и его аналогового прототипа:


gц [n] = ga (nT).


Порядок выполнения работы


1. Получив у преподавателя вариант задания, перерисуйте в тетрадь предложенную вам схему аналогового фильтра-прототипа, перепишите значения элементов схемы, выражение передаточной функции K(p) и формулу для расчёта нормировочной частоты w0.

  1. . Рассчитайте значения коэффициентов передаточной функции и нормировочной частоты. Пронормируйте коэффициенты передаточной функции: для этого свободные члены полиномов разделите на w02 , а коэффициенты при p на w0. Запишите передаточную функцию в нормированной форме.

  2. . Постройте АЧХ аналогового прототипа и диаграмму нулей и полюсов. Для этого загрузите MATLAB. В открывшемся окне Command Window введите соответствующие операторы. Например, если


2p + 1

K(p) = ,

p2 +3p+2.5


следует ввести:


>> b=[2 1];

>> a=[1 3 2.5];

>> [k,w]=freqs(b,a);

>> plot (w, abs(k)/ max(abs(k))), grid

>> figure

>> zplane(b,a)


В случае, если вы ошиблись при вводе операторов, используйте клавиши управления курсором и для воспроизведения ранее введённых операторов после значка >>. Внесите исправления и нажмите клавишу Enter. Если исправления касались исходных данных, нужно повторить ввод операторов расчёта частотной характеристики freqs, построения графика plot, а также вывода диаграммы полюсов и нулей zplane.

Если нужно построить АЧХ в логарифмическом масштабе, вместо четвёртого оператора введите:


>> plot (w, 20*log10(abs(k)/ max(abs(k)))), grid


АЧХ будет построена в графическом окне Figure No.1, а диаграмма полюсов и нулей в графическом окне Figure No.2. Если какое-либо окно свёрнуто, его можно раскрыть, нажав соответствующую кнопку на панели задач Windows. График АЧХ представлен в зависимости от нормированной частоты , которая равна w/w0, где w – угловая частота в рад/с.

Для расчёта импульсной характеристики введите операторы:

>> [r,p,kk]=residue(b,a);

>> t=0:0.1:10;

>> g=r(1)*exp(p(1)*t)+r(2)*exp(p(2)*t);

>> figure

>> plot(t,g), grid

Раскройте окно Figure No. 3 и просмотрите график импульсной характеристики. Если импульсная характеристика не просматривается до конца, следует увеличить интервал времени, например задать t=0:0.1:100. График импульсной характеристики дан в зависимости от нормированного времени, так что единице нормированного времени соответствует 1/w0 секунд.

Перенесите схематичное изображение полученных графиков в свою рабочую тетрадь, указав характерные значения.

4. Проанализируйте полученные характеристики аналогового прототипа и выберите частоту дискретизации Fs. Учтите при этом, что АЧХ с её полосами пропускания и задерживания должна располагаться в интервале [0, Fs/2] (Fs/2 – частота Найквиста). Таким образом, в области частот f > Fs/2 окажется несущественная часть АЧХ. По графику АЧХ вы определите нормированную частоту Найквиста (Fs/w0). Для расчёта частоты дискретизации в герцах нужно умножить нормированную частоту на величину w0/. Введите значения Fs и w0 после значка >> в командном окне MATLAB.

5. Примените заданный метод синтеза ЦФ по аналоговому прототипу для нахождения передаточной функции ЦФ. Введите в командном окне MATLAB следующий оператор:

>> [bz, az]= bilinear(b,a,Fs/w0)

- для синтеза по методу билинейного z – преобразования,

>> [bz, az]= impinvar(b,a,Fs/w0)

  • для синтеза по методу инвариантной импульсной характеристики.

На экран монитора будут выведены строки коэффициентов числителя и знаменателя передаточной функции ЦФ.

6. Для просмотра характеристик синтезированного ЦФ введите команду

>> fdatool

Откроется основное окно программы fdatool, позволяющей синтезировать фильтры, проматривать их характеристики и исследовать эффекты квантования в них. Задайте команду Import Filter в меню Filter. Вкладка Design Filter окна программы fdatool будет заменена на вкладку Import Filter. Стерев данные в полях Numerator и Denominator, укажите в них идентификаторы bz и az, под которыми в рабочей области MATLAB сохранены векторы коэффициентов передаточной функции ЦФ. В поле Sampling Frequency введите частоту дискретизации Fs, указав единицу измерения в поле Units. Можно вместо этого задать значения коэффициентов, заключив список в квадратные скобки и отделяя одно значение от другого пробелами. Например, если передаточная функция имеет вид



0.2 – 0.42z –1 +0.05z –2

K(z) =

1+ 0.18z –1 – 0.24z –2 + 0.081z –3 ,


то в поле Numerator следует ввести [0.2 –0.42 0.05], а в поле Denominator

[1 0.18 –0.24 0.081].

Щёлкните по кнопке Import Filter. Далее можно просматривать характеристики фильтра.

На панели инструментов в верхней части окна имеются значки характеристик фильтра. Подводя курсор к одному из значков и нажимая левую кнопку мыши, можно вывести на экран график желаемой характеристики. Можно просмотреть

  • амплитудно-частотную характеристику (АЧХ, magnitude response),

  • фазочастотную характеристику (ФЧХ, phase response),

  • АЧХ и ФЧХ совместно,

  • xарактеристику группового времени запаздывания (group delay),

  • импульсную характеристику (impulse response),

  • переходную характеристику (step response),

  • диаграмму полюсов и нулей (pole/zero plot),

  • коэффициенты фильтра (filter coefficients).

Для детального просмотра участков графика используется кнопка zoom in панели инструментов. Щёлкнув по этой кнопке, нужно затем подвести курсор мыши к тому участку графика, который нужно увеличить, и протащить мышь с нажатой левой кнопкой. Можно просто щёлкать левой кнопкой мыши многократно, что будет приводить ко всё большему увеличению. Возврат к исходному состоянию осуществляется несколькими щелчками по правой кнопке мыши, что соответствует нажатию кнопки zoom out панели инструментов.

Перенесите в рабочую тетрадь схематичное изображение АЧХ, ФЧХ, импульсной характеристики и диаграммы полюсов и нулей синтезированного фильтра, перепишите коэффициенты фильтра. Определите по графику АЧХ границы полосы пропускания по уровню 0.707 (3 дБ) и границы полосы задерживания (уровень выберите самостоятельно; 0.1 соответствует затуханию 20 дБ, 0.03 – 30 дБ, 0.01 – 40 дБ, 0.003 – 50 дБ). Сравните АЧХ и диаграммы полюсов и нулей аналогового прототипа и синтезированного фильтра. Для построения нормированных АЧХ на одном графике в командном окне введите операторы :

>> [kz,wz]=freqz(bz,az,’whole’);

>> w=wz*Fs/w0;

>> k=freqs(b,a,w);

>> plot(w, abs(k)/max(abs(k)),’r’), grid

>> hold on

>> plot(w, abs(kz)/max(abs(kz)),’b’)

>> hold off


АЧХ аналогового фильтра-прототипа будет изображена красной линией, а АЧХ ЦФ – синей линией.

7. Изобразите функциональную схему ЦФ и запишите для неё алгоритм (разностные уравнения) (виды схем смотрите в файле КР.doc, раздел 6).

8. Синтезируйте по требованиям к АЧХ, определённым в п.6, ЦФ Баттерворта, Чебышёва и эллиптический ЦФ и сравните характеристики этих фильтров с характеристиками фильтра, полученного в п.5. Для синтеза примените программу fdatool. Вызов программы осуществляется заданием её имени в командном окне MATLAB:

>> fdatool

После ввода имени с клавиатуры следует нажать клавишу <Enter>.

На экране монитора появится окно программы fdatool. Кроме основного меню и панели инструментов здесь содержится текущая информация о структуре фильтра, его порядке, устойчивости (Current Filter Information); график допусков для АЧХ (в дБ) (Filter Specifications), а также вкладка Design Filter для задания типа фильтра, его класса, метода синтеза, порядка фильтра, частоты дискретизации, граничных частот полос пропускания и задерживания и допустимых затуханий в этих полосах. Кроме того, имеется вкладка для исследования эффектов квантования (Set Quantization Parameters).

На вкладке Design Filter в нижней части окна установите переключатель Filter Type в одно из следующих положений: Lowpass (ФНЧ), Highpass (ФВЧ), Bandpass (ППФ) или Bandstop (ПЗФ). Затем используйте переключатель Design Method. Если выбрать рекурсивный фильтр, иначе БИХ-фильтр (IIRInfinite Impulse Response), то далее в раскрывающемся списке нужно указать класс фильтра (Batterworth (Баттерворта), Chebyshev Type I (Чебышёва), Chebyshev Type II (инверсный Чебышёва), Elliptic (эллиптический)). При синтезе этих фильтров используется метод билинейного z-преобразования. В случае синтеза нерекурсивного фильтра (КИХ-фильтра, FIRFinite Impulse Response) возможны методы: Equiripple (метод Ремеза, обеспечивающий равномерные пульсации АЧХ), Least-Squares (обеспечение минимума среднего квадратического отклонения АЧХ от заданной), Window (использование окон в качестве весовых функций при синтезе фильтра) и др.

В разделе Filter Order укажите требуемый порядок фильтра или установите переключатель в положение Minimum order (наименьший возможный порядок).

Далее перейдите к разделам Filter Specifications и Magnitude Specifications. Последовательно подводите курсор мыши к полям ввода параметров и вводите желаемые значения с клавиатуры. Смысл параметров можно понять из расположенного в верхней части окна графика допусков (Filter Specifications). Следует ввести частоту дискретизации Fs, граничные частоты полосы пропускания и полосы задерживания (Fpass и Fstop), допустимые затухания в полосе пропускания и в полосе задерживания (Apass и Astop).

После задания всех параметров щёлкните по кнопке Design Filter, расположенной в самом низу. Будет произведён расчёт, после чего можно просмотреть характеристики синтезированного фильтра.

9. Импортируйте коэффициенты передаточной функции ЦФ, синтезированного в п.5, в программу fdatool (см. п.6). Укажите тип структуры (Filter Structure), выбрав нужную строку в раскрывающемся списке.

Исследуйте влияние квантования коэффициентов фильтра на АЧХ фильтра. Установите флажок Turn quantization on в поле Quantization, расположенном в левой верхней части окна. Перейдите на вкладку Set quantization parameters (в нижней части окна). Задайте нужную структуру, щёлкнув по кнопке Convert structure, расположенной в поле Current Filter Information, и далее произведя выбор из раскрывающегося списка. Возможно исследование структур: Direct form I (прямая), Direct form II (каноническая), Direct form I transposed (транспонированная каноническая), Direct form II transposed (транспонированная прямая), Second-order sections (каскадная). В правой части раздела Set Quantization Parameters приведён набор параметров квантователей, которые используются программой. Изменять нужно только значение в поле Format строки Coefficient (Convert coefficient to) (первая строка, последний столбец). Здесь задаётся формат двоичного представления коэффициентов фильтра. Например, формат [16 15] означает, что всего разрядов 16, а 15 из них отводится под представление дробной части (нужно учесть, что старший разряд – знаковый). Такой формат применим, если коэффициенты представлены в нормализованной форме (их модули не превышают единицы). Просмотрите список коэффициентов, нажав кнопку

[b a] панели инструментов, расположенной в верхней части окна, и оцените, сколько двоичных разрядов нужно отводить на представление целой части (с учётом знакового), чтобы правильно представить целую часть коэффициента с наибольшим модулем. Последовательно изменяйте формат, уменьшая количество разрядов (разность между первым и вторым числами формата должна при этом сохраняться неизменной). Для изменения формата подведите курсор мыши к полю ввода (курсор преобразуется в вертикальную черту) и нажмите левую кнопку мыши. Затем, используя клавишу и цифровые клавиши, введите новые значения чисел формата. После ввода щёлкните левой кнопкой мыши вне таблицы параметров квантователей, чтобы активизировать кнопку Apply. Щёлкните по кнопке Apply. Просмотрите характеристики фильтра, нажимая соответствующие кнопки панели инструментов. Выводятся сразу две характеристики: исходная (Reference) и полученная в результате квантования (Quantized). Просмотрев критические участки АЧХ в укрупнённом масштабе (используйте кнопки изменения масштаба Zoom In и Zoom Out), определите, не выходит ли АЧХ за пределы заданного поля допусков. Если АЧХ ещё удовлетворяет требованиям, продолжите изменение формата представления коэффициентов. В результате анализа найдите, при каком наименьшем количестве двоичных разрядов АЧХ отклоняется от исходной не более, чем на 1 дБ. Посмотрите, как изменяется диаграмма полюсов и нулей, какими стали коэффициенты фильтра. Интересно пронаблюдать и изменения других характеристик (ФЧХ, импульсной, переходной, группового времени запаздывания).

Если при уменьшении формата каждый раз на единицу характеристики меняются незначительно, используйте более эффективные процедуры, например, метод дихотомии. Так после формата [16 15] задайте формат [8 7]. Если АЧХ укладывается в поле допусков, перейдите к формату [4 3], а если не укладывается, к формату [12 11] , и т.д., пока не будет найден формат с минимально допустимым количеством двоичных разрядов.

При малой разрядности коэффициентов возможна потеря устойчивости фильтра, вследствие того что модули некоторых полюсов из-за округления могут превысить единицу (в особенности тех из них, которые, обладая высокой добротностью, располагаются близко к единичной окружности). Информация об устойчивости или неустойчивости фильтра заносится в раздел Current Filter Information основного окна fdatool (Stable: Yes или Stable: No). Проводя исследование эффектов квантования, следует отмечать, сохраняет ли фильтр устойчивость при последовательном уменьшении разрядности его коэффициентов.

10. Напишите комментарии и выводы по работе.