版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 目 錄</p><p> 1.課程設(shè)計(jì)的目的1</p><p> 2.課程設(shè)計(jì)的要求1</p><p> (1)熟悉離散信號(hào)和系統(tǒng)的時(shí)域特性1</p><p> ?。?)掌握序列快速傅里葉變換FFT方法1</p><p> ?。?)學(xué)會(huì)MATLAB的使用,掌握MATLA
2、B的程序設(shè)計(jì)方法1</p><p> (4)利用MATLAB對(duì)語(yǔ)音信號(hào)進(jìn)行頻譜分析1</p><p> ?。?)掌握MATLAB設(shè)計(jì)FIR和IIR數(shù)字濾波器的方法1</p><p> 3.課程設(shè)計(jì)報(bào)告內(nèi)容1</p><p><b> 4.設(shè)計(jì)步驟1</b></p><p> ?。?
3、)語(yǔ)音信號(hào)的獲取1</p><p> ?。?)語(yǔ)音信號(hào)的頻譜分析3</p><p> ?。?)設(shè)計(jì)FIR和IIR數(shù)字濾波器并畫出頻率響應(yīng)4</p><p> (4)對(duì)信號(hào)進(jìn)行濾波8</p><p> ?。?)被污染語(yǔ)音信號(hào)的頻譜分析13</p><p> (6)回放語(yǔ)音信號(hào)13</p>&
4、lt;p><b> 5.調(diào)試分析13</b></p><p> 5.1等間隔采樣程序的編寫13</p><p> 5.2 .m文件的命名14</p><p> 5.3標(biāo)點(diǎn)符號(hào)的使用15</p><p> 5.4濾波器參數(shù)的使用15</p><p> 6.結(jié)果分析與體會(huì)
5、16</p><p><b> 6.1總結(jié)16</b></p><p><b> 6.2不足17</b></p><p><b> 6.3思考17</b></p><p><b> 6.4結(jié)束語(yǔ)17</b></p><p
6、><b> 參考文獻(xiàn)18</b></p><p><b> 附錄:19</b></p><p><b> 語(yǔ)音信號(hào)的頻譜分析</b></p><p><b> 1.課程設(shè)計(jì)的目的</b></p><p> 綜合運(yùn)用數(shù)字信號(hào)處理的理論知識(shí)
7、進(jìn)行頻譜分析和濾波器設(shè)計(jì),通過(guò)理論推導(dǎo)得出相應(yīng)結(jié)論,再利用MATLAB作為編程工具進(jìn)行計(jì)算機(jī)實(shí)現(xiàn),從而加深對(duì)所學(xué)知識(shí)的理解。</p><p><b> 2.課程設(shè)計(jì)的要求</b></p><p> (1)熟悉離散信號(hào)和系統(tǒng)的時(shí)域特性。</p><p> ?。?)掌握序列快速傅里葉變換FFT方法。</p><p>
8、(3)學(xué)會(huì)MATLAB的使用,掌握MATLAB的程序設(shè)計(jì)方法。</p><p> (4)利用MATLAB對(duì)語(yǔ)音信號(hào)進(jìn)行頻譜分析。</p><p> ?。?)掌握MATLAB設(shè)計(jì)FIR和IIR數(shù)字濾波器的方法。</p><p> 3.課程設(shè)計(jì)報(bào)告內(nèi)容</p><p> 錄制一段自己的語(yǔ)音信號(hào),取不同的數(shù)據(jù)點(diǎn)對(duì)語(yǔ)音信號(hào)進(jìn)行頻譜分析;對(duì)所有數(shù)
9、據(jù)進(jìn)行插值和抽取處理,改變抽樣率再對(duì)信號(hào)進(jìn)行頻譜分析;設(shè)計(jì)FIR和IIR數(shù)字濾波器,并對(duì)被抽樣后的語(yǔ)音信號(hào)進(jìn)行濾波,分析濾波后信號(hào)的時(shí)域和頻域特征,回放語(yǔ)音信號(hào)。</p><p><b> 4.設(shè)計(jì)步驟</b></p><p> ?。?)語(yǔ)音信號(hào)的獲取</p><p> 用Windows下錄音機(jī)錄制自己的聲音,發(fā)音為漢語(yǔ)韻母"a&
10、quot;,保存在D盤命名為5.wav。通過(guò)使用wavread函數(shù)讀取語(yǔ)音信號(hào),實(shí)現(xiàn)語(yǔ)句如下:</p><p> [x,fs,bits]=wavread('d:\5.wav');</p><p> 為了得到原始信號(hào)的波形和頻譜,可運(yùn)行如下語(yǔ)句:</p><p> xx=fft(x);</p><p> subplot(
11、2,1,1);plot(x);title('原始信號(hào)波形');</p><p> subplot(2,1,2);plot(abs(xx)); title('原始信號(hào)頻譜');</p><p> 運(yùn)行后得到的波形、頻譜圖如下:</p><p> 原始的語(yǔ)音信號(hào)經(jīng)過(guò)wavread函數(shù)的處理,由連續(xù)信號(hào)變成離散信號(hào),抽樣率如圖中fs所
12、示為22050 Hz/s,為了使抽樣率滿足8000 Hz/s的要求,需要用到resample函數(shù),實(shí)現(xiàn)語(yǔ)句如下:</p><p> y=resample(x,8000,22050);</p><p> 經(jīng)過(guò)重采樣,原信號(hào)的抽樣率變成8000Hz/s。由于采樣頻率的改變,在模擬信號(hào)中選取的點(diǎn)數(shù)也有所不同,采樣頻率由22050 Hz/s變成8000 Hz/s,采樣點(diǎn)數(shù)也相應(yīng)地由58520變
13、成21232(如下圖所示)。</p><p> 為了得到重采樣后的波形和頻譜,可運(yùn)行如下語(yǔ)句:</p><p> yy=fft(y);</p><p> subplot(2,1,1);plot(y);title('重采樣信號(hào)波形');</p><p> subplot(2,1,2);plot(abs(yy)); tit
14、le('重采樣信號(hào)頻譜');</p><p> 運(yùn)行后得到的波形、頻譜圖如下:</p><p> (2)語(yǔ)音信號(hào)的頻譜分析</p><p> 等間隔取8000個(gè)數(shù)據(jù),首先畫出語(yǔ)音信號(hào)的時(shí)域波形,然后對(duì)語(yǔ)音信號(hào)進(jìn)行頻譜分析。在MATLAB中,可以利用函數(shù)fft對(duì)信號(hào)進(jìn)行快速傅里葉變換,得到信號(hào)的頻譜特性(幅度和相位譜)。</p>&
15、lt;p> 等間隔取16000個(gè)數(shù)據(jù),畫出語(yǔ)音信號(hào)的時(shí)域波形,然后對(duì)語(yǔ)音信號(hào)進(jìn)行頻譜分析。</p><p> 運(yùn)用“四舍五入”法對(duì)y信號(hào)進(jìn)行等間隔抽取,編寫程序如下:</p><p> [m,n]=size(y);</p><p> z1=zeros(1,8000);</p><p><b> k1=1;</b
16、></p><p> for i=1:m/8000:m</p><p> i=round(i);</p><p> z1(k1)=y(i);</p><p><b> k1=k1+1;</b></p><p><b> end</b></p>&
17、lt;p> z2=zeros(1,16000);</p><p><b> k2=1;</b></p><p> for i=1:m/16000:m</p><p> i=round(i);</p><p> z2(k2)=y(i);</p><p><b> k2=k
18、2+1;</b></p><p><b> end</b></p><p> 分別運(yùn)行如下程序,輸出各自對(duì)應(yīng)波形、頻譜圖</p><p> y1=fft(z1);</p><p> subplot(3,2,3);plot(z1);title('等間隔采樣8000點(diǎn)的波形');</
19、p><p> subplot(3,2,4);plot(abs(y1));title('等間隔采樣8000點(diǎn)的頻譜');</p><p> y2=fft(z2);</p><p> subplot(3,2,5);plot(z2);title('等間隔采樣16000點(diǎn)的波形');</p><p> subplo
20、t(3,2,6);plot(abs(y2));title('等間隔采樣16000點(diǎn)的頻譜');</p><p> (3)設(shè)計(jì)FIR和IIR數(shù)字濾波器并畫出頻率響應(yīng)</p><p> 根據(jù)有關(guān)的頻譜特征,設(shè)計(jì)FIR和IIR數(shù)字濾波器。在MATLAB中,可以利用函數(shù)fir1設(shè)計(jì)FIR濾波器,利用函數(shù)butte、cheby1和ellip設(shè)計(jì)IIR濾波器;最后,利用MATLAB
21、中的函數(shù)freqz畫出各濾波器的頻率響應(yīng)。</p><p> 依題目要求,根據(jù)等間隔采樣后頻譜特征,分別設(shè)計(jì)出FIR低通濾波器、FIR高通濾波器、FIR帶通濾波器、雙線性濾波器等。</p><p> ☆ FIR低通濾波器</p><p> 用窗函數(shù)法設(shè)計(jì)FIR低通濾波器,編寫程序如下:</p><p><b> fp=100
22、0;</b></p><p><b> fc=1200;</b></p><p><b> as=100;</b></p><p><b> ap=1;</b></p><p><b> fs=22000;</b></p>
23、<p> wp=2*fp/fs;</p><p> wc=2*fc/fs;</p><p> N=ceil((as-7.95)/(14.36*(wc-wp)/2))+1;</p><p> beta=0.1102*(as-8.7);</p><p> window=Kaiser(N+1,beta);</p>
24、<p> b=fir1(N,wc,window);</p><p> freqz(b,1,512,fs);</p><p> 用窗函數(shù)法設(shè)計(jì)的低通濾波器的幅度譜、相位譜</p><p> ☆ FIR高通濾波器</p><p> 用窗函數(shù)法設(shè)計(jì)FIR高通濾波器,編寫程序如下:</p><p><
25、;b> fs=22000;</b></p><p> Wp=2*5000/fs;</p><p> Ws=2*4800/fs;</p><p><b> Ap=1;</b></p><p><b> As=100;</b></p><p> N=
26、ceil(8*pi/(Wp-Ws))+1;</p><p> N=N+mod(N+1,2)+1;</p><p> Wc=(Wp+Ws)/2/pi;</p><p> b=fir1(N,Wc,'high');</p><p> omega=linspace(0,pi,512);</p><p>
27、 freqz(b,1,omega);</p><p> 用窗函數(shù)法設(shè)計(jì)的高通濾波器的幅度譜、相位譜</p><p><b> FIR帶通濾波器</b></p><p> 用窗函數(shù)法設(shè)計(jì)FIR帶通濾波器,編寫程序如下:</p><p><b> fs=22000;</b></p>
28、<p> Wp1=2*1200/fs;</p><p> Wp2=2*3000/fs;</p><p> Wc1=2*1000/fs;</p><p> Wc2=2*3200/fs;</p><p><b> Ap=1;</b></p><p><b> As=
29、100;</b></p><p> W1=(Wp1+Wc1)/2;</p><p> W2=(Wp2+Wc2)/2;</p><p> wdth=min((Wp1-Wc1),(Wc2-Wp2));</p><p> N=ceil(11*pi/wdth)+1;</p><p> b = fir1(N
30、,[W1 W2]);</p><p> freqz(b,1,512,fs);</p><p> 用窗函數(shù)法設(shè)計(jì)的帶通濾波器的幅度譜、相位譜</p><p><b> ☆ 雙線性濾波器</b></p><p> 雙線性濾波器的程序編寫如下:</p><p><b> fp=100
31、0; </b></p><p><b> fc=1200;</b></p><p><b> As=100; </b></p><p><b> Ap=1; </b></p><p><b> fs=22050;</b></p&g
32、t;<p> wc=2*fc/fs;</p><p> wp=2*fp/fs;</p><p> [n,wn]=ellipord(wp,wc,Ap,As);</p><p> [b,a]=ellip(n,Ap,As,wn);</p><p> freqz(b,a,512,fs);</p><p>
33、; 用窗函數(shù)法設(shè)計(jì)的帶通濾波器的幅度譜、相位譜</p><p> ?。?)對(duì)信號(hào)進(jìn)行濾波</p><p> 針對(duì)電話信道(最高3500Hz),對(duì)所有數(shù)據(jù)進(jìn)行插值和抽取處理,把抽樣率轉(zhuǎn)變?yōu)?000Hz/s,并進(jìn)行頻譜分析,得到幅度和相位譜。(此處必須把所有的數(shù)據(jù)參加FFT后進(jìn)行低通濾波??捎茫?)中的設(shè)計(jì)FIR或IIR濾波器進(jìn)行時(shí)域?yàn)V波。在MATLAB中,F(xiàn)IR濾波器利用函數(shù)fftfil
34、t對(duì)信號(hào)進(jìn)行濾波,IIR濾波器利用函數(shù)filter對(duì)信號(hào)進(jìn)行濾波。)</p><p> ☆ FIR低通濾波器</p><p> 通過(guò)之前設(shè)計(jì)的FIR低通濾波器對(duì)z1、z2進(jìn)行濾波并顯示結(jié)果</p><p> i1=fftfilt(b,z1);</p><p> i2=fft(i1);</p><p> i3=
35、fftfilt(b,z2);</p><p> i4=fft(i3);</p><p> subplot(221); plot(i1); </p><p> title('等間隔采用8000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的波形');</p><p> subplot(222); plot(abs(i2)); </p>
36、<p> title('等間隔采用8000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的頻譜');</p><p> subplot(223); plot(i3); </p><p> title('等間隔采用16000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的波形');</p><p> subplot(224); plot(abs(i4));</
37、p><p> title('等間隔采用16000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的頻譜');</p><p><b> FIR高通濾波器</b></p><p> 通過(guò)之前設(shè)計(jì)的FIR高通濾波器對(duì)z1、z2進(jìn)行濾波并顯示結(jié)果</p><p> i1=fftfilt(b,z1);</p><p&
38、gt; i2=fft(i1);</p><p> i3=fftfilt(b,z2);</p><p> i4=fft(i3);</p><p> subplot(221); plot(i1);</p><p> title('等間隔采用8000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的波形');</p><p>
39、 subplot(222); plot(abs(i2)); </p><p> title('等間隔采用8000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的頻譜');</p><p> subplot(223); plot(i3); </p><p> title('等間隔采用16000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的波形');</p><
40、;p> subplot(224); plot(abs(i4));</p><p> title('等間隔采用16000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的頻譜');</p><p><b> FIR帶通濾波器</b></p><p> 通過(guò)之前設(shè)計(jì)的FIR高通濾波器對(duì)z1、z2進(jìn)行濾波并顯示結(jié)果</p><p
41、> i1=fftfilt(b,z1);</p><p> i2=fft(i1);</p><p> i3=fftfilt(b,z2);</p><p> i4=fft(i3);</p><p> subplot(221); plot(i1); </p><p> title('等間隔采用800
42、0點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的波形');</p><p> subplot(222); plot(abs(i2));</p><p> title('等間隔采用8000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的頻譜');</p><p> subplot(223); plot(i3); </p><p> title('等間隔采
43、用16000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的波形');</p><p> subplot(224); plot(abs(i4)); </p><p> title('等間隔采用16000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的頻譜');</p><p><b> ☆ 雙線性濾波器</b></p><p> 通過(guò)之前設(shè)
44、計(jì)的雙線性濾波器對(duì)z1、z2進(jìn)行濾波并顯示結(jié)果</p><p> i1=fftfilt(b,z1);</p><p> i2=fft(i1);</p><p> i3=fftfilt(b,z2);</p><p> i4=fft(i3);</p><p> subplot(221); plot(i1); &l
45、t;/p><p> title('等間隔采用8000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的波形');</p><p> subplot(222); plot(abs(i2));</p><p> title('等間隔采用8000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的頻譜');</p><p> subplot(223); plot(i3)
46、; </p><p> title('等間隔采用16000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的波形');</p><p> subplot(224); plot(abs(i4)); </p><p> title('等間隔采用16000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的頻譜');</p><p> ?。?)被污染語(yǔ)音信號(hào)的頻譜分析
47、</p><p> 把(4)處理后的所有數(shù)據(jù)儲(chǔ)存為聲音文件,與原始聲音進(jìn)行比較。</p><p><b> ?。?)回放語(yǔ)音信號(hào)</b></p><p> 在MATLAB中,函數(shù)sound可以對(duì)聲音進(jìn)行回放。其調(diào)用格式為:sound(x,fs,bits)</p><p> 可以感覺(jué)濾波前后的聲音有變化。</p
48、><p> 根據(jù)以上各個(gè)濾波器的濾波結(jié)果,用sound函數(shù)可以聽(tīng)到聲音,對(duì)比發(fā)現(xiàn)低通濾波器和帶通濾波器的效果比較好。</p><p><b> 5.調(diào)試分析</b></p><p> 5.1等間隔采樣程序的編寫</p><p> 為了等間隔采樣8000個(gè)數(shù)據(jù),運(yùn)行如下程序, [x,fs,bits]=wavread(&
49、#39;d:\5.wav');</p><p> y=resample(x,8000,22050);</p><p> [m,n]=size(y);</p><p> a1=1:m/8000:m;b1=1:m/16000:m;</p><p> a1=round(a1);b1=round(b1);</p><
50、;p> a2=zeros(1,8000);b2=zeros(1,16000);</p><p> for i=1:8000</p><p> a2(i)=y(i);</p><p><b> end</b></p><p> y1=fft(a2);</p><p> subplo
51、t(2,2,1);plot(a2);</p><p> subplot(2,2,2);plot(abs(y1));</p><p><b> 得到下圖:</b></p><p> 與原信號(hào)對(duì)比發(fā)現(xiàn)等間隔采樣8000點(diǎn)的波形全部集中在6000—8000之間,丟失了許多有用的信號(hào),經(jīng)過(guò)不斷研究發(fā)現(xiàn)上述運(yùn)行語(yǔ)句編寫有誤,通過(guò)不斷地推敲修正,將程
52、序改為:</p><p> [m,n]=size(y);</p><p> z1=zeros(1,8000);</p><p><b> k1=1;</b></p><p> for i=1:m/8000:m</p><p> i=round(i);</p><p&g
53、t; z1(k1)=y(i);</p><p><b> k1=k1+1;</b></p><p><b> end</b></p><p> 修改程序后即可得到正確的波形圖:</p><p> 5.2 .m文件的命名</p><p> 把編寫好的程序存為M文件(
54、如下圖所示),直接將該文件拉入到MATLAB軟件運(yùn)行,運(yùn)行結(jié)果出現(xiàn)錯(cuò)誤(如下圖所示)</p><p> 經(jīng)過(guò)查找資料明白了matlab的.m文件保存的命名規(guī)則:</p><p> 1.文件名命名要用英文字符,第一個(gè)字符不能是數(shù)字</p><p> 2.文件名不要取為matlab的一個(gè)固有函數(shù),m文件名的命名盡量不要是簡(jiǎn)單的英文單詞,最好是由大小寫英文/數(shù)字/下
55、劃線等組成。原因是簡(jiǎn)單的單詞命名容易與matlab內(nèi)部函數(shù)名同名,結(jié)果會(huì)出現(xiàn)一些莫名其妙的錯(cuò)誤。</p><p> 3.文件存儲(chǔ)路徑一定為英文</p><p> 4.m文件起名不能為兩個(gè)單詞,如three phase,應(yīng)該寫成three_phase或者ThreePhase</p><p> 對(duì)比自己M文件文件名可知是命名出現(xiàn)了錯(cuò)誤,經(jīng)過(guò)修改即可直接將M文件拉入
56、MATLAB軟件運(yùn)行。</p><p> 5.3標(biāo)點(diǎn)符號(hào)的使用</p><p> 在MATLAB軟件中在中文輸入法下如果輸入標(biāo)點(diǎn)符號(hào)就會(huì)顯示如下錯(cuò)誤:</p><p> 切換成英文輸入法則可修正此錯(cuò)誤。</p><p> 5.4濾波器參數(shù)的使用</p><p> 在使用IIR濾波器時(shí),參數(shù)調(diào)整錯(cuò)誤造成波形錯(cuò)誤
57、顯示如下:</p><p><b> 6.結(jié)果分析與體會(huì)</b></p><p> 6.1總結(jié) </p><p> ☆對(duì)采樣頻率、采樣位數(shù)的認(rèn)識(shí)</p><p> 經(jīng)過(guò)不斷地使用wavread、resample等函數(shù),讓我更深刻理解了采樣位數(shù)與采樣頻率的區(qū)別: </p><p&g
58、t; 采樣位數(shù)(MATLAB中的bits)可以理解為聲卡處理聲音的解析度。這個(gè)數(shù)值越大,解析度就越高,錄制和回放的聲音就越真實(shí)。</p><p> 采樣頻率(MATLAB中的fs)是指錄音設(shè)備在一秒鐘內(nèi)對(duì)聲音信號(hào)的采樣次數(shù),采樣頻率越高聲音的還原就越真實(shí)越自然。</p><p><b> ☆等間隔采樣的方法</b></p><p> 等
59、間隔取8000,16000個(gè)數(shù)據(jù)有許多方法,應(yīng)該因地制宜,根據(jù)自己處理的語(yǔ)音信號(hào)的點(diǎn)數(shù)進(jìn)行分析判斷采用那種方法更適合。設(shè)待處理信號(hào)的點(diǎn)數(shù)為N, ①若N比8000/16000的K(K為正整數(shù))倍略多,則可從待處理信號(hào)的第一點(diǎn)開(kāi)始采樣,每隔K個(gè)點(diǎn)采樣一次,共采樣8000/16000個(gè)點(diǎn),剩下的個(gè)別點(diǎn)數(shù)舍去;②若N比8000/16000的K(K為正整數(shù))倍略少,則可先在待處理信號(hào)的末尾補(bǔ)零,使信號(hào)的點(diǎn)數(shù)為8000/16000的K倍,然后從第一
60、點(diǎn)開(kāi)始采樣,同樣每隔K個(gè)點(diǎn)采樣一次共采樣8000/16000個(gè)點(diǎn);</p><p> ?、廴鬘比8000/16000的K(K為正整數(shù))倍多很多,比8000/16000的K+1(K為正整數(shù))倍少很多,如果用①②兩種方法勢(shì)必丟失很多有用信號(hào),這時(shí)可以用“四舍五入”法實(shí)現(xiàn),從第一點(diǎn)開(kāi)始采樣,以(N/8000)的絕對(duì)值作為采樣間隔,到第N點(diǎn)剛好是第8000個(gè)點(diǎn),等間隔采樣16000個(gè)點(diǎn)同理。因?yàn)殡x散信號(hào)不存在小數(shù)的n,所
61、以當(dāng)N/8000為小數(shù)時(shí)必須取絕對(duì)值,才能找到相對(duì)應(yīng)的值。</p><p> ☆等間隔取樣8000點(diǎn)和等間隔取樣16000點(diǎn)之間的不同:</p><p> 對(duì)于y信號(hào)等間隔采樣8000點(diǎn)和等間隔取樣16000點(diǎn)直接造成了采樣頻率的不同,采樣點(diǎn)數(shù)的多少也從一定程度上影響了音頻信號(hào)的質(zhì)量,用sound函數(shù)試聽(tīng)兩種不同采樣點(diǎn)數(shù)所形成的聲音信號(hào),對(duì)比可知:等間隔采樣8000點(diǎn)信號(hào)的聲音質(zhì)量比等
62、間隔采樣16000點(diǎn)信號(hào)差,因?yàn)椴蓸狱c(diǎn)數(shù)少使得原信號(hào)的許多有用信號(hào)丟失,造成了語(yǔ)音信號(hào)的不完整。</p><p><b> ☆采樣頻率的選擇</b></p><p> 采樣頻率是本次課程設(shè)計(jì)十分關(guān)鍵的一個(gè)量,貫穿始終,從第一步到最后一步都十分依賴于采樣頻率的取值。對(duì)于語(yǔ)音信號(hào)來(lái)說(shuō)采樣過(guò)程肯定會(huì)丟失一些數(shù)據(jù),采樣頻率不夠高還原后的信號(hào)就會(huì)失真,采樣的點(diǎn)少了,如果沒(méi)有
63、達(dá)到信號(hào)的最高頻率的兩倍,那就有頻譜混疊,恢復(fù)信號(hào)的時(shí)候和原信號(hào)就不一樣了,因此在處理過(guò)程中要選擇好采樣頻率.</p><p><b> ☆對(duì)濾波器的認(rèn)識(shí)</b></p><p> MATLAB提供了許多常見(jiàn)的濾波器,其中有很多常用的窗函數(shù),包括hanning、hamming、blackman、Kaiser等幾種,本次課程設(shè)計(jì)也是用窗函數(shù)法設(shè)計(jì)FIR濾波器,窗函數(shù)
64、法設(shè)計(jì)FIR濾波器一般分為3個(gè)步驟:第1步估計(jì)FIR濾波器階數(shù)M(或長(zhǎng)度N)。濾波器的階數(shù)是根據(jù)技術(shù)指標(biāo)確定的,可先設(shè)計(jì)濾波器,然后根據(jù)信號(hào)的頻譜調(diào)整程序中的技術(shù)指標(biāo)等參數(shù)。第2步確定所用的窗函數(shù)并計(jì)算出窗函數(shù)的值;第3步計(jì)算理想濾波器的單位脈沖響應(yīng)并用窗函數(shù)將其截?cái)嗉吹盟O(shè)計(jì)的FIR濾波器的h[k]。濾波器的設(shè)計(jì)需要不斷地調(diào)試,通過(guò)對(duì)比不同技術(shù)指標(biāo)濾波器處理下的聲音不斷地完善自己設(shè)計(jì)的濾波器。</p><p>
65、<b> 6.2不足</b></p><p> 本次課程設(shè)計(jì)的采樣頻率過(guò)小,直接導(dǎo)致大量的語(yǔ)音信號(hào)有效數(shù)據(jù)丟失(直接用wavread函數(shù)將連續(xù)信號(hào)采樣后,采樣頻率足夠大,不過(guò)經(jīng)重采樣后采樣頻率就小了),對(duì)比原始聲音與經(jīng)過(guò)重采樣后的聲音即可發(fā)現(xiàn)二者已有了很大的差別,這對(duì)之后的步驟產(chǎn)生了很大的影響。</p><p><b> 6.3思考</b>
66、</p><p> 1.從那幾種數(shù)字濾波器的幅頻特性曲線中可以觀察到雙線性變換法中Ω和ω之間的非線性關(guān)系? </p><p> 2.能否利用公式完成脈沖響應(yīng)不變法的數(shù)字濾波器設(shè)計(jì)?</p><p><b> 6.4結(jié)束語(yǔ)</b></p><p> 本次課程設(shè)計(jì)培養(yǎng)了我們的學(xué)習(xí)興趣,通過(guò)不斷地學(xué)習(xí)、查資料懂得了不少
67、課本上學(xué)不到的知識(shí),其中少不了同學(xué)之間的互相幫助,老師的細(xì)心點(diǎn)評(píng),集中體現(xiàn)了團(tuán)結(jié)協(xié)作精神,我們投入熱情、收獲經(jīng)驗(yàn)。通過(guò)這次的課程設(shè)計(jì),鞏固了以前C++的編程知識(shí),強(qiáng)化了對(duì)數(shù)字信號(hào)處理、信號(hào)與系統(tǒng)、數(shù)據(jù)通信原理等課程原理的認(rèn)識(shí)與把握,課本知識(shí)得到了升華。</p><p> 另外,通過(guò)本次課程設(shè)計(jì),我學(xué)習(xí)了MATLAB軟件信號(hào)處理方便的部分功能,深刻體會(huì)到該軟件的強(qiáng)大,里面齊全的函數(shù)以及配套完整的help語(yǔ)句幫助我
68、們實(shí)現(xiàn)各種各樣的要求。利用MATLAB的強(qiáng)大運(yùn)算功能,基于MATLAB信號(hào)處理工具箱(Signal Processing Toolbox)的數(shù)字濾波器設(shè)計(jì)法可以快速有效的設(shè)計(jì)由軟件組成的常規(guī)數(shù)字濾波器,設(shè)計(jì)方便、快捷,極大的減輕了工作量。在設(shè)計(jì)過(guò)程中可以對(duì)比濾波器特性,隨時(shí)更改參數(shù),以達(dá)到濾波器設(shè)計(jì)的最優(yōu)化,以此來(lái)實(shí)現(xiàn)本次課程設(shè)計(jì)最重要的濾波環(huán)節(jié)。</p><p> 本次課程設(shè)計(jì)給了我諸多感想,腦子里折射出許多
69、問(wèn)題。像我們這種專業(yè)的學(xué)生確實(shí)應(yīng)該多結(jié)合所學(xué)的理論知識(shí),加強(qiáng)動(dòng)手實(shí)踐能力,多學(xué)習(xí)相關(guān)軟件,多上網(wǎng)查詢資料,鞏固所學(xué)知識(shí),課程設(shè)計(jì)中往往能引發(fā)我們的深思,發(fā)揮我們的想象力,促進(jìn)我們不斷進(jìn)步,給我們學(xué)習(xí)的動(dòng)力。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]高西全,丁玉美 編著 數(shù)字信號(hào)處理.西安電子科技大學(xué)出版社,2008</p>
70、<p> [2]陳后金,胡健,薛健 編著 信號(hào)與系統(tǒng),高等教育出版社,2007</p><p> [3]劉波,文忠,曾涯 編著 MATLAB信號(hào)處理,電子工業(yè)出版社,2006</p><p> [4]萬(wàn)永革 編著,數(shù)字信號(hào)處理的MATLAB實(shí)現(xiàn),科學(xué)出版社,2007</p><p> [5]李勇,徐震 編著 MATLAB輔助現(xiàn)代工程數(shù)字信號(hào)處理,
71、西安電子科技大學(xué)出版社,2002</p><p> [6]張葛祥,李娜. 編著MATLAB仿真技術(shù)與應(yīng)用 清華大學(xué)出版社,2003</p><p> [7]李海淘,鄧櫻 編著MATLAB程序設(shè)計(jì)教程 高等教育出版社 ,2002</p><p> [8]董長(zhǎng)虹主編. 編著 MATLAB信號(hào)處理與應(yīng)用 國(guó)防工業(yè)出版社,2005</p><p&
72、gt;<b> 附錄:</b></p><p> [x,fs,bits]=wavread('d:\5.wav');</p><p> y=resample(x,8000,22050);</p><p> [m,n]=size(y);</p><p> z1=zeros(1,8000);</
73、p><p><b> k1=1;</b></p><p> for i=1:m/8000:m</p><p> i=round(i);</p><p> z1(k1)=y(i);</p><p><b> k1=k1+1;</b></p><p>
74、;<b> end</b></p><p> z2=zeros(1,16000);</p><p><b> k2=1;</b></p><p> for i=1:m/16000:m</p><p> i=round(i);</p><p> z2(k2)=y(i
75、);</p><p><b> k2=k2+1;</b></p><p><b> end</b></p><p> subplot(3,2,1); plot(y); title('原始信號(hào)波形');</p><p> subplot(3,2,2); plot(abs(y))
76、; title('原始信號(hào)頻譜');</p><p> y1=fft(z1);</p><p> subplot(3,2,3);plot(z1);title('等間隔采樣8000點(diǎn)的波形');</p><p> subplot(3,2,4);plot(abs(y1));title('等間隔采樣8000點(diǎn)的頻譜')
77、;</p><p> y2=fft(z2);</p><p> subplot(3,2,5);plot(z2);title('等間隔采樣16000點(diǎn)的波形');</p><p> subplot(3,2,6);plot(abs(y2));title('等間隔采樣16000點(diǎn)的頻譜');</p><p>&
78、lt;b> fs=22000;</b></p><p> Wp=2*5000/fs;</p><p> Ws=2*4800/fs;</p><p><b> Ap=1;</b></p><p><b> As=100;</b></p><p>
79、N=ceil(8*pi/(Wp-Ws))+1;</p><p> N=N+mod(N+1,2)+1;</p><p> Wc=(Wp+Ws)/2/pi;</p><p> b=fir1(N,Wc,'high');</p><p> omega=linspace(0,pi,512);</p><p&g
80、t; freqz(b,1,omega);</p><p> i1=fftfilt(b,z1);</p><p> i2=fft(i1);</p><p> i3=fftfilt(b,z2);</p><p> i4=fft(i3);</p><p> subplot(221); plot(i1); titl
81、e('等間隔采用8000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的波形');</p><p> subplot(222); plot(abs(i2)); title('等間隔采用8000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的頻譜');</p><p> subplot(223); plot(i3); title('等間隔采用16000點(diǎn)波形經(jīng)過(guò)濾波后信號(hào)的波形');<
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字信號(hào)課程設(shè)計(jì)語(yǔ)音信號(hào)的采集、分析與處理
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--語(yǔ)音信號(hào)的處理與濾波
- 數(shù)字信號(hào)處理課程設(shè)計(jì)---語(yǔ)音信號(hào)的處理與濾波
- 數(shù)字信號(hào)處理課程設(shè)計(jì)---語(yǔ)音信號(hào)的處理與濾波
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--語(yǔ)音信號(hào)的處理與濾波
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--語(yǔ)音信號(hào)濾波去噪
- 數(shù)字信號(hào)課程設(shè)計(jì)---語(yǔ)音信號(hào)的處理與濾波
- 數(shù)字信號(hào)處理課程設(shè)計(jì)---基于matlab的語(yǔ)音信號(hào)濾波處理
- 基于matlab的語(yǔ)音信號(hào)濾波處理——數(shù)字信號(hào)處理課程設(shè)計(jì)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--基于matlab有噪聲語(yǔ)音信號(hào)處理
- 基于matlab的語(yǔ)音信號(hào)濾波處理——數(shù)字信號(hào)處理課程設(shè)計(jì)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)-基于fir的有噪聲語(yǔ)音信號(hào)處理
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--用matlab對(duì)語(yǔ)音信號(hào)進(jìn)行分析及處理
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--基于fir的有噪聲語(yǔ)音信號(hào)處理
- 數(shù)字信號(hào)除處理課程設(shè)計(jì)-dft在信號(hào)頻譜分析中的應(yīng)用
- 數(shù)字信號(hào)處理課程設(shè)計(jì)---正余弦信號(hào)的譜分析
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--編程實(shí)現(xiàn)任意確定信號(hào)的頻譜分析算法
- 數(shù)字信號(hào)課程設(shè)計(jì)--語(yǔ)音數(shù)字信號(hào)處理與分析及matlab實(shí)現(xiàn)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)---應(yīng)用 matlab對(duì)信號(hào)進(jìn)行頻譜分析及濾波
- 數(shù)字信號(hào)課程設(shè)計(jì)--數(shù)字信號(hào)處理
評(píng)論
0/150
提交評(píng)論