數(shù)字信號(hào)課程設(shè)計(jì)-語(yǔ)音信號(hào)的處理與濾波_第1頁(yè)
數(shù)字信號(hào)課程設(shè)計(jì)-語(yǔ)音信號(hào)的處理與濾波_第2頁(yè)
數(shù)字信號(hào)課程設(shè)計(jì)-語(yǔ)音信號(hào)的處理與濾波_第3頁(yè)
數(shù)字信號(hào)課程設(shè)計(jì)-語(yǔ)音信號(hào)的處理與濾波_第4頁(yè)
數(shù)字信號(hào)課程設(shè)計(jì)-語(yǔ)音信號(hào)的處理與濾波_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、廣西科技大學(xué)(籌)數(shù)字信號(hào)處理課程設(shè)計(jì)設(shè)計(jì)題目:語(yǔ)音信號(hào)的處理與濾波設(shè)計(jì)過(guò)程:1.語(yǔ)音信號(hào)的采集利用電腦上的聲卡和WINDOWS操作系統(tǒng)可以進(jìn)行數(shù)字信號(hào)的采集。可以直接用電腦自帶的錄音工具進(jìn)行錄音。也可以運(yùn)用MATLAB中的wavrecord()、wavwrite()、wavplay()、wavread()等函數(shù)進(jìn)行語(yǔ)音的錄制、播放、存儲(chǔ)、讀取。具體采集步驟如下: 用MATLAB工具編程錄制一段時(shí)間為5秒的內(nèi)容(例如“老師,新年快樂(lè)” )的語(yǔ)音,存放在C:UsersPKLDesktoptft.wav,并把存放錄音文件的文件夾導(dǎo)入MATLAB的work目錄中。錄制程序如下: 程序: fs=160

2、00;%設(shè)計(jì)抽樣頻率 channel=1;%設(shè)計(jì)錄音通道 t=5; fprintf('按任意鍵開(kāi)始%d秒錄音:',t); pause;%暫停命令 fprintf('正在錄音');y=wavrecord(t*fs,fs,channel,'double');%錄制語(yǔ)音 fprintf('錄音結(jié)束n'); wavwrite(y,fs,'C:UsersPKLDesktoptft.wav'); fprintf('按任意鍵回放語(yǔ)音'); pause;wavplay(y,fs);2. 語(yǔ)音信號(hào)的時(shí)頻域分析 利用M

3、ATLAB中的“wavread”命令來(lái)讀入已經(jīng)錄制好的語(yǔ)音信號(hào),將它賦值給任意向量,再對(duì)其進(jìn)行采樣。然后可用MATLAB的繪圖函數(shù)對(duì)時(shí)域和頻域進(jìn)行繪圖分析。 運(yùn)用下面程序進(jìn)行采樣和繪制時(shí)頻域圖,時(shí)域圖為附件中的圖1,頻域圖為附件中的圖2。 程序: y,fs,nbits=wavread('tft.wav');%加載語(yǔ)音信號(hào) wavplay(y,fs);%回放語(yǔ)音信號(hào) N=length(y);%語(yǔ)音信號(hào)長(zhǎng)度 Y=fft(y,N);%用傅里葉變換求頻域 subplot(2,1,1); plot(y); title('圖1 原始信號(hào)時(shí)域波形圖'); subplot(2,

4、1,2); plot(abs(Y);title('圖2 原始信號(hào)頻譜圖');3. 采用窗函數(shù)法和雙線性變換法設(shè)計(jì)濾波器所需設(shè)計(jì)的濾波器的性能指標(biāo)為:(1) 低通濾波器性能指標(biāo):fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB。(2) 高通濾波器性能指標(biāo):fb=5000Hz,fc=4800Hz,As=100dB,Ap=1dB。(3) 帶通濾波器性能指標(biāo):fp1=1200Hz,fp2=3000Hz,fsc1=1000Hz,fsc2=3200Hz,As=100dB,Ap=1dB。(1) 用雙線性變換法設(shè)計(jì)濾波器用雙線性變換法設(shè)計(jì)濾波器就是先按低通濾波器的性能指標(biāo)

5、設(shè)計(jì)模擬低通濾波器,再轉(zhuǎn)換成相應(yīng)的過(guò)渡模擬濾波器。然后采用雙線性變換法將相應(yīng)類(lèi)型的過(guò)渡模擬濾波器轉(zhuǎn)換成所需類(lèi)型的數(shù)字濾波器。這樣可以避免產(chǎn)生頻譜混疊現(xiàn)象。在雙線性變換法中可用butter,cheby1和ellip設(shè)計(jì)相應(yīng)IIR濾波器。設(shè)計(jì)程序如下:低通濾波器設(shè)計(jì)程序: fp=1000; ft=5500;%取抽樣頻率 fs=1200; wp=2*pi*fp/ft;%通帶頻率 ws=2*pi*fs/ft;%截止頻率 Omgp=2*ft*tan(wp/2); Omgs=2*ft*tan(ws/2); n,Omgc=buttord(Omgp,Omgs,1,100,'s'); z,p,k

6、=buttap(n); B=k*real(poly(z); A=real(poly(p); b,a=lp2lp(B,A,Omgc); ba,aa=bilinear(b,a,ft); Ha,w=freqz(ba,aa); plot(w/pi,abs(Ha); title('圖3 IIR低通濾波器');附件圖3為IIR低通濾波器頻譜圖。 高通濾波器設(shè)計(jì)程序:fp=5000;ft=25000;%取抽樣頻率fs=4800;Rp=1;As=100;wp=2*pi*fp/ft;%通帶頻率ws=2*pi*fs/ft;%截止頻率Omgp=2*ft*tan(wp/2);Omgs=2*ft*tan

7、(ws/2);n,Omgc=ellipord(Omgp,Omgs,Rp,As,'s'); %計(jì)算階數(shù)n和截止頻率z,p,k=ellipap(n,Rp,As);B=k*real(poly(z);A=real(poly(p);b,a=lp2hp(B,A,Omgc);ba,aa=bilinear(b,a,ft);Ha,w=freqz(ba,aa);plot(w/pi,abs(Ha);title('圖4 IIR高通濾波器');附件圖4為IIR高通濾波器頻譜圖。 帶通濾波器設(shè)計(jì)程序:fp1=1200;fp2=3000;fs1=1000;fs2=3200;ft=10000;

8、As=100;Rp=1;wp1=2*pi*fp1/ft;wp2=2*pi*fp2/ft;ws1=2*pi*fs1/ft;ws2=2*pi*fs2/ft;Omgp1=2*ft*tan(wp1/2);Omgp2=2*ft*tan(wp2/2);Omgp=Omgp1,Omgp2;Omgs1=2*ft*tan(ws1/2);Omgs2=2*ft*tan(ws2/2);Omgs=Omgs1,Omgs2;bw=Omgp2-Omgp1;w0=sqrt(Omgp1*Omgp2);%通帶寬和中心頻率n,Omgn=cheb1ord(Omgp,Omgs,Rp,As,'s');z,p,k=cheb1a

9、p(n,Rp);B=k*real(poly(z);A=real(poly(p);b,a=lp2bp(B,A,w0,bw);ba,aa=bilinear(b,a,ft);Ha,w=freqz(ba,aa);plot(w/pi,abs(Ha);title('圖5IIR帶通濾波器');附件圖5為IIR高通濾波器頻譜圖。 (2) 用窗函數(shù)法設(shè)計(jì)濾波器 窗函數(shù)設(shè)計(jì)方法主要有矩形窗、巴特列特窗、漢寧窗、海明窗、布拉克曼窗凱澤窗等。選擇合適窗設(shè)計(jì)FIR濾波器,這里按照設(shè)置指標(biāo)選擇凱澤窗和布萊克曼窗進(jìn)行設(shè)計(jì)。FIR低通濾波器設(shè)計(jì)程序:ft=5500;fpts=1000 1200;dev=0.0

10、1 0.05;%通帶與阻帶波動(dòng)mag=1 0;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev,ft);b21=fir1(n21,wn21,Kaiser(n21+1,beta);h,w=freqz(b21,1);plot(w/pi,abs(h);title('圖6 FIR低通濾波器');頻率響應(yīng)圖為:圖6FIR高通濾波器設(shè)計(jì)程序:ft=25000;fpts=4800 5000;dev=0.01 0.05;mag=1 0;n22,wn22,beta,ftype=kaiserord(fpts,mag,dev,ft);b22=fir1(n22,wn

11、22,'high',Kaiser(n22+1,beta);h,w=freqz(b22,1);plot(w/pi,abs(h);title('圖7 FI高通濾波器');頻率響應(yīng)圖為:圖7FIR帶通濾波器的設(shè)計(jì)程序:fp1=1200;fp2=3000;fs1=1000;fs2=3200;ft=10000;ws1=fs1/(ft/2)*pi;ws2=fs2/(ft/2)*pi;wp1=fp1/(ft/2)*pi;wp2=fp2/(ft/2)*pi;wp=wp1,wp2;ws=ws1,ws2;deltaw=wp1-ws1;N0=ceil(11*pi/deltaw);N=

12、N0+mod(N0+1,2);windows=(blackman(N)'wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;hd=ideallp(wc2,N)-ideallp(wc1,N);b=hd.*windows;h,w=freqz(b,1);plot(w/pi,abs(h); title('圖8 FIR帶通濾波器'); 頻率響應(yīng)圖為:圖84. 對(duì)“tft.wav”語(yǔ)音信號(hào)進(jìn)行濾波 分別采用設(shè)計(jì)好的低通,高通,帶通濾波器對(duì)“tft.wav”語(yǔ)音信號(hào)進(jìn)行濾波,用MATLAB畫(huà)出濾波后的時(shí)頻域圖,并回放錄播后的語(yǔ)音信號(hào)。(1) FIR低通濾波程序:ft=55

13、00;fpts=1000 1200;dev=0.01 0.05;mag=1 0;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev,ft);b21=fir1(n21,wn21,Kaiser(n21+1,beta);h,w=freqz(b21,1);y,fs,nbits=wavread(tft.wav');%加載語(yǔ)音信號(hào)f=filter(b21,1,y);wavplay(f);f1=fft(f);subplot(2,1,1)plot(f);title('低通濾波后的波形');subplot(2,1,2)plot(abs(f1);title

14、('低通濾波后的頻譜圖')運(yùn)行結(jié)果圖為附件:圖9(2) FIR高通濾波程序:ft=25000;fpts=4800 5000;dev=0.01 0.05;mag=1 0;n22,wn22,beta,ftype=kaiserord(fpts,mag,dev,ft);b22=fir1(n22,wn22,'high',Kaiser(n22+1,beta);h,w=freqz(b22,1);y,fs,nbits=wavread('tft.wav');%加載語(yǔ)音信號(hào)f=filter(b22,1,y);wavplay(f);f1=fft(f);subplot(

15、2,1,1)plot(f);title('高通濾波后的波形');subplot(2,1,2)plot(abs(f1);title('高通濾波后的頻譜圖')運(yùn)行結(jié)果圖為附件:圖10(3) FIR帶通濾波程序:fp1=1200;fp2=3000;fs1=1000;fs2=3200;ft=10000;ws1=fs1/(ft/2)*pi;ws2=fs2/(ft/2)*pi;wp1=fp1/(ft/2)*pi;wp2=fp2/(ft/2)*pi;wp=wp1,wp2;ws=ws1,ws2;deltaw=wp1-ws1;N0=ceil(11*pi/deltaw);N=N0+

16、mod(N0+1,2);windows=(blackman(N)'wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;hd=ideallp(wc2,N)-ideallp(wc1,N);b=hd.*windows;h,w=freqz(b,1); y,fs,nbits=wavread('tft.wav');%加載語(yǔ)音信號(hào) f=filter(b,1,y); wavplay(f); f1=fft(f); subplot(2,1,1) plot(f); title('帶通濾波后的波形'); subplot(2,1,2) plot(abs(f1); ti

17、tle('帶通濾波后的頻譜圖') 運(yùn)行結(jié)果圖為附件:圖11(4) IIR低通濾波程序:fp=1000; ft=5500;%取抽樣頻率 fs=1200; wp=2*pi*fp/ft;%通帶頻率 ws=2*pi*fs/ft;%截止頻率 Omgp=2*ft*tan(wp/2); Omgs=2*ft*tan(ws/2); n,Omgc=buttord(Omgp,Omgs,1,100,'s'); z,p,k=buttap(n); B=k*real(poly(z); A=real(poly(p); b,a=lp2lp(B,A,Omgc); ba,aa=bilinear(b,

18、a,ft);Ha,w=freqz(ba,aa);y,fs,nbits=wavread('tft.wav');%加載語(yǔ)音信號(hào)f=filter(ba,aa,y);wavplay(f);f1=fft(f);subplot(2,1,1)plot(f);title('低通濾波后的波形');subplot(2,1,2)plot(abs(f1);title('低通濾波后的頻譜圖')運(yùn)行結(jié)果圖為附件:圖91(5) IIR高通濾波程序: fp=5000; ft=25000;%取抽樣頻率 fs=4800; Rp=1;As=100; wp=2*pi*fp/ft;%通帶

19、頻率 ws=2*pi*fs/ft;%截止頻率 Omgp=2*ft*tan(wp/2); Omgs=2*ft*tan(ws/2); n,Omgc=ellipord(Omgp,Omgs,Rp,As,'s'); %計(jì)算階數(shù)n和截止頻率 z,p,k=ellipap(n,Rp,As); B=k*real(poly(z); A=real(poly(p); b,a=lp2hp(B,A,Omgc); ba,aa=bilinear(b,a,ft);Ha,w=freqz(ba,aa);y,fs,nbits=wavread('tft.wav');%加載語(yǔ)音信號(hào)f=filter(ba,

20、aa,y);wavplay(f);f1=fft(f);subplot(2,1,1)plot(f);title('IIR高通濾波后的波形');subplot(2,1,2)plot(abs(f1);title('IIR高通濾波后的頻譜圖')運(yùn)行結(jié)果圖為附件:圖101(6) IIR帶通濾波程序:fp1=1200;fp2=3000;fs1=1000;fs2=3200;ft=10000;As=100;Rp=1;wp1=2*pi*fp1/ft;wp2=2*pi*fp2/ft;ws1=2*pi*fs1/ft;ws2=2*pi*fs2/ft;Omgp1=2*ft*tan(wp1

21、/2);Omgp2=2*ft*tan(wp2/2);Omgp=Omgp1,Omgp2;Omgs1=2*ft*tan(ws1/2);Omgs2=2*ft*tan(ws2/2);Omgs=Omgs1,Omgs2;bw=Omgp2-Omgp1;w0=sqrt(Omgp1*Omgp2);%通帶寬和中心頻率n,Omgn=cheb1ord(Omgp,Omgs,Rp,As,'s');z,p,k=cheb1ap(n,Rp);B=k*real(poly(z);A=real(poly(p);b,a=lp2bp(B,A,w0,bw);ba,aa=bilinear(b,a,ft);Ha,w=freqz

22、(ba,aa);y,fs,nbits=wavread('tft.wav');%加載語(yǔ)音信號(hào)f=filter(ba,aa,y);wavplay(f);f1=fft(f);subplot(2,1,1)plot(f);title('IIR帶通濾波后的波形');subplot(2,1,2)plot(abs(f1);title('IIR帶通濾波后的頻譜圖')運(yùn)行結(jié)果圖為附件:圖1115. 異性語(yǔ)音采集分析 運(yùn)用相關(guān)MATLAB函數(shù)和所學(xué)的相關(guān)知識(shí),采集同樣內(nèi)容的異性的語(yǔ)音信號(hào),對(duì)它的時(shí)頻域進(jìn)行分析處理,比較兩種相同內(nèi)容而不同性別語(yǔ)音信號(hào)的特點(diǎn)。步驟如下:(

23、1) 異性語(yǔ)音錄制運(yùn)用MATLAB中的wavrecord()、wavwrite()、wavplay()等函數(shù)進(jìn)行語(yǔ)音的錄制、播放、存儲(chǔ)。把錄制好的語(yǔ)音文件存為“C:UsersPKLDesktoptft2.wav”,具體程序如下: fs=16000;%設(shè)計(jì)抽樣頻率 channel=1;%設(shè)計(jì)錄音通道 t=5; fprintf('按任意鍵開(kāi)始%d秒錄音:',t); pause;%暫停命令 fprintf('正在錄音'); y=wavrecord(t*fs,fs,channel,'double');%錄制語(yǔ)音 fprintf('錄音結(jié)束n

24、9;); wavwrite(y,fs,'C:UsersPKLDesktoptft2.wav'); fprintf('按任意鍵回放語(yǔ)音'); pause; wavplay(y,fs);(2) 異性語(yǔ)音的采樣分析 運(yùn)用MATLAB中的wavread()對(duì)錄制好的異性語(yǔ)音信號(hào)進(jìn)行加載采樣,然后用MATLAB的相關(guān)函數(shù)對(duì)采集的語(yǔ)音信號(hào)進(jìn)行時(shí)頻域畫(huà)圖分析,作好的圖為圖12。具體程序如下: y,fs,nbits=wavread('tft2.wav');%加載語(yǔ)音信號(hào) wavplay(y,fs);%回放語(yǔ)音信號(hào) N=length(y);%語(yǔ)音信號(hào)長(zhǎng)度 Y=ff

25、t(y,N);%用傅里葉變換求頻域 subplot(2,1,1); plot(y); title('異性語(yǔ)音原始信號(hào)時(shí)域波形圖'); subplot(2,1,2); plot(abs(Y); title('異性語(yǔ)音原始信號(hào)頻譜圖');6. 語(yǔ)音信號(hào)加噪、濾噪處理分析運(yùn)用MATLAB相關(guān)函數(shù)錄制一段相同長(zhǎng)度的背景噪聲,再把此噪聲疊加到原始語(yǔ)音信號(hào)中,然后再選擇合適的濾波器對(duì)加噪語(yǔ)音信號(hào)進(jìn)行濾波。步驟如下:(1) 噪聲錄制與疊加運(yùn)用MATLAB隨即錄制一段與語(yǔ)音信號(hào)相同長(zhǎng)度的噪聲,再疊加到原始語(yǔ)音信號(hào)上,把加噪后的語(yǔ)音信號(hào)存為“C:UsersPKLDesktoptf

26、t3.wav”。實(shí)現(xiàn)程序如下:y1,fs,nbits=wavread('tft.wav');Y1=fft(y1);n=length(y1);noise=0.01*randn(n,1);%隨機(jī)加同樣長(zhǎng)度的噪聲y2=y1+noise;Y2=fft(y2);sound(y2)wavwrite(y2,fs,'C:UsersPKLDesktoptft3.wav');subplot(2,2,1);plot(y1);title('疊加前語(yǔ)音信號(hào)波形');subplot(2,2,3);plot(abs(Y1);title('疊加前語(yǔ)音信號(hào)頻譜圖'

27、);subplot(2,2,2);plot(y2);title('疊加后語(yǔ)音信號(hào)波形');subplot(2,2,4);plot(abs(Y2);title('疊加后語(yǔ)音信號(hào)頻譜圖');程序所得圖形為附件:圖13(2) 濾除噪聲通過(guò)(1)中的加噪前后時(shí)頻域的分析,濾除此噪聲應(yīng)用低通濾波器進(jìn)行濾波,實(shí)現(xiàn)程序如下:ft=5500;fpts=1000 1200;dev=0.01 0.05;%通帶與阻帶波動(dòng)mag=1 0;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev,ft);b21=fir1(n21,wn21,Kaiser(n21

28、+1,beta);h,w=freqz(b21,1);y,fs,nbits=wavread('tft3.wav');%加載語(yǔ)音信號(hào)Y=fft(y);f=filter(b21,1,y);F=fft(f);subplot(2,2,1)plot(y);title('低通噪聲濾波前的波形');subplot(2,2,3)plot(abs(Y);title('低通噪聲濾波前的頻譜圖')subplot(2,2,2)plot(f);title('低通噪聲濾波后的波形');subplot(2,2,4)plot(abs(F);title('低

29、通噪聲濾波后的頻譜圖')運(yùn)行結(jié)果圖為附件:圖147. 信號(hào)處理系統(tǒng)界面設(shè)計(jì)建立GUI文件:File-New-GUI:如圖15,后選擇Blan GUI(Default),得到如圖16的GUI開(kāi)發(fā)環(huán)境。布置好各控件,為控件編寫(xiě)程序來(lái)實(shí)現(xiàn)兩數(shù)相加的功能??丶O(shè)計(jì)如圖17,各按鈕設(shè)計(jì)程序如下:GUI設(shè)計(jì)程序:function varargout = untitled1(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Single

30、ton, . 'gui_OpeningFcn', untitled1_OpeningFcn, . 'gui_OutputFcn', untitled1_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', );if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State

31、, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction untitled1_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject; guidata(hObject, handles);function varargout = untitled1_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;function pushbutton1_Callba

32、ck(hObject, eventdata, handles)global signal;sound(signal)function pushbutton2_Callback(hObject, eventdata, handles)axes(handles.axes1)cla;global signal;global Y;N=length(signal);Y=fft(signal,N);plot(signal);title('原始信號(hào)波形');axes(handles.axes2)plot(abs(Y);title('原始信號(hào)頻譜');function push

33、button3_Callback(hObject, eventdata, handles)axes(handles.axes1)cla;global signal;global Si;N=length(signal);Noise=0.01*randn(N,1);Si=signal+Noise;sound(Si)function pushbutton4_Callback(hObject, eventdata, handles)axes(handles.axes1)cla;global signal;global Si;plot(Si);title('加噪語(yǔ)音信號(hào)的時(shí)域波形');a

34、xes(handles.axes2)cla;S=fft(Si);plot(abs(S);title('加噪語(yǔ)音信號(hào)的頻域波形');function pushbutton5_Callback(hObject, eventdata, handles)axes(handles.axes1)cla;global b21;ft=5500;fpts=1000 1200;dev=0.01 0.05;mag=1 0;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev,ft);b21=fir1(n21,wn21,Kaiser(n21+1,beta);h,w=fr

35、eqz(b21,1);plot(w/pi,abs(h);title('FIR 低通濾波器');function pushbutton6_Callback(hObject, eventdata, handles)axes(handles.axes1)cla;global b;fp1=1200;fp2=3000;fs1=1000;fs2=3200;ft=10000;ws1=fs1/(ft/2)*pi;ws2=fs2/(ft/2)*pi;wp1=fp1/(ft/2)*pi;wp2=fp2/(ft/2)*pi;wp=wp1,wp2;ws=ws1,ws2;deltaw=wp1-ws1;N

36、0=ceil(11*pi/deltaw);N=N0+mod(N0+1,2);windows=(blackman(N)'wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;hd=ideallp(wc2,N)-ideallp(wc1,N);b=hd.*windows;h,w=freqz(b,1);plot(w/pi,abs(h);title('FIR 帶通濾波器');function pushbutton7_Callback(hObject, eventdata, handles)axes(handles.axes1)cla;global b22;ft=2500

37、0;fpts=4800 5000;dev=0.01 0.05;mag=1 0;n22,wn22,beta,ftype=kaiserord(fpts,mag,dev,ft);b22=fir1(n22,wn22,'high',Kaiser(n22+1,beta);h,w=freqz(b22,1);plot(w/pi,abs(h);title('FIR 高通濾波器');function pushbutton8_Callback(hObject, eventdata, handles)axes(handles.axes2)cla;global b1;global ba1

38、;global aa1;global Omgp;global Omgs;fp=1000;ft=5500;fs=1200;wp=2*pi*fp/ft;ws=2*pi*fs/ft;Omgp=2*ft*tan(wp/2);Omgs=2*ft*tan(ws/2);n,Omgc=buttord(Omgp,Omgs,1,100,'s'); z,p,k=buttap(n);B=k*real(poly(z);A=real(poly(p);b1,a1=lp2lp(B,A,Omgc);ba1,aa1=bilinear(b1,a1,ft);Ha,w=freqz(ba1,aa1);plot(w/pi,

39、abs(Ha);title('IIR 低通濾波器');function pushbutton9_Callback(hObject, eventdata, handles)axes(handles.axes2)cla;global B2;global ba2;global aa2;fp1=1200;fp2=3000;fs1=1000;fs2=3200;ft=10000;As=100;Rp=1;wp1=2*pi*fp1/ft;wp2=2*pi*fp2/ft;ws1=2*pi*fs1/ft;ws2=2*pi*fs2/ft;Omgp1=2*ft*tan(wp1/2);Omgp2=2*f

40、t*tan(wp2/2);Omgp=Omgp1,Omgp2;Omgs1=2*ft*tan(ws1/2);Omgs2=2*ft*tan(ws2/2);Omgs=Omgs1,Omgs2;bw=Omgp2-Omgp1;w0=sqrt(Omgp1*Omgp2);%通帶寬和中心頻率n,Omgn=cheb1ord(Omgp,Omgs,Rp,As,'s');z,p,k=cheb1ap(n,Rp);B2=k*real(poly(z);A2=real(poly(p);b2,a2=lp2bp(B2,A2,w0,bw);ba2,aa2=bilinear(b2,a2,ft);Ha,w=freqz(ba

41、2,aa2);plot(w/pi,abs(Ha);title('IIR 帶通濾波器');function pushbutton10_Callback(hObject, eventdata, handles)axes(handles.axes2)cla;global B3;global ba3;global aa3;global Omgp;global Omgs;fp=5000;ft=25000;%取抽樣頻率fs=4800;Rp=1;As=100;wp=2*pi*fp/ft;%通帶頻率ws=2*pi*fs/ft;%截止頻率Omgp=2*ft*tan(wp/2);Omgs=2*ft

42、*tan(ws/2);n,Omgc=ellipord(Omgp,Omgs,Rp,As,'s'); %計(jì)算階數(shù)n和截止頻率z,p,k=ellipap(n,Rp,As);B3=k*real(poly(z);A3=real(poly(p);b3,a3=lp2hp(B3,A3,Omgc);ba3,aa3=bilinear(b3,a3,ft);Ha,w=freqz(ba3,aa3);plot(w/pi,abs(Ha);title('IIR高通濾波器');function pushbutton11_Callback(hObject, eventdata, handles)a

43、xes(handles.axes1)cla;global signal;global b21;global Si;z21=fftfilt(b21,Si);sound(z21)m21=fft(z21);plot(z21);title('濾波后的信號(hào)波形');axes(handles.axes2)cla;plot(abs(m21),'r');title('濾波后信號(hào)頻譜');function pushbutton12_Callback(hObject, eventdata, handles)axes(handles.axes1)cla;global

44、signal;global b;global Si;z22=fftfilt(b,Si);sound(z22)m22=fft(z22);plot(z22);title('濾波后的信號(hào)波形');axes(handles.axes2)cla;plot(abs(m22),'r');title('濾波后信號(hào)頻譜');function pushbutton13_Callback(hObject, eventdata, handles)axes(handles.axes1)cla;global signal;global b22;global Si;z23=f

45、ftfilt(b22,Si);sound(z23)m23=fft(z23);plot(z23);title('濾波后的信號(hào)波形');axes(handles.axes2)cla;plot(abs(m23),'r');title('濾波后信號(hào)頻譜');function pushbutton14_Callback(hObject, eventdata, handles)axes(handles.axes1)cla;global signal;global b1;global ba1;global aa1;global Si;z11=filter(ba1,aa1,Si);sound(z11);m11=fft(z11);plot(z11);title('濾波后的信號(hào)波形');axes(handles.axes2)cla;plot(abs(m11),'r');title('濾波后信號(hào)頻譜');function pushbutton15_Callback(hObject, eventdata, handles)axes(handles.axes1)cla;global signal;global

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論