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