版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告課設(shè)題目:語音信號(hào)的采集與處理學(xué) 院:專 業(yè):班 級(jí):姓 名:學(xué) 號(hào):指導(dǎo)教師:2011 年7月1日 課程設(shè)計(jì)報(bào)告撰寫要求1、頁面設(shè)置紙張大小設(shè)置為縱向a4,頁邊距設(shè)置為:上3.8厘米,下 3.5厘米,左3厘米,右3厘米,頁眉設(shè)置為3厘米,頁腳設(shè)置為2.7厘米,文檔網(wǎng)絡(luò)設(shè)置為指定行和字符網(wǎng)格,每行34字,每頁34行。2、段落及字體設(shè)置除各級(jí)標(biāo)題外,首行縮進(jìn)2字符;圖、表及圖題、表題首行不縮進(jìn),居中放置;圖表不應(yīng)超出版心范圍;行距采用單倍行距。正文中文采用小四號(hào)宋體,英文采用新羅馬字體(times new roman),段前0磅,斷后0磅;一級(jí)標(biāo)題采用小二號(hào)黑體,段前12
2、磅,段后12磅二級(jí)標(biāo)題采用小三號(hào)黑體,段前6磅,段后6磅三級(jí)標(biāo)題采用四號(hào)黑體,段前6磅,段后0磅3、裝訂要求采用左側(cè)裝訂,訂兩釘。目 錄一. 課程設(shè)計(jì)任務(wù)1二. 課程設(shè)計(jì)原理及設(shè)計(jì)方案2三. 課程設(shè)計(jì)的步驟和結(jié)果3四. 課程設(shè)計(jì)總結(jié)4五. 設(shè)計(jì)體會(huì)5六. 參考文獻(xiàn)6 一. 課程設(shè)計(jì)任務(wù)1、語音信號(hào)的采集 利用windows下的錄音機(jī),錄制一段自己的話音,時(shí)間在1s內(nèi),然后在matlab軟件平臺(tái)下,利用函數(shù)wavread對(duì)語音信號(hào)進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。2、語音信號(hào)的頻譜分析 在matlab中,可以利用函數(shù)fft對(duì)信號(hào)進(jìn)行快速傅立葉變換,得到信號(hào)的頻譜特性,要求學(xué)生首先畫出語音信號(hào)的時(shí)
3、域波形,然后對(duì)語音信號(hào)進(jìn)行頻譜分析。3、設(shè)計(jì)數(shù)字濾波器和畫出其頻率響應(yīng)給出各濾波器的性能指標(biāo); 給定濾波器的性能指標(biāo)如下: (1)低通濾波器的性能指標(biāo):fb=1000hz,fc=1200hz,as=100db,ap=1db. (2)高通濾波器的性能指標(biāo):fc=4800hz,fb=5000hz,as=100db,ap=1db. (3)帶通濾波器的性能指標(biāo):fb1=1200hz, fb2=3000hz,fc1=1000hz, fc2=3200hz,as=100db,ap=1db. 采用窗函數(shù)法和雙線性變換法設(shè)計(jì)上面要求的3種濾波器,并畫出濾波器的頻率響應(yīng); 4、用濾波器對(duì)信號(hào)進(jìn)行濾波 然后用自己設(shè)
4、計(jì)的濾波器對(duì)采集到的信號(hào)進(jìn)行濾波,畫出濾波后信號(hào)的時(shí)域波形及頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化; 5、回放語音信號(hào),分析濾波前后的語音變化; 6、設(shè)計(jì)系統(tǒng)界面 為了使編制的程序操作方便,設(shè)計(jì)處理系統(tǒng)的用戶界面,在所設(shè)計(jì)的系統(tǒng)界面上可以選擇濾波器的類型,輸入濾波器的參數(shù)、顯示濾波器的頻率響應(yīng),選擇信號(hào)等。二. 課程設(shè)計(jì)原理及設(shè)計(jì)方案1用窗函數(shù)法設(shè)計(jì)fir濾波器根據(jù)過渡帶寬及阻帶衰減要求,選擇窗函數(shù)的類型并估計(jì)窗口長度n(或階數(shù)m=n-1),窗函數(shù)類型可根據(jù)最小阻帶衰減as獨(dú)立選擇,因?yàn)榇翱陂L度n對(duì)最小阻帶衰減as沒有影響,在確定窗函數(shù)類型以后,可根據(jù)過渡帶寬小于給定指標(biāo)確定所擬用的
5、窗函數(shù)的窗口長度n,設(shè)待求濾波器的過渡帶寬為w,它與窗口長度n近似成反比,窗函數(shù)類型確定后,其計(jì)算公式也確定了,不過這些公式是近似的,得出的窗口長度還要在計(jì)算中逐步修正,原則是在保證阻帶衰減滿足要求的情況下,盡量選擇較小的n,在n和窗函數(shù)類型確定后,即可調(diào)用matlab中的窗函數(shù)求出窗函數(shù)wd(n)。根據(jù)待求濾波器的理想頻率響應(yīng)求出理想單位脈沖響應(yīng)hd(n),如果給出待求濾波器頻率應(yīng)為hd,則理想的單位脈沖響應(yīng)可以用下面的傅里葉反變換式求出:在一般情況下,hd(n)是不能用封閉公式表示的,需要采用數(shù)值方法表示;從w=0到w=2采樣n點(diǎn),采用離散傅里葉反變換(idft)即可求出。用窗函數(shù)wd(n
6、)將hd(n)截?cái)?,并進(jìn)行加權(quán)處理,得到如果要求線性相位特性, 則h(n)還必須滿足:根據(jù)上式中的正、 負(fù)號(hào)和長度n的奇偶性又將線性相位fir濾波器分成四類。 要根據(jù)所設(shè)計(jì)的濾波特性正確選擇其中一類。 例如, 要設(shè)計(jì)線性相位低通特性可選擇h(n)=h(n-1-n)一類,而不能選h(n)=-h(n-1-n)一類。 驗(yàn)算技術(shù)指標(biāo)是否滿足要求,為了計(jì)算數(shù)字濾波器在頻域中的特性,可調(diào)用freqz子程序,如果不滿足要求,可根據(jù)具體情況,調(diào)整窗函數(shù)類型或長度,直到滿足要求為止。2.用雙線性變換法設(shè)計(jì)iir數(shù)字濾波器脈沖響應(yīng)不變法的主要缺點(diǎn)是產(chǎn)生頻率響應(yīng)的混疊失真。這是因?yàn)閺膕平面到平面是多值的映射關(guān)系所造
7、成的。為了克服這一缺點(diǎn),可以采用非線性頻率壓縮方法,將整個(gè)頻率軸上的頻率范圍壓縮到-/t/t之間,再用z=est轉(zhuǎn)換到z平面上。也就是說,第一步先將整個(gè)s平面壓縮映射到s1平面的-/t/t一條橫帶里;第二步再通過標(biāo)準(zhǔn)變換關(guān)系z(mì)=es1t將此橫帶變換到整個(gè)z平面上去。這樣就使s平面與z平面建立了一一對(duì)應(yīng)的單值關(guān)系,消除了多值變換性,也就消除了頻譜混疊現(xiàn)象,映射關(guān)系如圖1所示。圖1雙線性變換的映射關(guān)系為了將s平面的整個(gè)虛軸j壓縮到s1平面j1軸上的-/t到/t段上,可以通過以下的正切變換實(shí)現(xiàn) (1)式中,t仍是采樣間隔。當(dāng)1由-/t經(jīng)過0變化到/t時(shí),由-經(jīng)過0變化到+,也即映射了整個(gè)j軸。將式(
8、1)寫成將此關(guān)系解析延拓到整個(gè)s平面和s1平面,令j=s,j1=s1,則得再將s1平面通過以下標(biāo)準(zhǔn)變換關(guān)系映射到z平面z=es1t從而得到s平面和z平面的單值映射關(guān)系為: (2) (3)式(2)與式(3)是s平面與z平面之間的單值映射關(guān)系,這種變換都是兩個(gè)線性函數(shù)之比,因此稱為雙線性變換式(1)與式(2)的雙線性變換符合映射變換應(yīng)滿足的兩點(diǎn)要求。首先,把z=ej,可得 (4)即s平面的虛軸映射到z平面的單位圓。其次,將s=+j代入式(4),得因此由此看出,當(dāng)0時(shí),|z|0時(shí),|z|1。也就是說,s平面的左半平面映射到z平面的單位圓內(nèi),s平面的右半平面映射到z平面的單位圓外,s平面的虛軸映射到z
9、平面的單位圓上。因此,穩(wěn)定的模擬濾波器經(jīng)雙線性變換后所得的數(shù)字濾波器也一定是穩(wěn)定的。雙線性變換法優(yōu)缺點(diǎn)雙線性變換法與脈沖響應(yīng)不變法相比,其主要的優(yōu)點(diǎn)是避免了頻率響應(yīng)的混疊現(xiàn)象。這是因?yàn)閟平面與z平面是單值的一一對(duì)應(yīng)關(guān)系。s平面整個(gè)j軸單值地對(duì)應(yīng)于z平面單位圓一周,即頻率軸是單值變換關(guān)系。這個(gè)關(guān)系如式(4)所示,重寫如下:上式表明,s平面上與z平面的成非線性的正切關(guān)系,如圖2所示。由圖2看出,在零頻率附近,模擬角頻率與數(shù)字頻率之間的變換關(guān)系接近于線性關(guān)系;但當(dāng)進(jìn)一步增加時(shí),增長得越來越慢,最后當(dāng)時(shí),終止在折疊頻率=處,因而雙線性變換就不會(huì)出現(xiàn)由于高頻部分超過折疊頻率而混淆到低頻部分去的現(xiàn)象,從而
10、消除了頻率混疊現(xiàn)象。圖2雙線性變換法的頻率變換關(guān)系但是雙線性變換的這個(gè)特點(diǎn)是靠頻率的嚴(yán)重非線性關(guān)系而得到的,如式(4)及圖2所示。由于這種頻率之間的非線性變換關(guān)系,就產(chǎn)生了新的問題。首先,一個(gè)線性相位的模擬濾波器經(jīng)雙線性變換后得到非線性相位的數(shù)字濾波器,不再保持原有的線性相位了;其次,這種非線性關(guān)系要求模擬濾波器的幅頻響應(yīng)必須是分段常數(shù)型的,即某一頻率段的幅頻響應(yīng)近似等于某一常數(shù)(這正是一般典型的低通、高通、帶通、帶阻型濾波器的響應(yīng)特性),不然變換所產(chǎn)生的數(shù)字濾波器幅頻響應(yīng)相對(duì)于原模擬濾波器的幅頻響應(yīng)會(huì)有畸變,如圖3所示。圖3雙線性變換法幅度和相位特性的非線性映射對(duì)于分段常數(shù)的濾波器,雙線性變
11、換后,仍得到幅頻特性為分段常數(shù)的濾波器,但是各個(gè)分段邊緣的臨界頻率點(diǎn)產(chǎn)生了畸變,這種頻率的畸變,可以通過頻率的預(yù)畸來加以校正。也就是將臨界模擬頻率事先加以畸變,然后經(jīng)變換后正好映射到所需要的數(shù)字頻率上。三. 課程設(shè)計(jì)的步驟和結(jié)果1、語音信號(hào)的采集 利用windows下的錄音機(jī),錄制一段自己的話音,時(shí)間在1s內(nèi),然后在matlab軟件平臺(tái)下,利用函數(shù)wavread對(duì)語音信號(hào)進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。程序: y,fs,nbits=wavread( e:matlab_yuyinmy voice.wav )得到:fs = 22050nbits = 16由此可知,采樣頻率為22050hz,采樣點(diǎn)
12、數(shù)為16bit2、語音信號(hào)的頻譜分析 在matlab中,利用函數(shù)fft對(duì)信號(hào)進(jìn)行快速傅立葉變換,得到信號(hào)的頻譜特性,首先畫出語音信號(hào)的時(shí)域波形,然后對(duì)語音信號(hào)進(jìn)行頻譜分析。程序:y,fs,nbits=wavread(e:matlab_yuyinmy voice.wav);sound(y,fs,nbits);y = y - mean(y); %去直流成分y = fftshift(abs(fft(y);w = linspace(-fs/2,fs/2,length(y);subplot(2,1,1),plot(y);title(原始信號(hào)波形);subplot(2,1,2),plot(w,y);tit
13、le(原始信號(hào)頻譜);axis(0,2000,-inf,inf);3、設(shè)計(jì)數(shù)字濾波器和畫出其頻率響應(yīng)給出各濾波器的性能指標(biāo); 給定濾波器的性能指標(biāo)如下: (1)低通濾波器的性能指標(biāo):fb=1000hz,fc=1200hz,as=100db,ap=1db. (2)高通濾波器的性能指標(biāo):fc=4800hz,fb=5000hz,as=100db,ap=1db. (3)帶通濾波器的性能指標(biāo):fb1=1200hz, fb2=3000hz,fc1=1000hz, fc2=3200hz,as=100db,ap=1db. 采用窗函數(shù)法和雙線性變換法設(shè)計(jì)上面要求的3種濾波器,并畫出濾波器的頻率響應(yīng); 4、用濾波
14、器對(duì)信號(hào)進(jìn)行濾波 用自己設(shè)計(jì)的濾波器對(duì)采集到的信號(hào)進(jìn)行濾波,畫出濾波后信號(hào)的時(shí)域波形及頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化; 窗函數(shù)法設(shè)計(jì)fir濾波器:(1) 低通濾波器clear all;ft=22050;fp=1000;fs=1200;y,fs,nbits=wavread(my voice.wav);%sound(y,fs,nbits);y=y-mean(y);wp=2*fp/ft;ws=2*fs/ft;as=100;wdel = ws - wp; %過渡帶寬n= ceil( 8*pi/wdel );%取整wn = (wp + ws)/2 %截止頻率即wc% n取奇數(shù)if mo
15、d(n,2)=0 n= n + 1; %若為偶數(shù)則加1endfcuts=1000*2/ft 1200*2/ft; %歸一化頻率mags=1 0;devs=1-10(1/-20) 10(40/-20);n,wn,beta,ftype=kaiserord(fcuts,mags,devs); %計(jì)算出凱塞窗n,beta的值b= fir1(n,wn,ftype,kaiser(n+1,beta),noscale); freq_axis = 0:pi/512:pi-pi/512; freq_norm = 0:511/512; %歸一化的頻率軸 h= freqz( b);%變成頻率響應(yīng) %b為hn系數(shù),1表
16、示無極點(diǎn)(因?yàn)槭莊ir),512表示點(diǎn)數(shù))subplot(2,1,1);plot( freq_norm,20*log10(abs(h) ); %畫對(duì)數(shù)幅度譜hold on;xlabel( 歸一化頻率w/pi ); ylabel( 幅度(db) );title( fir-幅度響應(yīng));subplot(2,1,2);plot( freq_norm,angle(h) ); hold on;xlabel( 歸一化頻率w/pi ); ylabel( 相位 );title( fir-相位響應(yīng));f2=filter(b,1,y); %濾波figure(2)subplot(2,1,1)plot(y)title(
17、fir低通濾波器濾波前的時(shí)域波形);subplot(2,1,2)plot(f2);title(fir低通濾波器濾波后的時(shí)域波形);sound(f2); %播放濾波后的語音信號(hào)f0=fftshift(abs(fft(f2);figure(3)y2 = fftshift(abs(fft(y);w = linspace(-ft/2,ft/2,length(y2);subplot(2,1,1);plot(w,y2);title(fir低通濾波器濾波前的頻譜)xlabel(頻率/hz);ylabel(幅值);w = linspace(-ft/2,ft/2,length(f0);subplot(2,1,2
18、)plot(w,f0);title(fir低通濾波器濾波后的頻譜)xlabel(頻率/hz);ylabel(幅值);分析:由頻率響應(yīng)可看出為低通,與題目要求的fp1=1000,fs1=1200基本吻合,阻帶衰減近似為100,且為線性相位。 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了低頻成分,濾掉了高頻成分。(2) 高通濾波器clear all;ft=22050;fp=5000;fs=4800;y,fs,nbits=wavread(my voice.wav);%sound(y,fs,nbits);y=y-mean(y);wp=2*fp/ft;ws=2*fs/ft;as=100;wdel = wp -
19、ws; %過渡帶寬n= ceil( 8*pi/wdel );%取整wn = (wp + ws)/2 %截止頻率即wc% n取奇數(shù)if mod(n,2)=0 n= n + 1; %若為偶數(shù)則加1endfcuts=4800*2/ft 5000*2/ft; %歸一化頻率mags=0 1;devs=1-10(1/-20) 10(40/-20);n,wn,beta,ftype=kaiserord(fcuts,mags,devs); %計(jì)算出凱塞窗n,beta的值b= fir1(n,wn,ftype,kaiser(n+1,beta),noscale); freq_axis = 0:pi/512:pi-pi
20、/512; freq_norm = 0:511/512; %歸一化的頻率軸 h= freqz( b);%變成頻率響應(yīng) %b為hn系數(shù),1表示無極點(diǎn)(因?yàn)槭莊ir),512表示點(diǎn)數(shù))subplot(2,1,1);plot( freq_norm,20*log10(abs(h) ); %畫對(duì)數(shù)幅度譜hold on;xlabel( 歸一化頻率w/pi ); ylabel( 幅度(db) );title( fir-幅度響應(yīng));subplot(2,1,2);plot( freq_norm,angle(h) ); hold on;xlabel( 歸一化頻率w/pi ); ylabel( 相位 );title
21、( fir-相位響應(yīng));f2=filter(b,1,y);figure(2)subplot(2,1,1)plot(y)title(fir高通濾波器濾波前的時(shí)域波形);subplot(2,1,2)plot(f2);title(fir高通濾波器濾波后的時(shí)域波形);sound(f2); %播放濾波后的語音信號(hào)f0=fftshift(abs(fft(f2);figure(3)y2 = fftshift(abs(fft(y);w = linspace(-ft/2,ft/2,length(y2);subplot(2,1,1);plot(w,y2);title(fir高通濾波器濾波前的頻譜)xlabel(頻
22、率/hz);ylabel(幅值);w = linspace(-ft/2,ft/2,length(f0);subplot(2,1,2)plot(w,f0);title(fir高通濾波器濾波后的頻譜)xlabel(頻率/hz);ylabel(幅值);分析:由頻率響應(yīng)可看出為高通,與題目要求的fp1=5000,fs1=4800基本吻合,阻帶衰減近似為100,且為線性相位。 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了高頻成分,濾掉了低頻成分。(3) 帶通濾波器clear all;ft=22050;fp1=1200;fp2=3000;fs1=1000;fs2=3200;y,fs,nbits=wavread(m
23、y voice.wav);%sound(y,fs,nbits);y=y-mean(y);wp1=2*fp1/ft;wp2=2*fp2/ft;ws1=2*fs1/ft;ws2=2*fs2/ft;as=100;wp=(wp1 + ws1)/2;ws=(wp2 + ws2)/2;wdel = wp1 - ws1; %過渡帶寬n= ceil( 8*pi/wdel );%取整wn = wp ws; %截止頻率即wc% n取奇數(shù)if mod(n,2)=0 n= n + 1; %若為偶數(shù)則加1endfcuts=1000*2/ft 1200*2/ft 3000*2/ft 3200*2/ft; %歸一化頻率ma
24、gs=0 1 0;devs=0.01 0.1087 0.01;n,wn,beta,ftype=kaiserord(fcuts,mags,devs); %計(jì)算出凱塞窗n,beta的值b= fir1(n,wn,ftype,kaiser(n+1,beta),noscale); freq_axis = 0:pi/512:pi-pi/512; freq_norm = 0:511/512; %歸一化的頻率軸 h= freqz( b);%變成頻率響應(yīng) %b為hn系數(shù),1表示無極點(diǎn)(因?yàn)槭莊ir),512表示點(diǎn)數(shù))subplot(2,1,1);plot( freq_norm,20*log10(abs(h) )
25、; %畫對(duì)數(shù)幅度譜hold on;xlabel( 歸一化頻率w/pi ); ylabel( 幅度(db) );title( fir-幅度響應(yīng));subplot(2,1,2);plot( freq_norm,angle(h) ); hold on;xlabel( 歸一化頻率w/pi ); ylabel( 相位 );title( fir-相位響應(yīng));f2=filter(b,1,y);figure(2)subplot(2,1,1)plot(y)title(fir帶通濾波器濾波前的時(shí)域波形);subplot(2,1,2)plot(f2);title(fir帶通濾波器濾波后的時(shí)域波形);sound(f2
26、); %播放濾波后的語音信號(hào)f0=fftshift(abs(fft(f2);figure(3)y2 = fftshift(abs(fft(y);w = linspace(-ft/2,ft/2,length(y2);subplot(2,1,1);plot(w,y2);title(fir帶通濾波器濾波前的頻譜)xlabel(頻率/hz);ylabel(幅值);w = linspace(-ft/2,ft/2,length(f0);subplot(2,1,2)plot(w,f0);title(fir帶通濾波器濾波后的頻譜)xlabel(頻率/hz);ylabel(幅值);分析:由頻率響應(yīng)可看出為帶通,
27、與題目要求的fp1=1200,fp2=3000,fs1=1000,fs2=3200基本吻合,阻帶衰減近似為100,且為線性相位。 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了通帶中的頻率成分,濾掉了低頻和高頻成分。雙線性變換法設(shè)計(jì)iir濾波器(1)低通濾波器clear all;ft=22050;fp=1000;fs=1200;y,fs,nbits=wavread(my voice.wav);%sound(y,fs,nbits);y=y-mean(y);as=100;ap=1;wp=2*pi*fp/ft;ws=2*pi*fs/ft;fs1=1;fp=2*tan(wp/2);fs=2*tan(ws/2);
28、n11,wn11=ellipord(wp,ws,ap,as,s);b11,a11=ellip(n11,ap,as,wn11,low,s);num11,den11=bilinear(b11,a11,fs1);h,w=freqz(num11,den11,512,ft);subplot(2,1,1);plot( w,20*log10(abs(h) ); %畫對(duì)數(shù)幅度譜hold on;xlabel( 歸一化頻率w/pi ); ylabel( 幅度(db) );title( iir-幅度響應(yīng));subplot(2,1,2);plot( w,angle(h) ); hold on;xlabel( 歸一化頻
29、率w/pi ); ylabel( 相位 );title( iir-相位響應(yīng));f1=filter(num11,den11,y);figure(2)subplot(2,1,1)plot(y) %畫出濾波前的時(shí)域圖title(iir低通濾波器濾波前的時(shí)域波形);subplot(2,1,2)plot(f1); %畫出濾波后的時(shí)域圖title(iir低通濾波器濾波后的時(shí)域波形);sound(f1); %播放濾波后的信號(hào)f0=fftshift(abs(fft(f1);w = linspace(-ft/2,ft/2,length(f0);figure(3)y2=fftshift(abs(fft(y);su
30、bplot(2,1,1);plot(w,y2); %畫出濾波前的頻譜圖title(iir低通濾波器濾波前的頻譜)xlabel(頻率/hz);ylabel(幅值);w = linspace(-ft/2,ft/2,length(y2);subplot(2,1,2)plot(w,abs(f0); %畫出濾波后的頻譜圖title(iir低通濾波器濾波后的頻譜)xlabel(頻率/hz);ylabel(幅值);分析:由頻率響應(yīng)可看出為低通,與題目要求的fp1=1000,fs1=1200基本吻合,阻帶衰減近似為100,但非線性相位。 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了低頻成分,濾掉了高頻成分。(2)高通
31、濾波器clear all;ft=22050;fp=5000;fs=4800;y,fs,nbits=wavread(my voice.wav);%sound(y,fs,nbits);y=y-mean(y);as=100;ap=1;wp=2*pi*fp/ft;ws=2*pi*fs/ft;fs1=1;fp=2*tan(wp/2);fs=2*tan(ws/2);n11,wn11=ellipord(wp,ws,ap,as,s);b11,a11=ellip(n11,ap,as,wn11,high,s);num11,den11=bilinear(b11,a11,fs1);h,w=freqz(num11,de
32、n11,512,ft);subplot(2,1,1);plot( w,20*log10(abs(h) ); %畫對(duì)數(shù)幅度譜hold on;xlabel( 歸一化頻率w/pi ); ylabel( 幅度(db) );title( iir-幅度響應(yīng));subplot(2,1,2);plot( w,angle(h) ); hold on;xlabel( 歸一化頻率w/pi ); ylabel( 相位 );title( iir-相位響應(yīng));f1=filter(num11,den11,y);figure(2)subplot(2,1,1)plot(y) %畫出濾波前的時(shí)域圖title(iir高通濾波器濾波
33、前的時(shí)域波形);subplot(2,1,2)plot(f1); %畫出濾波后的時(shí)域圖title(iir高通濾波器濾波后的時(shí)域波形);sound(f1); %播放濾波后的信號(hào)f0=fftshift(abs(fft(f1);w = linspace(-ft/2,ft/2,length(f0);figure(3)y2=fftshift(abs(fft(y);subplot(2,1,1);plot(w,y2); %畫出濾波前的頻譜圖title(iir高通濾波器濾波前的頻譜)xlabel(頻率/hz);ylabel(幅值);w = linspace(-ft/2,ft/2,length(y2);subpl
34、ot(2,1,2)plot(w,abs(f0); %畫出濾波后的頻譜圖title(iir高通濾波器濾波后的頻譜)xlabel(頻率/hz);ylabel(幅值);分析:由頻率響應(yīng)可看出為高通,與題目要求的fp1=5000,fs1=4800基本吻合,阻帶衰減近似為100,但非線性相位。 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了高頻成分,濾掉了低頻成分。(3)帶通濾波器clear all;ft=22050;fp1=1200;fp2=3000;fs1=1000;fs2=3200;y,fs,nbits=wavread(my voice.wav);%sound(y,fs,nbits);y=y-mean(y)
35、;fp=fp1,fp2;fs=fs1,fs2;as=100;ap=1;t=2;wp1=2*pi*fp1/ft;wp2=2*pi*fp2/ft;ws1=2*pi*fs1/ft;ws2=2*pi*fs2/ft;wp1=(2/t)*tan(wp1/2);wp2=(2/t)*tan(wp2/2);ws1=(2/t)*tan(ws1/2);ws2=(2/t)*tan(ws1/2)w0=wp1*wp2;w0=sqrt(w0);bw=wp2-wp1; %帶通濾波器的通帶寬度lp=1; %歸一化處理ls=ws1*bw/(w0-ws12);n,wn=ellipord(lp,ls,ap,as,s);b,a=ell
36、ip(n,1,40,wn,s);bt,at=lp2bp(b,a,w0,bw);num,den=bilinear(bt,at,0.5);z,p,k=tf2zp(num,den);h,w=freqz(num,den,512,ft);figure(1)subplot(2,1,1);plot( w,20*log10(abs(h) ); %畫對(duì)數(shù)幅度譜hold on;xlabel( 頻率w/pi ); ylabel( 幅度(db) );title( iir-幅度響應(yīng));subplot(2,1,2);plot( w,angle(h) ); hold on;xlabel( 頻率w/pi ); ylabel(
37、 相位 );title( iir-相位響應(yīng));f1=filter(num,den,y);figure(2)subplot(2,1,1)plot(y) %畫出濾波前的時(shí)域圖title(iir帶通濾波器濾波前的時(shí)域波形);subplot(2,1,2)plot(f1); %畫出濾波后的時(shí)域圖title(iir帶通濾波器濾波后的時(shí)域波形);sound(f1); %播放濾波后的信號(hào)f0=fftshift(abs(fft(f1);w = linspace(-ft/2,ft/2,length(f0);figure(3)y2=fftshift(abs(fft(y);subplot(2,1,1);plot(w,
38、y2); %畫出濾波前的頻譜圖title(iir帶通濾波器濾波前的頻譜)xlabel(頻率/hz);ylabel(幅值);w = linspace(-ft/2,ft/2,length(y2);subplot(2,1,2)plot(w,abs(f0); %畫出濾波后的頻譜圖title(iir帶通濾波器濾波后的頻譜)xlabel(頻率/hz);ylabel(幅值);分析:由頻率響應(yīng)可看出為帶通,與題目要求的fp1=1200,fp2=3000,fs1=1000,fs2=3200基本吻合,阻帶衰減近似為100,但非線性相位。 比較濾波前和濾波后的頻譜可發(fā)現(xiàn)通過了通帶中的頻率成分,濾掉了低頻和高頻成分。
39、此外,還可以利用matlab自帶的fdatool工具來設(shè)計(jì)已知fp,fs和衰減的濾波器,例1(iir濾波器設(shè)計(jì)):設(shè)計(jì)巴特沃斯高通濾波器,性能指標(biāo)為fs=22050hz,fs=4800hz,fp=5000hz,ap=1,as=100。在fdatool界面中輸入?yún)?shù),并生成相應(yīng)的.m文件,然后求得濾波器的頻率響應(yīng)輸出。程序:%function hd = fdatool_butter_high%fdatool_butter_high returns a discrete-time filter object.% m-file generated by matlab(r) 7.8 and the s
40、ignal processing toolbox 6.11.% generated on: 05-jul-2011 21:16:59% butterworth highpass filter designed using fdesign.highpass.% all frequency values are in hz.fs = 22050; % sampling frequencyfstop = 4800; % stopband frequencyfpass = 5000; % passband frequencyastop = 100; % stopband attenuation (db
41、)apass = 1; % passband ripple (db)match = stopband; % band to match exactly% construct an fdesign object and call its butter method.h = fdesign.highpass(fstop, fpass, astop, apass, fs);hd = design(h, butter, matchexactly, match);h = freqz(hd);w = linspace(0,fs/2,length(h);subplot(2,1,1);plot(w,20*lo
42、g10(abs(h);%畫對(duì)數(shù)幅度譜hold on;xlabel( 歸一化頻率w/pi ); ylabel( 幅度(db) );title( iir-幅度響應(yīng));subplot(2,1,2);plot( w,angle(h) ); hold on;xlabel( 歸一化頻率w/pi ); ylabel( 相位 );title( iir-相位響應(yīng));% eof可得到頻率響應(yīng)如下圖:例2(fir濾波器設(shè)計(jì)):設(shè)計(jì)凱撒高通濾波器,性能指標(biāo)為fs=22050hz,fs=4800hz,fp=5000hz,ap=1,as=100。則關(guān)鍵程序?yàn)椋簄,wn,beta,type = kaiserord(fsto
43、p fpass/(fs/2), 0 1, dpass dstop);% calculate the coefficients using the fir1 function.b = fir1(n, wn, type, kaiser(n+1, beta), flag);hd = dfilt.dffir(b);h= freqz( b);%變成頻率響應(yīng) %b為hn系數(shù),1表示無極點(diǎn)(因?yàn)槭莊ir),512表示點(diǎn)數(shù))subplot(2,1,1);plot( freq_norm,20*log10(abs(h) ); %畫對(duì)數(shù)幅度譜5、回放語音信號(hào),分析濾波前后的語音變化; 使用函數(shù)sound(y,fs,
44、nbits)播放濾波前語音信號(hào);y經(jīng)過濾波后為f2,使用sound(f2)播放濾波后語音信號(hào)語音變化:語音信號(hào)經(jīng)過低通濾波能聽到與原始語音信號(hào)近似的聲音,但明顯低沉一些,而經(jīng)過高通和帶通后可聽到混濁的聲音,但無法聽清。6、設(shè)計(jì)系統(tǒng)界面 為了使編制的程序操作方便,設(shè)計(jì)處理系統(tǒng)的用戶界面,在所設(shè)計(jì)的系統(tǒng)界面上可以選擇濾波器的類型,即fir或iir,低通、高通或帶通;輸入濾波器的參數(shù):fp1,fp2,fs1,fs2,ap,as;顯示濾波器的頻率響應(yīng);可分別播放濾波前和濾波后的語音信號(hào),便于比較;設(shè)有g(shù)enerate(生成鍵)、reset(復(fù)位鍵)及quit(關(guān)閉窗口?。淮送膺€可實(shí)現(xiàn)用matlab控
45、制聲卡現(xiàn)場錄音做濾波,可自行設(shè)定錄音時(shí)間。系統(tǒng)界面如下:主要程序如下:(1)原始語音信號(hào)按鈕 vois= get(handles.voice_select,value) ; if(vois=1) y,fs,nbits=wavread(my voice.wav); sound(y,fs,nbits); else if(vois=2) load voiced sound(y,22050); endend(2)濾波后語音信號(hào)按鈕load filenamesound(f2)(3)generate生成按鈕fil_f = get(handles.fir_filter,value) ; fil_i = ge
46、t(handles.iir_filter,value) ; fir_selection = get(handles.fir_select,value); iir_selection = get(handles.iir_select,value); type = get(handles.style,value); fp1 = get(handles.fp1_edit,string); fp1 = str2double(fp1); fp2 = get(handles.fp2_edit,string); fp2 = str2double(fp2); fs1 = get(handles.fs1_edi
47、t,string); fs1 = str2double(fs1); fs2 = get(handles.fs2_edit,string); fs2 = str2double(fs2); ap = get(handles.ap_edit,string); ap = str2double(ap); as = get(handles.as_edit,string); as = str2double(as);vois= get(handles.voice_select,value) ; if(vois=1) y,fs,nbits=wavread(my voice.wav); else if(vois=
48、2) load voiced endend if(fil_f = 1 & fil_i = 0 ) %選定為fir濾波器 switch(fir_selection) case 1 %選定為kaiser窗 switch(type) case 1%low passcase 2%high passcase 3%band passendcase 2 switch(type)case 1%low passcase 2%high passcase 3%band passendcase 3switch(type)case 1%low passcase 2%high passcase 3%band passen
49、dendelse if (fil_f = 0 & fil_i =1 ) %選定為iir濾波器switch(iir_selection)case 1 %選定為橢圓濾波器switch(type)case 1%low passcase 2% high passcase3%band passendcase 2switch(type)case 1%low passcase 2%high passcase 3%band passendendendend其中每個(gè)濾波器中需用axes(handles.axes)函數(shù)來畫圖,且末尾處要用語句save filename f2將f2保存至工作區(qū)間,以便播放濾波后語音信號(hào)時(shí)利用load filename來調(diào)用f2。(4) reset(復(fù)位)按鈕samelines = findobj(type,line); %查找線條對(duì)象 for i = 1 :length(samelines) delet
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 游泳行業(yè)游泳技巧培訓(xùn)總結(jié)
- 零食店服務(wù)員工作技巧
- 時(shí)尚店銷售員的工作總結(jié)
- 快遞行業(yè)派送專員培訓(xùn)總結(jié)
- 《瑜伽與健康》課件
- 《卒中優(yōu)化治療》課件
- 2023年江蘇省宿遷市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2022年青海省西寧市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年江蘇省鹽城市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2021年河北省石家莊市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 西安信息職業(yè)大學(xué)《工程管理導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- CNC技理考(含答案)
- 電氣領(lǐng)域知識(shí)培訓(xùn)課件
- 金融產(chǎn)品分類介紹
- 小收納大世界-整li與收納(黑龍江幼兒師范高等??茖W(xué)校)知到智慧樹答案
- 2024-2025學(xué)年上學(xué)期深圳初中語文七年級(jí)期末模擬卷2
- 河南省鄭州市2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期末考試試題含解析
- BOSS GT-6效果處理器中文說明書
- 2024廣東煙草專賣局校園招聘筆試管理單位遴選500模擬題附帶答案詳解
- 孕產(chǎn)婦高危五色管理(醫(yī)學(xué)講座培訓(xùn)課件)
- 幼兒體適能培訓(xùn)
評(píng)論
0/150
提交評(píng)論