實(shí)驗(yàn)五IIR數(shù)字濾波器設(shè)計(jì)及軟件實(shí)現(xiàn).doc
實(shí)驗(yàn)四:IIR數(shù)字濾波器設(shè)計(jì)及軟件實(shí)現(xiàn)一、實(shí)驗(yàn)內(nèi)容及步驟1、 調(diào)用信號(hào)產(chǎn)生函數(shù)mstg產(chǎn)生由三路抑制載波調(diào)幅信號(hào)相加構(gòu)成的復(fù)合信號(hào)st,三路信號(hào)在時(shí)域混疊無(wú)法在時(shí)域分離,但頻域是可分離的,所以可以通過濾波的方法在頻域分離。2、 要求將st中三路調(diào)幅信號(hào)分離,通過觀察st的幅頻特性曲線,分別確定可以分離st中三路抑制載波單頻調(diào)幅信號(hào)的三個(gè)濾波器(低通、高通、帶通)的通帶截止頻率和阻帶截止頻率。要求濾波器的通帶最大衰減為0.1db,阻帶最小衰減為60db.3、 編程序調(diào)用MATLAB濾波器設(shè)計(jì)函數(shù)ellipord和ellip分別設(shè)計(jì)三個(gè)橢圓濾波器,并繪圖顯示其損耗函數(shù)曲線。4、 調(diào)用濾波器實(shí)現(xiàn)函數(shù)filter,用三個(gè)濾波器分別對(duì)信號(hào)產(chǎn)生函數(shù)mstg產(chǎn)生的信號(hào)st進(jìn)行濾波,分離出st中的三路不同載波頻率的調(diào)幅信號(hào)yn1、yn2、yn3的,并繪圖顯示其時(shí)域波形,觀察分離效果。二、實(shí)驗(yàn)結(jié)果顯示原信號(hào)圖形:高通濾波器輸出波形帶通濾波器輸出波形低通濾波器輸出波形帶阻濾波器輸出波形三、實(shí)驗(yàn)結(jié)論:由上面所繪圖形可知,利用數(shù)字濾波器完全可以將時(shí)域混疊而頻域未混疊的波形分開,達(dá)到濾波目的。四、思考題(1)請(qǐng)閱讀信號(hào)產(chǎn)生函數(shù)mstg,確定三路調(diào)幅信號(hào)的載波頻率和調(diào)制信號(hào)頻率。答:第一路調(diào)幅信號(hào)的調(diào)制信號(hào)頻率為100HZ,載波頻率為1000HZ;第二路調(diào)幅信號(hào)的調(diào)制信號(hào)頻率為50HZ,載波頻率為500HZ;第三路調(diào)幅信號(hào)的調(diào)整信號(hào)頻率為25HZ,載波頻率為250HZ。(2)信號(hào)產(chǎn)生函數(shù)mstg中采樣點(diǎn)數(shù)N=1600,對(duì)st進(jìn)行N點(diǎn)FFT可以得到6根理想譜線。如果取N=1800,可否得到6根理想譜線?為什么?N=2000呢?請(qǐng)改變函數(shù)mstg中采樣點(diǎn)數(shù)N的值,觀察頻譜圖驗(yàn)證您的判斷是否正確?答:因?yàn)樾盘?hào)st是周期序列,譜分析時(shí)要求觀察時(shí)間為整數(shù)倍周期。分析可知,st的每個(gè)頻率成分都是25Hz的整數(shù)倍。采樣頻率Fs=10kHz=25400Hz,即在25Hz的正弦波的1個(gè)周期中采樣400點(diǎn)。所以,當(dāng)N為400的整數(shù)倍時(shí)一定為st的整數(shù)個(gè)周期。因此,采樣點(diǎn)數(shù)N=800和N=2000時(shí),對(duì)st進(jìn)行N點(diǎn)FFT可以得到6根理想譜線。如果取N=1000,不是400的整數(shù)倍,不能得到6根理想譜線。(3)修改信號(hào)產(chǎn)生函數(shù)mstg,給每一路調(diào)幅信號(hào)加入載波成分,產(chǎn)生AM信號(hào),觀察AM信號(hào)與抑制載波調(diào)幅信號(hào)的時(shí)域波形及其頻譜的差別??梢杂^察到AM的頻譜中含有離散的載波分量,且占用很大比重。五、實(shí)驗(yàn)程序:1、信號(hào)產(chǎn)生函數(shù)mstg程序:function st=mstgN=800;FS=10000;T=1/FS;TP=N*T;t=0:T:(N-1)*T;K=0:N-1;f=K/TP;fc1=FS/10;%第一路調(diào)幅信號(hào)的載波頻率fc1=1000HZfm1=fc1/10;%第一路調(diào)幅信號(hào)的調(diào)制信號(hào)頻率為fm1=100hz.fc2=FS/20;%第二路調(diào)幅信號(hào)的載波頻率fc2=500HZfm2=fc2/10;%第二路調(diào)幅信號(hào)的調(diào)制信號(hào)頻率為fm2=50hz.fc3=FS/40;%第三路調(diào)幅信號(hào)的載波頻率fc3=250HZfm3=fc3/10;%第三路調(diào)幅信號(hào)的調(diào)制信號(hào)頻率為fm3=25hz.xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);st=xt1+xt2+xt3;fxt=fft(st,N);%計(jì)算信號(hào)st的頻譜.%繪圖subplot(211)plot(t,st);grid on;xlabel(t/s);ylabel(s(t);axis(0,TP/4,min(st),max(st);title(a) s(t)的波形)subplot(212)stem(f,abs(fxt)/max(abs(fxt),.);grid on;title(b) s(t)的頻譜)axis(0,FS/5,0,1.2);xlabel(f/HZ);ylabel(幅度);2、高通濾波器的程序%高通濾波器設(shè)計(jì)fp=800;fs=700;Fs=10000;wp=2*fp/Fs;ws=2*fs/Fs;rp=1;rs=40;N=800;st=mstg;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;N1,wpo=ellipord(wp,ws,rp,rs);%確定最小階數(shù)和截止頻率B,A=ellip(N1,rp,rs,wpo,high);%求傳遞函數(shù)的分子分母系數(shù)y=filter(B,A,st);%濾波fyt=fft(y,N);%求其頻譜subplot(2,1,1),plot(t,y),grid on;xlabel(t/s),ylabel(y(t),axis(0,Tp/4,min(y),max(y),title(a) y(t)的波形)subplot(2,1,2);stem(f,abs(fyt)/max(abs(fyt),.);grid on;title(b) y(t)的頻譜)axis(0,Fs/5,0,1.2);xlabel(f/Hz);ylabel(幅度)3、帶通濾波器%帶通濾波器fpl=400;fpu=600;fsl=350;fsu=650;Fs=10000;wp=2*fpl/Fs,2*fpu/Fs;ws=2*fsl/Fs,2*fsu/Fs;rp=1;rs=40;N=800;st=mstg;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;N1,wpo=ellipord(wp,ws,rp,rs);B,A=ellip(N1,rp,rs,wpo);y=filter(B,A,st);fyt=fft(y,N);subplot(2,1,1),plot(t,y),grid on;xlabel(t/s),ylabel(y(t),axis(0,Tp/4,min(y),max(y),title(a) y(t)的波形)subplot(2,1,2);stem(f,abs(fyt)/max(abs(fyt),.);grid;title(b) y(t)的頻譜)axis(0,Fs/5,0,1.2);xlabel(f/Hz);ylabel(幅度);4、低通濾波器設(shè)計(jì)%低通濾波器fp=350;fs=400;Fs=10000;wp=2*fp/Fs;ws=2*fs/Fs;rp=1;rs=40;N=800;st=mstg;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;N1,wpo=ellipord(wp,ws,rp,rs);B,A=ellip(N1,rp,rs,wpo);y=filter(B,A,st);fyt=fft(y,N);subplot(2,1,1),plot(t,y),grid,xlabel(t/s),ylabel(y(t),axis(0,Tp/4,min(y),max(y),title(a) y(t)的波形)subplot(2,1,2);stem(f,abs(fyt)/max(abs(fyt),.);grid;title(b) y(t)的頻譜)axis(0,Fs/5,0,1.2);xlabel(f/Hz);ylabel(幅度)5、帶阻濾波器的設(shè)計(jì)%帶阻濾波器的設(shè)計(jì)fpl=350;fpu=700;fsl=400;fsu=600;Fs=10000;wp=2*fpl/Fs,2*fpu/Fs;ws=2*fsl/Fs,2*fsu/Fs;rp=1;rs=40;N=800;st=mstg;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;N1,wpo=ellipord(wp,ws,rp,rs);B,A=ellip(N1,rp,rs,wpo,stop);y=filter(B,A,st);fyt=fft(y,N);subplot(2,1,1),plot(t,y),grid,xlabel(t/s),ylabel(y(t),axis(0,Tp/4,min(y),max(y),title(a) y(t)的波形)subplot(2,1,2);stem(f,abs(fyt)/max(abs(fyt),.);grid;title(b) y(t)的頻譜)axis(0,Fs/5,0,1.2);xlabel(f/Hz);ylabel(幅度)