12



Лабораторная работа №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 + …+ bkz – k +…+ bMz – M

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 - e pkT 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. При этом при вводе числа в формате с плавающей запятой нужно отделять мантиссу от порядка символом е, например, 2.35е4.

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

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

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

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

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

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

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

>> fdatool

Откроется основное окно программы fdatool, позволяющей синтезировать фильтры, просматривать их характеристики и исследовать эффекты квантования в них. Задайте команду Import Filter меню Filter. В нижней части окна появится вкладка 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

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

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

На вкладке Design Filter в нижней части окна установите переключатель Filter Type в одно из следующих положений: Lowpass (ФНЧ), Highpass (ФВЧ), Bandpass (ППФ) или Bandstop (ПЗФ). Затем используйте переключатель Design Method. Если выбрать рекурсивный фильтр, иначе БИХ-фильтр (IIR – Infinite Impulse Response), то далее в раскрывающемся списке нужно указать класс фильтра (Batterworth (Баттерворта), Chebyshev Type I (Чебышёва), Chebyshev Type II (инверсный Чебышёва), Elliptic (эллиптический)). При синтезе этих фильтров используется метод билинейного z-преобразования. В случае синтеза нерекурсивного фильтра (КИХ-фильтра, FIR – Finite 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, расположенном в левой верхней части окна (в версии MatLab 6.1) или нажмите соответствующую кнопку на панели инструментов (в версии MatLab 6.5). Перейдите на вкладку 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 из них отводится под представление дробной части (нужно учесть, что старший разряд – знаковый). Такой формат применим, если коэффициенты представлены в нормализованной форме (их модули не превышают единицы). Просмотрите список коэффициентов, нажав кнопку