Порівняння характеристик аналогового та цифрового фільтрів
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
>1.2 Розрахунок фільтра прототипу
Фільтром прототипом надівають ФНЧ із частотою зрізу 1рад/сек.
Змінним параметром при розрахунку фільтра прототипу виступає порядок фільтра. Згідно із ТЗ розрахуємо як фільтр прототип фільтр Чебишева І роду, його АЧХ описується наступною формулою.
У цьому виразі - частота зрізу, - поліном Чебишева n порядку, n - порядок фільтра. Коефіцієнти фільтра прототипу розраховуємо в обчислювальному середовищі MatLab
[z,p,k]=cheb1ap(n,Rp); % визначаємо параметри передавальної ф-ції для фільтру Чебишева 1р.
[b,a]=zp2tf(z,p,k); % отримуємо коефіцієнти передавальної ф-ції
В результаті обчислень маємо:
Коефіцієнт підсилення k = 0.0051
Передаточна функція фільтра:
Побудуємо характеристики фільтра-прототипу за допомогою MatLab:
figure(1);
plot(p,x) % малюємо діаграму полюсів
hold on;
plot(z,o)
grid on;
xlabel(Im(z)); ylabel(Re(z));
title(Pole diagram);
Рис. 2. Графік нулів і полюсів фільтра прототипу.
Рис. 3. АЧХ фільтра прототипу.
Рис. 4. ФЧХ фільтра прототипу.
1.3 Перетворення частоти зрізу та АЧХ фільтра
Наступним етапом розробки аналогового фільтра є перетворення фільтра прототипу з метою отримання фільтра заданого типу з необхідними частотами зрізу.
Перетворення фільтра прототипу у смуговий фільтр вимагає достатньо складної трансформації частотної вісі. Так, нульова та нескінченна частоти повинні трансформуватись у повинні трансформуватись у нескінченне значення на частотній вісі ФНЧ-прототипа (там, де його коефіцієнт передачі наближається до нуля). Частоти, що відповідають краям смуги пропускання, повинні після перетворення давати значення +1 або -1, рівні частоті зрізу ФНЧ-прототипа. Нарешті перетворення має виконуватись за допомогою дробово-раціональної функції, щоб зберегти дробово-раціональний вигляд передаточної функції.
Переліченим вимогам відповідає наступне перетворення:
Де , , - відповідно верхня і нижня границі полоси пропускання фільтра.
Для проведення перетворення застосуємо середовище MatLab:
% Початкові дані
Wp1=8442; % Нижня межа смуги пропускання рад / сек
Wp2=12940; % Верхня межа смуги пропускання рад / сек
Ws1=7914; % Нижня межа смуги затримки рад / сек
Ws2=13468; % Верхня межа смуги затримки рад / сек
Rp=2; % Коефіцієнт пульсацій дБ
Rs=37; %Затухання дБ
[n,Wn]=cheb1ord([Wp1 Wp2],[Ws1 Ws2],Rp,Rs,s); % обчислюємо порядок фільтра
[z,p,k]=cheb1ap(n,Rp); % визначаємо параметри передавальної ф-ції для фільтру Чебишева 1р.
W1=Wn(1);
W2=Wn(2);
W0=sqrt(W1*W2);
Bw=(W2-W1);
[b1 a1]=lp2bp(b,a,W0,Bw); % перетворимо перед. ф-цію прототипу в потрібну
Hrez=tf(b1,a1) % передавальна функція СФ
В результаті обчислень отримуємо передаточну функцію смугового фільтра Чебишева І роду:
Побудуємо характеристики фільтра за допомогою середовища MatLab
[h1,w1]=freqs(b1,a1,1000);
figure(4); %---АЧХ СФ
plot(w1,abs(h1));
axis([0 20000 0 1.2]);
xlabel(w); ylabel(Amplitude);
title(AFC of bandpass filter);
grid on
figure(5); %---ФЧХ СФ
plot(w1,unwrap(angle(h1)));
axis([0 20000 -30 5]);
title(PFC of bandpass filter);
grid on
xlabel(w); ylabel(Phase);
figure(6);
pzmap(Hrez);
Рис. 7. діаграма нулів та полюсів передаточної функції фільтра.
Рис. 5. АЧХ смугового фільтра Чебишева І роду.
Рис. 6. ФЧХ смугового фільтра Чебишева І роду.
Рис. 7. АЧХ фільтра в порівнянні з бажаною АЧХ.
1.4 Моделювання роботи фільтра
Щоб перевірити правильність розрахунків промоделюємо роботу фільтра у середовищі MatLab. Для моделювання використаємо тестовий сигнал що складається з трьох гармонічних сигналів різної частоти, фази та амплітуди.
%----------------- Формування вихідного сигналу --------------------------%
k1=3;
k2=16;
k3=12;
phi1=pi;
phi2=pi/4;
phi3=pi/2;
W1=6000;
W2=10976;
W3=24387;
dt=1e-5;
T1=2*pi/W1;
t=0:dt:20*T1;
[p,k]=size(t);
sign_freq=[W1 W2 W3];
sign_phase=[phi1 phi2 phi3];
sign_koeff=[k1 k2 k3];
Analog_sign=0;
for i=1:3
Analog_sign=Analog_sign+sign_koeff(i).*sin(sign_freq(i).*t+sign_phase(i));
end;
% Моделювання обробки аналогового сигналу
figure(7);
lsim(Hrez,Analog_sign,t);
grid on
axis([0 0.02 -40 40]);
Рис. 8. Вхідний та вихідний сигнали.
1.5 Побудова спектрів вхідного та вихідного сигналів
Побудуємо спектри вхідного та вихідного сигналів. Для побудови спектрів використаємо алгоритм неперервного перетворення Фурє.
Для дійсних функцій ряд Фурє часто означається, як ряд по синусах та косинусах, аргументи яких обираються в такий спосіб, аби на відрізку означення функції вкладалась ціла кількість періодів. Легко зрозуміти, що перелік таких синусів та косинусів вичерпується множинами та , де n є довільним натуральним числом, а для може приймати також значення 0.
%------------------------- Побудова спектрів ---------------------------%
[y,x]=lsim(Hrez,Analog_sign,t);
a0=dt*sum(Analog_sign)/T1;
for i=1:k
ak(i)=(2*dt/T1)*sum(Analog_sign.*cos(t*i*W1));
bk(i)=(2*dt/T1)*sum(Analog_sign.*sin(t*i*W1));
end;
Ak=sqrt(ak.^2+bk.^2);
k1=1:i; % номера відліків
W0=k1*W1; % масштабовані відліки
Wn=zeros(1,50); % завдання розміру вектора відліків
Wn=0:W0:50*W0; % заповненн