基于DSP的多路語音實(shí)時(shí)采集與壓縮處理系統(tǒng)設(shè)計(jì)
3 多路語音實(shí)時(shí)壓縮處理
3.1 壓縮算法
考慮到壓縮率的要求和實(shí)時(shí)的要求,在本系統(tǒng)中采用13 Kb/sRPE-LTP-LP編解碼算法[GSM],該算法的特點(diǎn)是在模型編碼算法中較為簡單,語音質(zhì)量高達(dá)到了通信等級(jí),同時(shí)具有較高的壓縮率。該算法的編碼算法包括以下幾個(gè)主要部分:
3.1.1 預(yù)處理部分
去除原始語音信號(hào)S0(n)中的直流分量得到S0f(n),再通過一階的FIR濾波器進(jìn)行高頻預(yù)加重,得到信號(hào)S(n)。
3.1.2 LPC分析
按每160個(gè)樣本點(diǎn)將信號(hào)S(n)進(jìn)行分幀,對每幀數(shù)據(jù)計(jì)算出8個(gè)LPC反射系數(shù)γ(i),i=0,1,2,…,7;再轉(zhuǎn)換成對數(shù)面積比參數(shù)LAR(i),i=1,2…7;并對所得的LAR(i)進(jìn)行量化編碼得到LARC。
3.1.3 短時(shí)分析濾波
短時(shí)分析濾波是一個(gè)8級(jí)格型濾波器,通過短時(shí)分析濾波,得到線性預(yù)測(LP)余量d(n)。
3.1.4 長時(shí)預(yù)測
利用長時(shí)預(yù)測綜合對LP短時(shí)余量信號(hào)d(n)處理以進(jìn)一步的去除冗余度。長時(shí)預(yù)測是按子幀進(jìn)行處理的,每一幀分成4個(gè)子幀。
3.1.5 規(guī)則脈沖編碼
對經(jīng)過短時(shí)、長時(shí)預(yù)測后得到的LP余量信號(hào),進(jìn)行加權(quán)濾波、規(guī)則脈沖提取和量化編碼。
在本系統(tǒng)的DSP上該算法實(shí)時(shí)實(shí)現(xiàn)性能如下:
·碼流速率13 Kb/s
·編碼運(yùn)算量 3 MIPS
·解碼運(yùn)算量 0.7 MIPS
·程序量 2 KWORD
·占用數(shù)據(jù)RAM 1 KWORD
3.2 多路語音實(shí)時(shí)壓縮處理的軟件實(shí)現(xiàn)
由于實(shí)時(shí)實(shí)現(xiàn)13 Kb/sRPE-LTP-LP編碼算法只占用了DSP的3MIPS的運(yùn)算量,而解碼運(yùn)算量為0.7 MIPS故在本系統(tǒng)的具有33 MIPS的運(yùn)算速度的DSP上,可軟件實(shí)時(shí)實(shí)現(xiàn)多達(dá)10通道的13Kb/sRPE-LTP-LP編碼算法和1通道的解碼算法。同時(shí),還有2MIPS的運(yùn)算速度用于系統(tǒng)控制與管理。根據(jù)本系統(tǒng)的要求,已成功實(shí)現(xiàn)了8通道的13Kb/sRPE-LTP-LP編碼算法和1通道的解碼算法。因此,本系統(tǒng)的DSP在完成要求的多路語音采集與壓縮處理任務(wù)的條件下,還有一定的處理能力用于系統(tǒng)其它的擴(kuò)展處理上。本系統(tǒng)的多路語音實(shí)時(shí)壓縮處理的系統(tǒng)軟件框圖如圖2所示。
由圖2可以看出,軟件設(shè)計(jì)主要包括4大部分:
·命令解釋與控制模塊
·13 Kb/sRPE-LTP-LP編解碼模塊
·多通道語音編解碼控制模塊
·接口功能模塊
3.2.1 命令解釋與控制模塊
命令解釋與控制模塊主要是用于解釋由PC機(jī)通過IDMA口發(fā)來的各種命令,如發(fā)送或接收編解碼數(shù)據(jù)、設(shè)置PC機(jī)與DSP的數(shù)據(jù)傳輸數(shù)據(jù)量的大小、查詢編解碼狀態(tài)以及啟動(dòng),停止編解碼操作等。該模塊不直接與PC機(jī)打交道,而是通過接口功能模塊,間接實(shí)現(xiàn)與主CPU的數(shù)據(jù)信息交換。
3.2.2 13 Kb/sRPE-LTP-LP編解碼模塊
該模塊是一個(gè)單通道13 Kb/sRPE-LTP-LP語音編解碼模塊。它是本系統(tǒng)的語音壓縮處理的核心部分,為使該模塊具有通用性,為該模塊單獨(dú)形成一個(gè)ADSP-2100系列語言庫,可與任何其它ADSP-2100系列模塊相連。
3.2.3 多通道語音編解碼控制模塊
該模塊基于單通道13 Kb/sRPE-LTP-LP語音編解碼模塊,實(shí)現(xiàn)多通道語音編碼和單通道語音解碼。對于多通道語音編碼,一方面,當(dāng)某通道采集到一幀160點(diǎn)的語音數(shù)據(jù)時(shí),調(diào)用語音編碼模塊對該幀進(jìn)行編碼,并將編碼后的語音數(shù)據(jù)按約定的格式存放到各通道的編碼數(shù)據(jù)緩沖區(qū)中;另一方面,由于語音的模型編碼是前后幀相關(guān)聯(lián)的,所以該模塊還必須將當(dāng)前通道的當(dāng)前幀編碼后的必須保存的數(shù)據(jù)和狀態(tài)進(jìn)行保存,以及在調(diào)用語音編碼模塊對當(dāng)前幀進(jìn)行編碼前,恢復(fù)上一幀編碼后的數(shù)據(jù)和狀態(tài)。對于單通道語音解碼,則只需在接收到由PC機(jī)傳送來的壓縮數(shù)據(jù)后,調(diào)用解碼模塊,然后將解碼后的160點(diǎn)語音數(shù)據(jù)送到D/A的串口1發(fā)送緩沖區(qū)。
3.2.4 接口功能模塊
該模塊實(shí)現(xiàn)DSP與PC機(jī)的數(shù)據(jù)的實(shí)際交換工作,同時(shí)也實(shí)現(xiàn)DSP的數(shù)據(jù)采集與控制。由于它是軟件設(shè)計(jì)中唯一與硬件相關(guān)的模塊,故該模塊在設(shè)計(jì)上盡量與其它模塊獨(dú)立。這樣,當(dāng)硬件有所改變時(shí),可不必改變其他模塊。
4 結(jié) 論
本系統(tǒng)由于采用了DSP技術(shù),使得多路語音的采集和壓縮處理得以實(shí)時(shí)實(shí)現(xiàn)。同時(shí)還使系統(tǒng)具有較高的可編程性能?;谠撓到y(tǒng)的某語音記錄儀已經(jīng)通過省、部級(jí)的鑒定。本系統(tǒng)的成功設(shè)計(jì)說明數(shù)據(jù)采集與處理系統(tǒng)采用基于DSP技術(shù),將大大提高系統(tǒng)的高速數(shù)據(jù)的實(shí)時(shí)采集和實(shí)時(shí)處理的能力。而且,當(dāng)今的DSP的處理速度和數(shù)據(jù)管理能力還在迅速地提高,其價(jià)格也降到能應(yīng)用于一般的應(yīng)用場合。如ADSP-21061,40 MIPS的運(yùn)算速度,10個(gè)DMA控制器,40位浮點(diǎn)運(yùn)算精度,數(shù)據(jù)管理能力可達(dá)240Mbytes/s,其售價(jià)也只有30~40美元。因此,開發(fā)和研究基于DSP技術(shù)的數(shù)據(jù)采集與處理系統(tǒng)具有重要的實(shí)際意義。
評論