李國一 張正帥
(山東省地震局,山東 濟南 250014)
關鍵字:Hilbert-Huang變換;經驗模態(tài)分解;共振峰
發(fā)音時,把聲道看作諧振腔,氣流通過聲道,共振峰就是該腔體的諧振頻率[1-2]。通常,共振峰定義為聲道脈沖響應的衰減正弦分量,在經典的語音信號模型中,共振峰等效為聲道傳輸函數的復數極點對[3]。語音信號的共振峰參數是語音技術應用領域的重要聲學特征參數之一[4],共振峰反映了聲道的響應,所以,準確有效的共振峰提取算法對語音信號的分析、合成、編碼有著重要的意義。
傳統(tǒng)的共振峰提取算法主要有離散傅立葉變換法(DFT),帶通濾波器組法,倒譜法,線性預測編碼法(LPC)等[5]。近些年來,也出現(xiàn)許多提取語音共振峰的新算法,如基于逆濾波器的共振峰提取方法[6],將語音信號分解為調制成分并采用頻域線性預測算法的共振峰估計方法[7],這些提取方法都是建立在發(fā)聲系統(tǒng)呈線性和語音信號短時平穩(wěn)的假設基礎上的。由于在發(fā)聲過程中聲門激勵與聲道相應之間存在相互耦合的作用而呈現(xiàn)非線性的特性,對傳統(tǒng)的線性共振峰提取方法的準確性產生影響[8-9]。另外,這些提取方法中參數的設定具有一定的主觀經驗性,造成人為的不確定性和數據的不穩(wěn)定性[4]。希爾伯特-黃變換(Hilbert-Huang Transform,HHT)是Huang N E提出的一種新的非平穩(wěn)、非線性信號分析方法,本文基于HHT的自適應帶通濾波特性,有效地利用信號本身決定固有模態(tài)函數的中心頻率和帶寬的特點,將該方法應用到語音信號共振峰提取中去。
HHT被認為是近年來對以傅立葉變換為基礎的線性和穩(wěn)態(tài)譜分析的一個重大突破,該方法是自適應性的,既能對線性穩(wěn)態(tài)信號進行分析,又能對非線性非穩(wěn)態(tài)信號進行分析[10]。HHT包括經驗模態(tài)分解(Empirical Mode Decomposition,EMD)和希爾伯特變換(Hilbert Transformation,HT)兩部分。經驗模態(tài)分解方法假設各種復雜的信號都是由一些不同的固有模態(tài)函數組成,任何兩個模態(tài)之間是相互獨立的,每一個模態(tài)可以是線性的,非線性和非平穩(wěn)的,其局部極值點和過零點的數目相同,在相鄰的兩個零交叉點之間只有一個極值點。根據這一假設,EMD分解可以將信號自適應分解成一簇本征模式函數(Intrinsic Mode Function,IFM)[11],然后將每個IMF與它的Hilbert變換構成一個復解析函數,并由此導出作為時域信號的瞬時幅值和瞬時頻率。
HHT變換步驟為:
在EMD分解中,每個IMF需要多次“篩選”過程,而每一次篩選過程,需要根據上、下包絡計算出信號的局部平均值。上(下)包絡是由信號的局部極大(?。┲低ㄟ^樣條插值得到的。但信號的端點不可能同時處于極大值或極小值,因此,上、下包絡在數據序列兩端會發(fā)散,且這種發(fā)散會隨著運算的進行而逐漸向內,從而使得整個數據序列受到影響。EMD分解存在的端點效應,目前有端點鏡像方法、多項式擬合法、極值延拓法、平行延拓法等進行改善[12],本文為了提高分解精度,更好地用于共振峰的提取,采用次端點鏡像延拓法抑制其邊緣效應[13]。
經驗模態(tài)分解相當于將語音信號通過一個窄帶自適應濾波器,經過多次分解得到一系列從高頻到低頻,且不等帶寬的IMF分量,這些分量表示一些均值為零的窄帶調頻調幅信號,這正好與AM-FM模型所定義的單個共振峰輸出信號相吻合,能夠很好地表征共振峰的時變特性。
共振峰提取之前要對語音信號進行三部分預處理,第一是對語音信號進行預加重。在語音信號處理之前通常通過插入一個一階高通濾波器進行預加重[14],用來對語音信號提升高頻分量,同時降低基頻對共振峰檢測的干擾。第二是對共振峰預先進行分離,通過對已加重的語音信號進行傅立葉譜計算,粗略估算出共振峰頻率,以共振峰頻率作為FIR帶通濾波器的中心頻率進行數字濾波,濾波器帶寬以共振峰頻率的最大變化范圍和充分抑制鄰近共振峰分量為原則[4]。第三是對語音信號分幀,進行端點檢測的預處理。綜合來說,基于HHT提取語音信號共振峰的算法流程如圖1所示。主要分為5個步驟:
第一,對語音信號進行預加重和共振峰預分離計算,預加重。第二,分幀、端點檢測等預處理。第三,對每個共振峰設計FIR濾波器,進行數字濾波。第四,根據能量最大原則,確定含有共振峰的某階IMF分量,求其固有模態(tài)函數的瞬時頻率和瞬時幅值。第五,提取含有共振峰的固有模態(tài)函數,并求共振峰頻率。
圖1 基于HHT提取語音信號共振峰的算法流程
通過AM-FM模型合成一段數據提取其共振峰,來驗證上述方法的正確性。合成信號的3個共振峰分別為f1=600 Hz,f2=1 400 Hz,f3=1 700 Hz,帶寬分別為df1=30 Hz,df2=100 Hz,df3=200 Hz,合成信號的表達式為:
HHT算法提取合成信號共振峰結果如圖2所示。從圖2中可以直觀地分辨出合成信號之前設定的三個共振峰的頻率,驗證了該方法的準確性。
圖2 HHT算法提取合成信號共振峰結果
作為傳統(tǒng)共振峰提取方法,LPC法能夠有效地消除或減弱信號激勵分量對聲道的影響,但是隨著對音信號的深入研究,聲門與聲道之間的耦合存在非線性特性,所以LPC法可能無法真實準確地反映共振峰頻率的變化[4],本實驗對采用LPC法提取的共振峰頻率與采用HHT法提取的共振峰頻率進行比較,說明HHT方法具有的優(yōu)越性。本實驗實際語音信號選取元音[a][i][u]三個音標的連續(xù)信號進行分析,信號采樣率為8 kHz,幀長200點,幀移80點,音標[a]存在三個共振峰,分別為800、1 200和3 000 Hz,音標[i]存在三個共振峰,分別為300、2 300和3 000 Hz,音標[u]存在三個共振峰,分別為350、650和2 200 Hz。LPC法在語譜圖上標出共振峰頻率如圖3所示,HHT法在語譜圖疊加共振峰頻率如圖4所示。
圖3 LPC法在語譜圖上標出共振峰頻率
圖4 HHT法在語譜圖疊加共振峰頻率
為了衡量基于HHT方法提取的共振峰頻率的好壞,并與LPC方法進行對比,兩種方法分別與理論上[a][i][u]音標的理論均值相比,求得絕對誤差比的均值Δf和絕對誤差比的標準差sf進行衡量。如表1所示。
表1 兩種方法提取共振峰的絕對誤差比的均值Δf與標準差sf
通過對實際語音信號進行共振峰提取,并且得到了其誤差比的情況。絕對誤差比的均值反映了共振峰的頻率與正確結果的偏差,值越小表明越接近正確結果[14];從表1可以看出,HHT法的絕對誤差比的均值明顯小于LPC法,說明了結果的準確性。而絕對誤差比的標準差反映的則是實際計算結果與正確結果的偏差分布情況,其值越小,表明實際結果與正確結果之間的偏差分布更均勻,實際計算的結果越可靠[15],從表1中也可以明顯地看出HHT方法好于LPC方法,證明了該方法的穩(wěn)定性。
本文中所使用的基于HHT方法提取語音信號共振峰算法是針對語音信號的非平穩(wěn)、非線性特征所提出來的,在研究過程中可以得到以下結論:
(1)算法中經驗模態(tài)分解相當于將語音信號通過一個窄帶自適應濾波器,實現(xiàn)信號中的頻率成分分離,并計算出各分量的瞬時頻率和瞬時幅值,以便追蹤共振峰的頻率變化。
(2)基于HHT方法實現(xiàn)語音信號共振峰頻率的提取與經典的LPC方法相比,兩者得出的結果總體上是一致的,說明了該方法的正確性。另外,通過對兩種方法的絕對誤差比的均值與標準差進行計算,說明該方法在保證準確性的情況下,具有更高的穩(wěn)定性。
(3)HHT方法在進行提取共振峰的過程中,不需要對信號進行分幀處理,使得在時間分辨率上,HHT方法要更好一些。
HHT是一種新興的信號處理方法,在理論和應用上都存在許多問題,還需要逐步完善。比如,在進行EMD分解過程中,算法復雜度比較高,影響了語音信號檢測的速度,限制了對信號的實時處理。另外,EMD分解得到的本征模式函數調幅部分在對計算瞬時頻率存在較大的影響等。