劉偉王旭
(電子科技大學成都學院 通信系,四川 成都 611731)
連續(xù)斜率增量調(diào)制 (Continuously Variable Slope Delta modulation)語音編碼技術(shù)最早由Greefkes和Riemens于1972年提出。與固定增量編碼相比,CVSD具有跟蹤信號變化快慢而改變量階的特點。擅長處理丟失和被損壞的語音采樣,即使誤碼率達到4%,CVSD譯碼語音質(zhì)量任然可以接受[1]。CML公司的CMX649專用芯片可以實現(xiàn)ADM和CVSD編碼,但在靈活性和可擴展性方面軟件實現(xiàn)更具優(yōu)勢。TMS320C6455是TI公司推出的一款高性能專注于通信信號處理的芯片,該芯片的處理能力能夠?qū)崿F(xiàn)CVSD編譯碼的實時工作。
和固定增量調(diào)制編碼DM類似CVSD編碼器對輸入數(shù)字語音信號的幅度變化量進行編碼,與之不同的是在CVSD編碼中,信號差值量階Delta不再是常值,而是隨輸入信號的斜率變化而變化,連階判斷邏輯用來捕獲信號的斜率變化。輸入語音信號x(n)與預測信號x1(n)相減得到差值信號d(n),此差值信號經(jīng)過一位量化器得到編碼輸出c(n),同時該差值信號作為連階判斷邏輯的當前輸入進行連階判斷,其判斷結(jié)果控制當前編碼c(n)與當前預測信號共構(gòu)建下一時刻預測信號 x1(n)。
圖1 CVSD編碼原理圖
圖中:D(n)=X(n)-X1(n),為當前輸入與預測信號的差值。為CVSD編碼輸出。
連階判斷邏輯常以最新3次或者4次編碼輸出值作為判斷依據(jù),在本項目中采用3次連碼判斷,判斷邏輯為:
譯碼過程是編碼過程的逆過程,接收碼字首先進行連階邏輯判斷,根據(jù)判斷結(jié)果調(diào)整量化階距delta,同時接收碼字根據(jù)最新的量化階距進行逆量化,獲得差值信號d1(n),d1(n)與預測信號疊加獲得當前的譯碼信號,經(jīng)進一步的低通濾波輸出譯碼語音信號。
圖2 CVSD譯碼原理圖
圖中除最終輸出信號與編碼輸入對應(yīng)外,其余信號都加上上標,指示信道干擾對傳輸碼字的影響。各變量的計算方式與編碼環(huán)節(jié)類似,通常語音信號能量大部分分布在300~3400Hz頻帶范圍,低通濾波器用于濾除帶外信道噪聲,高頻量化和過載噪聲等,高頻噪聲對語音音質(zhì)的影響較大。
在CVSD仿真評估中量階參數(shù)的選取會直接影響到語音譯碼的輸出性能,由于于心信號可以看做單音正弦信號疊加,正弦波形在零點時變化率達到最大而在峰值時變化率最小。連碼邏輯的判決結(jié)果可視為信號斜率變化快慢的參考,出現(xiàn)連碼時,采取較大量階以跟蹤較快的信號變化,非連碼時采用較小的量階減小顆粒噪聲[2]。
圖3 不同量階對CVSD編碼性能
根據(jù)以上原則,選取適當?shù)牧侩A參數(shù)對一段真實語音信號進行MATLAB仿真,由圖中時域波形可以看出,解碼后的語音信號能較好的恢復原始語音信號。
圖4 語音CVSD編碼仿真波形圖
C6000芯片內(nèi)部的運算功能單元達到2組共8個,芯片的并行化程度非常高,完全由人手工編寫匯編程序代碼反而很難有效分配資源,發(fā)揮處理器并行處理的優(yōu)勢[3]。在實際項目中常采用C語言進行軟件開發(fā),其中CVSD編譯碼部分的處理流程如圖所示。
圖5 CVSD編碼軟件流程圖
在C6000系列芯片應(yīng)用程序開發(fā)中,CCS開發(fā)環(huán)境提供了多種工具控制從代碼輸入,編譯,優(yōu)化,下載的全過程。其中Profile工具對當前代碼的運行性能進行全面的評估,既可以對應(yīng)用程序全局運行時間進行測試,也可以針對單個函數(shù)函數(shù)甚至函數(shù)內(nèi)部的循環(huán)塊LOOP進行cycle數(shù)的統(tǒng)計。所有的Cycle數(shù)統(tǒng)計結(jié)果可以直接通過Profile下的Viewer工具直接查看分析,也可以另存為.csv文件進行離線分析[4]。
表1 Profile統(tǒng)計結(jié)果
從表1可以看出,編譯碼函數(shù)在優(yōu)化前后消耗的cycle數(shù)差異較大,優(yōu)化后均降低到優(yōu)化前的40%以下,根據(jù)系統(tǒng)容量的設(shè)計需要,可進一步采用內(nèi)聯(lián)指令進行代碼級的優(yōu)化。濾波函數(shù)調(diào)用TI的信號處理庫函數(shù),該函數(shù)已經(jīng)由TI采用內(nèi)聯(lián)指令進行優(yōu)化,在實際系統(tǒng)中只需要進行參數(shù)配置即可。
將一段音樂經(jīng)由TMS320C6455芯片進行CVSD編碼并解碼播放,對比編碼前后的語音質(zhì)量發(fā)現(xiàn),即使加入干擾噪聲CVSD編碼在壓縮文件信息量的同時仍然獲得較好語音?;?455芯片的CVSD語音編碼實現(xiàn)可以大大改善超短波地空電臺的話音傳輸質(zhì)量,提高了其抗誤碼能力和保密性能,對超短波地空通信裝備的發(fā)展和現(xiàn)有地空通信抗予擾電臺的技術(shù)改造將有著重要推動作用。S
[1]李欣,臧笛,羅程.CVSD編碼/譯碼器在語音系統(tǒng)中的應(yīng)用[J].電子與自動化,1999.
[2]黃富貴,騫俊,張靜.CVSD的算法仿真及實現(xiàn)[J].桂林電子工業(yè)學院學報.2003,5(23):5-8.
[3]張旭,陳陣,吳月珠.基于 DSP 的 CVSD 語音編解碼[J].微處理機,2001(4):52-54.
[4]汪安民.DSP 嵌入式系統(tǒng)開發(fā)典型案例[M].北京:人民郵電出版社,2007.