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

下載本文檔

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

文檔簡介

1、題目(tm):基于(jy)Matlab的有噪聲語音(yyn)信號處理摘要(zhiyo) 濾波器設(shè)計(jì)在數(shù)字信號處理(xn ho ch l)中占有極其重要的地位,F(xiàn)IR數(shù)字(shz)濾波器和IIR濾波器是濾波器設(shè)計(jì)的重要組成部分。利用MATLAB信號處理工具箱可以快速有效地設(shè)計(jì)各種數(shù)字濾波器。課題基于MATLAB有噪音語音信號處理的設(shè)計(jì)與實(shí)現(xiàn),綜合運(yùn)用數(shù)字信號處理的理論知識對加噪聲語音信號進(jìn)行時域、頻域分析和濾波。通過理論推導(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ù)字濾波器,

2、并利用MATLAB 作為輔助工具完成設(shè)計(jì)中的計(jì)算與圖形的繪制。通過對所設(shè)計(jì)濾波器的仿真和頻率特性分析,可知利用MATLAB信號處理工具箱可以有效快捷地設(shè)計(jì)FIR和IIR數(shù)字濾波器,過程簡單方便,結(jié)果的各項(xiàng)性能指標(biāo)均達(dá)到指定要求。 關(guān)鍵詞:數(shù)字濾波器 MATLAB 窗函數(shù)法 巴特沃斯 切比雪夫 雙線性變換目錄(ml)1、緒論(xln)42、作業(yè)(zuy)內(nèi)容與要求53、作業(yè)設(shè)計(jì)的具體實(shí)現(xiàn)6 3.1 語音信號的采集6 3.2 語音信號的時頻分析6 3.3 語音信號加噪與頻譜分析8 3.4 設(shè)計(jì)FIR和IIR數(shù)字濾波器9 3.5 用濾波器對加噪語音信號進(jìn)行濾波20 3.6 比較濾波前后語音信號的波形

3、及頻譜21 3.7 回放語音信號31 3.8 設(shè)計(jì)GUI界面314、隊(duì)員貢獻(xiàn)及民主評價345、小結(jié)346、致謝351、緒論(xln) 數(shù)字信號處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)值計(jì)算的方法對信號進(jìn)行采集、抽樣、變換、綜合、估值與識別等加工處理,借以達(dá)到提取(tq)信息和便于應(yīng)用的目的。它在語音、雷達(dá)、圖像、系統(tǒng)控制、通信、航空航天、生物醫(yī)學(xué)等眾多領(lǐng)域都獲得了極其廣泛的應(yīng)用。具有靈活、精確、抗干擾強(qiáng)、設(shè)備尺寸小、造價低、速度快等優(yōu)點(diǎn)。數(shù)字(shz)濾波器,是數(shù)字信號處理中及其重要的一部分。隨著信息時代和數(shù)字技術(shù)的發(fā)展,受到人們越來越多的重視。數(shù)字濾波器可以通過數(shù)值運(yùn)算實(shí)現(xiàn)濾波,所以數(shù)字濾波器處

4、理精度高、穩(wěn)定、體積小、重量輕、靈活不存在阻抗匹配問題,可以實(shí)現(xiàn)模擬濾波器無法實(shí)現(xiàn)的特殊功能。數(shù)字濾波器種類很多,根據(jù)其實(shí)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)或者其沖激響應(yīng)函數(shù)的時域特性,可分為兩種,即有限沖激響應(yīng)(FIR,F(xiàn)initeImpulseResponse)濾波器和無限沖激響應(yīng)(IIR,InfiniteImpulseResponse)濾波器。FIR濾波器結(jié)構(gòu)上主要是非遞歸結(jié)構(gòu),沒有輸出到輸入的反饋,系統(tǒng)函數(shù)H(z)在處收斂,極點(diǎn)全部在z=0處(因果系統(tǒng)),因而只能用較高的階數(shù)達(dá)到高的選擇性。FIR數(shù)字濾波器的幅頻特性精度較之于IIR數(shù)字濾波器低,但是線性相位,就是不同頻率分量的信號經(jīng)過fir濾波器后他們的時

5、間差不變,這是很好的性質(zhì)。FIR數(shù)字濾波器是有限的單位響應(yīng)也有利于對數(shù)字信號的處理,便于編程,用于計(jì)算的時延也小,這對實(shí)時的信號處理很重要。FIR濾波器因具有系統(tǒng)穩(wěn)定,易實(shí)現(xiàn)相位控制,允許設(shè)計(jì)多通帶(或多阻帶)濾波器等優(yōu)點(diǎn)收到人們的青睞。IIR濾波器采用遞歸型結(jié)構(gòu),即結(jié)構(gòu)上帶有反饋(fnku)環(huán)路。IIR濾波器運(yùn)算結(jié)構(gòu)通常由延時、乘以系數(shù)和相加等基本運(yùn)算組成,可以組合成直接型、正準(zhǔn)型、級聯(lián)型、并聯(lián)型四種結(jié)構(gòu)形式,都具有(jyu)反饋回路。同時,IIR數(shù)字濾波器在設(shè)計(jì)上可以借助(jizh)成熟的模擬濾波器的成果,如巴特沃斯、契比雪夫和橢圓濾波器等,有現(xiàn)成的設(shè)計(jì)數(shù)據(jù)或圖表可查,在設(shè)計(jì)一個IIR數(shù)字

6、濾波器時,我們根據(jù)指標(biāo)先寫出模擬濾波器的公式,然后通過一定的變換,將模擬濾波器的公式轉(zhuǎn)換成數(shù)字濾波器的公式。濾波器的設(shè)計(jì)可以通過軟件或設(shè)計(jì)專用的硬件兩種方式來實(shí)現(xiàn)。隨著MATLAB軟件及信號處理工具箱的不斷完善,MATLAB很快成為應(yīng)用學(xué)科等領(lǐng)域不可或缺的基礎(chǔ)軟件。它可以快速有效地實(shí)現(xiàn)數(shù)字濾波器的設(shè)計(jì)、分析和仿真,極大地減輕了工作量,有利于濾波器設(shè)計(jì)的最優(yōu)化。2、作業(yè)內(nèi)容與要求 選擇一個語音信號作為分析的對象,或錄制一段各人自己的語音信號,對其進(jìn)行頻譜分析;利用MATLAB中的隨機(jī)函數(shù)產(chǎn)生噪聲加入到語音信號中,模仿語音信號被污染,并對其進(jìn)行頻譜分析;設(shè)計(jì)FIR和IIR數(shù)字濾波器, 并對被噪聲污

7、染的語音信號進(jìn)行濾波,分析濾波后信號的時域和頻域特征,回放語音信號。最后,設(shè)計(jì)一個信號處理系統(tǒng)界面。3 作業(yè)設(shè)計(jì)的具體(jt)實(shí)現(xiàn) 3.1 語音信號(xnho)的采集 利用(lyng)PC機(jī)上的聲卡和WINDOWS操作系統(tǒng)可以進(jìn)行數(shù)字信號的采集。將話筒輸入計(jì)算機(jī)ide語音輸入到插口上,啟動錄音機(jī)。按下錄音按鈕,接著將話筒對著PC的外放,記錄音樂播放器正在播放的音樂,記錄一段時間后停止錄音。以文件名“speech”保存在一個文件中。可以看但文件后綴名為.wav,這是WINDOWS操作系統(tǒng)規(guī)定的聲音文件存的標(biāo)準(zhǔn)。 3.2語音信號的時頻分析利用MATLAB中的“wavread”命令來讀入(采集)語音

8、信號,將它賦值給某一向量。再對其進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。下面介紹wavread函數(shù)幾種調(diào)用格式。(1)y=wavread(file)功能說明:讀取file所規(guī)定的wav文件,返回采樣值放在向量y中。(2)y,fs,nbits=wavread(file)功能說明:采樣(ci yn)值放在向量y中,fs表示采樣(ci yn)頻率(hz),nbits表示(biosh)采樣位數(shù)。接下來,對語音信號speech.wav進(jìn)行采樣。其程序如下:y,fs,nbits=wavered(speech);把語音信號加載入Matlab仿真軟件平臺中然后,畫出語音信號的時域波形,再對語音信號進(jìn)行頻譜分析。MA

9、TLAB提供了快速傅里葉變換算法FFT計(jì)算DFT的函數(shù)fft,其調(diào)用格式如下:Xk=fft(xn,N);參數(shù)xn為被變換的時域序列向量,N是DFT變換區(qū)間長度,當(dāng)N大于xn的長度時,fft函數(shù)自動在xn后面補(bǔ)零。當(dāng)N小于xn的長度時,fft函數(shù)計(jì)算xn的前N個元素,忽略其后面的元素。在本次設(shè)計(jì)中,我們利用fft對語音信號進(jìn)行快速傅里葉變換,就可以得到信號的頻譜特性。其程序如下:y,fs,nbits= wavread(F:speech.wav);N=length(y); %求出語音信號長度Y=fft(y,N); %傅里葉變換figure;subplot(2,1,1);plot(y);title(

10、原始信號波形);subplot(2,1,2);plot(abs(Y);title(原始信號頻譜);axes1(position, 1 1 1 1);程序(chngx)結(jié)果如下圖:3.3 語音(yyn)信號加噪與頻譜分析 在MATLAB中產(chǎn)生(chnshng)高斯白噪聲非常方便,我們可以直接應(yīng)用兩個函數(shù):一個是WGN,另一個是AWGN。WGN用于產(chǎn)生高斯白噪聲,AWGN則用于在某一信號中加入高斯白噪聲。也可直接用randn函數(shù)產(chǎn)生高斯分布序列。在本次設(shè)計(jì)中,我們是利用MATLAB中的隨機(jī)函數(shù)(rand或randn)產(chǎn)生噪聲加入到語音信號中,模仿語音信號被污染,并對其頻譜分析。Randn函數(shù)有兩種

11、基本調(diào)用格式:Randn(n)和Randn(m,n),前者產(chǎn)生nn服從標(biāo)準(zhǔn)高斯分布的隨機(jī)數(shù)矩陣,后者產(chǎn)生mn的隨機(jī)數(shù)矩陣。在這里,我們選用Randn(m,n)函數(shù)。語音信號添加噪聲及其頻譜分析的主要程序如下:y,fs,nbits=wavread(speech); %窗函數(shù)(hnsh)帶通濾波n=length(y);%求出語音(yyn)信號的長度noise=0.01*randn(n,2);%隨機(jī)(su j)函數(shù)產(chǎn)生噪聲s=y+noise;sound(s);figure;subplot(2,1,1);plot(s);title(加噪語音信號的時域波形);S=fft(s);subplot(2,1,2

12、);plot(abs(s);title(加噪語音信號的頻域波形);程序結(jié)果如下圖:3.4 設(shè)計(jì)(shj)FIR和IIR數(shù)字(shz)濾波器 3.4.1 FIR數(shù)字濾波器的設(shè)計(jì)(shj)與實(shí)現(xiàn) FIR:有限脈沖響應(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ì)算時間,對DSP的實(shí)時性有影響。FIR濾波器的設(shè)計(jì)比較簡單,就是要設(shè)計(jì)一個數(shù)字濾波器去逼近一

13、個理想的低通濾波器。通常這個理想的低通濾波器在頻域上是一個矩形窗。也就是把這個時域采樣序列去乘一個窗函數(shù),就把這個無限的時域采樣序列截成了有限個序列值。但是加窗后對此采樣序列的頻域也產(chǎn)生了影響:此時的頻域便不在是一個理想的矩形窗,而是成了一個有過渡帶,阻帶有波動的低通濾波器。通常根據(jù)所加的窗函數(shù)的不同,對采樣信號加窗后,在頻域所得的低通濾波器的阻帶衰減也不同。通常我們就是根據(jù)此阻帶衰減去選擇一個合適的窗函數(shù)。如矩形窗、漢寧窗、漢明窗、BLACKMAN窗、凱撒窗等。面我們著重介紹用窗函數(shù)法設(shè)計(jì)FIR濾波器的步驟。如下:(1)根據(jù)對阻帶衰減及過渡帶的指標(biāo)要求,選擇串窗數(shù)類型(矩形窗、三角窗、漢寧窗

14、、哈明窗、凱塞窗等),并估計(jì)(gj)窗口長度N。先按照(nzho)阻帶衰減選擇窗函數(shù)類型。原則是在保證阻帶衰減滿足要求的情況下,盡量選擇主瓣的窗函數(shù)。(2)構(gòu)造希望逼近(bjn)的頻率響應(yīng)函數(shù)。(3)計(jì)算h(n).。(4)加窗得到設(shè)計(jì)結(jié)果。接下來,我們根據(jù)語音信號的特點(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,

15、Ap=1dB在Matlab中,可以利用函數(shù)fir1設(shè)計(jì)FIR濾波器,利用Matlab中的函數(shù)freqz畫出各步步器的頻率響應(yīng)。MATLAB信號處理工具箱函數(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.(-

16、rp/20); s=10.(-rs/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=1-10.(-rp/20);

17、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ì)(shj)濾波器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;Fp2=3000;Fs1=1000;Fs2=3200;Ft=8

18、000;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)(pn l xin yn)參數(shù)num2,den2=lp2bp(b22,a22,sqrt(wp1*wp*2),bw);%將S域低通參數(shù)(cnsh)轉(zhuǎn)為帶通的num22,de

19、n22=bilinear(num2,den2,0.5);%雙線性變換實(shí)現(xiàn)(shxin)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ù)字(shz)濾波器的設(shè)計(jì)與實(shí)現(xiàn) 對于數(shù)字高通、帶通濾波器的設(shè)計(jì)(shj),通用方法為雙線性變換法??梢越柚谀M濾波器的頻率轉(zhuǎn)換設(shè)計(jì)一個所需類型的過渡模擬濾波器,再經(jīng)過雙線性變換將其轉(zhuǎn)換策劃那個所需的數(shù)字濾波器。具體設(shè)計(jì)步驟如下:(1)確定所需類型(lixng)數(shù)字濾

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

21、低通濾波器的技術(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信號處理工具箱函數(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ù)(hnsh)butter,cheby1和ellip設(shè)計(jì)

22、(shj)IIR濾波器時都是默認(rèn)的雙線性變換法,所以在設(shè)計(jì)(shj)濾波器時只需要代入相應(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);b11,a11=butter(n11,wn11,s);num11,den11=bilinear(b11,a11,0.5);h,w=freqz(num11,den11);figure;plot(

23、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);%求模擬(mn)的低通濾波器階數(shù)和截止頻率b13,a13=cheby1(n13,1,wn13,s);%求S域的頻率響應(yīng)(pn l xin yn)是參數(shù)num,den=lp2hp(b13,a13,wn13);num13,den13=bilinear(num,den,0.5);%利用雙

24、線性變換實(shí)現(xiàn)(shxin)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ì)(shj);%=IIR帶通濾波器=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)

25、;n12,wn12=buttord(wp,ws,1,50,s);%求低通濾波器階數(shù)和截止頻率b12,a12=butter(n12,wn12,s);%求S域的頻率響應(yīng)(pn l xin yn)參數(shù)num2,den2=lp2bp(b12,a12,sqrt(wp1*wp*2),bw);%將S域低通參數(shù)(cnsh)轉(zhuǎn)為帶通的num12,den12=bilinear(num2,den2,0.5);%雙線性變換實(shí)現(xiàn)(shxin)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

26、.5);legend(用butter設(shè)計(jì));3.5 用濾波器對加噪語音信號進(jìn)行(jnxng)濾波用自己(zj)設(shè)計(jì)的各濾波器分別對加噪的語音信號進(jìn)行濾波,在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對信號進(jìn)行濾波,IIR濾波器利用函數(shù)filter對信號進(jìn)行濾波。函數(shù)fftfilt用的是重疊相加法實(shí)現(xiàn)線性卷積的計(jì)算。調(diào)用(dioyng)格式為:y=fftfilter(h,x,M).其中,h是系統(tǒng)單位沖擊響應(yīng)向量;X是輸入序列向量;y是系統(tǒng)的輸出序列向量;M是由用戶的選擇的輸入序列的分段長度,缺省時,默認(rèn)的輸入向量的重常度M=512.函數(shù)filter的調(diào)用格式:yn=filter(B,A.

27、xn),它是按照直線型結(jié)構(gòu)實(shí)現(xiàn)對xn的濾波。其中xn是輸入信號向量,yn輸出信號向量。3.6 比較濾波前后語音信號的波形及頻譜主要程序及運(yùn)行結(jié)果如下:%=雙線性變換法低通濾波器=y,fs,nbits=wavread(speech); %雙線性低通濾波器n=length(y); %求出語音信號長度noise=0.01*randn(n,2); %隨機(jī)函數(shù)產(chǎn)生噪聲s=y+noise; %語音信號加入噪聲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

28、/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); %求濾波(lb)后的信號figure;subplot(2,2,1);plot(abs(S),g);title(濾波(lb)前信號的頻譜);grid;subplot(2,2,2);plot(abs(m11),r);title(濾波(lb)后信號的頻譜);grid;subplot(2,2,3);plot(s)

29、;title(濾波前的信號波形);grid;subplot(2,2,4);plot(z11);title(濾波后的信號波形);%=雙線性變換法高通濾波器=y,fs,nbits=wavread(speech); %雙線性高通濾波器n=length(y); %求出語音(yyn)信號長度noise=0.01*randn(n,2); %隨機(jī)(su j)函數(shù)產(chǎn)生噪聲s=y+noise; %語音信號加入(jir)噪聲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

30、,wn13=cheb1ord(wp,ws,1,50,s);%求模擬(mn)的低通濾波器階數(shù)和截止頻率b13,a13=cheby1(n13,1,wn13,s);%求S域的頻率響應(yīng)(pn l xin yn)是參數(shù)num,den=lp2hp(b13,a13,wn13);num13,den13=bilinear(num,den,0.5);z13=filter(num13,den13,s);sound(z13);m13=fft(z13); %求濾波(lb)后的信號figure;subplot(2,2,1);plot(abs(S),g);title(濾波前信號的頻譜);subplot(2,2,2);plo

31、t(abs(m13),r);title(濾波后信號的頻譜);subplot(2,2,3);plot(s);title(濾波前的信號波形);subplot(2,2,4);plot(z13);title(濾波后的信號波形);%=雙線性變換法帶通濾波器=y,fs,nbits=wavread(speech); %雙線性帶通濾波器n=length(y); %求出語音信號長度noise=0.01*randn(n,2); %隨機(jī)函數(shù)產(chǎn)生噪聲s=y+noise; %語音信號加入噪聲S=fft(s); %傅里葉變換(binhun)Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;Ft=80

32、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)(pn l xin yn)參數(shù)num2,den2=lp2bp(b12,a12,sqrt(wp1*wp*2),bw);%將S域低通參數(shù)(cnsh)轉(zhuǎn)為帶通的num12,den

33、12=bilinear(num2,den2,0.5);z12=filter(num12,den12,s);sound(z12);m12=fft(z12); %求濾波后的信號figure;subplot(2,2,1);plot(abs(S),g);title(濾波前信號的頻譜);subplot(2,2,2);plot(abs(m12),r);title(濾波后信號的頻譜);subplot(2,2,3);plot(s);title(濾波前的信號波形);subplot(2,2,4);plot(z12);title(濾波后的信號波形);%=窗函數(shù)(hnsh)法低通濾波器=y,fs,nbits=wavr

34、ead(speech); %窗函數(shù)(hnsh)低通n=length(y);%求出語音(yyn)信號的長度noise=0.01*randn(n,2);%隨機(jī)函數(shù)產(chǎn)生噪聲m=y+noise;%語音信號加入噪聲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,kaiser(n

35、21+1,beta);z21=fftfilt(b21,m);sound(z21);m21=fft(z21);%求濾波(lb)后的信號figure;subplot(2,2,1);plot(abs(S),g);title(濾波(lb)前信號的頻譜);subplot(2,2,2);plot(abs(m21),r);title(濾波(lb)后信號的頻譜);subplot(2,2,3);plot(m);title(濾波前信號的波形);subplot(2,2,4);plot(z21);title(濾波后信號的波形);%=窗函數(shù)(hnsh)法高通濾波器=y,fs,nbits=wavread(speech);

36、 %窗函數(shù)(hnsh)高通濾波n=length(y);%求出語音信號(xnho)的長度noise=0.01*randn(n,2);%隨機(jī)函數(shù)產(chǎn)生噪聲m=y+noise;%語音信號加入噪聲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(fpts,mag,dev);%kaiserord求階數(shù)截止頻率b23=fir1(n23,w

37、n23,high,Kaiser(n23+1,beta);%由firl設(shè)計(jì)(shj)濾波器z23=fftfilt(b23,m);sound(z23);m23=fft(z23);%求濾波(lb)后的信號figure;subplot(2,2,1);plot(abs(S),g);title(濾波(lb)前信號的頻譜);subplot(2,2,2);plot(abs(m23),r);title(濾波后信號的頻譜);subplot(2,2,3);plot(m);title(濾波前信號的波形);subplot(2,2,4);plot(z23);title(濾波后信號的波形);%=窗函數(shù)(hnsh)法帶通濾波

38、器=y,fs,nbits=wavread(speech); %窗函數(shù)(hnsh)帶通濾波n=length(y);%求出語音信號(xnho)的長度noise=0.01*randn(n,2);%隨機(jī)函數(shù)產(chǎn)生噪聲s=y+noise;%語音信號加入噪聲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

39、.2)/(bw*w);n22,wn22=buttord(wp,ws,1,50,s);%求低通濾波器階數(shù)和截止頻率b22,a22=butter(n22,wn22,s);z22=fftfilt(b22,s);sound(z22);m22=fft(z22);%求濾波(lb)后的信號figure;subplot(2,2,1);plot(abs(S),g);title(濾波(lb)前信號的頻譜);subplot(2,2,2);plot(abs(m22),r);title(濾波(lb)后信號的頻譜);subplot(2,2,3);plot(s);title(濾波前信號的波形);subplot(2,2,4);plot(z22);title(濾波后信號的波形);3.7 回放(hu fn)語音信號 經(jīng)過以上的加噪聲處理后,可在Matlab中用函數(shù)sound對聲音進(jìn)行回放。其調(diào)用格式:sound(y).可以察覺濾波(lb)前后的聲音有明顯的變化。3.8 設(shè)計(jì)(shj)GUI界面3.8.1系統(tǒng)界面設(shè)計(jì)工具GUI概述 圖形用戶界面(graphical user interfaces ,GUI)則是由窗口、光標(biāo)(un bio)、按鍵、菜單、文字說明等對象(objects)

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論