实验2数字信号处理.docx
《实验2数字信号处理.docx》由会员分享,可在线阅读,更多相关《实验2数字信号处理.docx(15页珍藏版)》请在冰豆网上搜索。
实验2数字信号处理
wp=2*1000*tan(2*pi*300/(2*1000));
ws=2*1000*tan(2*pi*200/(2*1000));
[N,wn]=cheb1ord(wp,ws,0.8,20,'s');
[B,A]=cheby1(N,0.8,wn,'s');
[bn1,an1]=bilinear(B,A,2000);
[h,w]=freqz(bn1,an1);
f=w/pi*500;plot(f,20*log10(abs(h)));
axis([0,500,-30,10]);
gridon;
xlabel('频率');
ylabel('幅度响应');
wp=2*1000*tan(2*pi*200/(2*1000));
ws=2*1000*tan(2*pi*300/(2*1000));
Ap=1;As=25;
[n,Wn]=buttord(Wp,Ws,Ap,As,'s');
[b,a]=butter(n,Wn,'s');
[bn1,an1]=bilinear(b,a,1000);
[H1,W]=freqz(bn1,an1);
[bn2,an2]=impinvar(b,a,1000);
[H2,W]=freqz(bn2,an2);
f=W/(2*pi)*1000;plot(f,abs(H1),'-.',f,abs(H2),'-');
gridon
xlabel('频率');ylabel('幅度响应');
legend('双线性变法','脉冲响应不变法');
wp=2*8000*tan(2*pi*1200/(2*8000));
ws=2*8000*tan(2*pi*2000/(2*8000));
[N1,wn1]=buttord(wp,ws,0.5,40,'s');
[B1,A1]=butter(N1,wn1,'s');
[bn1,an1]=bilinear(B1,A1,8000);
[h1,w1]=freqz(bn1,an1);
f1=w1/(2*pi)*8000;
subplot(311);plot(f1,20*log10(abs(h1)));
axis([0,4000,-80,10]);
gridon;
xlabel('频率1');ylabel('幅度响应1');title('butterworth滤波器');
[N2,wn2]=cheb1ord(wp,ws,0.5,40,'s');
[B2,A2]=cheby1(N2,0.5,wn2,'s');
[bn2,an2]=bilinear(B2,A2,8000);
[h2,w2]=freqz(bn2,an2);
f2=w2/(2*pi)*8000;
subplot(312);plot(f2,20*log10(abs(h2)));
axis([0,4000,-80,10]);
gridon;
xlabel('频率2');ylabel('幅度响应2');title('chebyshev滤波器');
[N3,wn3]=ellipord(wp,ws,0.5,40,'s');
[B3,A3]=ellip(N3,0.5,40,wn3,'s');
[bn3,an3]=bilinear(B3,A3,8000);
[h3,w3]=freqz(bn3,an3);
f3=w3/(2*pi)*8000;
subplot(313);plot(f3,20*log10(abs(h3)));
axis([0,4000,-80,10]);
gridon;
xlabel('频率3');ylabel('幅度响应3');title('椭圆滤波器');
w1=2*30000*tan(2*pi*2000/(2*30000));
w2=2*30000*tan(2*pi*3000/(2*30000));
wr1=2*30000*tan(2*pi*1500/(2*30000));
wr2=2*30000*tan(2*pi*6000/(2*30000));
[N,wn]=buttord([w1w2],[wr1wr2],3,20,'s');
[B,A]=butter(N,wn,'s');
[bn1,an1]=bilinear(B,A,30000);
[h,w]=freqz(bn1,an1);
f=w/(2*pi)*30000;plot(f,20*log10(abs(h)));
axis([0,15000,-80,10]);
gridon;
xlabel('频率3');ylabel('幅度响应3');
N=45,计算并画出矩形窗、汉明窗、布莱克曼窗的归一化的幅度谱,并比较各自的主要
特点。
N=45;
wn1=kaiser(N,0);
wn2=hamming(N);
wn3=blackman(N);
[h1,w1]=freqz(wn1,N);
[h2,w2]=freqz(wn2,N);
[h3,w3]=freqz(wn3,N);
plot(w1/pi,20*log10(abs(h1)),'-',w2/pi,20*log10(abs(h2)),'--',w3/pi,20*log10(abs(h3)),':
');
axis([0,1,-120,10]);grid;
xlabel('归一化频率/\pi');ylabel('幅度/dB');title('三种窗口函数');
legend('矩形窗','汉明窗','布莱克曼窗',3);
N=15;
h=fir1(N-1,[0.30.5],'bandpass',hanning(N));
[h1,w1]=freqz(h,1);
subplot(2,1,1);plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('频率/\pi');ylabel('幅度/dB');title('N=15,矩形窗');
N=45;h=fir1(N-1,[0.30.5],'bandpass',hanning(N));
[h1,w1]=freqz(h,1);
subplot(2,1,2);plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('频率/\pi');ylabel('幅度/dB');
title('N=45,矩形');
N=15;
h=fir1(N-1,[0.30.5],'bandpass',hanning(N));
figure
(1)
freqz(h,1)
title('N=15,汉宁窗');
N=45;
h=fir1(N-1,[0.30.5],'bandpass',hanning(N));
figure
(2)
freqz(h,1)
title('N=45,汉宁窗');
将上式的hanning改为下面的形式
%矩形窗
N=15;
h=fir1(N-1,[0.30.5],'bandpass',boxcar(N));
[h1,w1]=freqz(h,1);
subplot(2,1,1);plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('频率/\pi');ylabel('幅度/dB');title('N=15,矩形窗');
N=45;h=fir1(N-1,[0.30.5],'bandpass',boxcar(N));
[h1,w1]=freqz(h,1);
subplot(2,1,2);plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('频率/\pi');ylabel('幅度/dB');
title('N=45,矩形');
N=15;
h=fir1(N-1,[0.30.5],'bandpass',blackman(N));
[h1,w1]=freqz(h,1);
subplot(2,1,1);plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('频率/\pi');ylabel('幅度/dB');title('N=15,布莱克曼窗');
N=45;
h=fir1(N-1,[0.30.5],'bandpass',blackman(N));
[h1,w1]=freqz(h,1);
subplot(2,1,2);plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);grid;
xlabel('频率/\pi');ylabel('幅度/dB');title('N=45,布莱克曼窗');
如:
N=40;
f=[00.20.20.40.40.60.60.80.81];
a=[0011001100];
beta=4;
h=fir2(N-1,f,a,kaiser(N,beta));
[h1,w1]=freqz(h,1);
subplot(3,1,1);plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('频率/\pi');ylabel('幅度/dB');
title('beta=4时凯泽窗专用线性相位滤波器');
beta=6;
h=fir2(N-1,f,a,kaiser(N,beta));
[h1,w1]=freqz(h,1);
subplot(3,1,2);plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('频率/\pi');ylabel('幅度/dB');
title('beta=6时凯泽窗专用线性相位滤波器');
beta=10;
h=fir2(N-1,f,a,kaiser(N,beta));
[h1,w1]=freqz(h,1);
subplot(3,1,3);plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('频率/\pi');ylabel('幅度/dB');
title('beta=10时凯泽窗专用线性相位滤波器');
第四题
f=[00.50.51];m=[1100];
b=fir2(63,f,m);
[h,w]=freqz(b,1,128);
plot(f,m,w/pi,abs(h))
legend('Ideal','fir2Designed')
title('频率采样的低通滤波器')