

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 編號(hào)</b></p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題目: 基于MATLAB的語(yǔ)音信號(hào)處理 </p><p> 信機(jī) 系 電子信息工程 專(zhuān)業(yè)</p><p> 課程名稱(chēng):數(shù)字信號(hào)處理</p><p&
2、gt;<b> 1.實(shí)驗(yàn)?zāi)康?</b></p><p> 綜合運(yùn)用數(shù)字信號(hào)處理的理論知識(shí)進(jìn)行頻譜分析和濾波器設(shè)計(jì),通過(guò)理論推導(dǎo)得出相應(yīng)結(jié)論,再利用 MATLAB 作為編程工具進(jìn)行計(jì)算機(jī)實(shí)現(xiàn),從而加深對(duì)所學(xué)知識(shí)的理解,建立概念。 </p><p> 2.實(shí)驗(yàn)基本要求 ① 學(xué)會(huì) MATLAB 的使用,掌握 MATLAB 的程序設(shè)計(jì)方法。 ② 掌握在 Window
3、s 環(huán)境下語(yǔ)音信號(hào)采集的方法。 ③ 掌握數(shù)字信號(hào)處理的基本概念、基本理論和基本方法。 ④ 掌握 MATLAB 設(shè)計(jì) FIR 和 IIR 數(shù)字濾波器的方法。 ⑤ 學(xué)會(huì)用 MATLAB 對(duì)信號(hào)進(jìn)行分析和處理。 </p><p><b> 3.實(shí)驗(yàn)儀器及設(shè)備</b></p><p><b> 計(jì)算機(jī)</b></p><p&
4、gt; 4.實(shí)驗(yàn)內(nèi)容和步驟 錄制一段自己的語(yǔ)音信號(hào),并對(duì)錄制的信號(hào)進(jìn)行采樣;畫(huà)出采樣后語(yǔ)音信號(hào)的時(shí)域波形和頻譜圖;給定濾波器的性能指標(biāo),采用窗函數(shù)法或雙線性變換設(shè)計(jì)濾波器,并畫(huà)出濾波器的頻率響應(yīng);然后用自己設(shè)計(jì)的濾波器對(duì)采集的語(yǔ)音信號(hào)進(jìn)行濾波,畫(huà)出濾波后信號(hào)的時(shí)域波形和頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化;回放語(yǔ)音信號(hào);最后,用 MATLAB 設(shè)計(jì)一信號(hào)處理系統(tǒng)界面。</p><p> (
5、一)基于MATLAB 的語(yǔ)音濾波實(shí)驗(yàn)設(shè)計(jì)</p><p> 1.1.1語(yǔ)音的時(shí)域低通濾波</p><p><b> 程序:</b></p><p> x=wavread('G:\htt.wav');</p><p> h=ones(1,220);</p><p> y=c
6、onv(x,h);</p><p> wavwrite(y,22050,'htt2.wav');</p><p> Hw=fft(h,length(y));</p><p> Xw=fft(x);</p><p> Yw=fft(y);</p><p> nx=length(Xw);ny=le
7、ngth(Yw);</p><p> nh=length(Hw);</p><p> wh=0:2*pi/nh:2*pi*(nh-1)/nh;</p><p> wx=0:2*pi/nx:2*pi*(nx-1)/nx;</p><p> wy=0:2*pi/ny:2*pi*(ny-1)/ny;</p><p>
8、 subplot(3,1,1);plot(wh,abs(Hw));title('系統(tǒng)函數(shù)頻譜');</p><p> subplot(3,1,2);plot(wx,Xw);title('原始信號(hào)的頻譜');</p><p> subplot(3,1,3);plot(wh,Yw);title('濾波后的信號(hào)頻譜');</p>
9、<p><b> 圖:</b></p><p> 1.1.2時(shí)域高通濾波</p><p><b> 程序:</b></p><p> x=wavread('G:\htt.wav');</p><p> h=[1,-2,1];</p><p&g
10、t; y=conv(x,h);</p><p> wavwrite(y,22050,'htt3.wav');</p><p> Hw=fft(h,length(y));</p><p> Xw=fft(x);</p><p> Yw=fft(y);</p><p> nx=length(Xw
11、);ny=length(Yw);</p><p> nh=length(Hw);</p><p> wh=0:2*pi/nh:2*pi*(nh-1)/nh;</p><p> wx=0:2*pi/nx:2*pi*(nx-1)/nx;</p><p> wy=0:2*pi/ny:2*pi*(ny-1)/ny;</p>&l
12、t;p> subplot(3,1,1);plot(wh,abs(Hw)); title('系統(tǒng)函數(shù)頻譜');</p><p> subplot(3,1,2);plot(wx,Xw); title('原始信號(hào)的頻譜');</p><p> subplot(3,1,3);plot(wh,Yw); title('濾波后的信號(hào)頻譜');&
13、lt;/p><p><b> 圖:</b></p><p> 1.2.1語(yǔ)音的頻域低通濾波</p><p><b> 程序:</b></p><p> x=wavread('G:\hua.wav');</p><p> Xw=fft(x);</p&
14、gt;<p> N=length(Xw);</p><p><b> fs=22050;</b></p><p><b> fL=1000;</b></p><p> Hw=[ones(1,fix(N*fL/fs)),zeros(1,N-2*fix(N*fL/fs)),ones(1,fix(N*fL/
15、fs))];</p><p> Yw=Xw.*Hw';</p><p> y=ifft(Yw);</p><p> wavwrite(y,fs,'hua4.wav');</p><p> nx=length(Xw);nh=length(Hw);</p><p> ny=length(Y
16、w);</p><p> wx=0:2*pi/nx:2*pi*(nx-1)/nx;</p><p> wh=0:2*pi/nh:2*pi*(nh-1)/nh;</p><p> wy=0:2*pi/ny:2*pi*(ny-1)/ny;</p><p> subplot(3,1,1);plot(wx,Xw);</p>&l
17、t;p> ylabel('Xw');</p><p> subplot(3,1,2);plot(wh,Hw);</p><p> ylabel('Hw');</p><p> axis([0,7,-0.2,1.2]);</p><p> subplot(3,1,3);plot(wy,Yw);&l
18、t;/p><p> ylabel('Yw');</p><p><b> 圖:</b></p><p> 1.2.2頻域高通濾波</p><p><b> 程序:</b></p><p> x=wavread('G:\hua.wav');
19、</p><p> Xw=fft(x);</p><p> N=length(Xw);</p><p><b> fs=22050;</b></p><p><b> fH=2000;</b></p><p> Hw=[zeros(1,fix(N*fH/fs)),o
20、nes(1,N-2*fix(N*fH/fs)),zeros(1,fix(N*fH/fs))];</p><p> Yw=Xw.*Hw';</p><p> y=ifft(Yw);</p><p> wavwrite(y,fs,'hua5.wav');</p><p> nx=length(Xw);nh=leng
21、th(Hw);</p><p> ny=length(Yw);</p><p> wx=0:2*pi/nx:2*pi*(nx-1)/nx;</p><p> wh=0:2*pi/nh:2*pi*(nh-1)/nh;</p><p> wy=0:2*pi/ny:2*pi*(ny-1)/ny;</p><p>
22、subplot(3,1,1);plot(wx,Xw);</p><p> ylabel('Xw');</p><p> subplot(3,1,2);plot(wh,Hw);</p><p> ylabel('Hw');</p><p> axis([0,7,-0.2,1.2]);</p>
23、<p> subplot(3,1,3);plot(wy,Yw);</p><p> ylabel('Yw');</p><p><b> 圖:</b></p><p><b> 1.3結(jié)論</b></p><p> 本文設(shè)計(jì)的實(shí)驗(yàn)是利用MATLAB的聲音處理函數(shù)
24、和媒體播放器,將復(fù)雜抽象的處理算法變換成簡(jiǎn)單直觀的實(shí)際效果,有利于學(xué)生理解算法的物理意義,有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,從而引發(fā)學(xué)生對(duì)數(shù)字信號(hào)處理算法的進(jìn)一步思考,對(duì)于數(shù)字信號(hào)處理的教學(xué)和學(xué)習(xí)具有一定的參考價(jià)值。,本文雖然只以語(yǔ)音濾進(jìn)行說(shuō)明,其實(shí)很容易擴(kuò)展到語(yǔ)音的其它處理方面,如語(yǔ)音的抽取和插</p><p><b> 值等。</b></p><p> ?。ǘ┗贛A
25、TLAB 的語(yǔ)音信號(hào)分析與處理</p><p><b> 2.1語(yǔ)音信號(hào)采集</b></p><p><b> 程序:</b></p><p> [x,fs,nb]=wavread('F:\hua.wav');</p><p> ms2=floor(fs*0.002);<
26、;/p><p> ms10=floor(fs*.01);</p><p> ms20=floor(fs*0.02);</p><p> ms30=floor(fs*0.03);</p><p> t=(0:length(x)-1)/fs;</p><p> subplot(2,1,1);plot(t,x);<
27、;/p><p> legend('Waveform');xlabel('Time(s)');ylabel('Amplitude');</p><p> Xw=fft(x);</p><p> nx=length(Xw);</p><p> wx=0:2*pi/nx:2*pi*(nx-1)/n
28、x;</p><p> subplot(2,1,2);plot(wx,Xw);ylabel('Xw');axis([0,7,0,10])</p><p><b> 圖:</b></p><p> 2.2對(duì)語(yǔ)音信號(hào)進(jìn)行倒譜分析</p><p><b> 程序:</b></
29、p><p> fn=input('Enter WAV filename : ','s');</p><p> [x,fs,nb]=wavread(fn);</p><p> ms2=floor(fs*0.002);</p><p> ms10=floor(fs*.01);</p><p&
30、gt; ms20=floor(fs*0.02);</p><p> ms30=floor(fs*0.03);</p><p> t=(0:length(x)- 1)/fs;</p><p> subplot(2,1,1);</p><p> plot(t,x);</p><p> legend('W
31、aveform');</p><p> xlabel('Time (s)');</p><p> ylabel('Amplitude');</p><p> w=hamming(ms30);</p><p><b> pos=1;</b></p><p&
32、gt;<b> fx=[];</b></p><p> while(pos+ms30)<=length(x)</p><p> y=x(pos:pos+ms30- 1);y=y- mean(y);</p><p> Y=fft(y.*w);</p><p> C=fft(log(abs(Y)+eps));
33、</p><p> [c,fxval]=max(abs(C(ms2:ms20)));</p><p> fx=[fx fs/(ms2+fxval- 1)];</p><p> pos=pos+ms10;</p><p><b> end;</b></p><p> t=(0:length
34、(fx)- 1)*0.01</p><p> subplot(2,1,2);</p><p> plot(t,fx);</p><p> legend('FX Trace');</p><p> xlabel('Time(s)');</p><p> ylabel('F
35、requency(Hz)');</p><p><b> 圖:</b></p><p> 2.3雙線性變換法設(shè)計(jì)各種濾波器</p><p> 數(shù)字巴特沃茲低通濾波器函數(shù):</p><p> fun ction [b,a]=digital_lowpass_butter(wp,ws,Rp,As,Fs)<
36、/p><p> [N,wn]=buttord(wp/pi,ws/pi,Rp,As)</p><p> [b,a]=butter(N,wn);</p><p><b> 程序:</b></p><p> clear;clc;</p><p> [y,Fs,bits]=wavread('
37、E:\hua.wav',[15040 23500]);</p><p> ws=0.125*pi;wp=0.075*pi;Rp=0.25;As=50;</p><p> [b,a]=digital_lowpass_butter(wp,ws,Rp,As,Fs)</p><p> [Rows,Cols]=size(y);</p><p&
38、gt; y(:,1)=y(:,1)-mean(y(:,1));</p><p> Y=abs(fft(y)+eps);</p><p> Y(1)=Y(2);</p><p><b> L=Rows;</b></p><p> w=0:(L-1);</p><p> w=2*pi/Ro
39、ws*w;</p><p> x=filter(b,a,y);</p><p> X=abs(fft(x)+eps);</p><p> X(1)=X(2);</p><p> figure(1);</p><p> subplot(2,2,1);plot(y);title('濾波前信號(hào)波形'
40、);</p><p> subplot(2,2,2);plot(w/pi,Y(1:L));title('濾波前信號(hào)頻譜');xlabel('w(單位 pi)');ylabel('幅值');</p><p> subplot(2,2,3);plot(x);title('濾波后信號(hào)波形');</p><p&
41、gt; subplot(2,2,4);plot(w/pi,X(1:L));title('低通濾波后信號(hào)頻譜');xlabel('w(單位 pi)');ylabel('幅值');</p><p><b> 圖:</b></p><p> 2.4雙線性變換法設(shè)計(jì)ButterWorth數(shù)字濾波器的頻率響應(yīng)</p&g
42、t;<p><b> 程序:</b></p><p> [y,fs,bits]=wavread('D:\wangshuhua1.wav');</p><p> ws=0.125*pi;wp=0.075*pi;Rp=0.25;As=50;</p><p> [n,wn]=buttord(wp/pi,ws/pi
43、,Rp,As)</p><p> [b,a]=butter(n,wn)</p><p> freqs(b,a)</p><p> [bz,az]=bilinear(b,a,1);</p><p> freqz(bz,az,512,1)</p><p><b> 圖:</b></p&
44、gt;<p><b> 2.4回放語(yǔ)音信號(hào)</b></p><p> 在 matlab 中, 函數(shù) sound 可以對(duì)聲音進(jìn)行回放,其調(diào)用格式為: sound(x,fs,bits)。通過(guò)回放可以發(fā)現(xiàn)濾波前后的聲音有變化。低通濾波后, 聲音稍微有些發(fā)悶, 但是很接近原來(lái)的聲音。從頻譜圖中我們可以看出聲音的能量主要集中在低頻(0.1pi 即 1102.5Hz 以?xún)?nèi))部分。<
45、;/p><p> 2.5濾波前后進(jìn)行比較</p><p> 低通濾波后的聲音跟原始聲音差別不大,頻譜中幅度相差不大,但頻率減小。</p><p><b> 2.6結(jié)語(yǔ)</b></p><p> 通過(guò)設(shè)計(jì)的數(shù)字低通、高通等濾波器對(duì)語(yǔ)音信號(hào)分別進(jìn)行濾波處理,比較不同原型下設(shè)計(jì)出來(lái)的數(shù)字濾波器的濾波效果,從理論上進(jìn)行分析比
46、較,對(duì)掌握數(shù)字信號(hào)處理的分析方法具有良好的指導(dǎo)作用。</p><p><b> 5.心得體會(huì)</b></p><p><b> 6.參考文獻(xiàn)</b></p><p> [1] 程佩青. 數(shù)字信號(hào)處理教程[M]. 北京: 清華大學(xué)出版社,2002.</p><p> [2] 劉敏,魏玲. Ma
溫馨提示
- 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ù)僅提供信息存儲(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課程設(shè)計(jì)---基于matlab的語(yǔ)音信號(hào)處理
- 信號(hào)處理課程設(shè)計(jì)基于matlab的語(yǔ)音信號(hào)分析和處理
- 數(shù)字信號(hào)處理課程設(shè)計(jì)---基于matlab的語(yǔ)音信號(hào)濾波處理
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--基于matlab有噪聲語(yǔ)音信號(hào)處理
- 基于matlab的語(yǔ)音信號(hào)濾波處理——數(shù)字信號(hào)處理課程設(shè)計(jì)
- matlab課程設(shè)計(jì)--基于matlab有噪聲語(yǔ)音信號(hào)處理
- 基于matlab的語(yǔ)音信號(hào)濾波處理——數(shù)字信號(hào)處理課程設(shè)計(jì)
- matlab課程設(shè)計(jì)---matlab語(yǔ)音信號(hào)的采集與處理
- matlab課程設(shè)計(jì)報(bào)告--基于matlab有噪聲語(yǔ)音信號(hào)處理
- 語(yǔ)音信號(hào)處理及matlab實(shí)現(xiàn)課程設(shè)計(jì)
- matlab課程設(shè)計(jì)--語(yǔ)音信號(hào)的采集與處理
- 語(yǔ)音信號(hào)處理課程設(shè)計(jì)
- 基于matlab語(yǔ)音信號(hào)處理設(shè)計(jì)
- 基于 matlab 的語(yǔ)音信號(hào)分析與處理的課程設(shè)計(jì)
- matlab課程設(shè)計(jì)報(bào)告-語(yǔ)音信號(hào)的采集與處理
- 基于matlab的語(yǔ)音信號(hào)處理
- 基于matlab的有噪聲的語(yǔ)音信號(hào)處理的課程設(shè)計(jì)
- dsp語(yǔ)音信號(hào)處理課程設(shè)計(jì)
- 語(yǔ)音信號(hào)處理課程設(shè)計(jì)報(bào)告
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--用matlab對(duì)語(yǔ)音信號(hào)進(jìn)行分析及處理
評(píng)論
0/150
提交評(píng)論