版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)字信號處理</b></p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 課設(shè)題目:語音信號的采集與處理</p><p> 學(xué) 院:</p><p> 專 業(yè):</p><p> 班 級:</p>
2、<p> 姓 名:</p><p> 學(xué) 號:</p><p> 指導(dǎo)教師:</p><p> 2011 年7月1日</p><p> 課程設(shè)計(jì)報(bào)告撰寫要求</p><p><b> 1、頁面設(shè)置</b></p><p> 紙張大小設(shè)置為縱向A4
3、,頁邊距設(shè)置為:上3.8厘米,下 3.5厘米,左3厘米,右3厘米,頁眉設(shè)置為3厘米,頁腳設(shè)置為2.7厘米,文檔網(wǎng)絡(luò)設(shè)置為指定行和字符網(wǎng)格,每行34字,每頁34行。</p><p><b> 2、段落及字體設(shè)置</b></p><p> 除各級標(biāo)題外,首行縮進(jìn)2字符;圖、表及圖題、表題首行不縮進(jìn),居中放置;圖表不應(yīng)超出版心范圍;行距采用單倍行距。</p>
4、<p> 正文中文采用小四號宋體,英文采用新羅馬字體(Times New Roman),段前0磅,斷后0磅;</p><p> 一級標(biāo)題采用小二號黑體,段前12磅,段后12磅</p><p> 二級標(biāo)題采用小三號黑體,段前6磅,段后6磅</p><p> 三級標(biāo)題采用四號黑體,段前6磅,段后0磅</p><p><
5、b> 3、裝訂要求</b></p><p> 采用左側(cè)裝訂,訂兩釘。</p><p> 不要刪除行尾的分節(jié)符,此行不會被打印</p><p><b> 目 錄</b></p><p> 一. 課程設(shè)計(jì)任務(wù)1</p><p> 二. 課程設(shè)計(jì)原理及設(shè)計(jì)方案2<
6、;/p><p> 三. 課程設(shè)計(jì)的步驟和結(jié)果3</p><p> 四. 課程設(shè)計(jì)總結(jié)4</p><p><b> 五. 設(shè)計(jì)體會5</b></p><p><b> 六. 參考文獻(xiàn)6</b></p><p><b> 課程設(shè)計(jì)任務(wù)</b>&
7、lt;/p><p> 1、語音信號的采集 </p><p> 利用Windows下的錄音機(jī),錄制一段自己的話音,時(shí)間在1s內(nèi),然后在Matlab軟件平臺下,利用函數(shù)wavread對語音信號進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。</p><p> 2、語音信號的頻譜分析 </p><p> 在Matlab中,可以利用函數(shù)fft對信號進(jìn)行快速傅立
8、葉變換,得到信號的頻譜特性,要求學(xué)生首先畫出語音信號的時(shí)域波形,然后對語音信號進(jìn)行頻譜分析。</p><p> 3、設(shè)計(jì)數(shù)字濾波器和畫出其頻率響應(yīng)給出各濾波器的性能指標(biāo); </p><p> 給定濾波器的性能指標(biāo)如下: </p><p> (1)低通濾波器的性能指標(biāo):fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB. </p>
9、<p> (2)高通濾波器的性能指標(biāo):fc=4800Hz,fb=5000Hz,As=100dB,Ap=1dB. </p><p> (3)帶通濾波器的性能指標(biāo):fb1=1200Hz, fb2=3000Hz,fc1=1000Hz, fc2=3200Hz,As=100dB,Ap=1dB. </p><p> 采用窗函數(shù)法和雙線性變換法設(shè)計(jì)上面要求的3種濾波器,并畫出濾波器的
10、頻率響應(yīng); </p><p> 4、用濾波器對信號進(jìn)行濾波 </p><p> 然后用自己設(shè)計(jì)的濾波器對采集到的信號進(jìn)行濾波,畫出濾波后信號的時(shí)域波形及頻譜,并對濾波前后的信號進(jìn)行對比,分析信號的變化; </p><p> 5、回放語音信號,分析濾波前后的語音變化; </p><p><b> 6、設(shè)計(jì)系統(tǒng)界面 </
11、b></p><p> 為了使編制的程序操作方便,設(shè)計(jì)處理系統(tǒng)的用戶界面,在所設(shè)計(jì)的系統(tǒng)界面上可以選擇濾波器的類型,輸入濾波器的參數(shù)、顯示濾波器的頻率響應(yīng),選擇信號等。</p><p> 課程設(shè)計(jì)原理及設(shè)計(jì)方案</p><p> 1.用窗函數(shù)法設(shè)計(jì)FIR濾波器</p><p> 根據(jù)過渡帶寬及阻帶衰減要求,選擇窗函數(shù)的類型并估計(jì)
12、窗口長度N(或階數(shù)M=N-1),窗函數(shù)類型可根據(jù)最小阻帶衰減As獨(dú)立選擇,因?yàn)榇翱陂L度N對最小阻帶衰減As沒有影響,在確定窗函數(shù)類型以后,可根據(jù)過渡帶寬小于給定指標(biāo)確定所擬用的窗函數(shù)的窗口長度N,設(shè)待求濾波器的過渡帶寬為Δw,它與窗口長度N近似成反比,窗函數(shù)類型確定后,其計(jì)算公式也確定了,不過這些公式是近似的,得出的窗口長度還要在計(jì)算中逐步修正,原則是在保證阻帶衰減滿足要求的情況下,盡量選擇較小的N,在N和窗函數(shù)類型確定后,即可調(diào)用MA
13、TLAB中的窗函數(shù)求出窗函數(shù)wd(n)。</p><p> 根據(jù)待求濾波器的理想頻率響應(yīng)求出理想單位脈沖響應(yīng)hd(n),如果給出待求濾波器頻率應(yīng)為Hd,則理想的單位脈沖響應(yīng)可以用下面的傅里葉反變換式求出:</p><p> 在一般情況下,hd(n)是不能用封閉公式表示的,需要采用數(shù)值方法表示;從w=0到w=2π采樣N點(diǎn),采用離散傅里葉反變換(IDFT)即可求出。</p>
14、<p> 用窗函數(shù)wd(n)將hd(n)截?cái)?,并進(jìn)行加權(quán)處理,得到</p><p> 如果要求線性相位特性, 則h(n)還必須滿足:</p><p> 根據(jù)上式中的正、 負(fù)號和長度N的奇偶性又將線性相位FIR濾波器分成四類。 要根據(jù)所設(shè)計(jì)的濾波特性正確選擇其中一類。 例如, 要設(shè)計(jì)線性相位低通特性可選擇h(n)=h(N-1-n)一類,而不能選h(n)=-h(N-1-n)一類
15、。 </p><p> 驗(yàn)算技術(shù)指標(biāo)是否滿足要求,為了計(jì)算數(shù)字濾波器在頻域中的特性,可調(diào)用freqz子程序,如果不滿足要求,可根據(jù)具體情況,調(diào)整窗函數(shù)類型或長度,直到滿足要求為止。</p><p> 2.用雙線性變換法設(shè)計(jì)IIR數(shù)字濾波器</p><p> 脈沖響應(yīng)不變法的主要缺點(diǎn)是產(chǎn)生頻率響應(yīng)的混疊失真。這是因?yàn)閺腟平面到Z平面是多值的映射關(guān)系所造成的。為了
16、克服這一缺點(diǎn),可以采用非線性頻率壓縮方法,將整個(gè)頻率軸上的頻率范圍壓縮到-π/T~π/T之間,再用z=esT轉(zhuǎn)換到Z平面上。也就是說,第一步先將整個(gè)S平面壓縮映射到S1平面的-π/T~π/T一條橫帶里;第二步再通過標(biāo)準(zhǔn)變換關(guān)系z=es1T將此橫帶變換到整個(gè)Z平面上去。這樣就使S平面與Z平面建立了一一對應(yīng)的單值關(guān)系,消除了多值變換性,也就消除了頻譜混疊現(xiàn)象,映射關(guān)系如圖1所示。</p><p> 圖1雙線性變換的
17、映射關(guān)系</p><p> 為了將S平面的整個(gè)虛軸jΩ壓縮到S1平面jΩ1軸上的-π/T到π/T段上,可以通過以下的正切變換實(shí)現(xiàn)</p><p> (1)式中,T仍是采樣間隔。</p><p> 當(dāng)Ω1由-π/T經(jīng)過0變化到π/T時(shí),Ω由-∞經(jīng)過0變化到+∞,也即映射了整個(gè)jΩ軸。將式(1)寫成</p><p> 將此關(guān)系解析延拓到整
18、個(gè)S平面和S1平面,令jΩ=s,jΩ1=s1,則得</p><p> 再將S1平面通過以下標(biāo)準(zhǔn)變換關(guān)系映射到Z平面</p><p><b> z=es1T</b></p><p> 從而得到S平面和Z平面的單值映射關(guān)系為:</p><p><b> (2)</b></p>&l
19、t;p><b> (3)</b></p><p> 式(2)與式(3)是S平面與Z平面之間的單值映射關(guān)系,這種變換都是兩個(gè)線性函數(shù)之比,因此稱為雙線性變換</p><p> 式(1)與式(2)的雙線性變換符合映射變換應(yīng)滿足的兩點(diǎn)要求。</p><p> 首先,把z=ejω,可得</p><p><b&
20、gt; (4)</b></p><p> 即S平面的虛軸映射到Z平面的單位圓。</p><p> 其次,將s=σ+jΩ代入式(4),得</p><p><b> 因此</b></p><p> 由此看出,當(dāng)σ<0時(shí),|z|<1;當(dāng)σ>0時(shí),|z|>1。也就是說,S平面的左半平
21、面映射到Z平面的單位圓內(nèi),S平面的右半平面映射到Z平面的單位圓外,S平面的虛軸映射到Z平面的單位圓上。因此,穩(wěn)定的模擬濾波器經(jīng)雙線性變換后所得的數(shù)字濾波器也一定是穩(wěn)定的。</p><p><b> 雙線性變換法優(yōu)缺點(diǎn)</b></p><p> 雙線性變換法與脈沖響應(yīng)不變法相比,其主要的優(yōu)點(diǎn)是避免了頻率響應(yīng)的混疊現(xiàn)象。這是因?yàn)镾平面與Z平面是單值的一一對應(yīng)關(guān)系。S平
22、面整個(gè)jΩ軸單值地對應(yīng)于Z平面單位圓一周,即頻率軸是單值變換關(guān)系。這個(gè)關(guān)系如式(4)所示,重寫如下:</p><p> 上式表明,S平面上Ω與Z平面的ω成非線性的正切關(guān)系,如圖2所示。</p><p> 由圖2看出,在零頻率附近,模擬角頻率Ω與數(shù)字頻率ω之間的變換關(guān)系接近于線性關(guān)系;但當(dāng)Ω進(jìn)一步增加時(shí),ω增長得越來越慢,最后當(dāng)Ω→∞時(shí),ω終止在折疊頻率ω=π處,因而雙線性變換就不會出現(xiàn)
23、由于高頻部分超過折疊頻率而混淆到低頻部分去的現(xiàn)象,從而消除了頻率混疊現(xiàn)象。</p><p> 圖2雙線性變換法的頻率變換關(guān)系</p><p> 但是雙線性變換的這個(gè)特點(diǎn)是靠頻率的嚴(yán)重非線性關(guān)系而得到的,如式(4)及圖2所示。由于這種頻率之間的非線性變換關(guān)系,就產(chǎn)生了新的問題。首先,一個(gè)線性相位的模擬濾波器經(jīng)雙線性變換后得到非線性相位的數(shù)字濾波器,不再保持原有的線性相位了;其次,這種非線
24、性關(guān)系要求模擬濾波器的幅頻響應(yīng)必須是分段常數(shù)型的,即某一頻率段的幅頻響應(yīng)近似等于某一常數(shù)(這正是一般典型的低通、高通、帶通、帶阻型濾波器的響應(yīng)特性),不然變換所產(chǎn)生的數(shù)字濾波器幅頻響應(yīng)相對于原模擬濾波器的幅頻響應(yīng)會有畸變,如圖3所示。</p><p> 圖3雙線性變換法幅度和相位特性的非線性映射</p><p> 對于分段常數(shù)的濾波器,雙線性變換后,仍得到幅頻特性為分段常數(shù)的濾波器,但
25、是各個(gè)分段邊緣的臨界頻率點(diǎn)產(chǎn)生了畸變,這種頻率的畸變,可以通過頻率的預(yù)畸來加以校正。也就是將臨界模擬頻率事先加以畸變,然后經(jīng)變換后正好映射到所需要的數(shù)字頻率上。</p><p> 課程設(shè)計(jì)的步驟和結(jié)果</p><p> 1、語音信號的采集 </p><p> 利用Windows下的錄音機(jī),錄制一段自己的話音,時(shí)間在1s內(nèi),然后在Matlab軟件平臺下,利用函數(shù)
26、wavread對語音信號進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。</p><p><b> 程序:</b></p><p> [y,fs,nbits]=wavread(' E:\matlab_yuyin\my voice.wav ')</p><p><b> 得到:</b></p><
27、p><b> fs =</b></p><p><b> 22050</b></p><p><b> nbits =</b></p><p><b> 16</b></p><p> 由此可知,采樣頻率為22050Hz,采樣點(diǎn)數(shù)為16bi
28、t</p><p> 2、語音信號的頻譜分析 </p><p> 在Matlab中,利用函數(shù)fft對信號進(jìn)行快速傅立葉變換,得到信號的頻譜特性,首先畫出語音信號的時(shí)域波形,然后對語音信號進(jìn)行頻譜分析。</p><p><b> 程序:</b></p><p> [y,fs,nbits]=wavread('
29、E:\matlab_yuyin\my voice.wav');</p><p> sound(y,fs,nbits);</p><p> y = y - mean(y); %去直流成分</p><p> Y = fftshift(abs(fft(y)));</p><p> w = linspace(-fs/2,fs/2,
30、length(Y));</p><p> subplot(2,1,1),plot(y);title('原始信號波形');</p><p> subplot(2,1,2),plot(w,Y);title('原始信號頻譜');</p><p> axis([0,2000,-inf,inf]);</p><p>
31、; 3、設(shè)計(jì)數(shù)字濾波器和畫出其頻率響應(yīng)給出各濾波器的性能指標(biāo); </p><p> 給定濾波器的性能指標(biāo)如下: </p><p> (1)低通濾波器的性能指標(biāo):fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB. </p><p> (2)高通濾波器的性能指標(biāo):fc=4800Hz,fb=5000Hz,As=100dB,Ap=1dB. &l
32、t;/p><p> (3)帶通濾波器的性能指標(biāo):fb1=1200Hz, fb2=3000Hz,fc1=1000Hz, fc2=3200Hz,As=100dB,Ap=1dB. </p><p> 采用窗函數(shù)法和雙線性變換法設(shè)計(jì)上面要求的3種濾波器,并畫出濾波器的頻率響應(yīng); </p><p> 4、用濾波器對信號進(jìn)行濾波 </p><p>
33、 用自己設(shè)計(jì)的濾波器對采集到的信號進(jìn)行濾波,畫出濾波后信號的時(shí)域波形及頻譜,并對濾波前后的信號進(jìn)行對比,分析信號的變化; </p><p> 窗函數(shù)法設(shè)計(jì)FIR濾波器:</p><p><b> 低通濾波器</b></p><p> clear all;</p><p><b> Ft=22050;&l
34、t;/b></p><p><b> Fp=1000;</b></p><p><b> Fs=1200;</b></p><p> [y,fs,nbits]=wavread('my voice.wav');</p><p> %sound(y,fs,nbits);&l
35、t;/p><p> y=y-mean(y);</p><p> wp=2*Fp/Ft;</p><p> ws=2*Fs/Ft;</p><p><b> As=100;</b></p><p> wdel = ws - wp; %過渡帶寬</p><p>
36、 N= ceil( 8*pi/wdel );%取整</p><p> Wn = (wp + ws)/2 %截止頻率即Wc</p><p><b> % N取奇數(shù)</b></p><p> if mod(N,2)==0</p><p> N= N + 1; %若為偶數(shù)則加1</p><p
37、><b> end</b></p><p> fcuts=[1000*2/Ft 1200*2/Ft]; %歸一化頻率</p><p> mags=[1 0];</p><p> devs=[1-10^(1/-20) 10^(40/-20)];</p><p> [N,Wn,beta,ftype]=kais
38、erord(fcuts,mags,devs); %計(jì)算出凱塞窗N,beta的值</p><p> b= fir1(N,Wn,ftype,kaiser(N+1,beta),'noscale'); </p><p> freq_axis = [0:pi/512:pi-pi/512]; </p><p> freq_norm = [0:511]
39、/512; %歸一化的頻率軸 </p><p> H= freqz( b);%變成頻率響應(yīng) %b為h[n]系數(shù),1表示無極點(diǎn)(因?yàn)槭荈IR),512表示點(diǎn)數(shù))</p><p> subplot(2,1,1);</p><p> plot( freq_norm,20*log10(abs(H)) ); %畫對數(shù)幅度譜</p><p
40、><b> hold on;</b></p><p> xlabel( '歸一化頻率w/pi' ); ylabel( '幅度(dB)' );</p><p> title( 'FIR-幅度響應(yīng)');</p><p> subplot(2,1,2);</p><p&
41、gt; plot( freq_norm,angle(H) ); hold on;</p><p> xlabel( '歸一化頻率w/pi' ); ylabel( '相位' );</p><p> title( 'FIR-相位響應(yīng)');</p><p> f2=filter(b,1,y); %濾波</p
42、><p><b> figure(2)</b></p><p> subplot(2,1,1)</p><p><b> plot(y)</b></p><p> title('FIR低通濾波器濾波前的時(shí)域波形');</p><p> subplot(2
43、,1,2)</p><p><b> plot(f2);</b></p><p> title('FIR低通濾波器濾波后的時(shí)域波形');</p><p> sound(f2); %播放濾波后的語音信號</p><p> F0=fftshift(abs(fft(
44、f2)));</p><p><b> figure(3)</b></p><p> y2 = fftshift(abs(fft(y)));</p><p> w = linspace(-Ft/2,Ft/2,length(y2));</p><p> subplot(2,1,1);</p><
45、p> plot(w,y2);</p><p> title('FIR低通濾波器濾波前的頻譜')</p><p> xlabel('頻率/Hz');</p><p> ylabel('幅值');</p><p> w = linspace(-Ft/2,Ft/2,length(F0)
46、);</p><p> subplot(2,1,2)</p><p> plot(w,F0);</p><p> title('FIR低通濾波器濾波后的頻譜')</p><p> xlabel('頻率/Hz');</p><p> ylabel('幅值');&l
47、t;/p><p> 分析:由頻率響應(yīng)可看出為低通,與題目要求的fp1=1000,fs1=1200基本吻合,阻帶衰減近似為100,且為線性相位。</p><p> 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了低頻成分,濾掉了高頻成分。</p><p><b> 高通濾波器</b></p><p> clear all;<
48、/p><p><b> Ft=22050;</b></p><p><b> Fp=5000;</b></p><p><b> Fs=4800;</b></p><p> [y,fs,nbits]=wavread('my voice.wav');</
49、p><p> %sound(y,fs,nbits);</p><p> y=y-mean(y);</p><p> wp=2*Fp/Ft;</p><p> ws=2*Fs/Ft;</p><p><b> As=100;</b></p><p> wdel = w
50、p - ws; %過渡帶寬</p><p> N= ceil( 8*pi/wdel );%取整</p><p> Wn = (wp + ws)/2 %截止頻率即Wc</p><p><b> % N取奇數(shù)</b></p><p> if mod(N,2)==0</p><p>
51、 N= N + 1; %若為偶數(shù)則加1</p><p><b> end</b></p><p> fcuts=[4800*2/Ft 5000*2/Ft]; %歸一化頻率</p><p> mags=[0 1];</p><p> devs=[1-10^(1/-20) 10^(40/-20)];</p
52、><p> [N,Wn,beta,ftype]=kaiserord(fcuts,mags,devs); %計(jì)算出凱塞窗N,beta的值</p><p> b= fir1(N,Wn,ftype,kaiser(N+1,beta),'noscale'); </p><p> freq_axis = [0:pi/512:pi-pi/512]; <
53、;/p><p> freq_norm = [0:511]/512; %歸一化的頻率軸 </p><p> H= freqz( b);%變成頻率響應(yīng) %b為h[n]系數(shù),1表示無極點(diǎn)(因?yàn)槭荈IR),512表示點(diǎn)數(shù))</p><p> subplot(2,1,1);</p><p> plot( freq_norm,20*lo
54、g10(abs(H)) ); %畫對數(shù)幅度譜</p><p><b> hold on;</b></p><p> xlabel( '歸一化頻率w/pi' ); ylabel( '幅度(dB)' );</p><p> title( 'FIR-幅度響應(yīng)');</p><p
55、> subplot(2,1,2);</p><p> plot( freq_norm,angle(H) ); hold on;</p><p> xlabel( '歸一化頻率w/pi' ); ylabel( '相位' );</p><p> title( 'FIR-相位響應(yīng)');</p>&
56、lt;p> f2=filter(b,1,y);</p><p><b> figure(2)</b></p><p> subplot(2,1,1)</p><p><b> plot(y)</b></p><p> title('FIR高通濾波器濾波前的時(shí)域波形')
57、;</p><p> subplot(2,1,2)</p><p><b> plot(f2);</b></p><p> title('FIR高通濾波器濾波后的時(shí)域波形');</p><p> sound(f2); %播放濾波后的語音信號</p>
58、<p> F0=fftshift(abs(fft(f2)));</p><p><b> figure(3)</b></p><p> y2 = fftshift(abs(fft(y)));</p><p> w = linspace(-Ft/2,Ft/2,length(y2));</p><p>
59、 subplot(2,1,1);</p><p> plot(w,y2);</p><p> title('FIR高通濾波器濾波前的頻譜')</p><p> xlabel('頻率/Hz');</p><p> ylabel('幅值');</p><p> w
60、 = linspace(-Ft/2,Ft/2,length(F0));</p><p> subplot(2,1,2)</p><p> plot(w,F0);</p><p> title('FIR高通濾波器濾波后的頻譜')</p><p> xlabel('頻率/Hz');</p>&
61、lt;p> ylabel('幅值');</p><p> 分析:由頻率響應(yīng)可看出為高通,與題目要求的fp1=5000,fs1=4800基本吻合,阻帶衰減近似為100,且為線性相位。</p><p> 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了高頻成分,濾掉了低頻成分。</p><p><b> 帶通濾波器</b><
62、/p><p> clear all;</p><p><b> Ft=22050;</b></p><p><b> Fp1=1200;</b></p><p><b> Fp2=3000;</b></p><p><b> Fs1=10
63、00;</b></p><p><b> Fs2=3200;</b></p><p> [y,fs,nbits]=wavread('my voice.wav');</p><p> %sound(y,fs,nbits);</p><p> y=y-mean(y);</p>
64、<p> wp1=2*Fp1/Ft;</p><p> wp2=2*Fp2/Ft;</p><p> ws1=2*Fs1/Ft;</p><p> ws2=2*Fs2/Ft;</p><p><b> As=100;</b></p><p> wp=(wp1 + ws1)/
65、2;</p><p> ws=(wp2 + ws2)/2;</p><p> wdel = wp1 - ws1; %過渡帶寬</p><p> N= ceil( 8*pi/wdel );%取整</p><p> Wn = [wp ws]; %截止頻率即Wc</p><p><b> % N取
66、奇數(shù)</b></p><p> if mod(N,2)==0</p><p> N= N + 1; %若為偶數(shù)則加1</p><p><b> end</b></p><p> fcuts=[1000*2/Ft 1200*2/Ft 3000*2/Ft 3200*2/Ft]; %歸一化頻率</
67、p><p> mags=[0 1 0];</p><p> devs=[0.01 0.1087 0.01];</p><p> [N,Wn,beta,ftype]=kaiserord(fcuts,mags,devs); %計(jì)算出凱塞窗N,beta的值</p><p> b= fir1(N,Wn,ftype,kaiser(N+1,beta
68、),'noscale'); </p><p> freq_axis = [0:pi/512:pi-pi/512]; </p><p> freq_norm = [0:511]/512; %歸一化的頻率軸 </p><p> H= freqz( b);%變成頻率響應(yīng) %b為h[n]系數(shù),1表示無極點(diǎn)(因?yàn)槭荈IR),512表示點(diǎn)
69、數(shù))</p><p> subplot(2,1,1);</p><p> plot( freq_norm,20*log10(abs(H)) ); %畫對數(shù)幅度譜</p><p><b> hold on;</b></p><p> xlabel( '歸一化頻率w/pi' ); ylabel(
70、39;幅度(dB)' );</p><p> title( 'FIR-幅度響應(yīng)');</p><p> subplot(2,1,2);</p><p> plot( freq_norm,angle(H) ); hold on;</p><p> xlabel( '歸一化頻率w/pi' ); yl
71、abel( '相位' );</p><p> title( 'FIR-相位響應(yīng)');</p><p> f2=filter(b,1,y);</p><p><b> figure(2)</b></p><p> subplot(2,1,1)</p><p>
72、<b> plot(y)</b></p><p> title('FIR帶通濾波器濾波前的時(shí)域波形');</p><p> subplot(2,1,2)</p><p><b> plot(f2);</b></p><p> title('FIR帶通濾波器濾波后的時(shí)
73、域波形');</p><p> sound(f2); %播放濾波后的語音信號</p><p> F0=fftshift(abs(fft(f2)));</p><p><b> figure(3)</b></p><p> y2 = fftshift(abs(fft(y
74、)));</p><p> w = linspace(-Ft/2,Ft/2,length(y2));</p><p> subplot(2,1,1);</p><p> plot(w,y2);</p><p> title('FIR帶通濾波器濾波前的頻譜')</p><p> xlabel(&
75、#39;頻率/Hz');</p><p> ylabel('幅值');</p><p> w = linspace(-Ft/2,Ft/2,length(F0));</p><p> subplot(2,1,2)</p><p> plot(w,F0);</p><p> title(&
76、#39;FIR帶通濾波器濾波后的頻譜')</p><p> xlabel('頻率/Hz');</p><p> ylabel('幅值');</p><p> 分析:由頻率響應(yīng)可看出為帶通,與題目要求的fp1=1200,fp2=3000,fs1=1000,fs2=3200基本吻合,阻帶衰減近似為100,且為線性相位。<
77、;/p><p> 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了通帶中的頻率成分,濾掉了低頻和高頻成分。</p><p> 雙線性變換法設(shè)計(jì)IIR濾波器</p><p><b> (1)低通濾波器</b></p><p> clear all;</p><p><b> Ft=22050;&
78、lt;/b></p><p><b> Fp=1000;</b></p><p><b> Fs=1200;</b></p><p> [y,fs,nbits]=wavread('my voice.wav');</p><p> %sound(y,fs,nbits);&
79、lt;/p><p> y=y-mean(y);</p><p><b> as=100;</b></p><p><b> ap=1;</b></p><p> wp=2*pi*Fp/Ft;</p><p> ws=2*pi*Fs/Ft;</p><
80、p><b> fs1=1;</b></p><p> fp=2*tan(wp/2);</p><p> fs=2*tan(ws/2);</p><p> [n11,wn11]=ellipord(wp,ws,ap,as,'s');</p><p> [b11,a11]=ellip(n11,a
81、p,as,wn11,'low','s');</p><p> [num11,den11]=bilinear(b11,a11,fs1);</p><p> [h,w]=freqz(num11,den11,512,Ft);</p><p> subplot(2,1,1);</p><p> plot( w,
82、20*log10(abs(h)) ); %畫對數(shù)幅度譜</p><p><b> hold on;</b></p><p> xlabel( '歸一化頻率w/pi' ); ylabel( '幅度(dB)' );</p><p> title( 'IIR-幅度響應(yīng)');</p>
83、<p> subplot(2,1,2);</p><p> plot( w,angle(h) ); hold on;</p><p> xlabel( '歸一化頻率w/pi' ); ylabel( '相位' );</p><p> title( 'IIR-相位響應(yīng)');</p><
84、p> f1=filter(num11,den11,y);</p><p><b> figure(2)</b></p><p> subplot(2,1,1)</p><p> plot(y) %畫出濾波前的時(shí)域圖</p><p> title('
85、IIR低通濾波器濾波前的時(shí)域波形');</p><p> subplot(2,1,2)</p><p> plot(f1); %畫出濾波后的時(shí)域圖</p><p> title('IIR低通濾波器濾波后的時(shí)域波形');</p><p> sound(f1);
86、 %播放濾波后的信號</p><p> F0=fftshift(abs(fft(f1)));</p><p> w = linspace(-Ft/2,Ft/2,length(F0));</p><p><b> figure(3)</b></p><p> y2=fftshift(
87、abs(fft(y)));</p><p> subplot(2,1,1);</p><p> plot(w,y2); %畫出濾波前的頻譜圖</p><p> title('IIR低通濾波器濾波前的頻譜')</p><p> xlabel('頻率/Hz');</p>
88、<p> ylabel('幅值');</p><p> w = linspace(-Ft/2,Ft/2,length(y2));</p><p> subplot(2,1,2)</p><p> plot(w,abs(F0)); %畫出濾波后的頻譜圖</p><p> title(
89、9;IIR低通濾波器濾波后的頻譜')</p><p> xlabel('頻率/Hz');</p><p> ylabel('幅值');</p><p> 分析:由頻率響應(yīng)可看出為低通,與題目要求的fp1=1000,fs1=1200基本吻合,阻帶衰減近似為100,但非線性相位。</p><p>
90、比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了低頻成分,濾掉了高頻成分。</p><p><b> (2)高通濾波器</b></p><p> clear all;</p><p><b> Ft=22050;</b></p><p><b> Fp=5000;</b></
91、p><p><b> Fs=4800;</b></p><p> [y,fs,nbits]=wavread('my voice.wav');</p><p> %sound(y,fs,nbits);</p><p> y=y-mean(y);</p><p><b>
92、 as=100;</b></p><p><b> ap=1;</b></p><p> wp=2*pi*Fp/Ft;</p><p> ws=2*pi*Fs/Ft;</p><p><b> fs1=1;</b></p><p> fp=2*tan(
93、wp/2);</p><p> fs=2*tan(ws/2);</p><p> [n11,wn11]=ellipord(wp,ws,ap,as,'s');</p><p> [b11,a11]=ellip(n11,ap,as,wn11,'high','s');</p><p> [nu
94、m11,den11]=bilinear(b11,a11,fs1);</p><p> [h,w]=freqz(num11,den11,512,Ft);</p><p> subplot(2,1,1);</p><p> plot( w,20*log10(abs(h)) ); %畫對數(shù)幅度譜</p><p><b> hold
95、 on;</b></p><p> xlabel( '歸一化頻率w/pi' ); ylabel( '幅度(dB)' );</p><p> title( 'IIR-幅度響應(yīng)');</p><p> subplot(2,1,2);</p><p> plot( w,angle(
96、h) ); hold on;</p><p> xlabel( '歸一化頻率w/pi' ); ylabel( '相位' );</p><p> title( 'IIR-相位響應(yīng)');</p><p> f1=filter(num11,den11,y);</p><p><b>
97、 figure(2)</b></p><p> subplot(2,1,1)</p><p> plot(y) %畫出濾波前的時(shí)域圖</p><p> title('IIR高通濾波器濾波前的時(shí)域波形');</p><p> subplot(2,1,2)<
98、;/p><p> plot(f1); %畫出濾波后的時(shí)域圖</p><p> title('IIR高通濾波器濾波后的時(shí)域波形');</p><p> sound(f1); %播放濾波后的信號</p><p> F0=fftshift(ab
99、s(fft(f1)));</p><p> w = linspace(-Ft/2,Ft/2,length(F0));</p><p><b> figure(3)</b></p><p> y2=fftshift(abs(fft(y)));</p><p> subplot(2,1,1);</p>
100、<p> plot(w,y2); %畫出濾波前的頻譜圖</p><p> title('IIR高通濾波器濾波前的頻譜')</p><p> xlabel('頻率/Hz');</p><p> ylabel('幅值');</p><p> w = lin
101、space(-Ft/2,Ft/2,length(y2));</p><p> subplot(2,1,2)</p><p> plot(w,abs(F0)); %畫出濾波后的頻譜圖</p><p> title('IIR高通濾波器濾波后的頻譜')</p><p> xlabel('頻率/Hz&
102、#39;);</p><p> ylabel('幅值');</p><p> 分析:由頻率響應(yīng)可看出為高通,與題目要求的fp1=5000,fs1=4800基本吻合,阻帶衰減近似為100,但非線性相位。</p><p> 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了高頻成分,濾掉了低頻成分。</p><p><b>
103、(3)帶通濾波器</b></p><p> clear all;</p><p><b> Ft=22050;</b></p><p><b> Fp1=1200;</b></p><p><b> Fp2=3000;</b></p><
104、p><b> Fs1=1000;</b></p><p><b> Fs2=3200;</b></p><p> [y,fs,nbits]=wavread('my voice.wav');</p><p> %sound(y,fs,nbits);</p><p> y
105、=y-mean(y);</p><p> Fp=[Fp1,Fp2];</p><p> Fs=[Fs1,Fs2];</p><p><b> as=100;</b></p><p><b> ap=1;</b></p><p><b> T=2;</
106、b></p><p> wp1=2*pi*Fp1/Ft;</p><p> wp2=2*pi*Fp2/Ft;</p><p> ws1=2*pi*Fs1/Ft;</p><p> ws2=2*pi*Fs2/Ft;</p><p> Wp1=(2/T)*tan(wp1/2);</p><
107、;p> Wp2=(2/T)*tan(wp2/2);</p><p> Ws1=(2/T)*tan(ws1/2);</p><p> Ws2=(2/T)*tan(ws1/2)</p><p> W0=Wp1*Wp2;</p><p> w0=sqrt(W0);</p><p> BW=Wp2-Wp1;
108、%帶通濾波器的通帶寬度</p><p> lp=1; %歸一化處理</p><p> ls=Ws1*BW/(W0-Ws1^2);</p><p> [N,Wn]=ellipord(lp,ls,ap,as,'s');</p><p> [B,A]=ellip(N,1,40,Wn,'s');</p&g
109、t;<p> [BT,AT]=lp2bp(B,A,w0,BW);</p><p> [num,den]=bilinear(BT,AT,0.5);</p><p> [z,p,k]=tf2zp(num,den);</p><p> [h,w]=freqz(num,den,512,Ft);</p><p><b>
110、 figure(1)</b></p><p> subplot(2,1,1);</p><p> plot( w,20*log10(abs(h)) ); %畫對數(shù)幅度譜</p><p><b> hold on;</b></p><p> xlabel( '頻率w/pi' ); yl
111、abel( '幅度(dB)' );</p><p> title( 'IIR-幅度響應(yīng)');</p><p> subplot(2,1,2);</p><p> plot( w,angle(h) ); hold on;</p><p> xlabel( '頻率w/pi' ); ylabe
112、l( '相位' );</p><p> title( 'IIR-相位響應(yīng)');</p><p> f1=filter(num,den,y);</p><p><b> figure(2)</b></p><p> subplot(2,1,1)</p><p>
113、; plot(y) %畫出濾波前的時(shí)域圖</p><p> title('IIR帶通濾波器濾波前的時(shí)域波形');</p><p> subplot(2,1,2)</p><p> plot(f1); %畫出濾波后的時(shí)域圖</p>&
114、lt;p> title('IIR帶通濾波器濾波后的時(shí)域波形');</p><p> sound(f1); %播放濾波后的信號</p><p> F0=fftshift(abs(fft(f1)));</p><p> w = linspace(-Ft/2,Ft/2,length(F0));</p
115、><p><b> figure(3)</b></p><p> y2=fftshift(abs(fft(y)));</p><p> subplot(2,1,1);</p><p> plot(w,y2); %畫出濾波前的頻譜圖</p><p> title(
116、9;IIR帶通濾波器濾波前的頻譜')</p><p> xlabel('頻率/Hz');</p><p> ylabel('幅值');</p><p> w = linspace(-Ft/2,Ft/2,length(y2));</p><p> subplot(2,1,2)</p>
117、<p> plot(w,abs(F0)); %畫出濾波后的頻譜圖</p><p> title('IIR帶通濾波器濾波后的頻譜')</p><p> xlabel('頻率/Hz');</p><p> ylabel('幅值');</p><p> 分析:由
118、頻率響應(yīng)可看出為帶通,與題目要求的fp1=1200,fp2=3000,fs1=1000,fs2=3200基本吻合,阻帶衰減近似為100,但非線性相位。</p><p> 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了通帶中的頻率成分,濾掉了低頻和高頻成分。</p><p> 此外,還可以利用matlab自帶的fdatool工具來設(shè)計(jì)已知fp,fs和衰減的濾波器,例1(IIR濾波器設(shè)計(jì)):設(shè)計(jì)巴特
119、沃斯高通濾波器,性能指標(biāo)為Fs=22050Hz,fs=4800Hz,fp=5000Hz,Ap=1,As=100。在fdatool界面中輸入?yún)?shù),并生成相應(yīng)的.m文件,然后求得濾波器的頻率響應(yīng)輸出。</p><p><b> 程序:</b></p><p> %function Hd = fdatool_butter_high</p><p>
120、; %FDATOOL_BUTTER_HIGH Returns a discrete-time filter object.</p><p> % M-File generated by MATLAB(R) 7.8 and the Signal Processing Toolbox 6.11.</p><p> % Generated on: 05-Jul-2011 21:16:59&
121、lt;/p><p> % Butterworth Highpass filter designed using FDESIGN.HIGHPASS.</p><p> % All frequency values are in Hz.</p><p> Fs = 22050; % Sampling Frequency</p><p> F
122、stop = 4800; % Stopband Frequency</p><p> Fpass = 5000; % Passband Frequency</p><p> Astop = 100; % Stopband Attenuation (dB)</p><p> Apass = 1; %
123、 Passband Ripple (dB)</p><p> match = 'stopband'; % Band to match exactly</p><p> % Construct an FDESIGN object and call its BUTTER method.</p><p> h = fdesign.highpass
124、(Fstop, Fpass, Astop, Apass, Fs);</p><p> Hd = design(h, 'butter', 'MatchExactly', match);</p><p> H = freqz(Hd);</p><p> w = linspace(0,Fs/2,length(H));</p>
125、;<p> subplot(2,1,1);</p><p> plot(w,20*log10(abs(H)));%畫對數(shù)幅度譜</p><p><b> hold on;</b></p><p> xlabel( '歸一化頻率w/pi' ); ylabel( '幅度(dB)' );</
126、p><p> title( 'IIR-幅度響應(yīng)');</p><p> subplot(2,1,2);</p><p> plot( w,angle(H) ); hold on;</p><p> xlabel( '歸一化頻率w/pi' ); ylabel( '相位' );</p>
127、;<p> title( 'IIR-相位響應(yīng)');</p><p><b> % [EOF]</b></p><p> 可得到頻率響應(yīng)如下圖:</p><p> 例2(FIR濾波器設(shè)計(jì)):設(shè)計(jì)凱撒高通濾波器,性能指標(biāo)為Fs=22050Hz,fs=4800Hz,fp=5000Hz,Ap=1,As=100。則關(guān)
128、鍵程序?yàn)椋?lt;/p><p> [N,Wn,BETA,TYPE] = kaiserord([Fstop Fpass]/(Fs/2), [0 1], [Dpass Dstop]);</p><p> % Calculate the coefficients using the FIR1 function.</p><p> b = fir1(N, Wn, TYP
129、E, kaiser(N+1, BETA), flag);</p><p> Hd = dfilt.dffir(b);</p><p> H= freqz( b);%變成頻率響應(yīng) %b為h[n]系數(shù),1表示無極點(diǎn)(因?yàn)槭荈IR),512表示點(diǎn)數(shù))</p><p> subplot(2,1,1);</p><p> plot( freq_
130、norm,20*log10(abs(H)) ); %畫對數(shù)幅度譜</p><p> 5、回放語音信號,分析濾波前后的語音變化; </p><p> 使用函數(shù)sound(y,fs,nbits)播放濾波前語音信號;</p><p> y經(jīng)過濾波后為f2,使用sound(f2)播放濾波后語音信號</p><p> 語音變化:語音信號經(jīng)過低通
131、濾波能聽到與原始語音信號近似的聲音,但明顯低沉一些,而經(jīng)過高通和帶通后可聽到混濁的聲音,但無法聽清。</p><p><b> 6、設(shè)計(jì)系統(tǒng)界面 </b></p><p> 為了使編制的程序操作方便,設(shè)計(jì)處理系統(tǒng)的用戶界面,在所設(shè)計(jì)的系統(tǒng)界面上可以選擇濾波器的類型,即FIR或IIR,低通、高通或帶通;輸入濾波器的參數(shù):fp1,fp2,fs1,fs2,ap,as;顯
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字信號課程設(shè)計(jì)--數(shù)字信號處理
- 數(shù)字信號處理課程設(shè)計(jì)報(bào)告
- 數(shù)字信號處理課程設(shè)計(jì)報(bào)告
- 數(shù)字信號處理課程設(shè)計(jì)報(bào)告
- 數(shù)字信號處理課程設(shè)計(jì)報(bào)告 (2)
- 數(shù)字信號處理(dsp)課程設(shè)計(jì)報(bào)告
- 數(shù)字信號處理課程設(shè)計(jì)項(xiàng)目報(bào)告
- 數(shù)字信號處理課程設(shè)計(jì)
- 數(shù)字信號處理課程設(shè)計(jì)
- 數(shù)字信號處理課程設(shè)計(jì)
- 數(shù)字信號處理課程設(shè)計(jì)
- 數(shù)字信號處理課程設(shè)計(jì)
- 數(shù)字信號處理課程設(shè)計(jì)
- 數(shù)字信號處理課程設(shè)計(jì)
- 數(shù)字信號課程設(shè)計(jì)報(bào)告
- dsp數(shù)字信號處理課程設(shè)計(jì)報(bào)告8
- 數(shù)字信號處理課程設(shè)計(jì) (2)
- 數(shù)字信號處理課程設(shè)計(jì)2
- 數(shù)字信號處理課程設(shè)計(jì)--離散時(shí)間信號處理
- 數(shù)字信號處理課程設(shè)計(jì)--使用matlab工具進(jìn)行數(shù)字信號處理
評論
0/150
提交評論