加噪語音信號的濾波matlab_第1頁
加噪語音信號的濾波matlab_第2頁
加噪語音信號的濾波matlab_第3頁
加噪語音信號的濾波matlab_第4頁
加噪語音信號的濾波matlab_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、信號與系統課程設計加噪語音信號的濾波 組員:1 讀入語音信號Q2,并對其進行時域分析y=wavread('C:UsersAdministratorDesktopkechengQ2.wav');N=length(y);k=linspace(0,N/44100,N);plot(k,y);title('Q2信號的時域分析圖像');xlabel('時間 S');ylabel('幅度');圖像2.對Q2做頻域分析:y=wavread('C:UsersAdministratorDesktopkechengQ2.wav');N=

2、length(y);ff = fft(y);index=linspace(-22050,22050,N);figure(1)plot(index , abs(fftshift(ff);title('Q2信號的頻域波形');xlabel('頻率 HZ');ylabel('幅度');從頻譜圖像上可以看出,信號的頻譜大致在8Khz以下,而且具有較大的直流偏量,信號中低頻的成分比較多,越到高頻的地方幅度越小。二1. 播放Q2音頻,然后加上不同幅度的噪聲,再播放加上噪聲的音頻。y=wavread('C:UsersAdministratorDeskt

3、opkechengQ2.wav');N=length(y);wavplay(y,44100);noise=0.1*randn(size(y);signal=noise+y;wavplay(signal,44100);noise2=0.2*randn(size(y);signal2=noise2+y;wavplay(signal2,44100);我們可以清晰的聽出,噪聲的幅度越大時,語音信號的質量越差。2. 對于noise信號進行時域和頻域分析y=wavread('C:UsersAdministratorDesktopkechengQ2.wav');noise=0.1*r

4、andn(size(y);N=length(y);k=linspace(0,N/44100,N);plot(k,noise)title('noise時域圖');xlabel(時間');ylabel('幅度');y=wavread('C:UsersAdministratorDesktopkechengQ2.wav');N=length(y);noise=0.1*randn(size(y);ff = fft(noise);index=linspace(-22050,22050,N);figure(3)plot(index , abs(ffts

5、hift(ff);title('noise信號的頻域波形');xlabel('頻率 HZ');ylabel('幅度');noise信號的頻譜圖和Q2信號的頻譜圖相比較,噪聲信號從高頻到低頻都存在,而且幅度大小基本相同,二語音信號基本只有低頻信號存在,幅度直接又有明顯差別3. 對加噪語音信號signal進行時域和頻域分析:y=wavread('C:UsersAdministratorDesktopkechengQ2.wav');N=length(y);noise=0.1*randn(size(y);signal=noise+y;k=

6、linspace(0,N/44100,N);figure(1),plot(k,signal)title('signal的時域圖');xlabel(時間);ylabel('幅度');noise2=0.2*randn(size(y);signal2=noise2+y;figure(2),plot(k,signal2)title('signal2的時域圖');xlabel(時間');ylabel('幅度');從signal和signal2的時域圖中可以看出,所加噪聲的幅度越大,加噪后的語音信號時域圖的幅度越偏離Q2信號時域圖對應

7、時間點的幅度y=wavread('C:UsersAdministratorDesktopkechengQ2.wav');N=length(y);noise=0.1*randn(size(y);signal=noise+y;noise2=0.2*randn(size(y);signal2=noise2+y;ff = fft(signal);index=linspace(-22050,22050,N);figure(1)plot(index , abs(fftshift(ff);title('signal的頻域圖');xlabel('頻率 Hz');

8、ylabel('幅度');ff1 = fft(signal2);figure(2)plot(index , abs(fftshift(ff1);title('signal2的頻域圖');xlabel('頻率 Hz ');ylabel('幅度'); 從signal和signal2的頻譜圖中可以看出,所加噪聲的幅度越大,加噪后的語音信號頻譜圖的幅度越偏離Q2信號頻譜圖對應頻率點的幅度,并且在原語音信號的帶外,出現了很多噪聲信號。4. 對加噪語音信號進行濾波,并播放濾波后的音頻matlab代碼如下:y=wavread('C:Us

9、ersAdministratorDesktopkechengQ2.wav');noise=0.1*randn(size(y);signal=noise+y;wavplay(signal,44100);NN,wc=buttord(8000/22050,9000/22050,1,-25);B,A=butter(NN,wc,'low');W=filter(B,A,signal);wavplay(W,44100);(NN代表濾波器的階數,wc代表轉移頻率,B,A代表轉移函數的分子分母)y=wavread('C:UsersAdministratorDesktopkeche

10、ngQ2.wav');noise2=0.2*randn(size(y);signal2=noise2+y;wavplay(signal2,44100)NN,wc=buttord(8000/22050,9000/22050,1,-25);B,A=butter(NN,wc,'low');W2=filter(B,A,signal2);wavplay(W2,44100)對于設計的這個濾波器,我們利用TI公司的濾波器軟件FilterPro Desktop進行了分析,得到了它的波特圖,遺憾的是這個軟件不能對十階以上的濾波器進行分析:為此。我們通過matlab畫出了一個階數更高,性能

11、更好的濾波器的頻率轉移特性曲線Matlab代碼如下:x=zeros(1,22050) 1 zeros(1,22050);NN,wc=buttord(8000/22050,9000/22050,1,-60);B,A=butter(NN,wc,'low');W2=filter(B,A,x);ff=fft(W2);index=linspace(-22050,22050,44100+1);plot(index,20*log(abs(fftshift(ff);title('濾波器的頻率轉移特性曲線');xlabel('頻率 Hz');ylabel('

12、;衰減量 dB');jieshu=NN通過matlab的計算我們知道這個濾波器的階數為50階。其圖像如下圖所示:通過對比濾波前的信號和濾波后播放的信號,我們發現信號的質量好了不少。W和W2相比較,W信號質量更好些。所以噪聲的幅度對濾波的效果也是有影響的。由于所加噪聲信號的幅度稍微有一點兒大,所以結果不是很理想.經過此濾波器后,由signal信號變換而來的W信號的時域和頻域圖像如下:y=wavread('C:UsersAdministratorDesktopkechengQ2.wav');noise=0.1*randn(size(y);signal=noise+y; NN

13、,wc=buttord(8000/22100,9000/22100,1,-25);B,A=butter(NN,wc,'low');W=filter(B,A,signal);ff=fft(W);t=linspace(0,N/44100,N);index=0:N - 1./N*44100;figure(1)plot(index , abs(ff);figure(2)plot(t,W) y=wavread('C:UsersAdministratorDesktopkechengQ2.wav');noise2=0.2*randn(size(y);signal2=noise

14、2+y;NN,wc=buttord(8000/22100,9000/22100,1,-25);B,A=butter(NN,wc,'low');W2=filter(B,A,signal2);ff=fft(W2);t=linspace(0,N/44100,N);index=0:N - 1./N*44100;figure(1)plot(index , abs(ff);figure(2)plot(t,W2)通過觀察W和W2信號的頻域圖像我們可以清晰的看出,signal和signal2信號的語音信號頻帶外的噪聲被有效的衰減了。為了追求更好的濾波效果,我們特將濾波器參數做如下修改:y=wa

15、vread('C:UsersAdministratorDesktopkechengQ2.wav');noise=0.1*randn(size(y);signal=noise+y;noise2=0.1*randn(size(y);signal2=noise2+y;wavplay(signal,44100)NN,wc=buttord(7000/22050,8000/22050,1,-40);B,A=butter(NN,wc,'low');W=filter(B,A,signal);wavplay(W,44100)wavplay(signal2,44100)NN,wc=

16、buttord(7000/22050,8000/22050,1,-40);B,A=butter(NN,wc,'low');W2=filter(B,A,signal2);wavplay(W2,44100)通過更加優良的濾波器之后,通過聽wavplay產生的聲音,感覺W和W2信號的音質被進一步提高。但是W信號的音質還是比W2信號的音質更好進一步降低低通的截止頻率至5000Hz,代碼如下:y=wavread('C:UsersAdministratorDesktopkechengQ2.wav');noise=0.1*randn(size(y);signal=noise+

17、y;noise2=0.2*randn(size(y);signal2=noise2+y;wavplay(signal,44100)NN,wc=buttord(5000/22050,6000/22050,1,-40);B,A=butter(NN,wc,'low');W=filter(B,A,signal);wavplay(W,44100)wavplay(signal2,44100)NN,wc=buttord(5000/22050,6000/22050,1,-40);B,A=butter(NN,wc,'low');W2=filter(B,A,signal2);wav

18、play(W2,44100)低通的截止頻率至5000Hz后,W和W2信號的音質更好了。通過聽便攜機發出的聲音,基本感覺不到聲音信號的失真,但是依然是W信號的音質比W2信號的音質更好。然后我們進一步降低低通的截止頻率至3000Hz,我們發現信號有一些失真,但是噪聲信號比原來小的多了。 進一步查閱資料得到人說話的頻率大約在300Hz到3000Hz之間,為此,如果設計一個帶通的濾波器,可能聲音信號的效果會進一步提高,所以,我們做如下嘗試(下面的嘗試只是用signal信號,signal2信號可以類似得到相同處理):y=wavread('C:UsersAdministratorDesktopkechengQ2.wav');noise=0.1*randn(size(y);signal=noise+y;NN,wc=buttord(3000/22100,4000/22100,1,-40);B,A=butter(NN,wc,'low');W=f

溫馨提示

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

評論

0/150

提交評論