- •1. Методические указания
- •1.1. Расчёт фильтров - прототипов
- •1. Фильтры Баттерворта
- •На рис.1 показаны ачх и фчх фильтра Баттерворта четвертого порядка. Коэффициент передачи фильтра Баттерворта любого порядка на частоте рад/с равен дБ.
- •2. Фильтры Чебышева
- •3. Эллиптические фильтры ачх эллиптического фильтра (рис.4)
- •4. Преобразования аналоговых фильтров – прототипов
- •Пример 2. Эллиптический фвч пятого порядка с частотой среза Гц (рис. 6) рассчитывается программой
- •5. Весовая функция цифрового фильтра.
- •6. Функция корреляции белого шума на выходе фильтра
- •7. Задание
5. Весовая функция цифрового фильтра.
Весовая функция средствами MATLAB вычисляется для фильтров, заданных не в аналоговом, а в цифровом виде. Для этого используются функции butter, cheby1, cheby2, ellip (без окончания “ap”).
Базовой при расчёте цифровых фильтров является частота дискретизации Fs, задаваемая в Гц. Интервал дискретизации равен dt=1/Fs. Половинное значение частоты дискретизации Fn=Fs/2 называется частотой Найквиста. Результаты цифровых спектральных расчётов периодически повторяются, так что реальный смысл они имеют в диапазоне частот (0 - Fn). Типовой синтаксис расчёта цифрового фильтра:
[b,a]=ellip(n,Rp,Rs,Wn,”type”)
Коэффициенты [b,a] – коэффициенты передаточной функции
,
записанной с помощью z – преобразования. Первые три аргумента функции имеют тот же смысл, что и при расчёте аналоговых фильтров, Wn – частота среза ФНЧ или ФВЧ, задаваемая числом (Wn = aFn). Параметр ,”type” = ”high” для ФВЧ, по умолчанию рассчитывается ФНЧ или полосовой фильтр. При расчёте полосового или режекторного фильтра вместо Wn задаётся вектор частот среза [f1,f2]. Для режекторного фильтра ”type” = ”stop”, полосовой фильтр рассчитывается по умолчанию.
Весовая функция вычисляется функцией impz (b,a,n,Fn), где n – чило её отсчётов.
Пример 5.
Fs=400e+003 % частота дискретизации 400 кГц
Fn=Fs/2 % частота Найквиста
n=64 % число отсчётов
dt=1/Fs % интервал дискретизации во времени ( 2.5 мкс )
t=0:dt:(n-1)*dt; % ось времени
f11=0.001 % нижняя частота среза (f1=0.001Fn=200 Гц)
f21=0.125 % верхняя частота среза (f2=0.125Fn=25 кГц)
f12=0.125 % нижняя частота среза (f1=25 кГц)
f22=0.250 % верхняя частота среза (f2=50 кГц)
f13=0.250 % нижняя частота среза (f1=50 кГц)
f23=0.375 % верхняя частота среза (f2=75 кГц)
[b,a]=cheby1(5,0.5,[f11,f21]) % полосовой фильтр первого канала
h1(1,:)=impz(b,a,n,Fn); % весовая функция
H=fft(h1) % Быстрое преобразование Фурье
G1=abs(H); % АЧХ
df=Fs/n % интервал дискретизации по частоте (6250 Гц)
f=0:df:(n-1)*df; % ось частоты
[b,a]=cheby1(5,0.5,[f12,f22]) % полосовой фильтр второго канала
h2(1,:)=impz(b,a,n,Fn); % весовая функция
H2=fft(h2) % Быстрое преобразование Фурье
G2=abs(H2); % АЧХ
[b,a]=cheby1(5,0.5,[f13,f23]) % полосовой фильтр третьего канала
h3(1,:)=impz(b,a,n,Fn); % весовая функция
H3=fft(h3) % Быстрое преобразование Фурье
G3=abs(H3); % АЧХ
subplot(2,1,1),stem(t,h1)
subplot(2,1,2),plot(f,G1)
pause
subplot(2,1,1),stem(t,h2)
subplot(2,1,2),plot(f,G2)
pause
subplot(2,1,1),stem(t,h3)
subplot(2,1,2),plot(f,G3)
pause
s=ones(1,n)
ys=conv(h3,s) % прямоугольный сигнал на выходе полосового фильтра
tt=0:dt:dt*(length(ys)-1)
yh=conv(h3,h3) % на входе сигнал - весовая функция
subplot(2,1,1),plot(tt,ys)
subplot(2,1,2),plot(t,h3,tt,yh,'r')
Рис. 9. Весовая функция и частотноя характеристика
Рис. 10. Весовая функция и частотноя характеристика
Рис. 11. Весовая функция и частотноя характеристика
Рис.12. Сигналы на выходе полосового фильтра № 3