Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОИ-Лабораторная работа 3.doc
Скачиваний:
11
Добавлен:
03.11.2018
Размер:
207.36 Кб
Скачать

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