6



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

Влияние положения полюсов и нулей на z – плоскости на частотные характеристики цифрового фильтра (ЦФ)


Цель работы

Исследовать, как формируются всплески и провалы АЧХ ЦФ в зависимости от расположения нулей и полюсов на z-плоскости. Найти оптимальное расположение полюсов и нулей при минимуме порядка фильтра, чтобы удовлетворить предъявленным требованиям к АЧХ. Синтезировать фильтры со стандартными характеристиками (Баттерворта, Чебышёва, эллиптический) для тех же исходных требований к АЧХ и сопоставить полученные результаты. Работа осуществляется с использованием программного пакета MATLAB.


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



Вариант

Частота дискретизации Fs, кГц

Граница полосы пропускания Fpass, кГц

Граница полосы задерживания Fstop, кГц

Затухание в полосе пропускания Rp, дБ

Затухание в полосе задерживания Rs, дБ

1

10

1

1.5

2

30

2

20

3

5

1

25

3

5

0.5

1

2

40

4

50

5

8

1

30

5

40

4

7

1.5

35

6

10

2

3

1

40

7

20

1

1.8

1.5

25

8

10

1.5

1

1

30

9

20

5

3

2

25

10

5

1

0.5

1

35

11

50

8

5

2

40

12

40

7

4

1

25

13

10

3

2

1.5

35

14

20

1.8

1

1

30




Вариант

Частота дискретизации Fs, кГц

Границы полосы пропускания

Границы полосы задерживания

Затухание в полосе пропускания Rp, дБ

Затухание в полосе задерживания Rs, дБ


Fp1, кГц


Fp2, кГц


Fs1, кГц


Fs2, кГц

15

10

1

1.5

0.5

3

1

30

16

20

3

4

1.5

8

1.5

35

17

5

0.6

0.9

0.3

1.8

2

40

18

50

15

17

12

22

1

25

19

40

10

14

8

17.5

1.5

30

20

10

2

3

1.5

4

2

35

21

20

5.5

6.5

4

9

1

40

22

10

0.5

3

1

1.5

2

30

23

20

1.5

8

3

4

1

35

24

5

0.3

1.8

0.6

0.9

1.5

40

25

50

12

22

15

17

2

25

26

40

8

17.5

10

14

1

30

27

10

1.5

4

2

3

1.5

35

28

20

4

9

5.5

6.5

2

40


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


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


K0(z – z1)(z – z2)…(z – zk)…(z – zM)

K(z) =

(z – p1)(z – p2)…(z – pk)…(z – pN) ,


где K0 – некоторый коэффициент (его можно положить равным единице), max(M,N) – порядок ЦФ.

При переходе к выражению для комплексной частотной характеристики делают замену z=exp(j2f/Fs)=exp(j), где f – текущая частота (в Гц), Fs – частота дискретизации (в Гц), - угловой параметр, соответствующий нормированной частоте (при этом = соответствует частоте f=Fs/2). Комплексная частотная характеристика в зависимости от углового параметра приобретает вид:


K0(exp(j) – z1)… (exp(j) – zk)… (exp(j) – zM)

K() =

(exp(j) – p1)… (exp(j) – pk)… (exp(j) – pN) .

Каждую скобку вида (exp(j) – zk) или (exp(j) – pk) можно рассматривать как вектор, направленный из нуля или полюса в текущую точку на единичной окружности, имеющую угловую координату (см. рис.1).



Рис.1


При изменении углового параметра векторы также изменяются, отслеживая положение текущей точки. Изменение модуля вектора даёт вклад данного нуля или полюса в АЧХ ЦФ, а изменение угла между вектором и действительной осью z-плоскости – вклад в ФЧХ ЦФ. Вследствие того что функция exp(j) изменяется периодически и изображающая точка, задающая текущую частоту, скользит по окружности единичного радиуса, возвращаясь в прежние положения, частотные характеристики ЦФ носят периодический характер, повторяясь с интервалом =2 или f=Fs. Для формирования АЧХ нужного вида следует разметить верхнюю полуокружность единичного радиуса на z-плоскости, обозначив полосы пропускания и задерживания. Для этого граничные частоты следует пересчитать в угловые параметры: гр=2fгр/Fs. Полюса нужно располагать в полосе пропускания внутри единичной окружности (для устойчивости фильтра требуется выполнение условия |pk| < 1 для любого k). Чем ближе полюс к окружности, тем более резкий и узкий всплеск АЧХ получится вблизи значения , равного угловому положению полюса arg(pk) (здесь вектор, проведённый от полюса к окружности, самый короткий, а модуль этого вектора стоит в знаменателе выражения для АЧХ). Нули размещают в полосе задерживания. Чем ближе нуль к единичной окружности, тем глубже провал АЧХ при значении , равном угловому положению нуля arg(zk). На рис.2 приведена диаграмма полюсов и нулей ФНЧ с разметкой полос пропускания и задерживания в виде дуг единичной окружности и соответствующая этой диаграмме АЧХ фильтра. Каждому комплексному полюсу или нулю соответствует комплексно-сопряжённый, расположенный в нижней полуплоскости.


Рис. 2


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


1. Для выданного вам варианта задания выпишите в рабочую тетрадь значения частоты дискретизации, граничных частот полос пропускания и задерживания и требуемых затуханий в этих полосах. Изобразите график допусков. Определите тип фильтра (ФНЧ, ФВЧ, ППФ или ПЗФ). Рассчитайте угловые параметры, соответствующие граничным частотам, по формуле:

2fгр

гр=

Fs .


Нанесите угловые значения на график допусков, проведя ось , параллельную оси частот f.

2. Изобразите в тетради диаграмму полюсов и нулей, разместив полюсы в полосе пропускания, а нули в полосе задерживания. Для начала возьмите фильтр второго порядка (два нуля и два полюса; можете в качестве первоначального варианта взять только два нуля или только два полюса). Запишите ориентировочные значения координат полюсов и нулей.

3. Загрузите MATLAB. В командном окне задайте оператор

>> sptool

Будет загружена программа SPTool (Signal Processing Tool). Откроется окно SPTool: startup.spt. Нажмите кнопку New в середине нижней части окна (под списком Filters). Откроется окно Filter Designer. В раскрывающемся списке Algorithm выберите последнюю строку Pole/Zero Editor. В графической части окна появится z-плоскость с нанесёнными на неё полюсами и нулями. Нажмите кнопку Delete All в нижней части окна. Введите значение частоты дискретизации (в Гц) в поле Sampling Frequency. Пользуясь кнопками с нанесёнными изображениями стрелок и ластика, расположенными под значением частоты дискретизации, а также перемещая мышь с нажатой левой кнопкой, разместите полюсы и нули на z-плоскости в соответствии с рисунком, сделанным вами при выполнении п.2. Редактируемые полюсы или нули отображаются на диаграмме крупными значками зелёного цвета. Их координаты отображаются в разделе Specifications. Следите за тем, остаётся ли фильтр устойчивым (строчка STABLE в разделе Measurements). Невыделенные полюсы и нули отображаются мелкими значками синего цвета. В разделе Specifications задайте систему координат (Polar или Rectangular). Переключитесь в окно SPTool: startup.spt. Нажмите кнопку View под списком Filters. Откроется окно Filter Viewer. Укажите в разделе Plots только один график – АЧХ (Magnitude), задайте масштаб (linear или decibels). Разместите окна Filter Viewer и Filter Designer рядом друг с другом на экране. Перенесите в тетрадь схематичное изображение АЧХ с указанием значений на границах полос пропускания и задерживания. Для более точного определения координат интересующих вас точек графика используйте маркеры. Можно использовать способ увеличения нужной части графика, применяя протаскивание мыши с нажатой левой кнопкой (предварительно нужно нажать соответствующую кнопку панели инструментов).

Изменяйте положения полюсов и нулей, добавляйте новые полюсы и нули, добиваясь обеспечения заданных требований к АЧХ. Стремитесь обойтись наименьшим количеством полюсов и нулей.

Когда задача будет решена, перерисуйте полученную диаграмму полюсов и нулей в тетрадь. Укажите координаты полюсов и нулей. Рядом сделайте схематичное изображение АЧХ, соответствующее конечной диаграмме на z-плоскости. Просмотрите другие характеристики синтезированного ЦФ (ФЧХ, импульсную, переходную, характеристику группового времени запаздывания).

4. Синтезируйте «классические» фильтры для тех же исходных требований, изучите их характеристики и сравните с характеристиками фильтра, синтезированного в п.3. Для этого откройте окно Filter Designer путём нажатия кнопки New в окне SPTool: startup.spt. Укажите класс фильтра в раскрывающемся списке Algorithm. В разделе Specifications задайте требования к АЧХ и укажите тип фильтра (lowpass – ФНЧ, highpass – ФВЧ, bandpass – ППФ, bandstop – ПЗФ). Нажмите кнопку Apply.

Вернувшись в окно SPTool: startup.spt, выделите идентификатор синтезированного фильтра в списке Filters и нажмите кнопку View. Откроется окно Filter Viewer. Просмотрите характеристики фильтра. Занесите примерный вид АЧХ и диаграммы полюсов и нулей в тетрадь, с указанием значений на границах полос пропускания и задерживания (их можно считать из раздела Measurements или измерить, применяя маркеры). Укажите также порядок фильтра (раздел Specifications, поле Order).

5. Если у Вас осталось время, выполните задание для другого варианта, попробовав синтезировать фильтр другого типа.

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