G.729語音編碼算法研究及基于DSP的實現(xiàn)
2.2 系統(tǒng)軟件設(shè)計
本設(shè)計中McBSP0口接收數(shù)據(jù)處理,主要進(jìn)行話音編碼,并將編碼比特流從HPI接口送出,HPI接口接收數(shù)據(jù)處理,主要進(jìn)行話音解碼,并將解碼后的PCM數(shù)據(jù)從McBSP0口送出。軟件系統(tǒng)為了保證McBSP0和HPI接口接收數(shù)據(jù)的正常處理,還需實現(xiàn)一些輔助功能模塊包括:系統(tǒng)初始化模塊、支持系統(tǒng)在線配置的模塊以及系統(tǒng)收發(fā)數(shù)據(jù)的同步檢測模塊。系統(tǒng)軟件流程如圖4所示。
2.2.1 編碼過程
G.729編碼器的流程如圖5所示。首先,編碼器會初始化,主要是初始化各緩沖區(qū);然后編碼器對輸入的原始語音信號進(jìn)行預(yù)處理,包括高通濾波和幅度減半。其中,高通濾波的截止頻率為140 Hz,它是一個二階的零極點濾波器,目的是要去除輸入信號中的低頻十?dāng)_。對輸入信號進(jìn)行預(yù)處理以后,編碼器開始編碼,這是通過調(diào)用匯編函數(shù)Coder_ld8a實現(xiàn)的;編碼產(chǎn)生的參數(shù)使用函數(shù)prm2bits轉(zhuǎn)化為比特流,送到信道里傳輸。
2.2.2 解碼過程
G.729解碼器流程如圖6所示。與編碼器類似,解碼器首先要進(jìn)行初始化,特別是初始化緩沖區(qū);接著解碼器從輸入碼流中提取參數(shù);由于碼流在信道的傳輸過程中可能發(fā)牛錯誤,所以從碼流中提取得到參數(shù)后應(yīng)該進(jìn)行奇偶校驗,以確定參數(shù)是正確的;通過了奇偶校驗后,解碼器正式開始解碼,這是通過調(diào)用匯編函數(shù)Decod_ld8a實現(xiàn)的;解碼重建語音信號后,還應(yīng)該進(jìn)行后濾波和后處理。其中,后處理起高通濾波和幅度翻倍的作用。
3 系統(tǒng)編解碼算法性能測試
編解碼算法性能包括兩方面:運算量和存儲要求。要達(dá)到高性能,不僅要運算量低,而且存儲器使用也要少。表3和表4分別列出了編解碼器的運算量和存儲器使用情況。
評論