Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DSP_PC / Лабораторная работа #3.docx
Скачиваний:
125
Добавлен:
27.04.2015
Размер:
306.46 Кб
Скачать

5.2 Задание требований к частотным характеристикам ких-фильтров

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

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

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

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

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

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

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

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

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

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

максимально допустимые отклонения АЧХ (f), для которых введены условные обозначения:

● δ1 – от единицы в ПП;

● δ2 – от нуля в ПЗ.

В общем случае максимально допустимые отклонения АЧХ ПФ в ПЗ1 и ПЗ2, а также максимально допустимые отклонения АЧХ РФ в ПП1 и ПП2 могут задаваться не одинаковыми. Однако в примерах они полагаются одинаковыми их упрощения без потери общности.

При синтезе КИХ-фильтров в MATLAB дополнительно задается вектор значений идеальной АЧХ: единица – в ПП и нуль – в ПЗ.

На рис. 5.1.2 – 5.1.5 приведены примеры идеальной АЧХ и требований к АЧХ для фильтров различного типа избирательности: ФНЧ, ФВЧ, ПФ, и РФ.

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

Требования могут задаваться к АЧХ в децибелах – к характеристике ослабления:

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

В MATLAB требования задаются к характеристике затухания (5.1.2).

В требованиях к характеристике затухания (5.1.2) вместо значений δ1 и δ2 задаются:

● аmax (дБ) – максимально допустимое затухание в ПП;

● аmin (дБ) – минимально допустимое затухание в ПЗ.

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

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

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

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

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

и наоборот:

(5.1.5)

(5.1.6)

5.3 Синтез ких-фильтров методом окон

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

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

  2. Оценку порядка фильтра R и выбор окна.

Оценка порядка фильтра R производится по эмпирическим формулам на основании требований к АЧХ.

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

  1. Расчет импульсной характеристики идеального фильтра hи(n), усеченной до длины N=R+1.

Импульсная характеристика hи(n) может быть только симметричной и рассчитывается по известным для идеальных ФНЧ, ФВЧ, ПФ, РФ аналитическим формулам, обязательным параметром которых является частота разрыва (отсечки):

● для ФНЧ и ФВЧ частота разрыва одна, равная:

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

  1. Расчет импульсной характеристики реального фильтра h(n) длины N как произведения:

  1. Проверку выполнения требований к АЧХ.

В методе окон проверка выполнения требований к АЧХ заключается в сравнении максимального по модулю отклонения АЧХ от идеальной во всех ПП и ПЗ с заданными максимально допустимыми отклонениями (δ1 и δ2).

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

● Требования не выполняются.

В этом случае следует увеличить порядок R и вернуться к пп. 3-5.

Процедуру повторять до тех пор, пока не будет найден минимальный порядок Rmin, при котором выполняются требования к АЧХ.

● Требования выполняются.

В этом случае следует уменьшить порядок R и вернуться к пп. 3-5.

Процедуру выполнять до тех пор, пока не будет найден минимальный порядок Rmin, при котором выполняются требования к АЧХ.

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

b=fir1(R, wc, ftype, win, normalizasion)

где:

R – порядок фильтра R (R=N-1)

wc – вектор нормированных частот разрыва:

● для ФНЧ и ФВЧ – с одним элементом, равным:

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

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

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

● ‘stop’ – для РФ;

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

normalizasion – параметр (флаг), управляющий нормированием АЧХ, таким образом, чтобы обеспечить ее значение, равное единице, в центре ПП (для РФ – в центре ПП1) и принимающей значения:

● ‘scale’ (по умолчанию) – нормирование выполняется;

● ‘noscale’ – нормирование не выполняется;

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

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

Вектор win можно задать с помощью обращения к встроенной функции MATLAB (основные из них приведены в таблице 5.1.1).

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

Функция

Назначение

win=rectwin(N)

Прямоугольное окно длины N

win=triang(N)

Треугольное окно длины N

win=bartlett(N)

Окно Бартлетта длины N

win=hann(N)

Окно Хэнна длины N

win=haming(N)

Окно Хэмминга длины N

win=hanning(N)

Окно Хэннинга длины N

win=blackman(N)

Окно Блэкмана длины N

win=blackmanharris(N)

Окно Блэкмена-Хэрриса длины N

win=kaiser(N, beta)

Окно Кайзера длины N с параметром β

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

Расчет β () иR (), а также вектораwc в функции fir1 по заданным требованиям к АЧХ выполняются с помощью функции:

[R, wc, beta, ftype]=kaiserord(f, m, ripple, Fs)

где:

f – вектор граничных частот ПП и ПЗ в порядке их следования слева направо в шкале абсолютных частот f (Гц) в основной полосе частот [0; fд/2];

m – вектор значений идеальной АЧХ в порядке их следования слева направо;

ripple – вектор максимально допустимых отклонений АЧХ в порядке их следования слева направо;

Fs – частота дискретизации fд (Гц);

R – порядок фильтра, который определяется с точностью до ±2, и для его уточнения необходима проверка выполнения требований к АЧХ;

beta – параметр β (5.3.1) окна Кайзера;

wc – вектор, определенный ранее для функции fir1;

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

● ‘low’ – для ФНЧ;

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

● ‘stop’ – для РФ;

● ’DC-0’ – для ПФ и многополосных фильтров, в АЧХ которых первой следует полоса задерживания.

ПРИЛОЖЕНИЕ 5.2

Пример 5.1

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

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

Частоты (Гц) и их обозначения в MATLAB

Максимально допустимые отклонения АЧХ и их обозначения в MATLAB

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

fд

Fs

8000

-

-

-

Граничная частота ПП

fχ

ft

1000

В полосе пропускания (ПП)

δ1

d1

0.05

Граничная частота ПЗ

fk

fk

1500

В полосе задерживания (ПЗ)

δ2

d2

0.01

Выполнение пункта задания 3 на Matlab

>> Fs=8000;

>> ft=1000; fk=1500; f=[ft fk];

>> 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}

Выполнение пункта задания 4 на Matlab

ans =

[36] [0.3125] [3.3953] 'low'

>> b=fir1(R,wc,ftype,kaiser(R+1,beta),'noscale');

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

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

В MATLAB при синтезе КИХ-фильтров по методу окон порядок фильтра R определяется с точностью до ±2, и для его уточнения необходима проверка выполнения требований к АЧХ.

С этой целью, создадим внешнюю функцию check_low, в которой на густой сетке частот (выбрано 1000 точек) вычисляются максимальные (по модулю) отклонения АЧХ в ПП и ПЗ – соответственно dp и ds, равные:

dp = max[(АЧХmax-1) (1-АЧХmin)];

ds = АЧХmax.

Выполнение пункта задания 2 на Matlab

function [dp,ds]=check_low(b,ft,fk,Fs)

%Проверка выполнения требований к АЧХ ФНЧ

% b - вектор коэффициентов передаточной функции

% Fs - частота дискретизации (Гц)

% ft, fk - граничные частоты ПП и ПЗ

% fp, fs - векторы частот (Гц) для ПП и ПЗ (густая сетка)

% Н - частотная характеристика

% dp, ds - максимальные отклонения АЧХ в ПП и ПЗ

% а=[1]- коэффициент знаменателя передаточной функции

a=[1];

fp=0:ft/1000:ft;

H=freqz(b,a,fp,Fs);

dp=max([max(abs(H))-1 1-min(abs(H))]);

fs=fk:(Fs/2-fk)/1000:Fs/2;

H=freqz(b,a,fs,Fs);

ds=max(abs(H));

Выполнение пункта задания 5 на Matlab

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

>> [dp,ds]=check_low(b,ft,fk,Fs);

>> [dp ds]

ans =

0.0102 0.0102

Сравним их с заданными – требования не выполняются. Увеличим порядок фильтра на единицу и вновь синтезируем КИХ-фильтр ФНЧ:

>> 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 =

0.0080 0.0082

Требования выполняются. Таким образом, синтезирован ФНЧ с ЛФЧХ порядка Rmin=37 на базе КИХ-фильтра 2-го типа.

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

Выполнение пункта задания 6 на Matlab

function plot_fir(R,b,FS)

% Построение графиков характеристик КИХ-фильтра

% R - порядок КИХ фильтра

% b - вектор коэффициентов передаточной функции

% а =[1] - коэффициент знаменателя передаточной функции

% Fs - частота дискретизации (Гц)

Fs=8000;

a=[1];

n=0:R;

subplot(3,1,1), stem(n,b,'fill','MarkerSize',3), xlabel('n'),...

title('Impulse Response'), grid

f=0:((Fs/2)/1000):Fs/2;

H=freqz(b,a,f,Fs);

MAG=abs(H);

PHASE=angle(H);

subplot(3,1,2),plot(f,MAG),xlabel('f(Hz)'),title('MAGNITUDE'),grid

subplot(3,1,3),plot(f,PHASE),xlabel('f(Hz)'),title('PHASE'), grid

Построим графики ИХ, АЧХ и ФЧХ синтезированного ФНЧ с помощью функции plot_fir(рис. 5.2.1):

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

Пример 5.2

Заданы требования к АЧХ ФВЧ (см. рис. 5.1.3 и таблицу 5.2.2). Синтезировать КИХ-фильтр методом окон с окном Кайзера:

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

Частоты (Гц) и их обозначения в MATLAB

Максимально допустимые отклонения АЧХ и их обозначения в MATLAB

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

fд

Fs

8000

-

-

-

Граничная частота ПЗ

fk

fk

1000

В полосе задерживания (ПЗ)

δ2

d2

0.01

Граничная частота ПП

fχ

ft

1500

В полосе пропускания (ПП)

δ1

d1

0.05

Выполнение пункта задания 3 на Matlab

>> Fs=8000;

>> fk=1000; ft=1500; f=[fk ft];

>> m=[0 1];

>> d2=0.01; d1=0.05; ripple=[d2 d1];

>> [R, wc, beta, ftype]=kaiserord(f, m, ripple, Fs);

>> {R wc beta ftype}

ans = [36] [0.3125] [3.3953] 'high'

Выполнение пункта задания 4 на Matlab

>> b=fir1(R,wc,ftype,kaiser(R+1,beta),'noscale');

Синтезирован КИХ-фильтр ФВЧ порядка R=36 с той же нормированной частотой среза c, что и для ФНЧ (см. пример 1):

С целью проверки выполнения требований к АЧХ ФВЧ, создадим внешнюю функцию check_high, в которой на густой сетке вычисляются максимальные (по модулю) отклонения АЧХ в ПЗ и ПП – соответственно ds и dp.

Выполнение пункта задания 2 на Matlab

function [ds,dp]=check_high(b,fk,ft,Fs)

% Проверка выполнения требований к АЧХ ФВЧ

% b - вектор коэффициентов передаточной функции

% Fs - частота дискретизации (Гц)

% fk,ft - граничные частоты ПЗ и ПП

% fs, fp - векторы частот (Гц) для ПЗ и ПП (частая сетка)

% Н - частотная характеристика

% ds, dp - максимальные отклонения АЧХ в ПЗ и ПП

% a=[1]- коэффициент знаменателя передаточной функции

a=[1];

fs=0:fk/1000:fk;

H=freqz(b,a,fs,Fs);

ds=max(abs(H));

fp=ft:(Fs/2-ft)/1000:Fs/2;

H=freqz(b,a,fp,Fs);

dp=max([max(abs(H))-1 1-min(abs(H))]);

Выполнение пункта задания 5 на Matlab

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

>> [ds,dp]=check_high(b,fk,ft,Fs);

>> [ds dp]

ans = 0.0102 0.0102

Сравним их с заданными – требования в ПЗ не выполняются.

Увеличим порядок фильтра на 2.

>> R=R+2

R =38

>> b=fir1(R,wc,ftype,kaiser(R+1,beta),'noscale');

>> [ds,dp]=check_high(b,fk,ft,Fs);

>> [ds dp]

ans = 0.0093 0.0093

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

Построим графики ИХ, АЧХ и ФЧХ синтезированного ФВЧ с помощью внешней функции plot_fir (рис. 5.2.2):

>> R=38; b=fir1(R,wc,ftype,kaiser(R+1, beta),'noscale');

>> plot_fir(R,b,Fs)

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

Пример 5.3

Заданы требования к АЧХ ПФ (см. рис. 5.1.4 и таблицу 5.2.3). Синтезировать КИХ-фильтр методом окон с окном Кайзера:

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

Частоты (Гц) и их обозначения в MATLAB

Максимально допустимые отклонения АЧХ и их обозначения в MATLAB

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

fд

Fs

8000

-

-

-

Граничная частота ПЗ

f-k

fk1

1000

В полосе задерживания (ПЗ1)

δ2

d2

0.01

Левая граничная частота ПП

f-χ

ft1

1400

В полосе пропускания (ПП)

δ1

d1

0.05

Правая граничная частота ПП

fχ

ft2

2000

Граничная частота ПЗ2

fk

fk2

2400

В полосе задерживания (ПЗ2)

δ2

d2

0.01

Выполнение пункта задания 3 на Matlab

>> Fs=8000;

>> fk1=1000; ft1=1400; ft2=2000; fk2=2400; f=[fk1 ft1 ft2 fk2];

>> m=[0 1 0];

>> d2=0.01; d1=0.05; ripple=[d2 d1 d2];

>> [R,wc,beta,ftype]=kaiserord(f,m,ripple,Fs);

>> {R wc(1) wc(2) beta ftype}

ans =

[45] [0.3000] [0.5500] [3.3953] 'DC-0'

Выполнение пункта задания 4 на Matlab

>> b=fir1(R,wc,ftype,kaiser(R+1,beta),'noscale');

Синтезирован КИХ-фильтр ПФ порядка R=45 с нормированными частотами разрыва:

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

С целью проверки выполнения требований к АЧХ ПФ, создадим внешнюю функцию check_pass, в которой на густой сетке вычисляются максимальные (по модулю) отклонения АЧХ в ПЗ1, ПП и ПЗ2 – соответственно ds1, dp и ds2:

Выполнение пункта задания 2 на Matlab

function [ds1,dp,ds2]=check_pass(b,fk1,ft1,ft2,fk2,Fs)

% Проверка выполнения требований к АЧХ ПФ

% b - вектор коэффициентов передаточной функции

% Fs - частота дискретизации (Гц)

% fk1, ft1, ft2, fk2 - граничные частоты ПЗ1, ПП и ПЗ2

% ds1, dp, ds2 - максимальные отклонения АЧХ в ПЗ1, ПП и ПЗ2

% fs1, fp, fs2 - векторы частот (Гц) для ПЗ1, ПП и ПЗ2 (частая четка)

% Н - частотная характеристика

% а=[1] - коэффициент знаменателя передаточной функции

a=[1];

fs1=0:fk1/1000:fk1;

H=freqz(b,a,fs1,Fs);

ds1=max(abs(H));

fp=ft1:(ft2-ft1)/1000:ft2;

H=freqz(b,a,fp,Fs);

dp=max([max(abs(H))-1 1-min(abs(H))]);

fs2=fk2:(Fs/2-fk2)/1000:Fs/2;

H=freqz(b,a,fs2,Fs);

ds2=max(abs(H));

Выполнение пункта задания 5 на Matlab

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

>> [ds1,dp,ds2]=check_pass(b,fk1,ft1,ft2,fk2,Fs);

>> [ds1 dp ds2]

ans =

0.0103 0.0105 0.0104

Сравним их с заданными – требования в ПЗ не выполняются.

Увеличим порядок фильтра, синтезируем КИХ-фильтр ПФ и проверим выполнение требований к АЧХ:

>> R=R+1

R =

46

>> b=fir1(R,wc,ftype,kaiser(R+1,beta),'noscale');

>> [ds1,dp,ds2]=check_pass(b,fk1,ft1,ft2,fk2,Fs);

>> [ds1 dp ds2]

ans = 0.0081 0.0069 0.0085

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

Получим графики импульсной характеристики, АЧХ и ФЧХ синтезированного ПФ с помощью внешней функции plot_fir (рис. 5.2.3):

Выполнение пункта задания 6 на Matlab

>> R=46; b=fir1(R,wc,ftype,kaiser(R+1,beta),'noscale');

>> plot_fir(R,b,Fs)

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

Пример 5.4

Заданы требования к АЧХ РФ (см. рис. 5.1.5 и таблицу 5.2.4). Синтезировать КИХ-фильтр методом окон с окном Кайзера:

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

Частоты (Гц) и их обозначения в MATLAB

Максимально допустимые отклонения АЧХ и их обозначения в MATLAB

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

fд

Fs

8000

-

-

-

Граничная частота ПП1

f-χ

ft1

1000

Максимально допустимое отклонение от единицы в ПП1

δ1

d1

0.05

Левая граничная частота ПЗ

f-k

fk1

1400

Максимально допустимое отклонение от нуля в ПЗ

δ2

d2

0.01

Правая граничная частота ПЗ

fk

fk2

2000

Граничная частота ПП2

fχ

ft2

2400

Максимально допустимое отклонение от единицы в ПП2

δ1

d1

0.05

Выполнение пункта задания 3 на Matlab

>> Fs=8000;

>> ft1=1000; fk1=1400; fk2=2000; ft2=2400; f=[ft1 fk1 fk2 ft2];

>> m=[1 0 1];

>> d2=0.01; d1=0.05; ripple=[d1 d2 d1];

>> [R,wc,beta,ftype]=kaiserord(f,m,ripple,Fs);

>> {R wc(1) wc(2) beta ftype}

ans =

[46] [0.3000] [0.5500] [3.3953] 'stop'

Выполнение пункта задания 4 на Matlab

>> b=fir1(R,wc,ftype,kaiser(R+1,beta),'noscale');

Синтезирован КИХ-фильтр РФ порядка R=46 с теми же нормированными частотами разрыва, что и для ПФ (см. пример № 5.3).

С целью проверки выполнения требований к АЧХ РФ, создадим внешнюю функцию check_stop, в которой на густой сетке вычисляются максимальные (по модулю) отклонения АЧХ в ПП1, ПЗ и ПП2 – соответственно dp1, ds и dp2:

Выполнение пункта задания 2 на Matlab

function [dp1,ds,dp2]=check_stop(b,ft1,fk1,fk2,ft2,Fs)

% Проверка выполнения требований к АЧХ РФ

% b - вектор коэффициентов передаточной функции

% Fs - частота дикретизации (Гц)

% ft1, fk1, fk2, ft2 - граничные частоты ПП1, ПЗ и ПП2

% dp1, ds, dp2 - максимальные отклонения АЧХ в ПП и ПЗ

% fp1, fs, fp2 - векторы частот (Гц) для ПП1, ПЗ и ПП2 (частая сетка)

% Н - частотная характеристика

% а=[1]-коэффициент знаменателя передаточной функции

a=[1];

fp1=0:ft1/1000:ft1;

H=freqz(b,a,fp1,Fs);

dp1=max([max(abs(H))-1 1-min(abs(H))]);

fs=fk1:(fk2-fk1)/1000:fk2;

H=freqz(b,a,fs,Fs);

ds=max(abs(H));

fp2=ft2:(Fs/2-ft2)/1000:Fs/2;

H=freqz(b,a,fp2,Fs);

dp2=max([max(abs(H))-1 1-min(abs(H))]);

Выполнение пункта задания 5 на Matlab

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

>> [dp1,ds,dp2]=check_stop(b,ft1,fk1,fk2,ft2,Fs);

>> [dp1 ds dp2]

ans =0.0081 0.0069 0.0085

Уменьшим порядок фильтра на 2:

>> R=R-2

R =44

>> b=fir1(R,wc,ftype,kaiser(R+1,beta),'noscale');

Проверим выполнение требований к АЧХ:

>> [dp1,ds,dp2]=check_stop(b,ft1,fk1,fk2,ft2,Fs);

>> [dp1 ds dp2]

ans = 0.0132 0.0151 0.0133

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

Построим графики ИХ, АЧХ и ФЧХ синтезированного РФ с помощью внешней функции plot_fir(рис. 5.2.4):

Выполнение пункта задания 6 на Matlab

>> R=44; b=fir1(R,wc,ftype,kaiser(R+1,beta),'noscale');

>> plot_fir(R,b,Fs)

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