- 相關(guān)推薦
多制式語音編碼及其DSP實(shí)現(xiàn)
摘要:介紹了一種多制式語音編解碼器,在單片TMS320VC5409上完成4路語音的全雙工通信,并實(shí)現(xiàn)G.729a、CVSD、ADPCM算法之間的編碼轉(zhuǎn)換,給出了算法的軟硬件實(shí)現(xiàn)、算法的運(yùn)算量及所占用的硬件資源。在各種通信設(shè)備中,實(shí)時(shí)的語音壓縮通常在DSP上實(shí)現(xiàn)。單一編碼算法,由于碼率和算法固定,系統(tǒng)的靈活性較差。越來越多的通信服務(wù)要求能實(shí)現(xiàn)多種、多路編碼算法,提供一定范圍內(nèi)的編碼速率和編碼算法的多種選擇,例如軟件無線電、IP電話、多媒體終端等。
G.729a是ITU制定的一種高質(zhì)量的中速率語音編碼標(biāo)準(zhǔn),編碼速率為8kbps,目前已在許多通信系統(tǒng)中得到了應(yīng)用。16/32kbps的CVSD是一種抗信道誤碼非常好的語音編碼算法,在軍事通信、宇航通信中得到了廣泛的應(yīng)用。32kbps的ADPCM是一種算法較簡單的波形編碼,具有良好的話音質(zhì)量和抗噪性能,在衛(wèi)星通信、數(shù)字話路倍增系統(tǒng)中得到了廣泛應(yīng)用。綜合了這三種算法的編碼系統(tǒng),在8kbps~32kbps碼率具有較高的靈活性。
由于語音壓縮的運(yùn)算量、存儲(chǔ)量和精度要求都不太高,在考慮價(jià)格因素的基礎(chǔ)上,定點(diǎn)DSP足以勝任語音編解碼的要求。本文采用了TI公司的TMS320VC5409定點(diǎn)DSP實(shí)現(xiàn)了上述三種語音編解碼算法。算法DSP的實(shí)現(xiàn)通過了有關(guān)測(cè)試。其中G.729a和ADPCM采用ITUT有關(guān)建議提供的測(cè)試序列進(jìn)行了測(cè)試,CVSD按照我國有關(guān)標(biāo)準(zhǔn)進(jìn)行了測(cè)試。
本文對(duì)以上三種語音編碼和TMS320VC5409做簡單介紹后,對(duì)算法的軟件和硬件實(shí)現(xiàn)進(jìn)行介紹,并給出算法所需運(yùn)算量以及所占用的硬件資源。
1 DSP芯片和語音編碼算法
(1)TMS320VC5409簡介
TMS320VC5409是TI公司生產(chǎn)的一種性價(jià)比較高的定點(diǎn)DSP芯片,運(yùn)算速度為80MIPS/100MIPS。它擁有改進(jìn)的喻佛結(jié)構(gòu)、一個(gè)CPU、片上存儲(chǔ)區(qū)(32KB的ROM和64KB的DARAM)、片上外設(shè)以及專用的指令結(jié)構(gòu)。它具有以下主優(yōu)點(diǎn):
·1條程序總線和3條數(shù)據(jù)總線。配合存儲(chǔ)區(qū)的雙操作數(shù)讀取能力,可以支持單周期,三操作數(shù)指令,提高了程序的運(yùn)行和通用性;
·先進(jìn)的針對(duì)應(yīng)用設(shè)計(jì)的CPU硬件邏輯提高了芯片的性能;
·高度專用的指令結(jié)構(gòu)提供了更快的算法實(shí)現(xiàn)和更方便的優(yōu)化;
·片上外設(shè)包括3個(gè)McBSP(多通道緩沖串口)、一個(gè)6通道的DMA控制器、8bit HPI口及鎖相環(huán)時(shí)鐘發(fā)生器;
·模塊化結(jié)構(gòu)方便了快速的后續(xù)發(fā)展;
·先進(jìn)的IC處理技術(shù)實(shí)現(xiàn)了高性能和低功耗,5V靜態(tài)CMOS技術(shù)進(jìn)一步降低了功耗。
(2)G.729a算法
G.729是ITU在8kbps速率上的標(biāo)準(zhǔn),采用“共軛結(jié)構(gòu)代數(shù)碼來激勵(lì)線性預(yù)測(cè)編碼方案”(C-ASCELP)算法。這種算法綜合了波形編碼和參數(shù)編碼的優(yōu)點(diǎn),以線性預(yù)測(cè)編碼技術(shù)為基礎(chǔ),采用了矢量量化、分析合成和感覺加權(quán)等技術(shù)。G.729a只在G.729的基礎(chǔ)上減少了一些運(yùn)算量,保持了兼容性,質(zhì)量也基本沒有下降。
(3)32kbps ADPCM算法
G726是ITU制定的自適應(yīng)差分脈沖編碼算法標(biāo)準(zhǔn),有4種速率。在此項(xiàng)目中,使用32kbps的速率。ADPCM算法是一種波形編碼,它在PCM編碼的基礎(chǔ)上引入了預(yù)測(cè)和差分的概念,僅對(duì)實(shí)際值民預(yù)測(cè)值之間的差值進(jìn)行編碼。在編碼過程,用過去樣點(diǎn)的值對(duì)當(dāng)產(chǎn)點(diǎn)進(jìn)行預(yù)測(cè),并自適應(yīng)地調(diào)整預(yù)測(cè)系數(shù)數(shù),使預(yù)測(cè)誤差很小,從而在降低碼率的同時(shí),保持了很高編碼質(zhì)量。
(4)CVSD(32kbps/16kbps)算法
連續(xù)可變分辯率增量調(diào)制,是一種1bit的差分波形編碼方式。自適用的量階隨信號(hào)統(tǒng)計(jì)特性的變化而變化,在信號(hào)很大動(dòng)態(tài)范圍內(nèi),可獲得最大信噪比。并且易于實(shí)現(xiàn),電路結(jié)構(gòu)簡單。
主要技術(shù):三連0/三連1檢測(cè),即若檢測(cè)到碼流中有三連0或三連1,則表示信號(hào)在驟升或驟降,調(diào)整量階以適應(yīng)信號(hào)變化。
2 硬件系統(tǒng)
(1)硬件板介紹
在發(fā)端,模擬信號(hào)通過前端處理電路和A/D采樣,轉(zhuǎn)換成8bit A-law PCM信號(hào)。對(duì)數(shù)PCM信號(hào)在TMS320VC5409中轉(zhuǎn)換線性碼,并進(jìn)行壓縮編碼。輸出的G.729a/ADPCM/CVSD編流在信道上傳輸。
接收端接收到的壓縮碼流在DSP中被解碼成對(duì)數(shù)PCM信號(hào),再經(jīng)過D/A變換和用戶電路,最終得到模擬話音。其中CPLD用來產(chǎn)生8kHz的幀同步信號(hào),使各硬件芯片之間協(xié)同工作。
A/D、D/A部分采用單片MC14557芯片。單路信號(hào)的硬件系統(tǒng)框圖如圖1所示。
(2)算法的硬件選擇
程序定義了兩個(gè)標(biāo)志變理flag1、flag2。利用VC5409提供的可屏蔽中斷INT0~I(xiàn)NT3,在中斷服務(wù)例程中對(duì)2個(gè)標(biāo)志位進(jìn)行設(shè)置,從而控制主程序的跳轉(zhuǎn)。
系統(tǒng)加電后,INT0~I(xiàn)NT3其中一個(gè)管腳給出中斷請(qǐng)求信號(hào),程序執(zhí)行中檢測(cè)到哪個(gè)中斷,就執(zhí)行該中斷對(duì)應(yīng)的編碼算法。接著,主程序?qū)MR寄存器置位以屏蔽這些中斷,直至下次系統(tǒng)復(fù)位。其中INT0中斷在測(cè)試中是無編碼轉(zhuǎn)換的跳轉(zhuǎn),但在應(yīng)用中用于選擇32kbps的CVSD算法。表1是算法選擇的硬件中斷與標(biāo)志位設(shè)置。
表1 算法選擇的硬件中斷與標(biāo)志位設(shè)置
【多制式語音編碼及其DSP實(shí)現(xiàn)】相關(guān)文章:
G.723.1語音編碼標(biāo)準(zhǔn)在TI OMAP上的實(shí)現(xiàn)03-30
基于TMS320C549DSP實(shí)現(xiàn)CVSD語音編解碼03-07
FFT算法的研究與DSP實(shí)現(xiàn)03-07
基于DSP的語音處理系統(tǒng)的設(shè)計(jì)11-22
語音處理芯片AC48105在低速語音編碼設(shè)備中的應(yīng)用03-18
自適應(yīng)算術(shù)編碼的FPGA實(shí)現(xiàn)03-18