close

Вход

Забыли?

вход по аккаунту

?

laba 3

код для вставкиСкачать
Міністерство освіти та науки України
Одеський національний політехнічний університет
Інститут комп'ютерних систем
Кафедра комп'ютерних систем
Лабораторна робота №3
"Аналіз частотних характеристик цифрового фільтру"
Виконав ст. гр. АЕ-101
Догар Д.В.
перевірив
Ситніков В.С.
Одеса 2013
Мета роботи: надбання навиків в одержанні передатної функції цифрового фільтру за передавальною функцією аналогового фільтру-прототипу.
Завдання: Режекторний фільтр
Текст програми:
//LAB#3_PRIMER.sci(161113)
clear
clc
f=12;
q=0.44;
k=1;
//
wac=2*%pi*f;
w2=wac*wac;
a=[w2,0,0.9999999];
w2=wac*wac;
wq=wac/q;
b=[w2,wq,1];
frq=1:1000;
n=length(frq);
fd=10*f;
fd2=fd/2;
T=1/fd;
T2=T/2;
T2T=2/T;
wcc=T2T*atan(wac*T2);
fcc=wcc/2/%pi
//1-построение АЧХ и ФЧХ аналогового фильтра;
num=poly(a,'p',"c");//c=coeff;
den=poly(b,'p',"c");
Ha=num/den;
s1=syslin('c',Ha);//c-непрерывная система;
scf(1)
bode(s1,frq)
////АЧХ-20lg(K(w))- в dB;ФЧХ- в градусах;
[frq1,rep]=repfreq(s1,frq);
amp=abs(rep);
phi=atan(imag(rep),real(rep));
scf(2)
subplot(211)
plot2d(frq1,amp,logflag="ln",style=2)
xgrid()
subplot(212)
plot2d(frq1,phi,logflag="ln",style=2)
xgrid()
//pause
//2-переход к цифровому фильтру
z=poly(0,'z');
pers2z=horner(s1, (T2T*(z-1)/(z+1)));
sz=syslin('d',pers2z);
ft=frq*T;
Hz=freq(sz.num,sz.den,exp(%i*2*%pi*ft));
ampz=abs(Hz);
phiz=atan(imag(Hz),real(Hz));
scf(3)
subplot(211)
plot2d(frq,ampz,logflag="ln",style=2)
xgrid()
subplot(212)
plot2d(frq,phiz,logflag="ln",style=2)
xgrid()
scf(4)
subplot(211)
plot2d(frq,ampz,logflag="ln",style=2)
xgrid()
subplot(212)
plot2d(frq,phiz,logflag="ln",style=2)
xgrid()
scf(5)
subplot(211)
plot2d(frq,ampz,logflag="ln",style=2)
xgrid()
subplot(212)
plot2d(frq,phiz,logflag="ln",style=2)
xgrid()
scf(6)
subplot(211)
plot2d(frq,ampz,logflag="ln",style=2)
xgrid()
subplot(212)
plot2d(frq,phiz,logflag="ln",style=2)
xgrid()
//pause
//3-фильтр Баттерворта;
fcl = 4;
fcr = 30;
wwwl=fcl/fd;
wwwr=fcr/fd;
zz_t=iir(1,'sb','butt',[wwwl wwwr],[0 0]);
sz_t=syslin('d',zz_t);
Hz_t=freq(sz_t.num,sz_t.den,exp(%i*2*%pi*ft));
ampz_t=abs(Hz_t);
phiz_t=atan(imag(Hz_t),real(Hz_t));
scf(3)
subplot(211)
plot2d(frq,ampz_t,logflag="ln",style=5)
xgrid()
subplot(212)
plot2d(frq,phiz_t,logflag="ln",style=5)
xgrid()
//pause
//4-фильтр Чебышова;
zz_t=iir(1,'sb','cheb1',[wwwl wwwr],[0.3 0]);
sz_t=syslin('d',zz_t);
Hz_t=freq(sz_t.num,sz_t.den,exp(%i*2*%pi*ft));
ampz_t=abs(Hz_t);
phiz_t=atan(imag(Hz_t),real(Hz_t));
scf(4)
subplot(211)
plot2d(frq,ampz_t,logflag="ln",style=5)
xgrid()
subplot(212)
plot2d(frq,phiz_t,logflag="ln",style=5)
xgrid()
//pause
//5-фильтр инверсный Чебышова;
zz_t=iir(1,'sb','cheb2',[wwwl wwwr],[0 0.5]);
sz_t=syslin('d',zz_t);
Hz_t=freq(sz_t.num,sz_t.den,exp(%i*2*%pi*ft));
ampz_t=abs(Hz_t);
phiz_t=atan(imag(Hz_t),real(Hz_t));
scf(5)
subplot(211)
plot2d(frq,ampz_t,logflag="ln",style=5)
xgrid()
subplot(212)
plot2d(frq,phiz_t,logflag="ln",style=5)
xgrid()
//pause
//6-фильтр эллиптический;
zz_t=iir(1,'sb','ellip',[wwwl wwwr],[0.3 0.5]);
sz_t=syslin('d',zz_t);
Hz_t=freq(sz_t.num,sz_t.den,exp(%i*2*%pi*ft));
ampz_t=abs(Hz_t);
phiz_t=atan(imag(Hz_t),real(Hz_t));
scf(6)
subplot(211)
plot2d(frq,ampz_t,logflag="ln",style=5)
xgrid()
subplot(212)
plot2d(frq,phiz_t,logflag="ln",style=5)
xgrid()
Отримані графіки
Рис. 1 АЧХ і ФЧХ аналогового фільтру
Рис. 2 Цифровий фільтр
Рис. 3 З фільтром Баттерворта
Рис. 4 З фільтром Чебишова
Рис. 5 З інверсним фільтром Чебишова
Рис. 6 З еліптичним фільтром Виводи: В результаті виконаної лабораторної роботи ми вивчили основні прийоми роботи з системою Scilab. Набули навичок використання побудованих функцій. Набули навиків в одержанні передатної функції цифрового фільтру за передавальною функцією аналогового фільтру-прототипу.
Документ
Категория
Рефераты
Просмотров
15
Размер файла
124 Кб
Теги
laba
1/--страниц
Пожаловаться на содержимое документа