版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 用MATLAB對于語音信號進行分析和處理,采集語音信號后,在MATLAB軟件平臺進行頻譜分析;并對所采集的語音信號加入干擾噪聲,對加入噪聲的信號進行頻譜分析,設(shè)計合適的濾波器濾除噪聲,恢復(fù)原信號。本次設(shè)計介紹了基于MATLAB的對語音信號的采集,處理及濾波器的設(shè)計,并使之實現(xiàn)的過程。</p><p>
2、關(guān)鍵詞:MATLAB;語音信號;濾波器;加噪;除噪</p><p><b> 目錄</b></p><p><b> 摘要1</b></p><p><b> 1 設(shè)計原理1</b></p><p> 1.1 理論原理1</p><p>
3、; 1.1.1采樣頻率1</p><p> 1.1.2采樣位數(shù)1</p><p> 1.1.3采樣定理1</p><p> 1.1.4時域信號的FFT分析2</p><p> 1.1.5數(shù)字信號的濾波器原理和方法2</p><p> 1.1.6 各種不同類型濾波器的性能比較3</p>
4、;<p> 1.1.7離散傅立葉變換3</p><p> 2 信號采集及讀取4</p><p> 3 構(gòu)造受干擾信號并對其進行FFT頻譜分析........................…...6</p><p> 4 數(shù)字濾波器設(shè)計8</p><p> 4.1 用窗函數(shù)法設(shè)計IIR帶通濾波器8<
5、/p><p> 4.2 用窗函數(shù)法設(shè)計FIR低通濾波器10</p><p><b> 5信號處理12</b></p><p> 5.1 IIR帶通濾波12</p><p> 5.2 FIR低通濾波14</p><p><b> 6心得體會16</b></
6、p><p> 7 參考文獻:16</p><p><b> 1設(shè)計原理</b></p><p><b> 1.1 理論原理</b></p><p> 1.1.1采樣頻率</p><p> 也稱為采樣速度或者采樣率,定義了每秒從連續(xù)信號中提取并組成離散信號的采樣個數(shù),
7、它用赫茲(Hz)來表示。采樣頻率只能用于周期性采樣的采樣器,對于非周期性采樣的采樣器沒有規(guī)則限制。通俗的講采樣頻率是指計算機每秒鐘采集多少個聲音樣本,是描述聲音文件的音質(zhì)、音調(diào),衡量聲卡、聲音文件的質(zhì)量標準。采樣頻率越高,即采樣的間隔時間越短,則在單位時間內(nèi)計算機得到的聲音樣本數(shù)據(jù)就越多,對聲音波形的表示也越精確。</p><p><b> 1.1.2采樣位數(shù)</b></p>
8、<p> 即采樣值或取樣值,用來衡量聲音波動變化的參數(shù),是指聲卡在采集和播放聲音文件時所使用數(shù)字聲音信號的二進制位數(shù)。</p><p><b> 1.1.3采樣定理</b></p><p> 在進行模擬/數(shù)字信號的轉(zhuǎn)換過程中,當采樣頻率fs.max大于信號中最高頻率fmax的2倍時(fs.max>=2fmax),采樣之后的數(shù)字信號完整地保留了原
9、始信號中的信息,一般實際應(yīng)用中保證采樣頻率為信號最高頻率的5~10倍;采樣定理又稱奈奎斯特定理。</p><p> 1.1.4時域信號的FFT分析</p><p> 信號的頻譜分析就是計算信號的傅立葉變換。連續(xù)信號與系統(tǒng)的傅立葉分析顯然不便于用計算機進行計算,使其應(yīng)用受到限制。而FFT是一種時域和頻域均離散化的變換,適合數(shù)值運算,成為用計算機分析離散信號和系統(tǒng)的有力工具。對連續(xù)信號和系
10、統(tǒng),可以通過時域采樣,應(yīng)用DFT進行近似譜分析。</p><p> 1.1.5數(shù)字信號的濾波器原理和方法</p><p> IIR數(shù)字濾波器系統(tǒng)函數(shù):</p><p> H(z)=···············&
11、#183;(1.1)</p><p> 其中H(z)稱為N階IIR數(shù)字濾波器系統(tǒng)函數(shù)。IIR濾波器設(shè)計方法有間接和直接法,間接法是借助于模擬濾波器的設(shè)計方法進行的。其步驟是:先設(shè)計過度模擬濾波器得到系統(tǒng)函數(shù)Ha(s),然后將Ha(s)按某種方法轉(zhuǎn)換成數(shù)字濾波器的系統(tǒng)函數(shù)H(z)。</p><p> 利用有限脈沖響應(yīng)(FIR)設(shè)計濾波器。有限脈沖響應(yīng)濾波器在保證幅度特性滿足技術(shù)要求的同時
12、,很容易做到有嚴格的線性相位特性。用N表示FIR濾波器單位脈沖響應(yīng)h(n)的長度,其系統(tǒng)函數(shù)H(z)為</p><p> ··················(1.2)</p><p> H(z)是z-1的N
13、-1次多項式,它在z平面上有N-1個零點,在原點z=0處有一個N-1重極點。因此,H(z)永遠穩(wěn)定。穩(wěn)定和線性相位是FIR濾波器最突出的優(yōu)點。</p><p> 1.1.6 各種不同類型濾波器的性能比較</p><p> 巴特沃斯濾波器具有單調(diào)下降的幅頻特性;切比雪夫濾波器的幅頻特性在通帶或阻帶有波紋特性,可以提高選擇性;貝塞爾濾波器通帶內(nèi)有較好的線性相位特性;橢圓濾波器的選擇性相對前
14、三種是最好的,但通帶和阻帶內(nèi)均呈現(xiàn)等波紋幅頻特性,線性特性的非線性稍重。</p><p> IIR數(shù)字濾波器最大的優(yōu)點是給定一組指標時,它的階數(shù)要比相同組的FIR濾波器低得多。IIR數(shù)字濾波器的設(shè)計方法是利用模擬濾波器成熟的理論及設(shè)計圖進行的,因而保留了一些典型模擬濾波器優(yōu)良的幅度特性。但設(shè)計中只考慮了幅度特性,沒考慮相位特性,所設(shè)計的濾波器一般是某種確定的非線性相位特性。為了得到線性相位特性,對IIR濾波器必
15、須另外增加相位校正網(wǎng)絡(luò)。FIR濾波器在保證幅度特性滿足技術(shù)要求的同時,很容易做到有嚴格的線性相位特性。穩(wěn)定和線性相位是FIR濾波器最突出的優(yōu)點。</p><p> 1.1.7離散傅立葉變換</p><p><b> 1.3</b></p><p> 其中,N為DFT變換的區(qū)間長度。</p><p> 2 信號采
16、集及讀取</p><p> 用錄音工具錄一段自己的聲音,轉(zhuǎn)化為wav格式的文件,然后保存到MATLAB的文件夾下的work文件夾中。在MATLAB軟件平臺下,利用wavread函數(shù)對語音信號進行采樣,記住采樣頻率和采樣點數(shù)。</p><p> Wavread函數(shù)調(diào)用格式:</p><p> y=wavread(file),讀取file所規(guī)定的wav文件,返回采
17、樣值放在向量y中。</p><p> [y,fs,nbits]=wavread(‘1.wav’);把語音信號進行載MATLAB仿真軟件平臺中,采樣值放在向量y中,fs表示采樣頻率(hz),nbits表示采樣位數(shù)。</p><p> sound(y,fs,nbits);回放語音信號</p><p> N=length(y);求出語音信號的長度</p>
18、<p> Y=fft(y,N);傅立葉變換</p><p> 調(diào)用函數(shù)y為被變換的時域系列向量,N是DFT變換區(qū)間長度,當N大于y的長度時,fft函數(shù)自動在y后面補零,函數(shù)返回y的N點DFT變換結(jié)果向量Y。當N小于y的長度時,fft函數(shù)計算y的前面N個元素構(gòu)成的N點DFT,忽略y后面的元素。首先畫出語音信號的時域波形,然后對語音信號進行頻譜分析。在MATLAB中利用fft對新號進行快速傅立葉變換
19、,得到信號的頻譜特性。</p><p> subplot(2,1,1);plot(y);title(‘原始信號波形’);</p><p> subplot(2,1,2);plot(abs(Y));title(‘原始信號頻譜’);</p><p><b> 程序如下:</b></p><p> [y,fs,nbit
20、s]=wavread('1.wav');</p><p> sound(y,fs,nbits);</p><p> N=length(y);</p><p> Y=fft(y,N);</p><p> subplot(2,1,1);</p><p><b> plot(y);<
21、/b></p><p> title('原始信號波形');xlabel('時間');ylabel('幅度');</p><p> subplot(2,1,2);</p><p> plot(abs(Y));</p><p> title('原始信號頻譜');xlab
22、el('時間');ylabel('幅度');</p><p><b> 程序結(jié)果如下圖:</b></p><p><b> 程序如下:</b></p><p> [y,fs,nbits]=wavread ('1.wav');</p><p>
23、N = length (y) ; %求出語音信號的長度</p><p> noise=0.2*randn(N,1); %隨機函數(shù)產(chǎn)生噪聲</p><p> Si=y+noise; %語音信號加入噪聲 </p><p> sound(Si);</p>&
24、lt;p> subplot(2,1,1);</p><p><b> plot(Si);</b></p><p> title('加噪語音信號的時域波形');xlabel('時間');ylabel('幅度');</p><p> S=fft(Si);
25、 %傅里葉變換</p><p> subplot(2,1,2);</p><p> plot(abs(S)); </p><p> title('加噪語音信號的頻域波形'); xlabel('時間');ylabel('幅度');</p><p><b> 程序結(jié)
26、果如下圖:</b></p><p><b> 4 數(shù)字濾波器設(shè)計</b></p><p> 4.1 用窗函數(shù)法設(shè)計IIR帶通濾波器</p><p><b> 程序如下:</b></p><p> wp=0.2*pi; ws=0.3*pi; %性能指標</p>
27、<p> wdelta=ws-wp; %過渡帶寬度</p><p> M=ceil(3.32*pi/wdelta); %濾波器長度,朝正無窮方向舍入</p><p> N=2*M+1; %窗口長度</p><p> wc=(ws+wp)/2; %截止頻率</p>&
28、lt;p> win=hamming(N); %因為衰減不小于50dB,所以選擇海明窗,這里得到海明窗的時域響應(yīng)</p><p> b=fir1(N-1,wc/pi,win);</p><p><b> n=0:1:N;</b></p><p> [hi t]=impz(b,1,n);%得到脈沖響應(yīng)</p>
29、<p> [hf w]=freqz(b,1,512); %得到頻率響應(yīng)</p><p> subplot(3,1,1); stem(n,hi);</p><p> xlabel('n'); ylabel('幅度'); title('脈沖響應(yīng)');</p><p> subplot(3,1,2);
30、 plot(w/pi,20*log10(abs(hf)));</p><p> xlabel('頻率(Hz)'); ylabel('幅度(dB)');</p><p> title('頻率響應(yīng)');</p><p> subplot(3,1,3); plot(w/pi,180/pi*unwrap(angle(hf
31、)));</p><p> xlabel('頻率(Hz)'); ylabel('相位(degrees)');</p><p> title('頻率響應(yīng)');</p><p><b> 程序結(jié)果如下圖:</b></p><p> 4.2 用窗函數(shù)法設(shè)計FIR低通濾波器
32、</p><p><b> 程序如下:</b></p><p><b> Ft=8000;</b></p><p><b> Fp=1000;</b></p><p><b> Fs=1200;</b></p><p>
33、 wp=2*Fp/Ft;</p><p> ws=2*Fs/Ft;</p><p><b> rp=1;</b></p><p><b> rs=50;</b></p><p> p=1-10.^(-rp/20);</p><p> s=10.^(-rs/20);
34、</p><p> fpts=[wp,ws];</p><p> mag=[1,0];</p><p> dev=[p,s];</p><p> [n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev);</p><p> b21=fir1(n21,wn21,kaiser(n
35、21+1,beta));</p><p> [h,w]=freqz(b21,1);</p><p> plot(w/pi,abs(h));</p><p> title('FIR低通濾波器');</p><p><b> grid;</b></p><p><b>
36、; 其程序結(jié)果如下圖:</b></p><p><b> 5信號處理</b></p><p> 用設(shè)計好的數(shù)字濾波器對含噪聲的語音信號進行濾波,在MATLAB中FIR濾波器利用函數(shù)fftfilt對信號進行濾波,IIR濾波器利用函數(shù)filter對信號進行濾波,在一個窗口同時畫出濾波前后的波形及頻譜如下圖。</p><p> 5
37、.1 IIR帶通濾波</p><p><b> 程序如下:</b></p><p> [y,fs,nbits]=wavread('1.wav');</p><p> N=length(y);</p><p> Noise=0.2*randn(N,1);</p><p>
38、Si=y+Noise; %語音信號加入噪聲 </p><p> nn=0:1:50;</p><p> y=filter(b,1,Si);</p><p> subplot(2,1,1); stem(Si);</p><p> xlabel('n'); ylabel('幅度');
39、</p><p> title('濾波前信號頻譜'); axis([0 50 -2 2]);</p><p> subplot(2,1,2); stem(out);</p><p> xlabel('n'); ylabel('幅度');</p><p> title('濾波后信號
40、頻譜'); axis([0 50 -1 1]);</p><p><b> sound(y);</b></p><p><b> 程序結(jié)果如下圖:</b></p><p> 5.2 FIR低通濾波</p><p><b> 程序如下:</b></p>
41、<p> [y,fs,nbits]=wavread('1.wav');</p><p> N = length (y) ; </p><p> noise=0.2*randn(N,1); </p><p> Si=y+noise; </p><p> S=
42、fft(Si);</p><p> z21=fftfilt(b21,Si);</p><p> sound(z21);</p><p> m21=fft(z21);</p><p> subplot(2,2,1);</p><p> plot(abs(S),'g');</p>&
43、lt;p> title('濾波前信號的頻譜');xlabel('時間');ylabel('幅度');</p><p><b> grid;</b></p><p> subplot(2,2,2);</p><p> plot(abs(m21),'r');</p&
44、gt;<p> title('濾波后信號頻譜');xlabel('時間');ylabel('幅度');</p><p><b> grid;</b></p><p> subplot(2,2,3);</p><p><b> plot(S);</b>&l
45、t;/p><p> title('濾波前信號波形');xlabel('時間');ylabel('幅度');</p><p><b> grid;</b></p><p> subplot(2,2,4);</p><p> plot(z21);</p>&l
46、t;p> title('濾波后信號波形');xlabel('時間');ylabel('幅度');</p><p><b> grid;</b></p><p><b> 程序結(jié)果如下圖:</b></p><p><b> 6心得體會</b>
47、</p><p> 通過這次課程設(shè)計,我學到了很多東西。進一步加深了對MATLAB的了解。在設(shè)計的過程中我遇到了不少的問題,比如剛開始要處理的是WAV格式的語音信號,可是我發(fā)現(xiàn)不是所有的WAV文件都可以用WAVREAD函數(shù)讀取,通過軟件轉(zhuǎn)化了才可以使用。在編寫程序的時候遇到了很多錯誤,最后經(jīng)過查找一些資料和自己的理解都一一糾正了。總的來說,通過這次的課程設(shè)計我對語音信號有的更多的認識,對數(shù)字信號處理的知識有了更
48、多的理解,鍛煉了我的理論與實際相結(jié)合的能力,并且熟練的應(yīng)用MATLAB也加深了我對課程的理解。這次設(shè)計使我更深刻的了解MATLAB的使用方法,同時我相信,進一步加強對MATLAB的學習對我今后的學習將會起到很大的幫助。</p><p><b> 7 參考文獻:</b></p><p> 高西全,丁玉美編著。《數(shù)字信號處理》西安,西安電子科技大學出版社,2008&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于matlab的語音信號的時、頻域分析課程設(shè)計
- 課程設(shè)計-基于matlab的語音信號的時、頻域分析設(shè)計
- matlab課程設(shè)計---基于matlab的語音信號處理
- 基于matlab語音信號采集課程設(shè)計
- 信號處理課程設(shè)計基于matlab的語音信號分析和處理
- 基于 matlab 的語音信號分析與處理的課程設(shè)計
- 信號處理課程設(shè)計---基于matlab的語音信號處理
- matlab課程設(shè)計--基于matlab有噪聲語音信號處理
- matlab課程設(shè)計---matlab語音信號的采集與處理
- matlab課程設(shè)計報告--基于matlab有噪聲語音信號處理
- matlab課程設(shè)計--語音信號的采集與處理
- 基于matlab的有噪聲的語音信號處理的課程設(shè)計
- 數(shù)字信號處理課程設(shè)計---基于matlab的語音信號濾波處理
- 語音信號處理及matlab實現(xiàn)課程設(shè)計
- matlab課程設(shè)計--利用matlab對語音信號進行處理和分析
- matlab課程設(shè)計報告-語音信號的采集與處理
- 基于matlab的語音信號濾波處理——數(shù)字信號處理課程設(shè)計
- 基于matlab的語音信號濾波處理——數(shù)字信號處理課程設(shè)計
- 數(shù)字信號處理課程設(shè)計--基于matlab有噪聲語音信號處理
- matlab課程設(shè)計報告--信號的頻域分析及matlab實現(xiàn)
評論
0/150
提交評論