新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 對線性預測語音解壓縮方法的探討

對線性預測語音解壓縮方法的探討

作者: 時間:2006-05-07 來源:網(wǎng)絡 收藏

摘要:本文針對常見的語音壓縮方法,具體敘述了線性預測編碼的基本原理及具體格式,并對算法實現(xiàn)的軟件及硬件進行了詳細的分析。

本文引用地址:http://m.butianyuan.cn/article/242240.htm

關鍵詞:線性預測編碼 格形濾波器 PWM MATLAB

引言

現(xiàn)實生活中,有大量語音數(shù)字存儲和傳輸、語音綜合、說話人確認和辨認、語音識別的應用,這些應用需要處理的數(shù)據(jù)量很大,這必須采用一定的壓縮方法進行處理。

對頻率范圍為300Hz——3000Hz的語音,諸如電腦語音圖書、真人發(fā)聲電子字典、語言學習機等,只需要一般的語音壓縮方法,而對20Hz——20KHz的音樂,則需高級的壓縮方法。當然,在選擇語音表示方法時,數(shù)據(jù)壓縮率不是唯的考慮,還要考慮價格、表示的靈活性、語音考慮價格、表示的靈活性、語音的質量等諸多因素。在選擇信號表示以及隨后作用的方法時最重要的考慮還是應用的實際需要。

針對我們目前開發(fā)的發(fā)音電子字典及語音學習機等產(chǎn)生,既需要音質清晰又要價格便宜,我們考慮采用參數(shù)表示語音信號的LPC,MELP,CELP壓縮方法。

LPC(Linear Predictive Coding-線性預測編碼),是一種低速率的語音參數(shù)表示方法,它根據(jù)最小的方誤差的準則,用過去的若干語音數(shù)字信號來預測當前的語音信號,將估算出來的語音參數(shù)送到語音合成模型后輸出語音。混合激勵線性預測MELP和碼本激勵線性預測CELP也是基于線性預測上的語音壓縮方法,數(shù)據(jù)壓縮量銷遜于LPC,但因其語音數(shù)據(jù)的制作不需要專門的硬件與有經(jīng)驗的調音人員,在語音產(chǎn)品的開發(fā)中也得到了廣泛的應用,本文重點描述LPC算法的軟件和硬件實現(xiàn)。

LPC原理簡述

LPC語音編碼的基礎是語音產(chǎn)生模型,它模擬人的發(fā)生過程。在這個模型中,語音信號分為清音和濁間,在濁音時聲道中產(chǎn)生對應音調周期的脈沖列,而在清音時,則產(chǎn)生白噪聲序列,語音就是由這些激勵信號激勵一個自適應濾波器(即全極點濾波器)產(chǎn)生的。

LPC濾波器的參數(shù)ak是通過線性預測的方法,即用若干過去的樣值預測當前樣值提取的,預測值與真值之間的誤差滿足最小均方誤差準則。參數(shù)隨時間逐幀更新,更新速率30~100次/秒,即幀移為10~33ms。在每幀之間對參數(shù)進行內(nèi)插以適應參數(shù)隨時間緩慢變化。

因此,LPC模型只需傳輸增益系數(shù),濁音和清音的判決信息、濁音音調和全極點濾波器的參數(shù){ak},k=1,…p,用超低BIT率便可實現(xiàn)語音信號的傳送。這種高壓縮率可以大大降低語音識別中的存儲量。

語音合成模型見圖1。

LPC軟件實現(xiàn)

LPC算法的實現(xiàn)有直接法、協(xié)方差法、自相關法、斜格法等諸多分析方法。其中斜格法能解決精度和穩(wěn)定度的矛盾,它是以格形濾波器為基礎。我們所用的LPC聲碼器就是作斜格法來實現(xiàn)線性預測。

線性預測編碼算法的編碼格式中,有10個線性預測系數(shù)K1-K10、增益、音調、重復位總紅共編碼成54bits。

LPC各幀參數(shù)編碼格式見表1。

在解碼時,要對接收的數(shù)值進行轉換與插值。其算法接收的的數(shù)值進行轉換與插值。其算法流程見圖2.

線性預測系數(shù)、增益、基音周期等參數(shù)值每個基音周期更新一次,清音幀、濁音幀及靜音幀間相互轉換時不進行插值更新。濁音和清音的激勵信號是按基音周期從內(nèi)部ROM區(qū)取出輸入到音調寄存器,與增益相乘后送到LPC濾波器。

LPC硬件實現(xiàn)

在線性預測分析中,語音信號直接決定一組預測系數(shù),但由于語音信號有時變特性,為保證語音信號在短時間內(nèi)預測參數(shù)及頻率固定,實驗以固定頻率聲響最后一響“嘀”為對象,對LPC聲碼器的硬件部分進行測試。首先,借助專用的LPC編碼設備生成PCL十六進制格式數(shù)據(jù)見表2。

從以上數(shù)據(jù)可以知道此語音由靜音幀、濁音幀和停止幀組成。第一幀是靜音幀,最后一幀是停止幀,中間40幀是濁音幀,該40個濁音幀具有相同的能量、音調及K參數(shù)。經(jīng)分析得出能量值、音調及其K參數(shù)(見表3)。

表3 各參數(shù)計算值

名稱 位數(shù) 標號(二進制) 標號(十六制進) 查表值 實際參數(shù)值
增益 4 1001 9H 1AH 208
重復幀 1 0 0 0 0
音調 7 0000001 1H 100H 500HZ
K1 6 101111 2FH FECH -0.009765625
K2 6 010111 17H 0 0
K3 5 10111 17H 14H 0.15625
K4 5 01011 BH F9H -0.0546825
K5 4 0101 5H F3H -0.1015625
K6 4 0100 4H FCH -0.03125
K7 4 1001 9H 14H 0.15625
K8 3 111 7H 58H 0.6875
K9 3 101 5H 10H 0.125
K10 3 101 5H 11H 0.1328125
K11 0     
K120    

我們借助MATLAB工個搭成了12組格形濾波器及二階低通濾波器來模擬LPC模型中的數(shù)字濾波器,見圖3。將帶有增益的濁音送入輸入端,線性預測系數(shù)送入格形濾波器,濾波器采用10KHz采樣。

填入其余相應的參數(shù)后開始仿真,得出的結果見圖4。

從圖中可以看出,不考慮頻率因素,對增益、預測參數(shù)固定的這組語音數(shù)據(jù)而言,實驗結構最后超趨近于1024。

把數(shù)據(jù)1024輸入PWM寄存器,經(jīng)過12位的脈寬調制(PWM)進行D/A轉換處理,可得出輸出模擬信號,占空比為:

1024/2048=0.5

同時,我們通過示波器直接測試語音芯片的DAC+端,可以觀察到頻率為500Hz、占空比為0.5的一系列的矩形脈沖見圖5,波形結果與通過MATLAB工具搭成的電路結果一致。

結語

我們對PLC,MELP,CELP不可逆語音壓縮法進行測試,得出了LPC語音合成格式、算法流程以及硬件12級格式、算法流程以及硬件12級形波器、低通濾波器的具體實現(xiàn)形式。從實驗可以證明LPC算法是通過軟件從語音數(shù)據(jù)包提取數(shù)據(jù),經(jīng)過軟件查表計算后將相應的參數(shù)送往硬件各部分處理,最后合成語音。



評論


相關推薦

技術專區(qū)

關閉