多制式語音編碼及其DSP實(shí)現(xiàn)
在各種通信設(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ǔ)上,定點(diǎn)dsp足以勝任語音編解碼的要求。本文采用了ti公司的tms320vc5409定點(diǎn)dsp實(shí)現(xiàn)了上述三種語音編解碼算法。算法dsp的實(shí)現(xiàn)通過了有關(guān)測試。其中g.729a和adpcm采用itut有關(guān)建議提供的測試序列進(jìn)行了測試,cvsd按照我國有關(guān)標(biāo)準(zhǔn)進(jìn)行了測試。本文對以上三種語音編碼和tms320vc5409做簡單介紹后,對算法的軟件和硬件實(shí)現(xiàn)進(jìn)行介紹,并給出算法所需運(yùn)算量以及所占用的硬件資源。 1 dsp芯片和語音編碼算法?(1)tms320vc5409簡介tms320vc5409tms320vc5409是ti公司生產(chǎn)的一種性價比較高的定點(diǎn)dsp芯片,運(yùn)算速度為80mips/100mips。它擁有改進(jìn)的哈佛結(jié)構(gòu)、一個cpu、片上存儲區(qū)(32kb的rom和64kb的daram)、片上外設(shè)以及專用的指令結(jié)構(gòu)。它具有以下主要優(yōu)點(diǎn):1條程序總線和3條數(shù)據(jù)總線。配合存儲區(qū)的雙操作數(shù)讀取能力,可以支持單周期,三操作數(shù)指令,提高了程序的運(yùn)行效率和通用性; 先進(jìn)的針對應(yīng)用設(shè)計的cpu硬件邏輯提高了芯片的性能; 高度專用的指令結(jié)構(gòu)提供了更快的算法實(shí)現(xiàn)和更方便的優(yōu)化; 片上外設(shè)包括3個mcbsp(多通道緩沖串口)、一個6通道的dma控制器、8bit hpi口及鎖相環(huán)時鐘發(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ù)碼本激勵線性預(yù)測編碼方?quot;(c-ascelp)算法。這種算法綜合了波形編碼和參數(shù)編碼的優(yōu)點(diǎn),以線性預(yù)測編碼技術(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ù)測和差分的概念,僅對實(shí)際值與預(yù)測值之間的差值進(jìn)行編碼。在編碼過程中,用過去樣點(diǎn)的值對當(dāng)前樣點(diǎn)進(jìn)行預(yù)測,并自適應(yīng)地調(diào)整預(yù)測系數(shù),使預(yù)測誤差很小,從而在降低碼率的同時,保持了很高的編碼質(zhì)量。?(4)cvsd(32kbps/16kbps)算法連續(xù)可變斜率增量調(diào)制,是一種1bit的差分波形編碼方式。自適應(yīng)的量階隨信號統(tǒng)計特性的變化而變化?在信號很大動態(tài)范圍內(nèi)?可獲得最大信噪比。并且易于實(shí)現(xiàn)?電路結(jié)構(gòu)簡單。主要技術(shù):三連0/三連1檢測,即若檢測到碼流中有三連0或三連1,則表示信號在驟升或驟降,調(diào)整量階以適應(yīng)信號變化。2 硬件系統(tǒng)(1)硬件板介紹在發(fā)端,模擬信號通過前端處理電路和a/d采樣,轉(zhuǎn)換成8bit a-law pcm信號。對數(shù)pcm信號在tms320vc5409中轉(zhuǎn)成線性碼,并進(jìn)行壓縮編碼。輸出的g.729a/adpcm/cvsd碼流在信道上傳輸。接收端接收到的壓縮碼流在dsp中被解碼成對數(shù)pcm信號,再經(jīng)過d/a變換和用戶電路,最終得到模擬話音。其中cpld用來產(chǎn)生8khz的幀同步信號,使各硬件芯片之間協(xié)同工作。a/d、d/a部分采用單片mc14557mc14557芯片。單路信號的硬件系統(tǒng)框圖如圖1所示。(2)算法的硬件選擇程序定義了兩個標(biāo)志變量flag1、flag2。利用vc5409提供的可屏蔽中斷int0~int3,在中斷