Вы находитесь на странице: 1из 45

Содержание

Введение…………………………………………………………………..4

Лабораторная работа №1.Синтез КИХ- фильтров методом окон……6

Лабораторная работа№2. Синтез КИХ- фильтров методом наилучшей


равномерной( чебышевской) аппроксимации……………………………23

Лабораторная работа№3. Проектирование цифровых КИХ- фильтров


средствами GUIFDATool…………………………………………………33

1
2

Введение

Методические указания охватывают цикл из трех работ. Первые


две работы посвящены синтезу цифровых фильтров с конечной
импульсной характеристикой программными средствами MATLAB, а
последняя - проектированию ЦФ средствами GUIFDATool.
Методические указания разработаны на основе материала и примеров
из [1].
Цифровой фильтр (ЦФ) представляет собой линейную дискретную
систему, выполняющую преобразование входной последовательности в
выходную по алгоритму, описываемому разностным уравнением,
который отображается заданной структурой (структурой ЦФ),
реализованной аппаратно или программно.
В зависимости от того, являются ли параметры ЦФ неизменными или
меняющимися во времени, его называют стационарным или
адаптивным. По умолчанию речь идет о стационарных ЦФ.
Проектирование ЦФ производится в четыре этапа:
1. Синтез ЦФ на базе линейной дискретной системы (ЛДС),
включающий следующие основные шаги:
 Выбор типа ЦФ.
Двум типам ЛДС — нерекурсивная (КИХ) и рекурсивная (БИХ)
— соответствуют два типа ЦФ:
КИХ-фильтры (FIRfilters);
БИХ-фильтры (IIRfilters).
 Задание требований к характеристикам ЦФ.
Требования к характеристикам ЦФ зависят от его типа (КИХ или
БИХ) и назначения (частотно-избирательный, преобразователь
Гильберта и т. д.).
По умолчанию подразумевают частотно-избирательные ЦФ,
выполняющие селекцию частотных составляющих входной
последовательности.
Выделяют четыре основные типа избирательности ЦФ:
ФНЧ — фильтр нижних частот (lowpassfilter);
ФВЧ — фильтр верхних частот (highpassfilter);
ПФ — полосовой фильтр (bandpassfilter);
РФ — режекторный фильтр (bandstopfilter).
 Выбор метода синтеза.
Метод синтеза зависит от типа ЦФ (КИХ или БИХ), а в рамках
одного типа — от специфики дополнительных требований (простоты
метода, оптимальности проектируемого фильтра и т. д.).
Расчет коэффициентов передаточной функции ЦФ.
2. Выбор структуры ЦФ.
3. Моделирование структуры ЦФ с учетом эффектов квантования.
3
4. Реализация структуры ЦФ.
Структура ЦФ (алгоритм вычисления, реакции)
преимущественно реализуется программно на базе цифровых
процессоров обработки сигналов(ЦПОС), поэтому данный этап
включает также отладку программной части ЦФ соответствующими
средствами конкретного ЦПОС.
В MATLABимеются десятки функций, предназначенных для
проектирования ЦФ, подавляющая часть которых сосредоточена в
пакетах расширения SignalProcessingToolbox, FilterDesignToolboxи
FixedPointToolbox. На базе этих функций разработаны стандартные
программы GUIFDAToolи SPTool.
Следует, однако, понимать, что круг задач, решаемых с помощью
GUI, ограничен, и для моделирования сложных систем ЦОС
необходимо овладеть программными средствами проектирования
ЦФ. Кроме того, знакомство с функциями MATLABобеспечит
более глубокое понимание организации GUI.
Основное внимание в лабораторных работах уделено синтезу
и проектированию фильтра типа ФНЧ т.к. на его основе достаточно
просто осваивается синтез фильтров типа ФВЧ, ПФ и РФ.
4
Лабораторная работа №1

Синтез КИХ- фильтров методом окон

Цель работы

Освоение машинных методов проектирования цифровых фильтров с


конечной импульсной характеристикой (КИХ) программными
средствами MATLAB.

Содержание работы:реализация поставленной цели предполагает


решение следующих задач:

1. Изучение методов синтеза цифровых КИХ-фильтров с заданными


свойствами частотной избирательности.

2. Практическое освоение методов машинного проектирования КИХ-


фильтров частотной селекции с помощью MATLAB.

Программные средства поддержки: программная среда


MATLABне ниже (v.7.9.0.592 (R2009b).

Теоретическая часть

Свойства КИХ-фильтров

КИХ-фильтр описывается передаточной функцией:


N−1 N−1

H(z)= ∑ bi z−1= ∑ h(n) z−n.


i=0 n =0

Следовательно, для КИХ-фильтров расчет коэффициентов


передаточной функции сводится к расчету импульсной
характеристики.
Длиной и порядком КИХ-фильтра называют соответственно число
коэффициентов N и порядокRпередаточной функции, где:
R = N-1.
Сложность КИХ-фильтра определяется его длиной N (порядкомR).
КИХ-фильтры характеризуются следующими особенностями:
5
□ возможность обеспечить строго линейную ФЧХ (с точностью до
скачков на π);
□ устойчивость по определению.
Линейная (с точностью до скачков на π у ФЧХ (ЛФЧХ) КИХ-фильтра
обеспечивается в том и только том случае, если для его ИХ h(n)
выполняется одно из двух условий:
□ условие симметрии:
h(n) = h(N-1-n);
□ условие антисимметрии:
h(n) = -h(N-1-n),
где ось симметрии/антисимметрииh(n)проходит через точкуn =R/2.

По признакам симметрии/антисимметрии ИХH(n) и


нечетности/четноcтидлины N выделяют четыре типа КИХ-фильтров с
линейной ФЧХ (ЛФЧХ), представленные в табл.1.При синтезе КИХ-
фильтров следует быть внимательным к его избирательности (см.
последний столбец таблицы).

Таблица 1. 1.Четыре типа КИХ-фильтров с ЛФЧХ

Тип КИХ-фильтра ЛФЧХ ( с точностью ЦФ


до скачков на π)
Тип 1 (Туре-1);
Длина N— нечетная; φ (ŵ)=- ŵR/2 ФНЧ ФВЧ ПФ РФ
ПорядокR — четный;
h(n) —симметричная

Тип 2 (Туре-2);
Длина N— четная; φ (ŵ)=- ŵR/2 ФВЧ ПФ
ПорядокR —
нечетный;
h(n) —симметричная

Тип 3 (Туре-3);
Длина N— нечетная; φ (ŵ)= π/2- ŵR/2 ПФ
ПорядокR — четный;
h(n) —
антисимметричная
h(R/2)=0
6
Тип 4 (Туре-4);
Длина N— четная; φ (ŵ)= π/2- ŵR/2 ФВЧ ПФ
ПорядокR —
нечетный;
h(n) —
антисимметричная

Задание требований к частотным характеристикам


КИХ-фильтров

Методы синтеза частотно-избирательных КИХ-фильтров изначально


предполагают ЛФЧХ (с точностью до скачков на π), поэтому
требования задаются только к АЧХ в основной полосе частот [0; fд/2] и
включают вcебя:

□ частоту дискретизации fд ;

□ граничные частоты полос пропускания (ПП) и полос задерживания


(ПЗ), для которых введены условные обозначения:

fχ - граничная частота ПП для ФНЧ и ФВЧ;

fk– граничная частота ПЗ для ФВЧ и ФНЧ;

f-χ , fχ- левая и правая граничные частоты ПП для ПФ и РФ

f-k , fk- левая и правая граничные частоты ПЗ для ПФ и РФ


7

а)

б)

Рис. 1.1. Идеальная АЧХ (а) и требования к АЧХ (б) ФНЧ


8

а)

б)

Рис. 1.2. Идеальная АЧХ (а) и требования к АЧХ (б) ФВЧ


9

а)

б)

Рис. 1.3. Идеальная АЧХ (а) и требования к АЧХ (б) ПФ

□ максимально допустимые отклонения АЧХ Â(ƒ), для которых


введены условные обозначения:
 δ 1 - от единицы в ПП;
 δ2 – от нуля в ПЗ.
В общем случае максимально допустимые отклонения АЧХ ПФ в
П31 и П32, а также максимально допустимые отклонения АЧХ РФ в
ПП1 и ПП2 могут задаваться не одинаковыми. Однако в примерах
10
они полагаются одинаковыми для их упрощения без потери
общности.
При синтезе КИХ-фильтров в MATLABдополнительно задается
вектор значений идеальной АЧХ: единица — в ПП и нуль — в ПЗ.
На рис. 1.1-1.4 приведены примеры идеальной АЧХ и требований к
АЧХ для фильтров различного типа избирательности: ФНЧ, ФВЧ,
ПФ и РФ.

а)

б)
Рис. 1.4. Идеальная АЧХ (а) и требования к АЧХ (б) РФ
11
Требования могут задаваться к АЧХ в децибелах — к
характеристике ослабления:
Â(ƒ)(дБ) = 20lg( Â(ƒ))(дБ)

или к характеристике затухания:


Â(ƒ)(дБ) = -20lg(Â(ƒ))(дБ)
В MATLABтребования задаются к характеристике затухания. В
требованиях к характеристике затухания вместо значений δ 1 и δ2 –
задаются:
□ amax( дБ) — максимально допустимое
затухание в ПП;
□ аmin (дБ) — минимально допустимое затухание в ПЗ.

На рис. 1.5 приведен пример требований к характеристике затухания


ФВЧ.

Рис. 1.5. Требования к характеристике затухания ФВЧ

Взаимосвязь между значениями δ1, б2 и amax,amin(дБ) соответственно ус-


танавливается формулами:

amax =-20 lg(1-δ1 )(дБ);

amin=-20 lg(δ2) (дБ),

и наоборот:
δ1 =1-10-amax/20 ;
12

δ2 =10-amin/20 .

Далее рассматривается синтез в MATLABКИХ-фильтров двумя наи-


более распространенными методами:
□ метод окон (взвешивания);
□ метод наилучшей равномерной (чебышевской) аппроксимации
( в лабораторной работе №2).

Синтез КИХ-фильтров методом окон

Процедура синтез КИХ-фильтров методом окон включает в себя:


1. Задание требований к АЧХ
2. Оценку порядка фильтра R и выбор окна.
Оценка порядка фильтра R производится по эмпирическим формулам на
основании требований к АЧХ.
Окном называют последовательность w(n) длины N=R+1, значения
которой для каждого окна вычисляются по заданной аналитической
формуле.

3. Расчет импульсной характеристики идеального фильтра hи(n),


усеченной до длины N=R+1.
ИХ hи(n) может быть только симметричной и рассчитывается по
известным для идеальных ФНЧ, ФВЧ, ПФ, РФ аналитическим
формулам, обязательным параметром которых является частота
разрыва(отсечки):
 для ФНЧ и ФВЧ частота разрыва одна, равная:
f x+ f k
f c=
2

 для ПФ и РФ – две( левая и правая) частоты, соответственно равные:


f −k + f −x
f c1 = ;
2
f +f
f c2 = k x .
2

4. Расчет импульсной характеристики реального фильтра h(n)


длины N как произведения:

h(n)=hи(n)w(n),
13
Где ИХ h(n) – симметричная, поэтому синтез КИХ-фильтров методом
окон возможен только на базе КИХ-фильтров 1-го или 2-го типов.
5. Проверку выполнения требований к АЧХ .
В методе окон проверка выполнения требований к АЧХ заключается в
сравнении максимального по модулю отклонения АЧХ от идеальной во
всех ПП и ПЗ с заданными максимально допустимыми отклонениями(δ1
и δ2 ).

Возможны две ситуации


 Требования не выполняются.
В Этом случае следует увеличить порядок R и вернуться к пп.3-5.
Процедуру повторять до тех пор, пока не будет найден минимальный
порядок Rminвыбирается среди 1-го и 2-го типов КИХ-фильтров,
возможных для заданного типа избирательности.
Таким образом, процедура синтеза КИХ-фильтра методом окон является
итерационной.

Синтез КИХ-фильтров методом окон выполняется с помощью функции:


b=fir1 (R,wc,ftype,win,normalization)
где:
R- порядок фильтра R;
wc – вектор нормированных частот разрыва:
для ФНЧ и ФВЧ – с одним элементом, равным:
fc
wc(1)=´ f c= f /2 ;
д

- для ПФ и РФ – с двумя элементами, равными:

f c1
wc(1)=´ f c1= f /2 ;
д
f c2
wc(2)=´ f c2= f /2 ;
д

Ftype – параметр, указывающий тип избирательности и принимающий


значения:

- ‘high’ – для ФВЧ;


- ‘stop’ – для РФ;
- по умолчанию (если значение параметра не задано явно) – для ФНЧ и
ПФ;

Normalizasion – параметр (флаг), управляющий нормированием АЧХ,


таким образом, чтоб обеспечить ее значение, равное единице, в центре
ПП (для РФ – в центре ПП1) и принимающий значения:
14
- ‘scale’ (по умолчанию) – нормирование выполняется;
- ‘noscale’ – нормирование не выполняется;

B – вектор коэффициентов передаточной функции длины N=R+1;


Win – вектор-столбец значений весовой последовательности w(n) длины
N, по умолчанию для окна Хемминга.

Вектор win можно задать одним из следующих способов:


- обращением к встроенной функции MATLAB
- с помощью функции:
Win=window (@winname, N)
Где:
N – длина окна
@ - символ указателя на функцию;
@winname – указатель на абстрактную функцию winname, задающую
окно; на ее место ставится конкретная функция MATLAB из списка,
который можно вывести по команде:
Help window
- C помощью описания окна в виде объекта sigwin:
- Hwin=sigwin . window (input1, . . .)
Где:
Sigwin – тип объекта;
Window – абстрактная функция, задающая окно, вместо которой
указывается конкретная функция из таблицы 2;
Input1, . . . – параметры функции window (2);
Hwin – имя объекта sigwin.

Полный список функций окна выводится по команде:


Helpsigwin
Объекты sigwin можно сохранять на диске в виде файла данных с
расширением mat по команде save и загружать в рабочее пространство
памяти Workspace по команде load.
При созданном объекте Hwin вектор win генерируется с помощью
функции:
Win=generate(Hwin)
При описании окна в виде объекта sigwin имеется возможность увидеть
его график в автоматически открывающемся окне
WindowVisualizationTool (Средства визуализации окон) с помощью
функции:
Wvtool (Hwin)

Таблица 1.2 Основные окна (весовые последовательности)


Функция Назначение
Win=rectwin (N) Прямоугольное окно длины N
Win=triang (N) Треугольное окно длины N
15
Win=Bartlett (N) Окно Бартлета длины N
Win=hann (N) Окно Хэнна длины N
Win=hamming (N) Окно Хэмминга длины N
Win=nanning (N) Окно Хэннинга длины N
Win=blackman (N) Окно Блэкмана длины N
Win=blackmanharris (N) Окно Блэкмана – Хэрриса
длины N
Win=kaiser (N, beta) Окно Кайзера длины N с
параметром β

Основной проблемой синтеза КИХ-фильтров методом окон, в том числе


в MATLABc помощью функции fir1, является выбор окна и оценка его
длины. Эта непростая задача, в общем случае решаемая путем
многочисленных проб, успешно решена Кайзером, предложившим
аналитическую формулу для названного в его честь окна Кайзера, у
которого параметры ( β и порядок фильтра R) связаны с минимально
допустимым затуханием в ПЗ amin и шириной минимальной переходной
полосы ∆ŵ парой эмпирических формул:

0,1102 ( a min−8,7 ) , amin >50 ;

{
β = 0,5842(amin −21)0,4 +0,07886 ( amin −21 ) , 21≤ amin ≤ 50 ;
0 , amin <21 ;

amin −7,95
R=
2,285 ∆ ώ

Расчет β , а так же вектора wc в функции fir1 по заданным требованиям


к АЧХ выполняется с помощью функции:
[R, wc, beta, ftype]=kaiserord(f, m, ripple, Fc)
где:
f – вектор граничных частот ПП и ПЗ в порядке их следования слева
направо в шкале абсолютных частот f (Гц) в основной полосе частот
[0;fд/2];
m – вектор значений идеальной АЧХ в порядке их следования слева
направо; соблюдается условие length(f)=2*length(m)-2;
ripple – вектор максимально допустимых отклонений АЧХ в порядке их
следования слева направо;
Fs– частота дискретизации fд (Гц);
R – порядок фильтра R, который определяется с точностью до ±2, и для
его уточнения необходима проверка выполнения требований к
АЧХ(см.примеры);
Beta – параметр βокна Кайзера;
Wc – вектор, определенный ранее для функции fir1;
16
Ftype – параметр, указывающий тип избирательности и принимающий
значения:
o ‘low’ – для ФНЧ;
o ‘high’ – для ФВЧ;
o ‘stop’ – для РФ;
o ‘pc-0’ – для ПФ и многополосных фильтров, в АЧХ которых
первой следует полоса задерживания.

В последующих примерах при выводе выходных переменных функции


kaiserord, которые относятся к разным типам данных ( числовым и
символьным), будем их представлять в виде массива ячеек.

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

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


синтеза фильтра типа ФНЧ. Предполагается, что основы работы в
среде MATLABуже известны.

Заданы требования к АЧХ ФНЧ (см. рис 1.1 и табл. 1.3).


Синтезировать КИХ-фильтр методом окон с окном Кайзера:
>>Fs=8000;
>>ft=1000; fk=1500; f=[ftfk];
>>m=[1 0];
>>d1=0.05; d2=0.01; ripple=[d1 d2];
>>[R, wc, beta, ftype]=kaiserord( f, m, ripple, Fs);
>>{R wc beta ftype}
ans =
[36] [0.3125] [3.3953] ‘low’
>> b=fir1(R, wc, ftype, kaiser(R+1, beta), ‘noscale’);

Синтезирован КИХ-фильтр ФНЧ порядка R=36 c нормированной


частотой разрыва, равной:

fc 1250
wc= f c= f = 8000/2 =0,3125,
д

и абсолютной частотой разрыва, равной:

f x + f k 1000+1500
f c= = =1250Гц.
2 2
17

Таблица 1.3.Требования к АЧХ ФНЧ


Частоты ( Гц) и их обозначения в Максимально допустимые
MATLAB отклонения АЧХ и их
обозначения в MATLAB
Частота fд 8000 - - -
дискретизаци Fs
и
Граничная fλ 1000 В полосе δ1 0,05
частота ПП ft пропускания d1
(ПП)
Граничная fk 1500 В полосе δ2 0,01
частота ПЗ fk задержания d2
(ПЗ)

В MATLAB при синтезе КИХ-фильтров по методу окон порядок


фильтра R определяется с точностью до ±2, и для его уточнения
необходима проверка выполнения требований к АЧХ.
С этой целью, создадим внешнюю функцию check_low, в которой на
густой сетке частот (выбрано 1000 точек) вычисляются максимальные
( по модулю) отклонения АЧХ в ПП и ПЗ – соответственно dp и ds,
равные:
dp= max[(АЧХmax-1) (1-АЧХmin)];

ds=АЧХmax

Рассчитаем максимальные по модулю отклонения dp и ds:


>> [dp, ds]=check_low(b, ft, fk, Fs);
18
>>[dp ds]
Ans=
1.102 0.0102

Cравним их с заданными – требования не выполняются.Увеличим


порядок фильтра на единицу и вновь синтезируем КИХ-фильтр ФНЧ:
>> R=R+1
R=
37
>>b=fir1( R, wc, ftype, kaiser(R+1, beta), ‘noscale’);
Проверим выполнение требований к АЧХ:
>> [dp, ds]=check_low(b, ft,fk,Fs);
>>[dp ds]
ans =
1.80 0.0082

Требования выполняются. Таким образом, синтезирован ФНЧ с ЛФЧХ


порядка Rmin=37 на базе КИХ-фильтра 2-го типа.
Для построения графиков ИХ, АЧХ и ФЧХ КИХ-фильтров создадим
внешнюю функцию plot_fir:

Построим графики ИХ, АЧХ, ФЧХ синтезированного ФНЧ с помощью


функции plot_fir
>>R=37; b=fir1( R, wc, ftype, kaiser(R+1, beta), ‘noscale’);
>> plot_fir(R, b, Fs)
19

Рис. 1.6. Импульсная характеристика, АЧХ и ФЧХ КИХ-фильтра ФНЧ

Таблица 1.4. Таблица вариантов


№ Частоты ( Гц) и их обозначения в Максимально
бригад MATLAB допустимые отклонения
ы АЧХ и их обозначения в
MATLAB
Частота Гранична Граничная В полосе В полосе
дискретизации, я частота частота пропускания задержания
fд ПП, ПЗ, (ПП), (ПЗ),
Fs fλ fk δ1 δ2
ft fk d1 d2
1 8500 1100 1600 0,048 0,018
2 9000 1200 1700 0,046 0,016
3 9500 1300 1800 0,044 0,014
4 10000 1400 1900 0,042 0,012
5 10500 1500 2000 0,04 0,01
6 7900 900 1400 0,052 0,012
7 7800 800 1300 0,054 0,014
8 7700 600 1200 0,056 0,016
9 7600 500 1100 0,058 0,019
10 7500 400 1000 0,06 0,02
20
Содержание отчета

1. Цель работы и задачи исследования.


2. Краткие теоретические сведения об основах цифровой
фильтрации сигналов и синтеза фильтров методом окон.
3. Исходные данные исследуемого фильтра по таблице вариантов
1.4).
4. Программы и инструкции синтеза фильтра в Matlab.
5. Результаты синтеза фильтра.
6. Выводы по результатам исследования оконного метода синтеза
КИХ фильтра.
21
Лабораторная работа №2

Синтез КИХ- фильтров методом наилучшей равномерной

( чебышевской) аппроксимации

Цель работы

Освоение машинных методов проектирования цифровых фильтров с


конечной импульсной характеристикой (КИХ) программными
средствами MATLAB.

Содержание работы:реализация поставленной цели предполагает


решение следующих задач:

1. Изучение метода чебышевской апроксимации синтеза цифрового


КИХ-фильтра с заданными свойствами частотной избирательности.

2. Практическое освоение методов машинного проектирования КИХ-


фильтров частотной селекции с помощью MATLAB.

Программные средства поддержки: программная среда


MATLABне ниже (v.7.9.0.592 (R2009b).

Теоретическая часть

Ниже приведены терминология и обозначения, используемые в


теоретической части (табл.2.1)

Таблица 2.1.Термины к чебышевской аппроксимации


Обозначение Наименование Смысл
Ω Интервал Совокупность ПП и ПЗ
аппроксимации в основной полосе
частот
ξ(ŵ) Идеальная АЧХ Аппроксимируемая
функция – непрерывная
функция на интервале
22
Ω: единица – в ПП,
нуль – в ПЗ с линейной
интерполяцией в
переходных полосах
B(ā, ŵ) Тригонометрический Аппроксимируемая
полином функция –
тригонометрический
полином порядка М с
вектором неизвестных
коэффициентов ā –
амплитудная функция
КИХ-фильтра с ЛФЧХ
α Веса Веса(весовые
коэффициенты) в ПП и
ПЗ на интервале Ω -
вектор
δ(ŵ) Модуль взвешенной Модуль взвешенной
ошибки ошибки аппроксимации
аппроксимации на интервале Ω:
|δ(ŵ)|=α|B(ā, ŵ)-ξ(ŵ)|
δmax Максимум модуля Максимальное
взвешенной ошибки значение | δ(ŵ)| на
аппроксимации интервале Ω:
δmax=max| δ(ŵ)|= αmax|
B(ā, ŵ)- ξ(ŵ)|
δmin max Минимум максимума Минимальное значение
модуля взвешенной δmaxна интервале Ω для
ошибки тригонометрического
аппроксимации полинома наилучшего
приближения B(ā, ŵ)
по критерию
Чебышева:
αmax|B(ā, ŵ)- ξ(ŵ)|
=minā , вектор
коэффициентов ā
которого находится в
результате решения
оптимизационной
задачи

Используя приведенную в табл.2.1. терминологию, поясним суть метода


чебышевской аппроксимации в приложении к синтезу КИХ-фильтров:

1. АЧХ КИХ-фильтра А(ŵ) связана с его амплитудной


функцией( тригонометрическим полиномом В(ā, ŵ )) соотношением:
23
А(ŵ)=| В(ā, ŵ)|.
При этом вектор коэффициентов ā связан линейно с импульсной
характеристикой h(n), а порядок полинома М – линейно с порядком R
передаточной функции.

Следовательно, расчет ИХ h(n) КИХ-фильтра методом чебышевской


аппроксимации сводится к расчету вектора коэффициентов ā.
2. Согласно теореме Чебышева, существует единственный полином
В(ā, ŵ) наилучшего равномерного приближения (единственный вектор ā
функции ξ(ŵ) на интервале Ω заданного порядка М, обеспечивающий
δminmax .
3. Наоборот, существует единственный полином В(ā, ŵ) наилучшего
равномерного приближения (единственный вектор ā ) функции ξ(ŵ) на
интервале Ω при заданном значении δminmax , обеспечивающий
минимальный порядок полинома Mmin .
Следовательно при заданных требованиях к АЧХ, полагая:
δ min max=max{δ1, δ2},
можно синтезировать КИХ-фильтр минимального порядка –
оптимальный КИХ-фильтр .Во избежании путаницы с порядком
полинома Rmin , при котором требования к АЧХ также выполняются( но
с другими векторами ā ), введем обозначение Ropt, где:
Ropt<Rmin

4. Согласно теореме Чебышева, полином наилучшего приближения


полином В(ā, ŵ) функции ξ(ŵ) на интервале Ω имеет равноволновой
характер. Частоты, на которых модуль δ(ŵ)| достигает значения δminmax,
называют частотами альтернанса, т.к. значения δminmax на этих частотах
чередуются по знаку.
Для того чтобы обеспечить одинаковое значение δminmax на интервале Ω
при различных заданных максимально допустимых отклонениях АЧХ
δ1, δ2, , соответственно в ПП и ПЗ, вводят веса ( весовые коэффициенты),
рассчитываемые следующим образом:

 вес равный единице, присваивается полосе с наибольшим


максимально допустимым отклонением;
 веса в остальных полосах рассчитываются как отношение
наибольшего максимально допустимому отклонению в данной
полосе.
Поэтому веса – всегда числа, большие единицы.
Процедура синтеза КИХ-фильтров методом чебышевской
аппроксимации включает в себя:
1. Задание требований к АЧХ.
2. Оценку порядка фильтра R.
Оценка порядка фильтра R производится по эмпирическим
формулам на основании требований к АЧХ.
24
3. Расчет импульсной характеристики фильтра h(n) в (1).
Импульсная характеристика рассчитывается по алгоритму Паркса –
Мак-Клиллена, разработанному на основе метода аппроксимации
Чебышева и обменного алгоритма Ремеза.
ИХ может быть симметричной, так и антисимметричной, поэтому
необходимо следить за тем, на основе какого из четырех типов КИХ-
фильтров может синтезироваться фильтр требуемой избирательности
(см.табл.1).
4. Проверку выполнения требований к АЧХ.

В методе чебышевской аппрокимации проверка выполнения


требований заключается в сравнении максимального по модулю
отклонения АЧХ от идеальной с δminmax.Требования выполняются, если
максимальное по модулю отклонение АЧХ не превосходит δminmax .

Возможны две ситуации.


 Требования не выполняются.
В этом случае следует увеличить порядок R и вернуться к пп.3-5.
Процедуру повторять до тех пор, пока не будет найден минимальный
порядок Rmin = Ropt, при котором выполняются требования к АЧХ.
 Требования выполняются
В этом случае следует уменьшить порядок R и вернуться к пп.3-5.
Процедуру повторять до тех пор, пока не будет найден минимальный
порядок Rmin = Ropt, при котором выполняются требования к АЧХ.
В обоих случаях порядок Ropt принципиально может выбираться среди
всех четырех типов КИХ-фильтров, возможных для заданного типа
избирательности.
Таким образом, процедура синтеза КИХ-фильтра методом окон
является итерационной.
Синтез КИХ-фильтров методом чебышевской аппроксимации
выполняется с помощью функции:
[b, error, opt]=firpm(R, f0, m0, weight, ftype, (lgrid))
где:
R – порядок фильтра R;
f0 – вектор-столбец нормированных частот ḟ=f/ (fд/2), в основной
полосе частот [0;1], включающий: левую границу основной полосы
частот f0=0; граничные частоты ПП и ПЗ в порядке их исследования
слева направо; правую границу основной полосы f0=1;
m0 – вектор-столбец значений идеальной АЧХ на частотах вектора f0;
длины векторов m0 и fo совпадают;
weight – вектор-столбец весов в ПП и ПЗ в порядке следования слева
направо;
ftype – параметр, указывающий тип КИХ-фильтра и принимающий
значения (cм.талб.1.1):
25
По умолчанию ( если значение параметра не задано явно) – для 1-го
и 2-го типов;
lgrid – коэффициент плотности сетки частот (DencityFactor);
указывается элементом массива ячеек в фигурных скобках и равен
целому числу C≥16 (16 по умолчанию ); значение lgrid используется
для автоматического расчета числа точек на густой сетке частот
интервала Ω; с ростом lgrid возрастает точность вычисления
коэффициентов b;
b – вектор коэффициентов передаточной функции (13.1) длины
N=R+1; opt – массив записей со следующими полями:
□ opt.fgrid – сетка нормированных частот (вектор) на
интервале аппроксимации Ω(совокупности ПП и ПЗ) в шкале
нормированных частот ; правая граница основной полосы частот,
равная единице, не выводится;
□ opt.H – вектор значений комплексной частотной
характеристики на сетке частот opt.fgrid
□ opt.error – вектор отклонений АЧХ от идеальной на сетке
частот opt.fgrid;
□ opt.des – вектор значений идеальной АЧХ на сетке частот
opt.fgrid;
□ opt.wt – вектор весов на сетке частот opt.fgrid;
□ opt.iextr – вектор номеров элементов вектора opt.fgrid,
соответствующих частотам альтернанса;
□ opt.fextr – вектор нормированных частот альтернанса;
error – максимальное отклонение АЧХ от идеальной на интервале Ω;
error=max(abs(opt.error)).
В табл. 5 приведены формулы взаимосвязи между числом точек
альтернанса m и порядком R КИХ-фильтра.
26
Таблица 2.2. Взаимосвязь числа точек альтернанса с порядком КИХ-
фильтра
Тип КИХ-фильтра Число точек Порядок фильтра R
альтернанса m
Тип 1( Type-1) m=R/2+2 R=2m-4
Длина N – нечетная;
Порядок R – четный;
h(n) – cимметричная
Тип 2( Type-2); m=(R-1)/2 R=2m-3
Длина N – четная;
Порядок R – нечетный;
h(n) – cимметричная
Тип 3( Type-3); m= R/2+1 R=2m-2
Длина N – нечетная;
Порядок R – четный;
h(n) –
антиcимметричная
h(R/2)=0

Тип 4( Type-4); m=(R-1)/2+2 R=2m-3


Длина N –четная;
Порядок R – нечетный;
h(n) –
антиcимметричная

Оценка порядка R КИХ-фильтра для функции firpm, а также


вычисление параметров f0, m0, weight производится по требованиям к
АЧХ с помощью функции:
[R,f0, m0, weight]=firmord(f, m, ripple, Fs)
где:
f – вектор граничных абсолютных частот (Гц) в порядке их следования
слева направо;
m – вектор значений идеальной АЧХ (см.рис.13.1-13.4,а) в порядке их
следования слева направо; соблюдается условие length(f)=2*length(m)-2;
ripple – вектор максимально допустимых отклонений АЧХ в порядке их
следования слева направо;
Fs – частота дискретизации Fд (Гц).
Остальные параметры были определены для функции firpm.
27
Порядок выполнения работы

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


синтеза фильтра типа ФНЧ.
Заданы требования к АЧХ ФНЧ (см. рис 1.1 и табл. 1.3).
Синтезировать КИХ-фильтр методом чебышевской
аппроксимации:

» Fs=8000;
» ft=1000;fk=1500; f=[ft fk] ;
>>m=[1 0];
»dl=0.05; d2=0.01; ripple=[dl d2];
» [R, f0,m0, weight] =firpmord(f ,m, ripple, Fs) ;
» [R weight']
ans =
23 1 5
» [b, error, opt]=firpm(R, f0,m0,weight);
В MATLABпри синтезе КИХ-фильтров с помощью
функцииfirpmпорядок фильтраRопределяется с точностью до ±2, и для
его уточнения необходима проверка выполнения требований к А ЧХ.
Проверим выполнение требований к АЧХ. Выведемзначениеerror:
» error
error=
0.0675
Сравниваяerrorсδminmax, в данном случае сδ1=dl =0.05, видим, что
требования не выполняются.
Следует увеличить порядокR.ФНЧ можно синтезировать на базе КИХ-
фильтров 1-го и 2-го типов (см. табл. 1), поэтому порядок Rможет быть
как четным, так и нечетным:
» R=R+1
R=
24
» [b, error, opt] =firpm(R, f0,mO, weight);
» error
error=
0.0553
Требования не выполняются. Выполним еще одну итерацию:
» R=R+1
R=
25
» [b,error,opt]=firpm(R,fO,mO,weight);

» error

error=
28
0.0435
Требования к АЧХ выполняются. Синтезирован оптимальный ФНЧ с
ЛФЧХ порядка Ropt= 25 на базе КИХ-фильтра 2-го типа.
Построим графики ИХ, АЧХ и ФЧХ оптимального ФНЧ с помощью
внешней функцииplotfir,созданной в примере:
» plot_fir(R,b,Fs)

Рис. 2.1. Импульсная характеристика (а), АЧХ (б) и ФНЧ (в)


оптимального КИХ-фильтра ФНЧ

Поля массива записей optможно вывести по его имени:

» opt

opt=
fgrid: [183x1 double]
H: [183x1 double]
error:
[183x1 double]
des: [183x1 double]
wt: [183x1 double]
iextr:[14x1 double]
fextr:[14x1 double]
29
Значения всех полей представляют собой числовые массивы (векторы-
столбцы) типа double, назначение которых определено ранее.
Для одновременного вывода графика АЧХ с отмеченными частотами
альтернанса и идеальной АЧХ создадим внешнюю функциюMAG_fir:

Построим графики АЧХ с отмеченными частотами альтернанса и


идеальной АЧХ с помощью функцииMAG_fir:

» fextr=opt.fextr;

» MAG_f ir (b, opt. fextr, f0,m0, Fs)


30

Рис.
2.2.АЧХ оптимального КИХ-фильтра ФНЧ ( с частотами альтеранса)
и идеального ФНЧ.

На рис.2.2 отмечено 14 точек альтернанса (m=14):

» length(opt.fextr)

ans= 14
Проверим порядокRпо формуле для КИХ-фильтра 2-го типа в табл.5

R = 2 m - 3 = 2 * 1 4- 3 = 2 5 .
Результаты совпали.

Содержание отчета

1. Цель работы и задачи исследования.


2. Краткие теоретические сведения о синтезе фильтров методом
чебышевской аппроксимации.
3. Исходные данные исследуемого фильтра по таблице вариантов
1.4).
4. Программы и инструкции синтеза фильтра в Matlab.
5. Результаты синтеза фильтра.
6. Выводы по результатам исследования синтеза КИХ фильтра
методом чебышевской аппроксимации.
31

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

Проектирование цифровых КИХ- фильтров средствами


GUIFDATool

Цель работы

Освоение машинных методов проектирования цифровых фильтров с


конечной импульсной характеристикой (КИХ) средствами
GUIFDATool (GraphicUserInterfaceFilterDesignandAnalysisToolbox)
MATLAB.
Содержание работы:реализация поставленной цели предполагает
решение следующих задач:

1. Практическое освоение методов машинного проектирования


КИХ-фильтров частотной селекции с помощью MATLAB-
FDATool.

2. Исследование синтеза КИХ-фильтров оконным методом и


методом чебышевской аппроксимации с помощью MATLAB-
FDATool.

Программные средства поддержки: программная среда


MATLAB не ниже (v.7.9.0.592 R2009b).

Теоретическая часть

ПрограммаGUIFDATool (FilterDesignandAnalysisToolbox— средства про-


ектирования и анализа фильтров) разработана на основе пакетов расширения
SignalProcessingToolboxи FilterDesignToolboxи предназначена для проек-
тирования цифровых фильтров.
С этой главе рассматриваются следующие основные задачи, связанные с про-
ектированием ЦФи решаемые средствами GUIFDATool:
□ синтез ЦФ;
□ выбор структуры ЦФ; П анализ ЦФ;
□ синтез ЦПГ;
□ синтез ЦД;
□ сохранение ЦФ на время сеанса в GUIFDATool;
32
□ экспорт ЦФ как объектов dfilf;
□ импорт ЦФ как объектов dfilf;
□ моделирование структуры ЦФ с ФТ.
Обращение к GUIFDAToolпроисходит по команде:
» fdatool
после чего открывается окно FilterDesign&AnalysisTool с привычным
интерфейсом современных Windows-приложений, где кнопки панели
инструментов дублируют команды меню, и имеется множество иных эле-
ментов интерфейса, с которыми будем знакомиться постепенно.
За более подробной информацией всегда можно обратиться к Справочной
системе MATLABв формате HTML, используя поиск по ключевому слову
"fdatool".

Рис.3.1.ОкноFilterDesign&AnalysisTool

Синтез ЦФ производится при открытом окне FilterDesign&AnalysisToolи


нажатой кнопке DesignFilter(Проектирование фильтра), расположенной на
панели инструментов в нижнем левом углу .
Основные этапы синтеза ЦФ в GUIFDAToolвключают в себя:
33
1.Выбор типа ЦФ.
Тип фильтра выбирается в группе DesignMethod(Метод синтеза) с по-
мощью переключателя IIR(БИХ-фильтр) или FIR(КИХ-фильтр).
2.Выбор метода синтеза ЦФ.
Метод синтеза выбирается в группе DesignMethodв раскрывающихся
списках FIRили IIR.
3. Задание входных параметров.
Входные параметры задаются в группе Options(Параметры), и их набор
зависит от типа ЦФ (КИХ или БИХ), метода синтеза и переключателя в
группе FilterOrder(Порядок фильтра).
4. Задание требований к АЧХ. Требования к АЧХ включают в себя:
• тип избирательности, задаваемый в группе ResponseТуре (Тип ха-
рактеристики) с помощью переключателей Lowpass(ФНЧ), Highpass(ФВЧ),
Bandpass(ПФ) или Bandstop(РФ).
В раскрывающемся списке Lowpassи Highpassприсутствуют разно-
видности фильтров с данными типами избирательности. В последнем
раскрывающемся списке специальных фильтров (без имени) представлены
HilbertTransformer(Преобразователь Гильберта),
Differentiator(Дифференциатор) и др.;
• частоту дискретизации и граничные частоты ПП и ПЗ, задаваемые в
группе FrequencySpecifications(Требования к частотам).
Предварительно в раскрывающемся списке Units(Единицы измерения)
указываются единицы измерения частот, после чего задаются частоты:
 в поле ввода Fs— частота дискретизации;
 в полях ввода Fpass, Fstop— граничные частоты ПП и ПЗ;
• допустимые отклонения АЧХ в ПП и ПЗ, задаваемые в группе Magni-
tudeSpecifications(Требования к АЧХ).
Предварительно в раскрывающемся списке Unitsуказываются единицы
измерения АЧХ:
o Linear(Безразмерный) — если требования задаются к нормиро-
ванной АЧХ;
o dB(дБ) — если требования задаются к АЧХ (дБ) (характеристике
затухания ). После этого задаются допустимые отклонения АЧХ:
o в полях ввода Dpass(в dB— Apass) — допустимые отклонения в
ПП;
o в полях ввода Dstop(в dB— Astop) — допустимые отклонения в
ПЗ.

Синтез ЦФ производится при нажатии кнопки DesignFilter, расположен-


ной внизу по центру окна.
34
В дальнейшем, во избежание путаницы данной кнопки с кнопкой
DesignFilter, расположенной на панели инструментов в нижнем левом
углу, первую будем называть просто кнопкойDesignFilter, а вторую —
кнопкойDesignFilterна панели инструментов в нижнем левом углу.
По завершении синтеза автоматически выдаются:
□ вгруппеMagnitudeResponse (dB) (АЧХ (дБ)) — графикАЧХ (дБ).
После синтеза данная группа автоматически замещает группу
FrequencySpecifications;
□ в группе CurrentFilterInformation(Текущая информация о фильтре):
 Structure— структура фильтра;
 Order— порядок фильтра;
 Stable— устойчивость фильтра (Yesили No);
 Source— способ загрузки фильтра — в результате синтеза в
GUIFDATool (Designed) или импорта (Imported).

Входные параметры ЦФ зависят от его типа (КИХ или БИХ) и метода


синтеза. Особое внимание следует уделить входным параметрам КИХ-
фильтров, т. к. итерационные методы синтеза данных фильтров связаны
с проверкой выполнения требований к АЧХ.

Проверка выполнения требований к АЧХ КИХ-фильтров


Два итерационных метода синтеза:
□метод окон;
□метод наилучшей равномерной (чебышевской) аппроксимации.

В GUIFDAToolв обоих этих методах минимальный


порядокRсинтезированного КИХ-фильтра по умолчанию определяется
с точностью до ±2. Точное определение минимального
порядкаRminКИХ-фильтра предполагает проверку выполнения
требований к АЧХ.
В зависимости от точности определения порядка выбирается
переключатель в группе FilterOrder, а именно:
□ если порядокRопределяется с
точностью до ±2, то устанавливается переключатель
Minimumorder(Минимальный порядок);
□ если определяется минимальный порядокRmin, то сначала
устанавливается переключатель Minimumorderи выполняется синтез
фильтра, а затем при уточнении порядка — переключатель
Specifyorder(Произвольный порядок).
35
Для каждого из методов синтеза КИХ-фильтров, в зависимости от
выбора переключателя в группе FilterOrder, задаются разные входные
параметры. Однако прежде чем их обсуждать, остановимся на
проверке выполнения требований к АЧХ, не зависящей от метода
синтеза.
Проверка требований может выполняться:
□ к нормированной AЧX.
В этом случае предварительно выводится график нормированной
АЧХ, для чего в контекстном меню (открывается щелчком правой
кнопки мыши на свободном поле графика) следует выбрать команду
AnalysisParameters(Параметры анализа). Открывается одноименное
окно, где в раскрывающемся списке MagnitudeDisplay(Вывод АЧХ)
нужно выбрать Magnitude(АЧХ) и нажать кнопку ОК.
Аналогичные действия можно выполнить, выбирая в пункте меню
Analysis команду Analysis Parameters;
□ к АЧХ (дБ) (характеристике ослабления.
Проверка выполнения требований к АЧХ производится следующим
образом:
□ поочередно выводится АЧХ в ПП и ПЗ.
Для этого следует нажать кнопку Zoomin(Увеличить масштаб) на
панели инструментов и, не отпуская левой кнопки мыши, поочередно
выделить АЧХ в ПП и ПЗ;

В каждой из ПП и ПЗ определяется максимальное (по модулю)


отклонение АЧХ и сравнивается с заданным.
Для этого к соответствующей точке АЧХ нужно подвести курсор и вы-
полнить щелчок левой кнопки мыши, после чего выдаются координаты точки
— значения частоты и АЧХ. (Расставленные точки удаляются с помощью
команды контекстного меню Deleteили Deleteall).
Возврат к исходному масштабу АЧХ выполняется нажатием кнопки
Zoomtofullview(Исходный масштаб) или щелчком правой кнопки мыши на
свободном поле графика.
Возможны две ситуации:
□ требования не выполняются.
В этом случае следует увеличить порядок фильтраRи, повторяя процедуру
синтеза, определить минимальный порядок, при котором требования будут
выполняться;
□ требования выполняются.
В этом случае можно уменьшить порядок фильтраRи, повторяя процедуру
синтеза, определить минимальный порядок Rmin, при котором требования
будут выполняться.
36
В обоих случаях изменение порядка производится при выборе в группе
FilterOrderпереключателя Specifyorder.
Рассмотрим, как задаются входные параметры при выборе разных переклю-
чателей — Minimumorderили Specifyorder.

При синтезе КИХ-фильтров методом окон (в раскрывающемся списке


FIRвыбирается значение Window)входные параметры зависят от
переключателя в группе FilterOrder, а именно:
□ при выборе переключателя Minimumorderв группе Options:
 в раскрывающемся списке Window(Окно) выбрать значение
Kaiser(Окно Кайзера);
 флаг ScalePassband(Масштабирование в ГШ) сбросить.
 Флаг ScalePassbandтождественен параметру normalizasionв функции
fir1, и его сброс/установка определяется пользователем;
 кнопка Viewпредусмотрена для просмотра временных и частотных
характеристик выбранного окна в автоматически открывающемся ок-
не WindowVisualizationTool(Средства визуализации окна);
□ при выборе переключателя Specifyorderв его поле ввода указать порядок
КИХ-фильтра и задать:
 в группе Optionsв поле ввода Beta— значение параметра
Параметр β окна Кайзера тождественен параметру betaв функции kaiserordи
рассчитывается с ее помощью;
 в группе Frequency Specifications:
 в раскрывающемся списке Units— Normalized(0 to1) (по
умолчанию);
 в поле ввода Fc(Частота разрыва) — нормализованные
частоты разрыва.

Нормализованные частоты разрыва Fc(одна — для ФНЧ и ФВЧ и две — для


ПФ и РФ) тождественны параметру wcв функции kaiserordи рассчитываются
с ее помощью.

При синтезе КИХ-фильтров методом чебышевской аппроксимации (в рас-


крывающемся списке FIRвыбирается значение Equiripple)входные пара-
метры зависят от переключателя в группе FilterOrder, а именно:
□ при выборе переключателя Minimumorderв группе Optionsв поле ввода
DensityFactor(Коэффициент плотности сетки частот) задать значение этого
параметра.
37
Параметр DensityFactorтождественен параметру lgridв функциях
firpmИfirgr
□ при выборе переключателя Specifyorderв его поле ввода указать
порядок КИХ-фильтра, и в группе MagnitudeSpecificationsзадать:
• в поле ввода Wpass— вес (веса) в ПП;
• в поле ввода Wstop-— вес (веса) в ПЗ.
Веса (весовые коэффициенты) легко определяются по методике, а
именно: вес, равный единице, присваивается полосе с наибольшим
максимально допустимым отклонением, а веса в остальных полосах
рассчитываются как отношение наибольшего максимально допустимого
отклонения к максимально допустимому отклонению в данной полосе.
Поэтому веса— всегда числа, большие или равные единице.
Отметим, что в GUIFDAToolдля синтеза частотно-избирательных
фильтров методом чебышевской аппроксимации по умолчанию
используются КИХ- фильтры только 1-го и 2-го типов, а КИХ-фильтры
3-го и 4-го типов — для цифровых преобразователей Гильберта и
дифференциаторов. Поэтому вид импульсной характеристики —
симметричная/антисимметричная — не задается.

Анализ ЦФ, синтезированного в GUIFDAToolили импортированного из


Workspace, производится при открытом окне
FilterDesign&AnalysisToolи нажатой кнопкеDesignFilterна панели
инструментов в нижнем левом углу с помощью следующих команд
пункта менюAnalysis(или дублирующих их кнопок на панели
инструментов):

□ Magnitude Response (АЧХ);


□ Phase Response (ФЧХ);
□ Magnitude and Phase Responses (АЧХиФЧХ);
□ GroupDelayResponse(ГВЗ — групповое время задержки);
□ Phase Delay (Фазоваязадержка);
□ ImpulseResponse(Импульсная характеристика);
□ StepResponse(Переходная характеристика);
□ Pole/ZeroPlot(Карта нулей и полюсов);
□ FilterCoefficints(Коэффициенты передаточной функции);
□FilterInformation(Свойства фильтра — объекта dfiit);
□Magnitude Response Estimate (ОценкаАЧХ — дляЦФсФТ);
38
□Round-offNoicePowerSpectrum(Энергетический спектр шума
округления— для ЦФ с ФТ)
Помимо этого в пункт меню Analysisвключены дополнительные
команды:
□ FilterSpecifications(Требования к АЧХ) — по этой
команде в поле графика выводятся требования к АЧХ;
□ OverlayAnalysis(Наложение характеристик) — по этой
команде выводится список флагов, имена которых дублируют
вышеперечисленные команды анализа. Установив
соответствующий флаг, можно добавить в поле графика еще
одну характеристику, поверх имеющейся. По умолчанию
установлен флаг None(Добавляемой характеристики нет);
□ AnalysisParameters(Параметры анализа) — по этой
команде открывается окно с тем же именем, в котором можно
изменить параметры анализируемой характеристики (список
параметров зависит от характеристики), затем нажимается
кнопка ОК;
□ SamplingFrequency(Частота дискретизации) — по этой
команде открывается одноименное окно, в котором
можно изменить единицы измерения частоты
дискретизации, затем нажимается кнопка ОК.
Команды AnalysisParametersи SamplingFrequencyдублируются
в контекстном меню, открываемом щелчком правой кнопкой
мыши на свободном поле графика.
СписоккомандпунктаменюAnalysis окнаFilter Design &Analysis Tool
GUI
FDAToolничем не отличается от списка команд пункта меню Analysis
окна
Figure...: Filter Visualization Tool GUI FVTool.

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

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


синтеза фильтра типа ФНЧ.

В лабораторной работе №1 был синтезирован программными


средствами MATLAB КИХ-фильтр ФНЧ по заданным требованиям к
АЧХ методом окон с окном Кайзера. Синтезируем тот же фильтр
средствами GUIFDATool.

Основные этапы синтеза включают в себя:


39
1.Выбор типа ЦФ.
В группе DesignMethodустановить переключатель FIR.
2.Выбор метода синтеза.
В группе DesignMethodв раскрывающемся списке переключателя
FIRвыбрать Window(Метод окон).
3.Задание входных параметров.
В группе FilterOrderвыбрать переключатель Minimumorder. В группе
Optionsзадать входные параметры:
• в раскрывающемся списке Windowвыбрать Kaiser;
•флаг Scale Passband сбросить.
4.Задание требований к АЧХ:
•тип избирательности задается в группе ResponseТуре с помощью
переключателя Lowpass;
• частота дискретизации и граничные частоты ПП и ПЗ задаются в
группе FrequencySpecifications:
o в раскрывающемся списке Units— Hz(Гц);
o в поле ввода Fs— 8000;
o в поле ввода Fpass— 1000;
o в поле ввода Fstop— 1500;
 максимально допустимые отклонения АЧХ задаются в группе
MagnitudeSpecifications:
o в раскрывающемся списке Units— Linear; О в поле
ввода Dpass— 0.05;
o в поле ввода Dstop— 0.01.
40

Рис. 3.1. Проверка выполнения требований к АЧХ КИХ-фильтра


ФНЧ, синтезированного методом окон(с окном Кейзера) –
требования в ПЗ не выполняются

Синтез фильтра производится после нажатия кнопки


DesignFilter,и по его завершении автоматически выдаются:
 в группе MagnitudeResponse (dB) — график АЧХ (дБ);

• вгруппеCurrent Filter Information:

□ Structure— Direct-Form FIR;

□ Order —36;

□ Stable— Yes;

□ Source— Designed.
Определим, является ли порядок КИХ-фильтра минимальным. С
этой целью проверим выполнение требований к АЧХ по методике
изложенной выше и увидим, что они не выполняются в ПЗ на
частоте 1500 Гц (рис.3.1).
Для изменения порядка КИХ-фильтра в группе FilterOrderвыберем
переключатель Specifyorder, и в поле его ввода укажем порядок
КИХ- фильтра — 37.
41
Зададим новые входные параметры:
1. В группе Optionsв поле ввода Beta введем 3.3953.
Параметр Beta тождественен параметру betaв функции kaiserord и
рассчитан с ее помощью .
2. ВгруппеFrequencySpecificationsукажем:
• в раскрывающемся списке Units— Normalized(0 to1) (по
умолчанию);
• в поле ввода Fc — 0.3125.
Нормализованная частота разрыва Fcтождественна параметру wcв
функции kaiserordи вычислена с ее помощью.
Нажмем кнопку Design Filter (она активизируется при нажатии
кнопки DesignFilterна панели инструментов в нижнем левом углу).
Проверим выполнение требований к АЧХ и убедимся, что они
выполняются.
Таким образом, синтезирован ФНЧ с ЛФЧХ порядка =37 на базе КИХ-
фильтра 2-го типа.

Ранее был синтезирован программными средствами MATLAB


оптимальный КИХ-фильтр ФНЧ по заданным требованиям к АЧХ
методом чебышевской аппроксимации. Синтезировать тот же фильтр
средствами GUISPTool.

Основные этапы синтеза включают в себя:

1. Выбор типа и метода синтеза ЦФ.

В раскладывающемся списке Algorithm выбрать значение EquirippleFIR.

2. Задание входных параметров.

Флаг MinimumOrder установлен, входные параметры отсутствуют.

3. Задание требований к АЧХ:

 тип изберательности задается в группе Specifications в


раскрывающемся списке Type-lowpass;
 частота дискретизации и граничные частоты ПП и ПЗ в герцах
указываются соответственно в поле ввода SamplingFrequency -8000-и
в группе Specifications в подгруппах:
 Passhand в поле ввода Fp-1000;
 Stopband в поле ввода Fs-1500;
42
 максимальное допустимое отклонения АЧХ (дБ) указываются в
группе Specifications в подгруппах:
 Passhand в поле ввода Rp-0.4455;
 Stopband в поле ввода Rs-40.
4. Синтез фильтра производится после нажатия кнопки Apply (при
сброшенном флаге AutoDesign), и по завершении автоматически
выдаются:
 Вполе Frequency Response–графикАЧХ(дБ);
 В группе Measurements:
 Order-26;
 В подгруппе passband действительное отклонение АЧХ(дБ)
ActualRp-0.5697 и вес в ПП Weight -1;
 В подгруппе stopband действительное отклонение АЧХ(дБ)
ActualRp-32.82 и вес в ПП Weight -2.564;
5. В раскрывающемся списке Filter –имя синтезированного фильтра
filt2.

Сравнивая действительные значения АЧХ (дБ) ActualRp и ActualRs в


группе Measurements с заданными пользователем занчениями Rp и Rs в
группе Specifications, убеждаемся, что требования к АЧХ (дБ) не
выполняются.
Для изменения порядка КИХ-фильтра сбросим флаг MinimumOrder, в
поле ввода Order установим порядок 27 и зададим входные параметры
по умолчанию:
 В подгруппе Passhand в поел ввода Weight-1;
 В подгруппе Stophand в поле ввода Weight-5.
Веса определены по методике, а именно: вес, равный единице, присвоен
ПП с наибольшим максимально допустимым отклонением 0,05, а вес ПЗ
рассчитан как отношение 0,05/0,01=5.
При повторном синтезе после нажатия кнопки Apply (она после щелчка
левой кнопки мыши на поле графика) в группе Measurements
автоматически выводятся выходные параметры в подгруппах Passband и
Stopband. Сравнивая значения ActualRp и ActualRs с заданными
пользователем в группе Specifications, убеждаемся, что требования к
АЧХ(дБ) вновь не выполняются.
Увеличивая порядок фильтра, не меняя входные параметры, несложно
убедится, что требования к АЧХ(дБ) будут при порядке фильтра R=31.
Таким образом, синтезирован оптимальный ФНЧ с ЛФЧХ порядка Ropt
=31 на базе КИХ-фильтра 2-го типа.
(Отметим, что порядок КИХ-фильтра ФНЧ, синтезированного
средствами GUIFDATool, равен Rmin=25.)

Содержание отчета
43
1. Цель работы и задачи исследования.
2. Краткие теоретические сведения о синтезе фильтров с помощью
MATLAB-FDATool.

3. Исходные данные исследуемого фильтра по таблице вариантов


1.4).
4. Порядок синтеза фильтроа с помощью MATLAB-FDATool двумя
методами.
5. Результаты синтеза фильтра двумя методами.
6. Выводы по результатам исследования синтеза КИХ фильтра
методом окон и методом чебышевской аппроксимации с
помощью MATLAB-FDATool.

Литература
1. Солонина А. И., Арбузов С.М. Цифровая обработка сигналов.
Моделирование в MATLAB. – СПб.: БХВ-Петербург, 2008.-
816с.
2. Сергиенко А.Б. Цифровая обработка сигналов: Учебник для
вузов.

2-е изд. – СПб.:Питер, 2006. – 751 с. :ил.


3. Оппенгейм А., Шафер Р. Цифровая обработка сигналов. – М.:

Техносфера, 2006. -856с.


4. А.Т. Бизин. Введение в цифровую обработку сигналов.

Новосибирск: Изд. Сиб. Гос.Ак. Тел. и Инф., 1998г.


5. А.А. Дахнович. Дискретные системы и цифровая обработка

сигналов. Тамбов.: Изд. ТГТУ, 2007г.


6. Стивен Смит. Цифровая обработка сигналов. Практическое
44
руководство дляинженеров и научных работников. –М.: Додэка
– XXI, 2008. – 720с.
7. Чернокозов В.В. Цифровая обработка сигналов. Уч. пос.
,М.:Изд. «МАМИ», 2013г.

Учебное издание

Чернокозов Владимир Васильевич

Методические указания к лабораторным работам (часть 1) по дисциплине


«Цифровая обработка сигналов»
для студентов, обучающихся по направлениям подготовки бакалавров
220400.62 «Управление в технических системах»,
45
220200.62 «Автоматизация и управление» и специальности 220201.65 «Управление и
информатика в технических системах»

Оригинал-макет подготовлен редакционно-издательским отделом


Университета Машиностроения

По тематическому плану внутривузовских изданий учебной литературы на 2014 г.

Подписано в печать Формат 60х90 1/16. Бумага 80 г/м2


Гарнитура «Таймс». Ризография. Усл. печ.л. 1,37
Тираж 40 экз. Заказ №

Университет Машиностроения
107023, Москва, Б. Семеновская ул.