?? iirh.m
字號(hào):
%數(shù)字濾波器的指標(biāo)
wp=0.2*pi;ws=0.3*pi;
Rp=1.5;As=30;
%模擬原型指標(biāo)
T=0.0001;Fs=1/T;
OmegaP=(2/T)*tan(wp/2);
OmegaS=(2/T)*tan(ws/2);
ep=sqrt(10^(Rp/10)-1);
Ripple=sqrt(1/(1+ep*ep))
Atten=1/(10^(As/20))
%模擬巴特沃斯原型濾波器計(jì)算
[N,OmegaC]=buttord(OmegaP,OmegaS,Rp,As,'s');
%歸一劃巴特沃斯原型設(shè)計(jì)參數(shù)
[Z0,P0,K0]=buttap(N);
P=P0*OmegaC;Z=Z0*OmegaC;
K=K0*OmegaC^N;
ba=K*real(poly(Z));
aa=real(poly(P));
[bd,ad]=mybilinear(ba,aa,Fs);
[sos,G]=tf2sos(bd,ad)
%繪圖
[db,mag,pha,grd,w]=myfreqz(bd,ad);
[H,w]=freqz(bd,ad,1000,'whole');
H=(H(1:1:501))';
w=(w(1:1:501))';
mag=abs(H);
db=20*log((mag+eps)/max(mag));
pha=angle(H);
grd=grpdelay(bd,ad,w);
subplot(3,1,1);plot(w/pi,mag);title('幅度響應(yīng)');
xlabel('frequency in pi units');ylabel('|H|');axis([0,1,0,1.1]);
set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]);
set(gca,'YTickMode','manual','YTick',[0,Atten,Ripple,1]);grid;
subplot(3,1,2);plot(w/pi,pha/pi);title('相位響應(yīng)');
xlabel('frequency in pi units');ylabel('pi units');axis([0,1,-1,1]);
set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]);
set(gca,'YTickMode','manual','YTick',[-1,0,1]);grid
subplot(3,1,3);plot(w/pi,db);title('幅度(單位:db)'),axis([0,1,-30,5]);
set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]);
set(gca,'YTickMode','manual','YTick',[-50,-30,-1.5,0]);grid
set(gca,'YTickMode','manual','YTickLables',['50';'30';'1.5';'0']);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -