哈爾濱工程大學(xué) 語音信號(hào)處理實(shí)驗(yàn)報(bào)告_第1頁
哈爾濱工程大學(xué) 語音信號(hào)處理實(shí)驗(yàn)報(bào)告_第2頁
哈爾濱工程大學(xué) 語音信號(hào)處理實(shí)驗(yàn)報(bào)告_第3頁
哈爾濱工程大學(xué) 語音信號(hào)處理實(shí)驗(yàn)報(bào)告_第4頁
哈爾濱工程大學(xué) 語音信號(hào)處理實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí) 驗(yàn) 報(bào) 告實(shí)驗(yàn)課程名稱: 語音信號(hào)處理實(shí)驗(yàn) 姓名: 班級(jí): 20120811 學(xué)號(hào): 實(shí)驗(yàn)序號(hào)實(shí)驗(yàn)名稱實(shí)驗(yàn)過程實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)成績實(shí)驗(yàn)一語音信號(hào)的端點(diǎn)檢測實(shí)驗(yàn)二語音信號(hào)的特征提取實(shí)驗(yàn)三語音信號(hào)的基頻提取指導(dǎo)教師 張磊 實(shí)驗(yàn)教室 21B#293 實(shí)驗(yàn)時(shí)間 2015年4月12日 實(shí)驗(yàn)成績 實(shí)驗(yàn)一 語音信號(hào)的端點(diǎn)檢測一、實(shí)驗(yàn)?zāi)康?、掌握短時(shí)能量的求解方法2、掌握短時(shí)平均過零率的求解方法3、掌握利用短時(shí)平均過零率和短時(shí)能量等特征,對(duì)輸入的語音信號(hào)進(jìn)行端點(diǎn)檢測。二、實(shí)驗(yàn)設(shè)備HP計(jì)算機(jī)、Matlab軟件三、實(shí)驗(yàn)原理1、短時(shí)能量語音信號(hào)的短時(shí)能量分析給出了反應(yīng)這些幅度變化的一個(gè)合適的描述方法。對(duì)于信號(hào),短時(shí)

2、能量的定義如下:2、短時(shí)平均過零率短時(shí)平均過零率是指每幀內(nèi)信號(hào)通過零值的次數(shù)。對(duì)于連續(xù)語音信號(hào),可以考察其時(shí)域波形通過時(shí)間軸的情況。對(duì)于離散信號(hào),實(shí)質(zhì)上就是信號(hào)采樣點(diǎn)符號(hào)變化的次數(shù)。過零率在一定程度上可以反映出頻率的信息。短時(shí)平均過零率的公式為: 其中,是符號(hào)函數(shù),即3、端點(diǎn)檢測原理能夠?qū)崿F(xiàn)這些判決的依據(jù)在于,不同性質(zhì)語音的各種短時(shí)參數(shù)具有不同的概率密度函數(shù),以及相鄰的若干幀語音應(yīng)具有一致的語音特性,它們不會(huì)在S、U、V之間隨機(jī)地跳來跳去。要正確判斷每個(gè)輸入語音的起點(diǎn)和終點(diǎn),利用短時(shí)平均幅度參數(shù)和短時(shí)平均過零率可以做到這一點(diǎn)。首先,根據(jù)濁音情況下的短時(shí)能量參數(shù)的概率密度函數(shù)確定一個(gè)閾值參數(shù),值

3、一般定的較高。當(dāng)一幀輸入信號(hào)的短時(shí)平均幅度參數(shù)超過時(shí),就可以判定該幀語音信號(hào)不是無聲,而有相當(dāng)大的可能是濁音。根據(jù)可判定輸入語音的前后兩個(gè)點(diǎn)和。在和之間的部分肯定是語音段,但語音的精確起點(diǎn)、終點(diǎn)還要在之前和之后仔細(xì)查找,如圖1所示。圖1 端點(diǎn)檢測原理示意圖為此,再設(shè)定一個(gè)較低的閾值參數(shù),由點(diǎn)向前找,當(dāng)短時(shí)能量由大到小減至可以確定點(diǎn)。類似地,可以由點(diǎn)向后找,確定點(diǎn)。在和之間的仍能肯定是語音段。然后由向前和向后,利用短時(shí)平均過零率進(jìn)行搜索。根據(jù)無聲情況下的短時(shí)平均過零率,設(shè)置一個(gè)參數(shù),如果由向前搜索時(shí),短時(shí)平均過零率大于的3倍,則認(rèn)為這些信號(hào)仍屬于語音段,直到短時(shí)平均過零率下降到低于3倍的,這時(shí)的

4、點(diǎn)就是語音的精確的起點(diǎn)。對(duì)于終點(diǎn)也做類似的處理,可以確定終點(diǎn)。采用短時(shí)平均過零率的原因在于,點(diǎn)以前可能是一段清輔音,它的能量相當(dāng)弱,依靠能量不可能將它們與無聲段分開。而對(duì)于清輔音來說,它們的過零率明顯高于無聲段,因而能用這個(gè)參數(shù)將二者區(qū)分開來。存在噪聲的情況下,正常的過零率計(jì)算會(huì)存在一定的誤差,解決這個(gè)問題的一種方法是對(duì)上述過零率定義做一個(gè)簡單的修改,即設(shè)立一個(gè)門限T,將過零率的含義修改為跨過正負(fù)門限的次數(shù),如圖2。圖2 門限短時(shí)平均過零率于是,有: 這樣計(jì)算的短時(shí)平均過零率就有一定的抗干擾能力。即使存在小的隨機(jī)噪聲,只要它不超過正負(fù)門限所構(gòu)成的帶,就不會(huì)產(chǎn)生虛假過零率。四、實(shí)驗(yàn)步驟及程序?qū)嶒?yàn)

5、程序:function point_check() s1=wavread('man.wav'); s=s1/max(abs(s1); s=filter(1 -0.9375,1,s);plot(s); len=length(s); round=160;repeat=80;inc=round-repeat;%b_len-2*repeat; ka=ceil(len-round)/(round-repeat)+1;s=s;zeros(round-repeat)*(ka-1)+round-len,1); len=length(s); w=zeros(round,ka); for i=1:

6、ka for k=1:round w(k,i)=s(k+(i-1)*(round-repeat),1); end end ST=0.01;F=zeros(ka,round); for i=1:ka for k=0:round-1 for j=1:round-k F(ka,k+1)=F(ka,k+1)+abs(w(j,i)-w(j+k,i); end if(k<round-1) if(w(k+1,i)>0&&w(k+2,i)<0) z=sign(w(k+1,i)-ST)-sign(w(k+2,i)+ST); elseif(w(k+1,i)<0&&a

7、mp;w(k+2,i)>0) z=sign(w(k+2,i)-ST)-sign(w(k+1,i)+ST); end if(z=2) f(i,1)=f(i,1)+1; end end end end amp=sum(abs(w).2,1);實(shí)驗(yàn)結(jié)果截圖:五、實(shí)驗(yàn)結(jié)果與分析 這次實(shí)驗(yàn)利用MATLAB對(duì)信號(hào)進(jìn)行分析和處理,利用短時(shí)過零率和短時(shí)能量,對(duì)語音信號(hào)的端點(diǎn)進(jìn)行檢測。我之前雖然接觸過MATLAB軟件,但從未進(jìn)行過有關(guān)語音信號(hào)的操作,在實(shí)驗(yàn)過程中欠缺獨(dú)立性,代碼是參考網(wǎng)上的,在理解的基礎(chǔ)上借鑒。學(xué)習(xí)是無止境的,現(xiàn)在的動(dòng)手能力不強(qiáng)也是由于之前的松懈造成的,以后一定要多動(dòng)手,畢竟能力是立身之本

8、。實(shí)驗(yàn)二 語音信號(hào)的特征提取一、實(shí)驗(yàn)?zāi)康?、掌握語音信號(hào)的Mel倒譜特征(MFCC)的求解方法2、掌握語音信號(hào)的線性預(yù)測原理以及LPC特征的求解方法二、實(shí)驗(yàn)設(shè)備HP計(jì)算機(jī)、Matlab軟件三、實(shí)驗(yàn)原理1、MFCC特征原理及求解方法在語音識(shí)別和說話人識(shí)別中,常用的語音特征是基于Mel頻率的、倒譜系數(shù)(Mel Frequency Cepstrum Coefficient,簡稱MFCC)。由于MFCC參數(shù)是將人耳的聽覺感知特性和語音的產(chǎn)生機(jī)制相結(jié)合,因此目前大多數(shù)語音識(shí)別系統(tǒng)中廣泛使用這種特征。研究者根據(jù)心理學(xué)實(shí)驗(yàn)得到了類似于耳蝸?zhàn)饔玫囊唤M濾波器組,這就是Mel頻率濾波器組。Mel頻率可以用公式表達(dá)

9、如下:在實(shí)際應(yīng)用中,MFCC倒譜系數(shù)計(jì)算過程如下:(1) 將信號(hào)進(jìn)行分幀,預(yù)加重和加漢明窗處理,然后進(jìn)行短時(shí)傅立葉變換得到其頻譜;(2) 求出頻譜平方,即能量譜,并用M個(gè)Mel帶通濾波器進(jìn)行濾波,由于每一個(gè)頻帶中分量的作用在人耳中是疊加的,因此將每個(gè)濾波頻帶內(nèi)的能量進(jìn)行疊加,這時(shí)第k個(gè)濾波器輸出功率譜;(3) 將每個(gè)濾波器的輸出取對(duì)數(shù),得到相應(yīng)頻帶的對(duì)數(shù)功率譜;并進(jìn)行反離散余弦變換,得到個(gè)MFCC系數(shù),如下式所示。一般取1216個(gè)左右; (4) 這種直接得到的MFCC特征作為靜態(tài)特征,將這種靜態(tài)特征做一階和二階差分,得到相應(yīng)的動(dòng)態(tài)特征。2、線性預(yù)測原理及LPC特征求解方法根據(jù)參數(shù)模型功率譜估計(jì)

10、的思想,可以將語音信號(hào)看作是由一個(gè)輸入序列激勵(lì)一個(gè)全極點(diǎn)的系統(tǒng)(模型)而產(chǎn)生的輸出,如圖3所示。系統(tǒng)的傳遞函數(shù)為:其中為常數(shù),為實(shí)數(shù),p為模型的階數(shù)。顯而易見,這種模型是以系數(shù)和增益G為模型參數(shù)的全極點(diǎn)模型,即AR模型。 用系數(shù)可以定義一個(gè)階線性預(yù)測器這個(gè)階預(yù)測器從時(shí)域角度可以理解為,用信號(hào)的前個(gè)樣本來預(yù)測當(dāng)前的樣本得到預(yù)測值,因?yàn)轭A(yù)測器是用AR模型的系數(shù)來構(gòu)造的,而AR模型是在最小均方意義上對(duì)數(shù)據(jù)的擬合,所以預(yù)測器必然是一個(gè)最佳預(yù)測器,即此時(shí)預(yù)測器的預(yù)測誤差短時(shí)總能量最小。語音信號(hào)的線性預(yù)測分析就是根據(jù)這一性質(zhì),從語音信號(hào)出發(fā),依據(jù)最小均方誤差準(zhǔn)則,估計(jì)出一組線性預(yù)測器的系數(shù),它就是我們所要

11、求的信號(hào)AR模型的系數(shù)。被稱為線性預(yù)測系數(shù)或LPC系數(shù)。預(yù)測器的預(yù)測誤差為:由上式可知,是輸入為,且具有如下形式傳遞函數(shù)的濾波器的輸出因此稱為預(yù)測誤差濾波器。比較式(4-1)和式(4-5)可知,即預(yù)測誤差濾波器是系統(tǒng)的逆濾波器。為了在最小均方誤差意義上計(jì)算一組最佳預(yù)測系數(shù),定義短時(shí)預(yù)測均方誤差為由于語音信號(hào)的時(shí)變特性,線性預(yù)測分析應(yīng)該在短時(shí)的語音段上進(jìn)行,即按幀進(jìn)行。因此上式的求和通常也是在一幀語音的范圍內(nèi)進(jìn)行。為了使達(dá)到最小,必須滿足。則有:這樣可以得到以為變量的線性方程組, 要構(gòu)造信號(hào)的AR模型,還應(yīng)估算增益因子。將系統(tǒng)傳遞函數(shù)轉(zhuǎn)化成差分方程的形式:則預(yù)測誤差和殘差能量分別計(jì)算如下:激勵(lì)信

12、號(hào)無法準(zhǔn)確計(jì)算,但根據(jù)前文所述的語音產(chǎn)生模型,在濁音情況下,激勵(lì)可以看作是準(zhǔn)周期的脈沖串;在清音時(shí),可以看作為高斯白噪聲。因此輸入信號(hào)總能量可以認(rèn)為近似為1,這樣估算增益因子 。這種計(jì)算只是一種近似的方法,。為了使模型的假定能夠很好地符合語音產(chǎn)生的模型,需要考慮如下兩個(gè)因素。(1)模型階數(shù)的選擇階數(shù)應(yīng)與共振峰的個(gè)數(shù)相吻合,通常一對(duì)極點(diǎn)對(duì)應(yīng)一個(gè)共振峰,因此當(dāng)共振峰數(shù)為5時(shí),應(yīng)取=10??紤]到一些情況,一般按如下的方式計(jì)算模型階數(shù),其中為共振峰的個(gè)數(shù)。(2)通過預(yù)加重進(jìn)行高頻提升由于聲門脈沖形狀和口唇輻射的影響,語音信號(hào)的頻譜在總趨勢上會(huì)產(chǎn)生高頻衰落的現(xiàn)象,大約每倍程下降6dB。要抵消這一影響,通

13、常在LPC分析之前采用一個(gè)非常簡單的一階FIR濾波器進(jìn)行預(yù)加重以進(jìn)行高頻提升,其傳遞函數(shù)為,其中為預(yù)加重系數(shù),對(duì)10kHz采樣的語音,一般取=0.95。大量的實(shí)踐證明:LPC參數(shù)是反映語音信號(hào)特征的良好參數(shù)。附:萊文遜杜賓遞推算法該算法過程如下:(1)計(jì)算自相關(guān)系數(shù);(2);(3);(4)開始按如下公式進(jìn)行遞推運(yùn)算: , (5) 。若則算法結(jié)束退出,否則返回第(4)步。 四、實(shí)驗(yàn)步驟及程序MFCC特征提取程序:close all clear clc x=wavread('N:secondman.wav'); bank=melbankm(24,256,8000,0,0.5,

14、9;m'); bank=full(bank); bank=bank/max(bank(:); for k=1:12 n=0:23; dctcoef(k,:)=cos(2*n+1)*k*pi/(2*24); end w = 1 + 6 * sin(pi * 1:12 ./ 12); w = w/max(w);% 預(yù)加重濾波器xx=double(x); xx=filter(1 -0.9375,1,xx); % 語音信號(hào)分幀xx=enframe(xx,256,80); % 計(jì)算每幀的MFCC參數(shù)for i=1:size(xx,1) y = xx(i,:); s = y' .* ham

15、ming(256); t = abs(fft(s); t = t.2; c1=dctcoef * log(bank * t(1:129); c2 = c1.*w'm(i,:)=c2' end figure imagesc(m);xlabel('幀數(shù)');ylabel('幅度');title('MFCC'); 實(shí)驗(yàn)結(jié)果截圖:LPC特征提取程序:clear clcI = wavread('N:secondman.wav');%讀入原始語音%subplot(3,1,1), plot(I); title('原始語音

16、波形') %對(duì)指定幀位置進(jìn)行加窗處理Q = I' N = 256; % 窗長Hamm = hamming(N); % 加窗frame = 60;%需要處理的幀位置M = Q(frame - 1) * (N / 2) + 1):(frame - 1) * (N / 2) + N); Frame = M .* Hamm'%加窗后的語音幀B,F,T = specgram(I,N,N/2,N); m,n = size(B); for i = 1:m FTframe1(i) = B(i,frame); end P =50;%input('請輸入預(yù)測器階數(shù) = ')

17、; ai = lpc(Frame,P); % 計(jì)算lpc系數(shù)LP = filter(0 -ai(2:end),1,Frame); % 建立語音幀的正則方程FFTlp = fft(LP); E = Frame - LP; % 預(yù)測誤差figuresubplot(2,1,1),plot(1:N,Frame,1:N,LP,'-r');grid; title('原始語音和預(yù)測語音波形') subplot(2,1,2),plot(E);grid; title('預(yù)測誤差'); figurefLength(1 : 2 * N) = M,zeros(1,N);

18、 Xm = fft(fLength,2 * N); X = Xm .* conj(Xm); Y = fft(X , 2 * N); Rk = Y(1 : N); PART = sum(ai(2 : P + 1) .* Rk(1 : P); G = sqrt(sum(Frame.2) - PART); A = (FTframe1 - FFTlp(1 : length(F') ./ FTframe1 subplot(2,1,1),plot(F',20*log(abs(FTframe1),F',(20*log(abs(1 ./ A),'-r');grid;xl

19、abel('頻率/dB');ylabel('幅度'); title('短時(shí)譜'); subplot(2,1,2),plot(F',(20*log(abs(G ./ A);grid; xlabel('頻率/dB');ylabel('幅度'); title('LPC譜'); figure%求出預(yù)測誤差的倒譜pitch = fftshift(rceps(E); M_pitch = fftshift(rceps(Frame); subplot(2,1,1),plot(M_pitch);grid; x

20、label('語音幀');ylabel('/dB'); title('原始語音幀倒譜'); subplot(2,1,2),plot(pitch);grid; xlabel('語音幀');ylabel('/dB'); title('預(yù)測誤差倒譜'); figure %畫出語譜圖ai1 = lpc(I,P); % 計(jì)算原始語音lpc系數(shù)LP1 = filter(0 -ai(2:end),1,I); % 建立原始語音的正則方程subplot(2,1,1); specgram(I,N,N/2,N); tit

21、le('原始語音語譜圖'); subplot(2,1,2); specgram(LP1,N,N/2,N); title('預(yù)測語音語譜圖');實(shí)驗(yàn)結(jié)果截圖: 五、實(shí)驗(yàn)結(jié)果與分析這次實(shí)驗(yàn)利用MATLAB對(duì)信號(hào)進(jìn)行分析和處理,主要就是進(jìn)行語音線性預(yù)測,語音線性預(yù)測的基本思想是:一個(gè)語音信號(hào)的抽樣值可以用過去若干個(gè)取樣值的線性組合來逼近。通過使實(shí)際語音抽樣值與線性預(yù)測抽樣值的均方誤差達(dá)到最小,可以確定唯一的一組線性預(yù)測系數(shù)。做了LPC特征提取的實(shí)驗(yàn)之后,促進(jìn)了我對(duì)MFCC特征提取進(jìn)行探究和驗(yàn)證,此次試驗(yàn)讓我對(duì)相關(guān)知識(shí)加深了理解。實(shí)驗(yàn)三 語音信號(hào)的基頻提取一、實(shí)驗(yàn)?zāi)康?

22、、掌握語音信號(hào)基頻的概念,加深對(duì)基頻刻畫聲調(diào)特征作用的理解。2、掌握語音信號(hào)基頻特征的典型求解方法二、實(shí)驗(yàn)設(shè)備HP計(jì)算機(jī)、Matlab軟件三、實(shí)驗(yàn)原理1、基頻概念的理解基音檢測的方法大致可分為三類: 波形估計(jì)法。直接由語音波形來估計(jì)基音周期,分析出波形上的周期峰值。包括并行處理法、數(shù)據(jù)減少法等; 相關(guān)處理法。這種方法在語音信號(hào)處理中廣泛使用,這是因?yàn)橄嚓P(guān)處理法抗波形的相位失真能力強(qiáng),另外它在硬件處理上結(jié)構(gòu)簡單。包括波形自相關(guān)法、平均振幅差分函數(shù)法(AMDF)、簡化逆濾波法(SIFT)等; 變換法。將語音信號(hào)變換到頻域或倒譜域來估計(jì)基音周期,利用同態(tài)分析方法將聲道的影響消除,得到屬于激勵(lì)部分的信

23、息,進(jìn)一步求取基音周期,比如倒譜法。雖然倒譜分析算法比較復(fù)雜,但基音估計(jì)效果較好。這里我們只考慮自相關(guān)方法的基頻提取。2、自相關(guān)方法的基頻提取濁音信號(hào)的自相關(guān)函數(shù)在基音周期的整數(shù)倍位置上出現(xiàn)峰值,而清音的自相關(guān)函數(shù)沒有明顯的峰值出現(xiàn),因此檢測自相關(guān)函數(shù)是否有峰值就可以判斷是清音或濁音,峰峰值之間對(duì)應(yīng)的就是基音周期。為了提高自相關(guān)方法檢測基音周期的準(zhǔn)確性,需要進(jìn)行一些前期的預(yù)處理。1)預(yù)處理語音信號(hào)的低幅值部分包含大量的共振峰信息,而高幅值部分包含較多的基音信息。因此,任何削減或者抑制語音低幅度部分的非線性處理都會(huì)使自相關(guān)方法的性能得到改善。中心削波即是一種非線性處理,用以消除語音信號(hào)的低幅度部

24、分,其削波特性如圖4所示,數(shù)學(xué)表達(dá)形式為其中削波電平由語音信號(hào)的峰值幅度來確定,它等于語音段最大幅度的一個(gè)固定百分?jǐn)?shù),一般取最大信號(hào)幅度的60%70%。這個(gè)門限的選擇是重要的,一般在不損失基音信息的情況下應(yīng)盡可能選得高些,以達(dá)到較好的效果。經(jīng)過中心削波后只保留了超過削波電平的部分,其結(jié)果是削去了許多和聲道響應(yīng)有關(guān)的波動(dòng)。中心削波后的語音再計(jì)算自相關(guān)函數(shù),這樣在基音周期位置呈現(xiàn)大而尖的峰值,而其余的次要峰值幅度都很小。據(jù)報(bào)道使用這種方法,對(duì)電話帶寬的語音在信噪比低至18dB的情況下獲得了良好的性能。圖4 中心削波函數(shù)計(jì)算自相關(guān)函數(shù)的運(yùn)算量是很大的,其原因是傳統(tǒng)的計(jì)算機(jī)進(jìn)行乘法運(yùn)算非常費(fèi)時(shí)。盡管近

25、年來隨著數(shù)字信號(hào)處理器的廣泛使用,實(shí)時(shí)地計(jì)算自相關(guān)函數(shù)已經(jīng)不是問題,但在基音檢測中仍然有一些減少短時(shí)自相關(guān)運(yùn)算的有效方法。如可對(duì)中心削波函數(shù)進(jìn)行修正,采用三電平中心削波的方法,如圖5所示。其削波函數(shù)為即削波器的輸出在時(shí)為1,時(shí)為,除此以外均為零。雖然這一處理會(huì)增加剛剛超過削波電平峰的重要性,但大多數(shù)次要的峰被濾除掉了,而只保留了明顯的周期性峰。圖5 三電平削波函數(shù)此外,還可以用一個(gè)通帶為900Hz的線性相位低通濾波器濾除高次諧波分量。這樣處理后的信號(hào),基本上只含有第一共振峰以下的基波和諧波分量。實(shí)驗(yàn)表明,用這種方法做預(yù)處理,對(duì)改善自相關(guān)和平均幅度差函數(shù)法的基音檢測都有明顯的效果。2)基于自相關(guān)

26、函數(shù)的基音檢測短時(shí)自相關(guān)函數(shù)在基音周期的各個(gè)整數(shù)倍點(diǎn)上有很大的峰值,只要找到第一最大峰值點(diǎn)的位置,并計(jì)算它與原點(diǎn)的間隔,便能估計(jì)出基音周期。但實(shí)際上并不是這么簡單,第一個(gè)最大峰值點(diǎn)的位置有時(shí)不能與基音周期相吻合。產(chǎn)生這種情況的原因有以下兩個(gè)方面。第一方面是與窗的長度有關(guān)。一般認(rèn)為窗長至少應(yīng)大于兩個(gè)基音周期,才可能有較好的效果。第二方面與聲道特性的影響有關(guān)。有的情況下,即使窗長已經(jīng)選得足夠長,第一個(gè)最大峰值點(diǎn)與基音周期仍不一致,這就是聲道共振峰特性的干擾。經(jīng)過上述帶通濾波的預(yù)處理,就可以消除大部分的共振峰的影響。但是,如果希望減少自相關(guān)計(jì)算中的乘法運(yùn)算,可以把上述中心削波后的信號(hào)的自相關(guān)用兩個(gè)信

27、號(hào)的互相關(guān)代替,其中一個(gè)信號(hào)是,令一個(gè)信號(hào)是對(duì)進(jìn)行三電平量化產(chǎn)生的結(jié)果。顯然,只有-1,0,+1三種可能的取值,因而這里的互相關(guān)計(jì)算只需做加減法,而這個(gè)互相關(guān)序列的周期性與的自相關(guān)序列近似相同。下面結(jié)合L.R.Rabiner一篇論文中介紹的具體例子來敘述關(guān)于自相關(guān)函數(shù)的基音檢測方法。假設(shè)信號(hào)的采樣率為10kHz,窗序列采用300點(diǎn)的矩形窗,幀疊200點(diǎn)。這時(shí)對(duì)每一幀進(jìn)行基音周期估計(jì)的步驟如下:(1) 用900Hz低通濾波器對(duì)一幀語音信號(hào)進(jìn)行濾波,并去掉開頭的20個(gè)輸出值不用,得到;(2) 分別求的前部100個(gè)樣點(diǎn)和后部100個(gè)樣點(diǎn)的最大幅度,并取其中較小的一個(gè),乘以因子0.68作為門限電平;(

28、3) 對(duì)分別進(jìn)行中心削波得到和三電平量化得到;(4) 求這兩個(gè)信號(hào)的互相關(guān)值。其中,此處的取值范圍20150相應(yīng)于基音頻率范圍60Hz500Hz,相應(yīng)于短時(shí)能量;得到互相關(guān)值后,可以得到中的最大值,如果,則認(rèn)為本幀為清音,令其基音周期值為0,否則基音周期即為使為最大值時(shí)位置的值,即。3)后處理無論采用哪一種算法求得的基音周期軌跡與真實(shí)的基音周期軌跡不可能完全吻合。大部分段落是吻合的,而在一些局部段落或區(qū)域中有一個(gè)或幾個(gè)基音周期的估計(jì)值偏離了正常的軌跡這時(shí)稱為基音軌跡產(chǎn)生了若干“野點(diǎn)”。為了去除這些野點(diǎn),可以采用平滑算法,其中最常用的是中值平滑算法和線性平滑算法。在中值濾波平滑算法中,被平滑點(diǎn)的

29、左右各取個(gè)樣點(diǎn),連同被平滑點(diǎn)共同構(gòu)成一組個(gè)信號(hào)樣點(diǎn)值。將這些樣點(diǎn)值按大小次序排成一隊(duì),取此隊(duì)列中間者作為平滑器的輸出。值一般取為1或2,即中值平滑的“窗口”一般套住3或5個(gè)樣值。中值平滑的優(yōu)點(diǎn)是既可以有效地去除少量野點(diǎn),又不會(huì)破壞基音周期軌跡中的兩個(gè)平滑段之間的階躍性變化。線性平滑是用滑動(dòng)窗進(jìn)行線性濾波處理,即:其中為點(diǎn)平滑窗,滿足:例如三點(diǎn)窗的值可取為。線性平滑在糾正輸入信號(hào)中不平滑處樣點(diǎn)的同時(shí),也使附近的樣點(diǎn)值做了修改,所以窗長不易過長。四、實(shí)驗(yàn)步驟及程序?qū)嶒?yàn)程序:x=wavread('man.wav');%讀取聲音文件 figure; stem(x,'.'

30、); %顯示聲音信號(hào)的波形 n=160; %取20ms的聲音片段,即160個(gè)樣點(diǎn) for m=1:length(x)/n; %對(duì)每一幀求短時(shí)自相關(guān)函數(shù) for k=1:n; Rm(k)=0; for i=(k+1):n; Rm(k)=Rm(k)+x(i+(m-1)*n)*x(i-k+(m-1)*n); end end p=Rm(10:n); %防止誤判,去掉前邊10個(gè)數(shù)值較大的點(diǎn) Rmax,N(m)=max(p); %讀取第一個(gè)自相關(guān)函數(shù)的最大點(diǎn) end %補(bǔ)回前邊去掉的10個(gè)點(diǎn) N=N+10; T=N/8; %算出對(duì)應(yīng)的周期 figure;stem(T,'.');axis(0

31、 length(T) 0 10); xlabel('幀數(shù)(n)');ylabel('周期(ms)');title('各幀基音周期'); T1= medfilt1(T,5); %去除野點(diǎn) figure;stem(T1,'.');axis(0 length(T1) 0 10); xlabel('幀數(shù)(n)');ylabel('周期(ms)');title('各幀基音周期');a=wavread('1.wav');L=length(a);m=max(a);n=min(a);ht=(m+n)/2;for i=1:L; a(i)=a(i)-ht;endfor i=1:L; a(i)=a(i)/m;endN=320;A=;for k=1:320; sum=0; fo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論