基于Matlab的有噪聲語音信號(hào)處理_第1頁
基于Matlab的有噪聲語音信號(hào)處理_第2頁
基于Matlab的有噪聲語音信號(hào)處理_第3頁
基于Matlab的有噪聲語音信號(hào)處理_第4頁
基于Matlab的有噪聲語音信號(hào)處理_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、題目:基于Matlab的有噪聲語音信號(hào)處理摘要 濾波器設(shè)計(jì)在數(shù)字信號(hào)處理中占有極其重要的地位,F(xiàn)IR數(shù)字濾波器和IIR濾波器是濾波器設(shè)計(jì)的重要組成部分。利用MATLAB信號(hào)處理工具箱可以快速有效地設(shè)計(jì)各種數(shù)字濾波器。課題基于MATLAB有噪音語音信號(hào)處理的設(shè)計(jì)與實(shí)現(xiàn),綜合運(yùn)用數(shù)字信號(hào)處理的理論知識(shí)對(duì)加噪聲語音信號(hào)進(jìn)行時(shí)域、頻域分析和濾波。通過理論推導(dǎo)得出相應(yīng)結(jié)論,再利用 MATLAB 作為編程工具進(jìn)行計(jì)算機(jī)實(shí)現(xiàn)。在設(shè)計(jì)實(shí)現(xiàn)的過程中,使用窗函數(shù)法來設(shè)計(jì)FIR數(shù)字濾波器,用巴特沃斯、切比雪夫和雙線性變法設(shè)計(jì)IIR數(shù)字濾波器,并利用MATLAB 作為輔助工具完成設(shè)計(jì)中的計(jì)算與圖形的繪制。通過對(duì)所設(shè)計(jì)

2、濾波器的仿真和頻率特性分析,可知利用MATLAB信號(hào)處理工具箱可以有效快捷地設(shè)計(jì)FIR和IIR數(shù)字濾波器,過程簡單方便,結(jié)果的各項(xiàng)性能指標(biāo)均達(dá)到指定要求。 關(guān)鍵詞:數(shù)字濾波器 MATLAB 窗函數(shù)法 巴特沃斯 切比雪夫 雙線性變換目錄1、緒論······························

3、;··················42、作業(yè)內(nèi)容與要求······························&

4、#183;·······53、作業(yè)設(shè)計(jì)的具體實(shí)現(xiàn)··································6 3.1 語音信號(hào)的采集····

5、·······························6 3.2 語音信號(hào)的時(shí)頻分析················

6、83;··············6 3.3 語音信號(hào)加噪與頻譜分析···························8 3.4 設(shè)計(jì)FIR和IIR數(shù)字濾波器··&#

7、183;·······················9 3.5 用濾波器對(duì)加噪語音信號(hào)進(jìn)行濾波··················20 3.6 比較濾波前后語音信號(hào)的波形及頻譜·

8、···············21 3.7 回放語音信號(hào)·································

9、;···31 3.8 設(shè)計(jì)GUI界面····································314、隊(duì)員貢獻(xiàn)及民主評(píng)價(jià)······&#

10、183;··························345、小結(jié)······················&#

11、183;························346、致謝························&#

12、183;······················351、緒論 數(shù)字信號(hào)處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)值計(jì)算的方法對(duì)信號(hào)進(jìn)行采集、抽樣、變換、綜合、估值與識(shí)別等加工處理,借以達(dá)到提取信息和便于應(yīng)用的目的。它在語音、雷達(dá)、圖像、系統(tǒng)控制、通信、航空航天、生物醫(yī)學(xué)等眾多領(lǐng)域都獲得了極其廣泛的應(yīng)用。具有靈活、精確、抗干擾強(qiáng)、設(shè)備尺寸小、造價(jià)低、速度快等優(yōu)點(diǎn)。 數(shù)字濾

13、波器, 是數(shù)字信號(hào)處理中及其重要的一部分。隨著信息時(shí)代和數(shù)字技術(shù)的發(fā)展,受到人們?cè)絹碓蕉嗟闹匾暋?shù)字濾波器可以通過數(shù)值運(yùn)算實(shí)現(xiàn)濾波,所以數(shù)字濾波器處理精度高、穩(wěn)定、體積小、重量輕、靈活不存在阻抗匹配問題,可以實(shí)現(xiàn)模擬濾波器無法實(shí)現(xiàn)的特殊功能。數(shù)字濾波器種類很多,根據(jù)其實(shí)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)或者其沖激響應(yīng)函數(shù)的時(shí)域特性,可分為兩種,即有限沖激響應(yīng)( FIR,F(xiàn)inite Impulse Response)濾波器和無限沖激響應(yīng)( IIR,Infinite Impulse Response)濾波器。FIR濾波器結(jié)構(gòu)上主要是非遞歸結(jié)構(gòu),沒有

14、輸出到輸入的反饋,系統(tǒng)函數(shù)H (z)在處收斂,極點(diǎn)全部在z = 0處(因果系統(tǒng)),因而只能用較高的階數(shù)達(dá)到高的選擇性。FIR數(shù)字濾波器的幅頻特性精度較之于IIR數(shù)字濾波器低,但是線性相位,就是不同頻率分量的信號(hào)經(jīng)過fir濾波器后他們的時(shí)間差不變,這是很好的性質(zhì)。FIR數(shù)字濾波器是有限的單位響應(yīng)也有利于對(duì)數(shù)字信號(hào)的處理,便于編程,用于計(jì)算的時(shí)延也小,這對(duì)實(shí)時(shí)的信號(hào)處理很重要。 FIR濾波器因具有系統(tǒng)穩(wěn)定,易實(shí)現(xiàn)相位控制,允許設(shè)計(jì)多通帶(或多阻帶)濾波器等優(yōu)點(diǎn)收到人們的青睞。IIR濾波器采用遞歸型結(jié)構(gòu),即結(jié)構(gòu)上帶有反饋環(huán)路。IIR濾波器運(yùn)算結(jié)構(gòu)通常由延時(shí)、乘

15、以系數(shù)和相加等基本運(yùn)算組成,可以組合成直接型、正準(zhǔn)型、級(jí)聯(lián)型、并聯(lián)型四種結(jié)構(gòu)形式,都具有反饋回路。同時(shí),IIR數(shù)字濾波器在設(shè)計(jì)上可以借助成熟的模擬濾波器的成果,如巴特沃斯、契比雪夫和橢圓濾波器等,有現(xiàn)成的設(shè)計(jì)數(shù)據(jù)或圖表可查,在設(shè)計(jì)一個(gè)IIR數(shù)字濾波器時(shí),我們根據(jù)指標(biāo)先寫出模擬濾波器的公式,然后通過一定的變換,將模擬濾波器的公式轉(zhuǎn)換成數(shù)字濾波器的公式。 濾波器的設(shè)計(jì)可以通過軟件或設(shè)計(jì)專用的硬件兩種方式來實(shí)現(xiàn)。隨著MATLAB軟件及信號(hào)處理工具箱的不斷完善,MATLAB很快成為應(yīng)用學(xué)科等領(lǐng)域不可或缺的基礎(chǔ)軟件。它可以快速有效地實(shí)現(xiàn)數(shù)字濾波器的設(shè)計(jì)、分析和仿真,極大地減輕了工作量,有利于濾

16、波器設(shè)計(jì)的最優(yōu)化。2、作業(yè)內(nèi)容與要求 選擇一個(gè)語音信號(hào)作為分析的對(duì)象,或錄制一段各人自己的語音信號(hào),對(duì)其進(jìn)行頻譜分析;利用MATLAB中的隨機(jī)函數(shù)產(chǎn)生噪聲加入到語音信號(hào)中,模仿語音信號(hào)被污染,并對(duì)其進(jìn)行頻譜分析;設(shè)計(jì)FIR和IIR數(shù)字濾波器, 并對(duì)被噪聲污染的語音信號(hào)進(jìn)行濾波,分析濾波后信號(hào)的時(shí)域和頻域特征,回放語音信號(hào)。最后,設(shè)計(jì)一個(gè)信號(hào)處理系統(tǒng)界面。3 作業(yè)設(shè)計(jì)的具體實(shí)現(xiàn) 3.1 語音信號(hào)的采集 利用PC機(jī)上的聲卡和WINDOWS操作系統(tǒng)可以進(jìn)行數(shù)字信號(hào)的采集。將話筒輸入計(jì)算機(jī)ide語音輸入到插口上,啟動(dòng)錄音機(jī)。按下錄音按鈕,接著將話筒對(duì)著PC的外放,記錄音樂播放器正在播放的音樂,記錄一段

17、時(shí)間后停止錄音。以文件名“speech”保存在一個(gè)文件中??梢钥吹募缶Y名為.wav,這是WINDOWS操作系統(tǒng)規(guī)定的聲音文件存的標(biāo)準(zhǔn)。 3.2語音信號(hào)的時(shí)頻分析利用MATLAB中的“wavread”命令來讀入(采集)語音信號(hào),將它賦值給某一向量。再對(duì)其進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。下面介紹wavread 函數(shù)幾種調(diào)用格式。 (1)y=wavread(file) 功能說明:讀取file所規(guī)定的wav文件,返回采樣值放在向量y中。 (2)y,fs,nbits=wavread(file)  功能說明:采樣值放在向量y中,fs表示采樣

18、頻率(hz),nbits表示采樣位數(shù)。 接下來,對(duì)語音信號(hào)speech.wav進(jìn)行采樣。其程序如下: y,fs,nbits=wavered (speech);把語音信號(hào)加載入Matlab 仿真軟件平臺(tái)中 然后,畫出語音信號(hào)的時(shí)域波形,再對(duì)語音信號(hào)進(jìn)行頻譜分析。MATLAB提供了快速傅里葉變換算法FFT計(jì)算DFT的函數(shù)fft,其調(diào)用格式如下: Xk=fft(xn,N) 參數(shù)xn為被變換的時(shí)域序列向量,N是DFT變換區(qū)間長度,當(dāng)N大于xn的長度時(shí),fft函數(shù)自動(dòng)在xn后面補(bǔ)零。當(dāng)N小于xn的長度時(shí),fft函數(shù)計(jì)算xn的前N個(gè)元素

19、,忽略其后面的元素。在本次設(shè)計(jì)中,我們利用fft對(duì)語音信號(hào)進(jìn)行快速傅里葉變換,就可以得到信號(hào)的頻譜特性。其程序如下:y,fs,nbits= wavread('F:speech.wav');N=length(y); %求出語音信號(hào)長度Y=fft(y,N); %傅里葉變換figure;subplot(2,1,1);plot(y);title('原始信號(hào)波形');subplot(2,1,2);plot(abs(Y);title('原始信號(hào)頻譜');axes1('position', 1 1 1 1);程序結(jié)果如下圖:3.3 語音信號(hào)加噪

20、與頻譜分析 在MATLAB中產(chǎn)生高斯白噪聲非常方便,我們可以直接應(yīng)用兩個(gè)函數(shù):一個(gè)是WGN,另一個(gè)是AWGN。WGN用于產(chǎn)生高斯白噪聲,AWGN則用于在某一信號(hào)中加入高斯白噪聲。也可直接用randn函數(shù)產(chǎn)生高斯分布序列。 在本次設(shè)計(jì)中,我們是利用MATLAB中的隨機(jī)函數(shù)(rand或randn)產(chǎn)生噪聲加入到語音信號(hào)中,模仿語音信號(hào)被污染,并對(duì)其頻譜分析。Randn函數(shù)有兩種基本調(diào)用格式:Randn(n)和Randn(m,n),前者產(chǎn)生n×n服從標(biāo)準(zhǔn)高斯分布的隨機(jī)數(shù)矩陣,后者產(chǎn)生m×n的隨機(jī)數(shù)矩陣。在這里,我們選用Randn(m,n)函數(shù)。語音信號(hào)添加噪聲及其頻譜分

21、析的主要程序如下:y,fs,nbits=wavread('speech'); %窗函數(shù)帶通濾波n=length(y);%求出語音信號(hào)的長度noise=0.01*randn(n,2);%隨機(jī)函數(shù)產(chǎn)生噪聲s=y+noise;sound(s);figure;subplot(2,1,1);plot(s);title('加噪語音信號(hào)的時(shí)域波形');S=fft(s);subplot(2,1,2);plot(abs(s);title('加噪語音信號(hào)的頻域波形');程序結(jié)果如下圖:3.4 設(shè)計(jì)FIR和IIR數(shù)字濾波器 3.4.1 FIR數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn) F

22、IR:有限脈沖響應(yīng)濾波器。有限說明其脈沖響應(yīng)是有限的。與IIR相比,它具有線性相位、容易設(shè)計(jì)的優(yōu)點(diǎn)。這也就說明,IIR濾波器具有相位不線性,不容易設(shè)計(jì)的缺點(diǎn)。而另一方面,IIR卻擁有FIR所不具有的缺點(diǎn),那就是設(shè)計(jì)同樣參數(shù)的濾波器,F(xiàn)IR比IIR需要更多的參數(shù)。這也就說明,要增加DSP的計(jì)算量。DSP需要更多的計(jì)算時(shí)間,對(duì)DSP的實(shí)時(shí)性有影響。FIR濾波器的設(shè)計(jì)比較簡單,就是要設(shè)計(jì)一個(gè)數(shù)字濾波器去逼近一個(gè)理想的低通濾波器。通常這個(gè)理想的低通濾波器在頻域上是一個(gè)矩形窗。也就是把這個(gè)時(shí)域采樣序列去乘一個(gè)窗函數(shù),就把這個(gè)無限的時(shí)域采樣序列截成了有限個(gè)序列值。但是加窗后對(duì)此采樣序列的頻域也產(chǎn)生了影響:

23、此時(shí)的頻域便不在是一個(gè)理想的矩形窗,而是成了一個(gè)有過渡帶,阻帶有波動(dòng)的低通濾波器。通常根據(jù)所加的窗函數(shù)的不同,對(duì)采樣信號(hào)加窗后,在頻域所得的低通濾波器的阻帶衰減也不同。通常我們就是根據(jù)此阻帶衰減去選擇一個(gè)合適的窗函數(shù)。如矩形窗、漢寧窗、漢明窗、BLACKMAN窗、凱撒窗等。 面我們著重介紹用窗函數(shù)法設(shè)計(jì)FIR濾波器的步驟。如下: (1)根據(jù)對(duì)阻帶衰減及過渡帶的指標(biāo)要求,選擇串窗數(shù)類型(矩形窗、三角窗、漢寧窗、哈明窗、凱塞窗等),并估計(jì)窗口長度N。先按照阻帶衰減選擇窗函數(shù)類型。原則是在保證阻帶衰減滿足要求的情況下,盡量選擇主瓣的窗函數(shù)。 (2)構(gòu)造希望逼近的頻率響應(yīng)

24、函數(shù)。 (3)計(jì)算h(n).。 (4)加窗得到設(shè)計(jì)結(jié)果。 接下來,我們根據(jù)語音信號(hào)的特點(diǎn)給出有關(guān)濾波器的技術(shù)指標(biāo): 低通濾波器的性能指標(biāo): fp=1000Hz,fc=1200Hz,As=50db ,Ap=1dB 高通濾波器的性能指標(biāo): fp=3500Hz,fc=4000Hz,As=50dB,Ap=1dB 帶通濾波器的性能指標(biāo): fp1=1200Hz,fp2=4000Hz,fc1=1000Hz,fc2=3200,As=100dB,Ap=1dB在Matlab中,可以利用函數(shù)fir1設(shè)計(jì)FIR濾波器,

25、利用Matlab中的函數(shù)freqz畫出各步步器的頻率響應(yīng)。 MATLAB信號(hào)處理工具箱函數(shù)cheblap,cheblord和cheeby1是切比雪夫I型濾波器設(shè)計(jì)函數(shù)。我們用到的是cheeby1函數(shù),其調(diào)用格式如下: B,A=cheby1(N,Rp,wpo,ftypr) B,A=cheby1(N,Rp,wpo,ftypr,s)下面我們將給出設(shè)計(jì)FIR數(shù)字濾波器的主要程序和圖像%=FIR低通濾波器=Ft=8000; Fp=1000; Fs=1200; wp=2*Fp/Ft;ws=2*Fs/Ft;rp=1;rs=50;p=1-10.(-rp/20); s=10.(-r

26、s/20);fpts=wp ws;mag=1 0;dev=p s;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev);b21=fir1(n21,wn21,kaiser(n21+1,beta);h,w=freqz(b21,1); figure;plot(w*8000*0.5/pi,abs(h);title('FIR低通濾波器','fontweight','bold');%=FIR高通濾波器=Ft=8001; Fp=4000; Fs=3500; wp=2*Fp/Ft;ws=2*Fs/Ft;rp=1;rs=50;p=

27、1-10.(-rp/20);s=10.(-rs/20);fpts=ws wp;mag=0 1;dev=p s;n23,wn23,beta,ftype=kaiserord(fpts,mag,dev);%kaiserord求階數(shù)截止頻率b23=fir1(n23,wn23,'high',Kaiser(n23+1,beta);%由firl設(shè)計(jì)濾波器h,w=freqz(b23,1);figure;plot(w*12000*0.5/pi,abs(h);title('FIR高通濾波器');axis(2500 5500 0 1.2);%=FIR帶通濾波器=Fp1=1200;Fp

28、2=3000;Fs1=1000;Fs2=3200;Ft=8000;wp1=tan(pi*Fp1/Ft);wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft);w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp1*wp2-w.2)/(bw*w);n22,wn22=buttord(wp,ws,1,50,'s');%求低通濾波器階數(shù)和截止頻率b22,a22=butter(n22,wn22,'s');%求S域的頻率響應(yīng)參數(shù)num2,den2=lp2bp(b22,a22,sqrt(wp1*w

29、p*2),bw);%將S域低通參數(shù)轉(zhuǎn)為帶通的num22,den22=bilinear(num2,den2,0.5);%雙線性變換實(shí)現(xiàn)S域到Z域的轉(zhuǎn)換h,w=freqz(num22,den22);%根據(jù)參數(shù)求出頻率響應(yīng)figure;plot(w*8000*0.5/pi,abs(h);axis(0 4000 0 1.5);legend('用butter 設(shè)計(jì)');3.4.2 IIR數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn) 對(duì)于數(shù)字高通、帶通濾波器的設(shè)計(jì),通用方法為雙線性變換法??梢越柚谀M濾波器的頻率轉(zhuǎn)換設(shè)計(jì)一個(gè)所需類型的過渡模擬濾波器,再經(jīng)過雙線性變換將其轉(zhuǎn)換策劃那個(gè)所需的數(shù)字濾波器。具體設(shè)計(jì)步

30、驟如下: (1)確定所需類型數(shù)字濾波器的技術(shù)指標(biāo)。 (2)將所需類型數(shù)字濾波器的邊界頻率轉(zhuǎn)換成相應(yīng)的模擬濾波器的邊界頻率,轉(zhuǎn)換公式為=2/T tan(0.5)   (3)將相應(yīng)類型的模擬濾波器技術(shù)指標(biāo)轉(zhuǎn)換成模擬低通濾波器技術(shù)指標(biāo)。 (4)設(shè)計(jì)模擬低通濾波器。 (5)通過頻率變換將模擬低通轉(zhuǎn)換成相應(yīng)類型的過渡模擬濾波器。 (6)采用雙線性變換法將相應(yīng)類型的過渡模擬濾波器轉(zhuǎn)換成所需類型的數(shù)字濾波器。 我們知道,脈沖響應(yīng)不變法的主要缺點(diǎn)是會(huì)產(chǎn)生頻譜混疊現(xiàn)象,使數(shù)字濾波器的頻響偏離模擬濾波器的頻響特性。

31、為了克服之一缺點(diǎn),可以采用雙線性變換法。下面我們總結(jié)一下利用模擬濾波器設(shè)計(jì)IIR數(shù)字低通濾波器的步驟: (1)確定數(shù)字低通濾波器的技術(shù)指標(biāo):通帶邊界頻率、通帶最大衰減,阻帶截止頻率、阻帶最小衰減。 (2)將數(shù)字低通濾波器的技術(shù)指標(biāo)轉(zhuǎn)換成相應(yīng)的模擬低通濾波器的技術(shù)指標(biāo)。 (3)按照模擬低通濾波器的技術(shù)指標(biāo)設(shè)計(jì)及過渡模擬低通濾波器。 (4)用雙線性變換法,模擬濾波器系統(tǒng)函數(shù)轉(zhuǎn)換成數(shù)字低通濾波器系統(tǒng)函數(shù)。MATLAB信號(hào)處理工具箱函數(shù)cheblap,cheblord和cheeby1是切比雪夫I型濾波器設(shè)計(jì)函數(shù)。我們用到的是cheeby1函數(shù),其調(diào)用格式如下:&

32、#160;B,A=cheby1(N,Rp,wpo,ftypr) B,A=cheby1(N,Rp,wpo,ftypr,s) 函數(shù)butter,cheby1和ellip設(shè)計(jì)IIR濾波器時(shí)都是默認(rèn)的雙線性變換法,所以在設(shè)計(jì)濾波器時(shí)只需要代入相應(yīng)的實(shí)現(xiàn)函數(shù)即可。下面我們將給出IIR數(shù)字濾波器的主要程序。 %=IIR低通濾波器=Fp=1000;Fs=1200;Ft=8000;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);n11,wn11=buttord(wp,ws,1,50,'s

33、9;);b11,a11=butter(n11,wn11,'s');num11,den11=bilinear(b11,a11,0.5);h,w=freqz(num11,den11);figure;plot(w*8000*0.5/pi,abs(h);legend('用butter設(shè)計(jì)');%=IIR高通濾波器=Ft=8000;Fp=4000;Fs=3500;w1=tan(pi*Fp/Ft);ws1=tan(pi*Fs/Ft);wp=1;ws=w1*wp/ws1;n13,wn13=cheb1ord(wp,ws,1,50,'s');%求模擬的低通濾波器階

34、數(shù)和截止頻率b13,a13=cheby1(n13,1,wn13,'s');%求S域的頻率響應(yīng)是參數(shù)num,den=lp2hp(b13,a13,wn13);num13,den13=bilinear(num,den,0.5);%利用雙線性變換實(shí)現(xiàn)S域到Z域轉(zhuǎn)換h,w=freqz(num13,den13);figure;plot(w*21000*0.5/pi,abs(h);title('IIR高通濾波器');legend('用cheby 1設(shè)計(jì)');%=IIR帶通濾波器=Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;Ft=80

35、00;wp1=tan(pi*Fp1/Ft);wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft);w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp1*wp2-w.2)/(bw*w);n12,wn12=buttord(wp,ws,1,50,'s');%求低通濾波器階數(shù)和截止頻率b12,a12=butter(n12,wn12,'s');%求S域的頻率響應(yīng)參數(shù)num2,den2=lp2bp(b12,a12,sqrt(wp1*wp*2),bw);%將S域低通參數(shù)轉(zhuǎn)為帶通的num12,de

36、n12=bilinear(num2,den2,0.5);%雙線性變換實(shí)現(xiàn)S域到Z域的轉(zhuǎn)換h,w=freqz(num12,den12);%根據(jù)參數(shù)求出頻率響應(yīng)figure;plot(w*8000*0.5/pi,abs(h);axis(0 4000 0 1.5);legend('用butter設(shè)計(jì)');3.5 用濾波器對(duì)加噪語音信號(hào)進(jìn)行濾波用自己設(shè)計(jì)的各濾波器分別對(duì)加噪的語音信號(hào)進(jìn)行濾波,在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對(duì)信號(hào)進(jìn)行濾波,IIR濾波器利用函數(shù)filter對(duì)信號(hào)進(jìn)行濾波。函數(shù)fftfilt用的是重疊相加法實(shí)現(xiàn)線性卷積的計(jì)算。調(diào)用格式為:y=fftfi

37、lter(h,x,M).其中,h是系統(tǒng)單位沖擊響應(yīng)向量;X是輸入序列向量;y是系統(tǒng)的輸出序列向量;M是由用戶的選擇的輸入序列的分段長度,缺省時(shí),默認(rèn)的輸入向量的重常度M=512.函數(shù)filter的調(diào)用格式:yn=filter(B,A.xn),它是按照直線型結(jié)構(gòu)實(shí)現(xiàn)對(duì)xn的濾波。其中xn是輸入信號(hào)向量,yn輸出信號(hào)向量。3.6 比較濾波前后語音信號(hào)的波形及頻譜主要程序及運(yùn)行結(jié)果如下:%=雙線性變換法低通濾波器=y,fs,nbits=wavread('speech'); %雙線性低通濾波器n=length(y); %求出語音信號(hào)長度noise=0.01*randn(n,2); %隨

38、機(jī)函數(shù)產(chǎn)生噪聲s=y+noise; %語音信號(hào)加入噪聲S=fft(s); %傅里葉變換Fp=1000;Fs=1200;Ft=8000;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);n11,wn11=buttord(wp,ws,1,50,'s');b11,a11=butter(n11,wn11,'s');num11,den11=bilinear(b11,a11,0.5);z11=filter(num11,den11,s);sound(z11);m11=fft(z11); %求濾波后的

39、信號(hào)figure;subplot(2,2,1);plot(abs(S),'g');title('濾波前信號(hào)的頻譜');grid;subplot(2,2,2);plot(abs(m11),'r');title('濾波后信號(hào)的頻譜');grid;subplot(2,2,3);plot(s);title('濾波前的信號(hào)波形');grid;subplot(2,2,4);plot(z11);title('濾波后的信號(hào)波形');%=雙線性變換法高通濾波器=y,fs,nbits=wavread('spee

40、ch'); %雙線性高通濾波器n=length(y); %求出語音信號(hào)長度noise=0.01*randn(n,2); %隨機(jī)函數(shù)產(chǎn)生噪聲s=y+noise; %語音信號(hào)加入噪聲S=fft(s); %傅里葉變換Ft=8000;Fp=4000;Fs=3500;w1=tan(pi*Fp/Ft);ws1=tan(pi*Fs/Ft);wp=1;ws=w1*wp/ws1;n13,wn13=cheb1ord(wp,ws,1,50,'s');%求模擬的低通濾波器階數(shù)和截止頻率b13,a13=cheby1(n13,1,wn13,'s');%求S域的頻率響應(yīng)是參數(shù)num,

41、den=lp2hp(b13,a13,wn13);num13,den13=bilinear(num,den,0.5);z13=filter(num13,den13,s);sound(z13);m13=fft(z13); %求濾波后的信號(hào)figure;subplot(2,2,1);plot(abs(S),'g');title('濾波前信號(hào)的頻譜');subplot(2,2,2);plot(abs(m13),'r');title('濾波后信號(hào)的頻譜');subplot(2,2,3);plot(s);title('濾波前的信號(hào)波形

42、');subplot(2,2,4);plot(z13);title('濾波后的信號(hào)波形');%=雙線性變換法帶通濾波器=y,fs,nbits=wavread('speech'); %雙線性帶通濾波器n=length(y); %求出語音信號(hào)長度noise=0.01*randn(n,2); %隨機(jī)函數(shù)產(chǎn)生噪聲s=y+noise; %語音信號(hào)加入噪聲S=fft(s); %傅里葉變換Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;Ft=8000;wp1=tan(pi*Fp1/Ft);wp2=tan(pi*Fp2/Ft);ws1=tan(p

43、i*Fs1/Ft);ws2=tan(pi*Fs2/Ft);w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp1*wp2-w.2)/(bw*w);n12,wn12=buttord(wp,ws,1,50,'s');%求低通濾波器階數(shù)和截止頻率b12,a12=butter(n12,wn12,'s');%求S域的頻率響應(yīng)參數(shù)num2,den2=lp2bp(b12,a12,sqrt(wp1*wp*2),bw);%將S域低通參數(shù)轉(zhuǎn)為帶通的num12,den12=bilinear(num2,den2,0.5);z12=filter(num12,den12

44、,s);sound(z12);m12=fft(z12); %求濾波后的信號(hào)figure;subplot(2,2,1);plot(abs(S),'g');title('濾波前信號(hào)的頻譜');subplot(2,2,2);plot(abs(m12),'r');title('濾波后信號(hào)的頻譜');subplot(2,2,3);plot(s);title('濾波前的信號(hào)波形');subplot(2,2,4);plot(z12);title('濾波后的信號(hào)波形');%=窗函數(shù)法低通濾波器=y,fs,nbits

45、=wavread('speech'); %窗函數(shù)低通n=length(y);%求出語音信號(hào)的長度noise=0.01*randn(n,2);%隨機(jī)函數(shù)產(chǎn)生噪聲m=y+noise;%語音信號(hào)加入噪聲S=fft(m);%傅里葉變換Ft=8000; Fp=1000; Fs=1200; wp=2*Fp/Ft;ws=2*Fs/Ft;rp=1;rs=50;p=1-10.(-rp/20); s=10.(-rs/20);fpts=wp ws;mag=1 0;dev=p s;n21,wn21,beta,=kaiserord(fpts,mag,dev);b21=fir1(n21,wn21,kais

46、er(n21+1,beta);z21=fftfilt(b21,m);sound(z21);m21=fft(z21);%求濾波后的信號(hào)figure;subplot(2,2,1);plot(abs(S),'g');title('濾波前信號(hào)的頻譜');subplot(2,2,2);plot(abs(m21),'r');title('濾波后信號(hào)的頻譜');subplot(2,2,3);plot(m);title('濾波前信號(hào)的波形');subplot(2,2,4);plot(z21);title('濾波后信號(hào)的波形

47、');%=窗函數(shù)法高通濾波器=y,fs,nbits=wavread('speech'); %窗函數(shù)高通濾波n=length(y);%求出語音信號(hào)的長度noise=0.01*randn(n,2);%隨機(jī)函數(shù)產(chǎn)生噪聲m=y+noise;%語音信號(hào)加入噪聲S=fft(m);%傅里葉變換Ft=8001; Fp=4000; Fs=3500; wp=2*Fp/Ft;ws=2*Fs/Ft;rp=1;rs=50;p=1-10.(-rp/20);s=10.(-rs/20);fpts=ws wp;mag=0 1;dev=p s;n23,wn23,beta,ftype=kaiserord(f

48、pts,mag,dev);%kaiserord求階數(shù)截止頻率b23=fir1(n23,wn23,'high',Kaiser(n23+1,beta);%由firl設(shè)計(jì)濾波器z23=fftfilt(b23,m);sound(z23);m23=fft(z23);%求濾波后的信號(hào)figure;subplot(2,2,1);plot(abs(S),'g');title('濾波前信號(hào)的頻譜');subplot(2,2,2);plot(abs(m23),'r');title('濾波后信號(hào)的頻譜');subplot(2,2,3);

49、plot(m);title('濾波前信號(hào)的波形');subplot(2,2,4);plot(z23);title('濾波后信號(hào)的波形');%=窗函數(shù)法帶通濾波器=y,fs,nbits=wavread('speech'); %窗函數(shù)帶通濾波n=length(y);%求出語音信號(hào)的長度noise=0.01*randn(n,2);%隨機(jī)函數(shù)產(chǎn)生噪聲s=y+noise;%語音信號(hào)加入噪聲S=fft(s);%傅里葉變換Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;Ft=8000;wp1=tan(pi*Fp1/Ft);wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft);w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp1*wp2-w.2)/(bw*w);n22,wn22=b

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論