語音增強報告譜減法和維納濾波_第1頁
語音增強報告譜減法和維納濾波_第2頁
語音增強報告譜減法和維納濾波_第3頁
語音增強報告譜減法和維納濾波_第4頁
語音增強報告譜減法和維納濾波_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Speech Enhancement一、語音增強方法的理論分析21. 引言22. 語音增強算法22.1譜減法22.2 Wiener 濾波法3二、譜減法51. 算法實現(xiàn)52. 改善算法,減少音樂噪聲9三、Wiener濾波法111. 算法實現(xiàn)112. 迭代Wiener濾波的算法實現(xiàn)14五、參考文獻17一、語音增強方法的理論分析1 .引言語音增強的目標是從含有噪聲的語音信號中提取盡可能純凈的原始語音。然 而,由于干擾通常都是隨機的,從帶噪語音中提取完全純凈的語音幾乎不可能。 在這種情況下,語音增強的目的主要有兩個:一是改進語音質(zhì)量,消除背景噪音, 使聽者樂于接受,不感覺疲勞,這是一種主觀度量:二是提

2、高語音可懂度,這是 一種客觀度量。這兩個目的往往不能兼得,所以實際應(yīng)用中總是視具體情況而有 所側(cè)重的。帶噪語音的噪聲類型可以分為加性噪聲和非加性噪聲。加性噪聲有寬帶的, 窄帶的,平穩(wěn)的,非平穩(wěn)的,白噪聲,有色噪聲,等:非加性噪聲如乘性噪聲, 卷積噪聲等。一般,語音增強處理的噪聲指環(huán)境中的噪聲,而這些噪聲主要是高 斯白噪聲,這種噪聲一般符合如下的假設(shè):(1) 噪聲是加性的。(2) 噪聲是局部平穩(wěn)的。局部平穩(wěn)是指一段加噪語音中的噪聲,具有和語音 段開始前那段噪聲相同的統(tǒng)計特性,且在整個語音段中保持不變。也就是說,可 以根據(jù)語音開始前那段噪聲來估計語音中所疊加的噪聲統(tǒng)計特性。(3) 噪聲與語音統(tǒng)計獨

3、立或不相關(guān)。2 .語音增強算法根據(jù)語音和噪聲的特點,出現(xiàn)了很多種語音增強算法。比較常用的有噪聲對消法、 譜相減法、維納濾波法、卡爾曼濾波法、FIR自適應(yīng)濾波法等。此外,隨著科學(xué) 技術(shù)的發(fā)展乂出現(xiàn)了一些新的增強技術(shù),如基丁神經(jīng)網(wǎng)絡(luò)的語音增強、基于HMM 的語音增強、基于聽覺感知的語音增強、基于多分辨率分析的語音增強、基于語 音產(chǎn)生模型的線性濾波法、基于小波變換的語音增強方法、梳狀濾波法、相關(guān) 法、基于語音模型的語音增強方法等。此處主要介紹譜減法和wiener '濾波法。2.1譜減法使用譜減法是假設(shè): 噪聲疊加; 聲與語音不相關(guān); 對純凈語音無先驗知識:對統(tǒng)計噪聲有先驗知識。帶噪語音模型為

4、:y(n)=x(n)+v(n)式中,y(n)是帶噪語音,s(n)是純凈語音,v(n)是噪聲。對式子兩邊進行傅立葉變 換,得Y(k)=X(k)+N(k)由于對噪聲的統(tǒng)計參數(shù)的未知,所以在實際應(yīng)用中,通常使用非語音段噪聲譜的 均值來作為對噪聲譜N(k)的估計, 1m=£伽啊|蘭網(wǎng)坷)| =亍£ Im(坷)|則對純凈語音幅度譜的估量表示為衣的_ Ji】快)| - M幻I如I擇)1一麗以> °0otherwise把帶噪語音的相位Gy(e>)當(dāng)作是純凈語音的相位,那么純凈語音頻譜的估量為X(eJIB)=|;c,-> x(n) = IFTJB)2.2 wie

5、ner濾波法一個線性系統(tǒng),如果它的單位樣本響應(yīng)為h(n),當(dāng)輸入一個隨機信號x(n), 且x(n) = s(n) + u(n)其中s(n)表示信號,Mn)表示噪聲,則輸出y(n)為y(n) = £h(m)x(n_m)m我們希望x(n)通過線性系統(tǒng)h(n)后得到的y(n)盡景接近于s(n),因此稱y(n)為s(n) 的估計值,用§(n)表示,即y(n) = S(n)維納濾波器的輸入一輸出關(guān)系為:川)=§(%x(n) = s(n) + Mn) I如上圖所示。這個線性系統(tǒng)h(n)稱為對于s(n)的一種估計器。如果我們以s與谷分別表示信號的真值與估計值,而用e(n)表示它

6、們之間的 誤差,即e(n) = s(n) s(n)顯然,e(n)可能是正的,也可能是負的,并且它是一個隨機變量。因此,用 它的均方值來表達誤差是合理的,所謂均方誤差最小即它的平方的統(tǒng)計平均值最 ?。篍e2(n)=E(s-s)2最小已知希望輸出為:-3 -N-ly(n) = s(n) = V h(m)x(n-m)nx=O誤差為:N-le(n) = s(n) 一 s(n) = s(n) 一 > h(m)x(n-m)xn-0均方誤差為:N-lEe2(n) = E (S(n)-h(m)x(n-m)2m=O上式對h(m) m=O,l,N1求導(dǎo)得到:NT2E (s(n)-(m)x(n-m)x(n-

7、j) =0 j =O,1,2 N-1nO進一步得:N-lEs(n)x(n- j) = £瞄(m)Ex(n-m)x(n-j)j =0,1, - N-lm=0從而有:N-l說(j)= £lt(n】)K(jT】)j =0,1,2,.,N-l m=0于是就得到N個線性方程;j=0說(0) = h(O)IMO)+ hQ)(l) + + h(N -1)(N -1)j=l玖=1】(0)(1) + h JU。) + +h(N-l)Rto(N -2)j = N-1 Rte(N-l) = h(O) RSk(N-1) + hQR (N - 2) + . . + h(N -1)(0)寫成矩陣形式為

8、: %。)(1)電3-1)h(0) 5)-5電(0)5-2)Ml)5.冬(NT). .'(N-2).%0) _.h(N-l).R(N-l)其中:H=h(O) h(l) h(N-l)r是濾波器的系數(shù)* =丁(0),玫(1),.玫3-1),是互相關(guān)序列改(。)心).5T)5(0).0N 2)'(N-1)5一2)是自相關(guān)矩陣 (0)由上可見,設(shè)計維納濾波器的過程就是尋求在最小均方誤差下濾波器的單位脈沖響應(yīng)或傳遞函數(shù)的表達式,其實質(zhì)就是解維納一霍夫(Wiener-Hopf)方程。 另外,設(shè)計維納濾波器要求己知信號與噪聲的相關(guān)函數(shù)。二、譜減法1 .算法實現(xiàn)%Spectral Subtra

9、ction Algorithm winsize=256; %窗長 n=0.05; %噪聲電平speech, fs, nbits =wavread (T speech_clean. wav1) ; % 讀入數(shù)據(jù) size=length (speech);numofv?in=floor (size/winsize) ; % 幀數(shù) %加窗 ham=hamming(winsize)T; %Generates Hamming Window hamwin=zeros(lr size); %Vector for window gain enhanced=zeros(lr size) ; %Vector fo

10、r enhanced speGch *產(chǎn)生帶噪聲信號 x=speechf + n*randn(lr size); "Contaminates signal with white noise %噪聲估計 noise=n*randn(lr winsize) ; %Sampie of noise N = fft (noise);nmag= abs(N); %Estimated noise magnitude spectrum for q=l:2*numofwin-lf rame=x (1+ (q-1) *winsize/2: vzinsize+ (q-1) *winsize/2) ; %5

11、0 percent overlap hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=hamwin(1+(q-1)fins ize/2:winsizef (q-1)*winsize/2)+ham; %Window gain%對帶噪聲語音進行DFT y=fft(frame.*ham); mag = abs (y) ; %Magnitude Specrt rum phase = angle(y); %Phase Spectrum $幅度譜減 for i=l:v/insizeif mag (i) -nmag (i) >05clean (i) =

12、 mag (i) -nmag (i);elseclean (i)=0;endend,在頻域中重新合成語音spectral= clean.*exp(j*phase);%IDFT并重疊想加enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=enhanced(1+(q-1) winsize/2:winsize+(q-1)*winsize/2)+real (ifft(spectral);end割除去漢寧窗引起的增益for i=l:sizeifhamwin(i)=0enhanced(i)=0;elseenhanced(i)=enhanced(i)/ha

13、mwin(i);endendSNR1 = 10*logl0 (var (speech1) / var (noise) ) ; %加噪詁音信噪比SNR2 = 10*logl0 (var (speechT) / var (enhanced-speech1) ; *增強i吾音信噪t匕wavwrite (xf fsf nbitsr T noise. wavf) ; %輸出帶噪信號wavwrite (enhanced, fs, nbits, f enhanced. wavf) ; %輸出增強信 t=l:size;figure (1) , subplot (3, 1, 1) ;piot (t/fsr sp

14、eech1) ; %原始1 吾音波形xlabel(1time(s)1);title(1 Original Voice (n=T tnumZstr(n)r 1;figure (2) , specgram (speech1) ; *原始訂;語 譜title ( Original Voice (n=T r numZstr (n), f) f ;figure(1),subplot (3,1,2); plot(t/fs,x);xlabel(1time(s)f);title (fNoise Added (SNR=f,numZstr (SNR1), 1dB) 1);figure (3) , specgram

15、 (x) ; *加噪語音語譜title(1Noise Added (SNR=1,numZstr(SNR1)r 1dB)1);figure(1) , subplot(3flr 3);plot(t/fsr enhanced);xlabel(1 time(s)f);title (improved Voice (SNR=f r numZst r (SNR2) r f dB) f );figure (4) 9 specgram (enhanced) ; 抵雖i":i告i*title(1Improved Voice (SNR=,numZstr (SNR2)r 1dB) 1);-# -File E

16、dit View Insert Tools Desktop Window Help MMMM|7曰日的mi、的!更房”1口1口國i回Original Voice (n=0 05)20004000600080001000012000Time9 87E 5 40.O0.O.OO.Aou-nbalLl.3 2 10 _ o o oQ Figure 3File Edit View Insert Tools Desktop Window Helpdb aIBINoise Added (SNR=10 9187dB)9876543210 oooooooooWuenb/UL§ iaMI I I -1

17、 .20004000600080001000012000TimeFile Edit View Insert Tools Desktop Window Help MMMMMMMHBfMHMB|7 6 5 4 . . . . o o o oAouanbalu.s 口匡11 回Improved Voice (SNR=14 86dB)20004000600080001000012000Time-11 -2.改善算法、減少音樂噪聲白噪聲的短時功率譜上既有波峰,乂有波谷。在一幀里,它們的頻率分布是 隨機的;在幀與幀之間,它們的頻率和幅度也是隨機變化的。當(dāng)我們從帶噪語音 的頻譜中減去我們估計的噪聲譜,所有的

18、帶噪語音頻譜峰值都會變小,而谷值由 于小于估計的噪聲值被置零。因此,進行譜減法之后,在頻譜上只留下波峰。在 這些留下的波峰中,頻帶較寬的部分被視為時變寬帶噪聲,頻帶較窄的部分則被 當(dāng)成時變音調(diào),也就是所謂的音樂噪聲。我們改善的算法為:let D(w) = P$(w)-oPn(w) p(w), if D(w) >BPn(w) = 18Fn(w), otherwise|with a > 19 and 0 < B « 1其中,P's(w)是所求的語音幅度譜,是帶噪語音幅度譜,玲(W)是估計的噪 聲幅度譜。當(dāng)a>l,改善的算法通過消除那些寬波峰,去除所有的寬頻

19、帶噪聲。 然后,提高頻譜下限FR(w),使得波峰與波峰間的波谷不會那么深。兩者結(jié)合, 使噪聲波峰間的頻譜偏移不再那么大,從而減少了音樂噪聲。程序如下:% 幅度諾減 for i=l:vzinsized(i)=mag(i)-2.5*nmag(i);f (i)=0.01*nmag(i);if d(i)>f (i)clean (i)=d (i);elseclean (i)=f (i);endend-IO-File Edit View Insert Tools Desktop Window HelpImproved Voice (SNR=12 419dB)200040006000800010000

20、12000Time6 5 4 o o o Aouonbsu.3 2 10 o o o三、wiener濾波法1 .算法實現(xiàn)function y =mut (x, y,m, L) %計算| 相關(guān)知陣的函數(shù)tep=0;for i=l:L-abs(m)tep=tep+x(i)*y(i+abs(m);endy=l/(L-abs(m)tep;%產(chǎn)生原始信號s (n)和帶噪信號x (n)clear;a=0.95;L=input (,輸入信號樣本個數(shù)L: n*)N=input (* 輸入wiener泄波 2,忻;、數(shù)N: n1)temp=rand(lr L);templ=rand(lr L);v=12(0.5

21、) .* (temp-0.5) f讓噪聲信 vv (n)變成均 4 JO,$-0.5, 0.5間均勻分布的隨機信號w=(l-a/s2)*12)/ (0.5) . * (templ-0.5);s=zeros(1, L);s(l, l)=w(l, 1);for i=2:Ls (1, i) =a*s (lr i-1) +w(lr i);endx=s+v;*顯示原始信號S (n)和帶噪信號x (n) elf;figure(1);i=L-100:L;%只顯示后1。個樣值plot(i,s(L-100:L), f rT r i/x (L-100:L), T b:T);title (,原始信號s(n)和帶噪信

22、號x(n),);legend(1s(n)f f f x(n)1);xlabel(1nf);ylabei(1x(n) & s(n)1);$求乂 (n)的白相關(guān)矩陣,以及x (n)與s (n)的互相關(guān)矩陣Rxx=zeros(N,N);for i=l:Nfor j=l:NRxx(i# j)=mut (x,x,i-jr L);endendfor i=l:Nrxs (1, i) =mut (x, s, i-lr L);endrxs=rxs1;h=inv(Rxx)*rxs;%繪出Wiener濾波器的N個系數(shù)h (n)figure (2);i=l:N;plot(i,h, f r: o1);title

23、 ( fWieneril|波器的系數(shù)h (n) 1;legend (fh(n)');"求帶噪信號x (n)經(jīng)Wiener濾波器的輸出序列SR (n) SR=zeros(lf L);h=h'for i=l: Lfor m=0:N-lif i>mSR (1, i) =SR (1, i) +h (1, m+1) *x (i-m);endendend七比較SR (n)和原始信號s (n)figure (3);i=L-100:L;plot(irSR(L-100:L)t 1r: ', i, s(L-100:L)r f bf);title (riener濾波的信 SR

24、 (n)和原始信"(n),);legend (f SR (n) 1 r fs(n) T);L=500, N=10-15 -132.迭代wiener濾波的算法實現(xiàn)function y =mut (x,y,m, L) *計算H相關(guān)矩陣的函數(shù) tep=0;for i=l:L-abs (m)tep=tep+x (i) *y (i+abs (m);endy=l/(L-abs(m)*tep;%產(chǎn)生原始信號S (n)和帶噪信號x (n) clear;a=0.S5;L=i nput (*輸入信號樣本個數(shù)L: n *)N=input (,命入wiener泄波2;階數(shù)N: nf)temp=rand(1,

25、L);templ=rand(1, L);v=12A(0.5).(temp-0.5);w=(l-a/s2)*12)/s (0.5) . * (templ-0.5);s=zeros(1,L);s(l, l)=w(l, 1);for i=2:Ls (lr i) =a*s (lr i-1) +w(lr i);endx=s+v;'顯示原始信號S (n)和帶噪信號x (n)elf;figure(1);i=L-100:L;%只顯示后10。個樣值plot (i,s(L-100:L), 1 rf rir x(L-100:L)f Tb: T);title (,原始信號s(n)和帶噪信號x(n) »

26、; );legend(1s(n)f f T x (n)f);xlabel(1nf);ylabei(1x(n) & s (n)1);%計算迭代wiener濾波器的N個系數(shù)reh (n)for i=l:Nreh(ir 1)=0.238* (0.724) (i-1);end*繪出迭代Wiener濾波器的N個系數(shù)reh (n)figure (2);i=l:N;plot(i,reh,'b-+');title (,迭代貿(mào)iener濾波器的系數(shù)reh (n) * );legend('reh (n)');SI (1, l)=0.238*x(lr 1);for i=2:LSI (lri)=0.724*SI(lri-l)+0.238*x(lri);end%比較SI (n)和原始信號s (n)figure (3);-# -i=L-100:L;plot (i,SI (L-100:L), 1r: ',i,s (L-100:L)r 1bf);title (,經(jīng)迭代Wiener濾波的信vSI (n)和原始信vs (n) T );legend(SR(n)f r fs (n)1);L=600, N=10File Edit View Insert Too

溫馨提示

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

評論

0/150

提交評論