數(shù)字信號處理課程設(shè)計語音信號的頻譜分析_第1頁
數(shù)字信號處理課程設(shè)計語音信號的頻譜分析_第2頁
數(shù)字信號處理課程設(shè)計語音信號的頻譜分析_第3頁
數(shù)字信號處理課程設(shè)計語音信號的頻譜分析_第4頁
數(shù)字信號處理課程設(shè)計語音信號的頻譜分析_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄1.課程設(shè)計的目的12.課程設(shè)計的要求1(1)熟悉離散信號和系統(tǒng)的時域特性1(2)掌握序列快速傅里葉變換fft方法1(3)學(xué)會matlab的使用,掌握matlab的程序設(shè)計方法1(4)利用matlab對語音信號進行頻譜分析1(5)掌握matlab設(shè)計fir和iir數(shù)字濾波器的方法13.課程設(shè)計報告內(nèi)容14.設(shè)計步驟1(1)語音信號的獲取1(2)語音信號的頻譜分析3(3)設(shè)計fir和iir數(shù)字濾波器并畫出頻率響應(yīng)4(4)對信號進行濾波8(5)被污染語音信號的頻譜分析13(6)回放語音信號135.調(diào)試分析135.1等間隔采樣程序的編寫135.2 .m文件的命名145.3標點符號的使用155.

2、4濾波器參數(shù)的使用156.結(jié)果分析與體會166.1總結(jié)166.2不足176.3思考176.4結(jié)束語17參考文獻18附錄:1920語音信號的頻譜分析1.課程設(shè)計的目的綜合運用數(shù)字信號處理的理論知識進行頻譜分析和濾波器設(shè)計,通過理論推導(dǎo)得出相應(yīng)結(jié)論,再利用matlab作為編程工具進行計算機實現(xiàn),從而加深對所學(xué)知識的理解。2.課程設(shè)計的要求(1)熟悉離散信號和系統(tǒng)的時域特性。(2)掌握序列快速傅里葉變換fft方法。(3)學(xué)會matlab的使用,掌握matlab的程序設(shè)計方法。(4)利用matlab對語音信號進行頻譜分析。(5)掌握matlab設(shè)計fir和iir數(shù)字濾波器的方法。3.課程設(shè)計報告內(nèi)容錄

3、制一段自己的語音信號,取不同的數(shù)據(jù)點對語音信號進行頻譜分析;對所有數(shù)據(jù)進行插值和抽取處理,改變抽樣率再對信號進行頻譜分析;設(shè)計fir和iir數(shù)字濾波器,并對被抽樣后的語音信號進行濾波,分析濾波后信號的時域和頻域特征,回放語音信號。4.設(shè)計步驟(1)語音信號的獲取用windows下錄音機錄制自己的聲音,發(fā)音為漢語韻母a,保存在d盤命名為5.wav。通過使用wavread函數(shù)讀取語音信號,實現(xiàn)語句如下:x,fs,bits=wavread(d:5.wav);為了得到原始信號的波形和頻譜,可運行如下語句:xx=fft(x);subplot(2,1,1);plot(x);title(原始信號波形);su

4、bplot(2,1,2);plot(abs(xx); title(原始信號頻譜);運行后得到的波形、頻譜圖如下:原始的語音信號經(jīng)過wavread函數(shù)的處理,由連續(xù)信號變成離散信號,抽樣率如圖中fs所示為22050 hz/s,為了使抽樣率滿足8000 hz/s的要求,需要用到resample函數(shù),實現(xiàn)語句如下:y=resample(x,8000,22050);經(jīng)過重采樣,原信號的抽樣率變成8000hz/s。由于采樣頻率的改變,在模擬信號中選取的點數(shù)也有所不同,采樣頻率由22050 hz/s變成8000 hz/s,采樣點數(shù)也相應(yīng)地由58520變成21232(如下圖所示)。為了得到重采樣后的波形和頻

5、譜,可運行如下語句:yy=fft(y);subplot(2,1,1);plot(y);title(重采樣信號波形);subplot(2,1,2);plot(abs(yy); title(重采樣信號頻譜);運行后得到的波形、頻譜圖如下:(2)語音信號的頻譜分析等間隔取8000個數(shù)據(jù),首先畫出語音信號的時域波形,然后對語音信號進行頻譜分析。在matlab中,可以利用函數(shù)fft對信號進行快速傅里葉變換,得到信號的頻譜特性(幅度和相位譜)。等間隔取16000個數(shù)據(jù),畫出語音信號的時域波形,然后對語音信號進行頻譜分析。運用“四舍五入”法對y信號進行等間隔抽取,編寫程序如下:m,n=size(y);z1=

6、zeros(1,8000);k1=1;for i=1:m/8000:m i=round(i); z1(k1)=y(i); k1=k1+1;endz2=zeros(1,16000);k2=1;for i=1:m/16000:m i=round(i); z2(k2)=y(i); k2=k2+1;end分別運行如下程序,輸出各自對應(yīng)波形、頻譜圖y1=fft(z1);subplot(3,2,3);plot(z1);title(等間隔采樣8000點的波形);subplot(3,2,4);plot(abs(y1);title(等間隔采樣8000點的頻譜);y2=fft(z2);subplot(3,2,5)

7、;plot(z2);title(等間隔采樣16000點的波形);subplot(3,2,6);plot(abs(y2);title(等間隔采樣16000點的頻譜);(3)設(shè)計fir和iir數(shù)字濾波器并畫出頻率響應(yīng)根據(jù)有關(guān)的頻譜特征,設(shè)計fir和iir數(shù)字濾波器。在matlab中,可以利用函數(shù)fir1設(shè)計fir濾波器,利用函數(shù)butte、cheby1和ellip設(shè)計iir濾波器;最后,利用matlab中的函數(shù)freqz畫出各濾波器的頻率響應(yīng)。依題目要求,根據(jù)等間隔采樣后頻譜特征,分別設(shè)計出fir低通濾波器、fir高通濾波器、fir帶通濾波器、雙線性濾波器等。 fir低通濾波器用窗函數(shù)法設(shè)計fir

8、低通濾波器,編寫程序如下:fp=1000;fc=1200;as=100;ap=1;fs=22000;wp=2*fp/fs;wc=2*fc/fs;n=ceil(as-7.95)/(14.36*(wc-wp)/2)+1;beta=0.1102*(as-8.7);window=kaiser(n+1,beta);b=fir1(n,wc,window);freqz(b,1,512,fs);用窗函數(shù)法設(shè)計的低通濾波器的幅度譜、相位譜 fir高通濾波器用窗函數(shù)法設(shè)計fir高通濾波器,編寫程序如下:fs=22000;wp=2*5000/fs;ws=2*4800/fs;ap=1;as=100;n=ceil(8*

9、pi/(wp-ws)+1;n=n+mod(n+1,2)+1;wc=(wp+ws)/2/pi;b=fir1(n,wc,high);omega=linspace(0,pi,512);freqz(b,1,omega);用窗函數(shù)法設(shè)計的高通濾波器的幅度譜、相位譜 fir帶通濾波器用窗函數(shù)法設(shè)計fir帶通濾波器,編寫程序如下:fs=22000;wp1=2*1200/fs;wp2=2*3000/fs;wc1=2*1000/fs;wc2=2*3200/fs;ap=1;as=100;w1=(wp1+wc1)/2;w2=(wp2+wc2)/2;wdth=min(wp1-wc1),(wc2-wp2);n=ceil

10、(11*pi/wdth)+1;b = fir1(n,w1 w2);freqz(b,1,512,fs);用窗函數(shù)法設(shè)計的帶通濾波器的幅度譜、相位譜 雙線性濾波器雙線性濾波器的程序編寫如下:fp=1000; fc=1200;as=100; ap=1; fs=22050;wc=2*fc/fs;wp=2*fp/fs;n,wn=ellipord(wp,wc,ap,as);b,a=ellip(n,ap,as,wn);freqz(b,a,512,fs);用窗函數(shù)法設(shè)計的帶通濾波器的幅度譜、相位譜(4)對信號進行濾波針對電話信道(最高3500hz),對所有數(shù)據(jù)進行插值和抽取處理,把抽樣率轉(zhuǎn)變?yōu)?000hz/s

11、,并進行頻譜分析,得到幅度和相位譜。(此處必須把所有的數(shù)據(jù)參加fft后進行低通濾波??捎茫?)中的設(shè)計fir或iir濾波器進行時域濾波。在matlab中,fir濾波器利用函數(shù)fftfilt對信號進行濾波,iir濾波器利用函數(shù)filter對信號進行濾波。) fir低通濾波器通過之前設(shè)計的fir低通濾波器對z1、z2進行濾波并顯示結(jié)果i1=fftfilt(b,z1);i2=fft(i1);i3=fftfilt(b,z2);i4=fft(i3);subplot(221); plot(i1); title(等間隔采用8000點波形經(jīng)過濾波后信號的波形);subplot(222); plot(abs(i

12、2); title(等間隔采用8000點波形經(jīng)過濾波后信號的頻譜);subplot(223); plot(i3); title(等間隔采用16000點波形經(jīng)過濾波后信號的波形);subplot(224); plot(abs(i4);title(等間隔采用16000點波形經(jīng)過濾波后信號的頻譜); fir高通濾波器通過之前設(shè)計的fir高通濾波器對z1、z2進行濾波并顯示結(jié)果i1=fftfilt(b,z1);i2=fft(i1);i3=fftfilt(b,z2);i4=fft(i3);subplot(221); plot(i1);title(等間隔采用8000點波形經(jīng)過濾波后信號的波形);subpl

13、ot(222); plot(abs(i2); title(等間隔采用8000點波形經(jīng)過濾波后信號的頻譜);subplot(223); plot(i3); title(等間隔采用16000點波形經(jīng)過濾波后信號的波形);subplot(224); plot(abs(i4);title(等間隔采用16000點波形經(jīng)過濾波后信號的頻譜); fir帶通濾波器通過之前設(shè)計的fir高通濾波器對z1、z2進行濾波并顯示結(jié)果i1=fftfilt(b,z1);i2=fft(i1);i3=fftfilt(b,z2);i4=fft(i3);subplot(221); plot(i1); title(等間隔采用8000

14、點波形經(jīng)過濾波后信號的波形);subplot(222); plot(abs(i2);title(等間隔采用8000點波形經(jīng)過濾波后信號的頻譜);subplot(223); plot(i3); title(等間隔采用16000點波形經(jīng)過濾波后信號的波形);subplot(224); plot(abs(i4); title(等間隔采用16000點波形經(jīng)過濾波后信號的頻譜); 雙線性濾波器通過之前設(shè)計的雙線性濾波器對z1、z2進行濾波并顯示結(jié)果i1=fftfilt(b,z1);i2=fft(i1);i3=fftfilt(b,z2);i4=fft(i3);subplot(221); plot(i1);

15、 title(等間隔采用8000點波形經(jīng)過濾波后信號的波形);subplot(222); plot(abs(i2);title(等間隔采用8000點波形經(jīng)過濾波后信號的頻譜);subplot(223); plot(i3); title(等間隔采用16000點波形經(jīng)過濾波后信號的波形);subplot(224); plot(abs(i4); title(等間隔采用16000點波形經(jīng)過濾波后信號的頻譜);(5)被污染語音信號的頻譜分析把(4)處理后的所有數(shù)據(jù)儲存為聲音文件,與原始聲音進行比較。(6)回放語音信號在matlab中,函數(shù)sound可以對聲音進行回放。其調(diào)用格式為:sound(x,fs,

16、bits)可以感覺濾波前后的聲音有變化。 根據(jù)以上各個濾波器的濾波結(jié)果,用sound函數(shù)可以聽到聲音,對比發(fā)現(xiàn)低通濾波器和帶通濾波器的效果比較好。5.調(diào)試分析5.1等間隔采樣程序的編寫為了等間隔采樣8000個數(shù)據(jù),運行如下程序, x,fs,bits=wavread(d:5.wav);y=resample(x,8000,22050);m,n=size(y);a1=1:m/8000:m;b1=1:m/16000:m;a1=round(a1);b1=round(b1);a2=zeros(1,8000);b2=zeros(1,16000);for i=1:8000 a2(i)=y(i);endy1=f

17、ft(a2);subplot(2,2,1);plot(a2);subplot(2,2,2);plot(abs(y1);得到下圖:與原信號對比發(fā)現(xiàn)等間隔采樣8000點的波形全部集中在60008000之間,丟失了許多有用的信號,經(jīng)過不斷研究發(fā)現(xiàn)上述運行語句編寫有誤,通過不斷地推敲修正,將程序改為:m,n=size(y);z1=zeros(1,8000);k1=1;for i=1:m/8000:m i=round(i); z1(k1)=y(i); k1=k1+1;end修改程序后即可得到正確的波形圖:5.2 .m文件的命名把編寫好的程序存為m文件(如下圖所示),直接將該文件拉入到matlab軟件運行

18、,運行結(jié)果出現(xiàn)錯誤(如下圖所示)經(jīng)過查找資料明白了matlab的.m文件保存的命名規(guī)則:1.文件名命名要用英文字符,第一個字符不能是數(shù)字2.文件名不要取為matlab的一個固有函數(shù),m文件名的命名盡量不要是簡單的英文單詞,最好是由大小寫英文/數(shù)字/下劃線等組成。原因是簡單的單詞命名容易與matlab內(nèi)部函數(shù)名同名,結(jié)果會出現(xiàn)一些莫名其妙的錯誤。3.文件存儲路徑一定為英文4.m文件起名不能為兩個單詞,如three phase,應(yīng)該寫成three_phase或者threephase 對比自己m文件文件名可知是命名出現(xiàn)了錯誤,經(jīng)過修改即可直接將m文件拉入matlab軟件運行。5.3標點符號的使用在m

19、atlab軟件中在中文輸入法下如果輸入標點符號就會顯示如下錯誤:切換成英文輸入法則可修正此錯誤。5.4濾波器參數(shù)的使用在使用iir濾波器時,參數(shù)調(diào)整錯誤造成波形錯誤顯示如下:6.結(jié)果分析與體會6.1總結(jié) 對采樣頻率、采樣位數(shù)的認識經(jīng)過不斷地使用wavread、resample等函數(shù),讓我更深刻理解了采樣位數(shù)與采樣頻率的區(qū)別: 采樣位數(shù)(matlab中的bits)可以理解為聲卡處理聲音的解析度。這個數(shù)值越大,解析度就越高,錄制和回放的聲音就越真實。采樣頻率(matlab中的fs)是指錄音設(shè)備在一秒鐘內(nèi)對聲音信號的采樣次數(shù),采樣頻率越高聲音的還原就越真實越自然。等間隔采樣的方法等間隔取8000,1

20、6000個數(shù)據(jù)有許多方法,應(yīng)該因地制宜,根據(jù)自己處理的語音信號的點數(shù)進行分析判斷采用那種方法更適合。設(shè)待處理信號的點數(shù)為n, 若n比8000/16000的k(k為正整數(shù))倍略多,則可從待處理信號的第一點開始采樣,每隔k個點采樣一次,共采樣8000/16000個點,剩下的個別點數(shù)舍去;若n比8000/16000的k(k為正整數(shù))倍略少,則可先在待處理信號的末尾補零,使信號的點數(shù)為8000/16000的k倍,然后從第一點開始采樣,同樣每隔k個點采樣一次共采樣8000/16000個點;若n比8000/16000的k(k為正整數(shù))倍多很多,比8000/16000的k+1(k為正整數(shù))倍少很多,如果用兩

21、種方法勢必丟失很多有用信號,這時可以用“四舍五入”法實現(xiàn),從第一點開始采樣,以(n/8000)的絕對值作為采樣間隔,到第n點剛好是第8000個點,等間隔采樣16000個點同理。因為離散信號不存在小數(shù)的n,所以當(dāng)n/8000為小數(shù)時必須取絕對值,才能找到相對應(yīng)的值。等間隔取樣8000點和等間隔取樣16000點之間的不同:對于y信號等間隔采樣8000點和等間隔取樣16000點直接造成了采樣頻率的不同,采樣點數(shù)的多少也從一定程度上影響了音頻信號的質(zhì)量,用sound函數(shù)試聽兩種不同采樣點數(shù)所形成的聲音信號,對比可知:等間隔采樣8000點信號的聲音質(zhì)量比等間隔采樣16000點信號差,因為采樣點數(shù)少使得原

22、信號的許多有用信號丟失,造成了語音信號的不完整。采樣頻率的選擇采樣頻率是本次課程設(shè)計十分關(guān)鍵的一個量,貫穿始終,從第一步到最后一步都十分依賴于采樣頻率的取值。對于語音信號來說采樣過程肯定會丟失一些數(shù)據(jù),采樣頻率不夠高還原后的信號就會失真,采樣的點少了,如果沒有達到信號的最高頻率的兩倍,那就有頻譜混疊,恢復(fù)信號的時候和原信號就不一樣了,因此在處理過程中要選擇好采樣頻率.對濾波器的認識matlab提供了許多常見的濾波器,其中有很多常用的窗函數(shù),包括hanning、hamming、blackman、kaiser等幾種,本次課程設(shè)計也是用窗函數(shù)法設(shè)計fir濾波器,窗函數(shù)法設(shè)計fir濾波器一般分為3個步

23、驟:第1步估計fir濾波器階數(shù)m(或長度n)。濾波器的階數(shù)是根據(jù)技術(shù)指標確定的,可先設(shè)計濾波器,然后根據(jù)信號的頻譜調(diào)整程序中的技術(shù)指標等參數(shù)。第2步確定所用的窗函數(shù)并計算出窗函數(shù)的值;第3步計算理想濾波器的單位脈沖響應(yīng)并用窗函數(shù)將其截斷即得所設(shè)計的fir濾波器的hk。濾波器的設(shè)計需要不斷地調(diào)試,通過對比不同技術(shù)指標濾波器處理下的聲音不斷地完善自己設(shè)計的濾波器。6.2不足本次課程設(shè)計的采樣頻率過小,直接導(dǎo)致大量的語音信號有效數(shù)據(jù)丟失(直接用wavread函數(shù)將連續(xù)信號采樣后,采樣頻率足夠大,不過經(jīng)重采樣后采樣頻率就小了),對比原始聲音與經(jīng)過重采樣后的聲音即可發(fā)現(xiàn)二者已有了很大的差別,這對之后的步

24、驟產(chǎn)生了很大的影響。6.3思考1從那幾種數(shù)字濾波器的幅頻特性曲線中可以觀察到雙線性變換法中和之間的非線性關(guān)系? 2能否利用公式完成脈沖響應(yīng)不變法的數(shù)字濾波器設(shè)計?6.4結(jié)束語本次課程設(shè)計培養(yǎng)了我們的學(xué)習(xí)興趣,通過不斷地學(xué)習(xí)、查資料懂得了不少課本上學(xué)不到的知識,其中少不了同學(xué)之間的互相幫助,老師的細心點評,集中體現(xiàn)了團結(jié)協(xié)作精神,我們投入熱情、收獲經(jīng)驗。通過這次的課程設(shè)計,鞏固了以前c+的編程知識,強化了對數(shù)字信號處理、信號與系統(tǒng)、數(shù)據(jù)通信原理等課程原理的認識與把握,課本知識得到了升華。另外,通過本次課程設(shè)計,我學(xué)習(xí)了matlab軟件信號處理方便的部分功能,深刻體會到該軟件的強大,里面齊全的函數(shù)

25、以及配套完整的help語句幫助我們實現(xiàn)各種各樣的要求。利用matlab的強大運算功能,基于matlab信號處理工具箱(signal processing toolbox)的數(shù)字濾波器設(shè)計法可以快速有效的設(shè)計由軟件組成的常規(guī)數(shù)字濾波器,設(shè)計方便、快捷,極大的減輕了工作量。在設(shè)計過程中可以對比濾波器特性,隨時更改參數(shù),以達到濾波器設(shè)計的最優(yōu)化,以此來實現(xiàn)本次課程設(shè)計最重要的濾波環(huán)節(jié)。本次課程設(shè)計給了我諸多感想,腦子里折射出許多問題。像我們這種專業(yè)的學(xué)生確實應(yīng)該多結(jié)合所學(xué)的理論知識,加強動手實踐能力,多學(xué)習(xí)相關(guān)軟件,多上網(wǎng)查詢資料,鞏固所學(xué)知識,課程設(shè)計中往往能引發(fā)我們的深思,發(fā)揮我們的想象力,促進

26、我們不斷進步,給我們學(xué)習(xí)的動力。參考文獻1高西全,丁玉美 編著 數(shù)字信號處理.西安電子科技大學(xué)出版社,20082陳后金,胡健,薛健 編著 信號與系統(tǒng),高等教育出版社,20073劉波,文忠,曾涯 編著 matlab信號處理,電子工業(yè)出版社,20064萬永革 編著,數(shù)字信號處理的matlab實現(xiàn),科學(xué)出版社,20075李勇,徐震 編著 matlab輔助現(xiàn)代工程數(shù)字信號處理,西安電子科技大學(xué)出版社,20026張葛祥,李娜. 編著matlab仿真技術(shù)與應(yīng)用 清華大學(xué)出版社,20037李海淘,鄧櫻 編著matlab程序設(shè)計教程 高等教育出版社 ,20028董長虹主編. 編著 matlab信號處理與應(yīng)用 國防工業(yè)出版社,2005附錄:x,fs,bits=wavread(d:5.wav);y=resample(x,8000,22050);m,n=size(y);z1=zeros(1,8000);k1=1;for i=1:m/8000:m i=round

溫馨提示

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

最新文檔

評論

0/150

提交評論