張云勇+燕飛
針對VoIP交換機語音網(wǎng)關(guān)的需求,實現(xiàn)了基于XDAIS標(biāo)準(zhǔn)的G.729A算法。結(jié)合TI DSP處理器C55x的特點對算法進行優(yōu)化,實現(xiàn)單片TMS320VC5510中12路語音編解碼,在此基礎(chǔ)上完成了支持96路話音的VoIP語音網(wǎng)關(guān)的設(shè)計,并已成功應(yīng)用到多種型號的軍用語音交換機中。
DSP XDAIS G.729A VoIP 語音網(wǎng)關(guān)
Design of VoIP Voice Gateway Based on G.729A Algorithm of XDAIS
ZHANG Yun-yong1, YAN Fei2
(1. China Electronics Technology Group Corporation No.7 Research Institute, Guangzhou 510310, China;
2. Sichuan Electric Vocational and Technical College, Chengdu 610072, China)
The G.729A algorithm based on XDAIS is realized to satisfy the demands for the voice gateway of VoIP switch. The algorithm is optimized combined with C55X platform of TI DSP processor to realize 12-channel voice encoding and decoding in a single TMS320VC5510. Based on this result, a VoIP voice gateway supporting 96-channel voice is completed, and it has applied to military voice switches with several types.
DSP XDAIS G.729A VoIP voice gateway
1 引言
隨著互聯(lián)網(wǎng)通信的發(fā)展,VoIP(Voice over Internet Protocol,互聯(lián)網(wǎng)協(xié)議的語音承載)技術(shù)發(fā)展到現(xiàn)在已經(jīng)相當(dāng)成熟,其實質(zhì)是一種利用終端對語音數(shù)據(jù)進行采集及還原,由IP網(wǎng)絡(luò)傳輸分組語音數(shù)據(jù)包的語音通信技術(shù)。語音壓縮編碼是VoIP技術(shù)的重要組成部分,ITU-T(國際電信聯(lián)盟電信標(biāo)準(zhǔn)化部)定義的G.729、G.723是VoIP的主要編碼格式。然而傳統(tǒng)的電話交換網(wǎng)絡(luò)以其話音質(zhì)量好、延時小等特點仍然不可替代,因此VoIP交換機需要與PSTN(Public Switched Telephone Network,公共交換電話網(wǎng)絡(luò))互聯(lián)。故通常的VoIP交換機需要大容量的語音網(wǎng)關(guān)單元實現(xiàn)語音編解碼功能。相對于G.729,G.729A進一步降低了算法復(fù)雜度,實際應(yīng)用較廣。本文討論基于TI(德州儀器)公司的DSP(Digital Signal Processor,數(shù)字信號處理器)C55x平臺上實現(xiàn)XDAIS(eXpressDSP Algorithm Interface Standard,eXpressDSP算法接口標(biāo)準(zhǔn))架構(gòu)的G.729A算法及其優(yōu)化,在此基礎(chǔ)上給出了VoIP大容量交換機語音網(wǎng)關(guān)的設(shè)計方案。
2 XDAIS架構(gòu)的G.729A算法實現(xiàn)
為了便于第三方廠商開發(fā)通用DSP算法程序,TI制定了XDAIS程序架構(gòu)。該架構(gòu)可解決算法模塊間資源共享及程序兼容性問題,使得在同一DSP上實現(xiàn)不同算法或相同算法的多通道應(yīng)用更容易。為了實現(xiàn)G.729A算法在多通道語音網(wǎng)關(guān)上的應(yīng)用,按照XDAIS程序架構(gòu)對算法進行封裝是非常有效的方法。
2.1 XDAIS架構(gòu)
XDAIS標(biāo)準(zhǔn)架構(gòu)示意圖如圖1所示:
圖1 XDAIS標(biāo)準(zhǔn)架構(gòu)示意圖[1]
XDAIS標(biāo)準(zhǔn)定義了三層規(guī)則:第一層是包含了所有DSP算法編程適用的通用編程規(guī)則,如C調(diào)用、可重入等;第二層規(guī)則使得所有算法可以在單一DSP系統(tǒng)上協(xié)調(diào)地運行,包括程序的封裝、標(biāo)識、命名、內(nèi)存管理等;第三層規(guī)則與使用的DSP系列硬件資源相關(guān),包括中斷、內(nèi)存、寄存器等。第三層以下是各廠商開發(fā)的算法,XDAIS對此不作規(guī)定[1]。
符合XDAIS標(biāo)準(zhǔn)的算法必須實現(xiàn)一個標(biāo)準(zhǔn)接口,即IALG接口。該接口提供的功能包括對系統(tǒng)存儲資源的管理、算法實例的建立、初始化和終止對象。這些功能體現(xiàn)在一個IALG_Fxns的結(jié)構(gòu)體中,也稱V表,在這個結(jié)構(gòu)體中定義了算法接口需要的標(biāo)準(zhǔn)函數(shù),其中除了algAlloc()、a1gInit()和algFree()是必須的外,其它的函數(shù)是可選的。algAlloc()實現(xiàn)內(nèi)存分配;algInit()用來初始化算法實例對象;algFree()在銷毀算法實例對象后釋放存儲空間。除了IALG,XDAIS還要定義一個算法實例接口,該接口包含了算法的實現(xiàn),是算法接口的一個實例[2]。算法提供者需要在此實例的基礎(chǔ)上添加特定的算法代碼,完成算法的封裝。
2.2 G.729A算法封裝
IALG只是一個算法接口框架,具體的算法還要由IALG派生而來。針對G.729A算法,首先實例化以下結(jié)構(gòu):
typedef struct IG729A_Fxns {
IALG_Fxns ialg;/* IG729A extends IALG */
XDAS_Void (*apply)(IG729A_Handle handle,…);
} IG729A_Fxns;
結(jié)構(gòu)體第一項即是對IALG的一個實例,第二項函數(shù)apply()是算法的應(yīng)用程序入口。endprint
為了區(qū)分不同廠商的算法模塊,XDAIS規(guī)定了算法的命名規(guī)則,通常為“
#define IALGFXNS \
&G729A_CETC7_IALG, /* module ID*/ \
NULL, /* activate*/ \
G729A_CETC7_alloc, /* algAlloc*/ \
G729A_CETC7_control, /* control*/ \
NULL, /* deactivate*/ \
G729A_CETC7_free, /* free*/ \
G729A_CETC7_initObj, /* init*/ \
G729A_CETC7_moved, /* moved*/ \
NULL /* numAlloc*/ \
/* module_vendor_interface */
IG729A_Fxns G729A_CETC7_IG729A = {
IALGFXNS,
G729A_CETC7_apply,
};
其中,G729A_CETC7_IG729A即為基于XDAIS的G.729A算法程序框架的一個實例,修改實例中對應(yīng)的G729A_CETC7_initObj()、G729A_CETC7_alloc()、G729A_CETC7_free()、G729A_CETC7_apply()等函數(shù)可以實現(xiàn)程序框架與目標(biāo)算法代碼的連接。
2.3 G.729A算法實現(xiàn)
G.729是ITU-T制定的基于CS-ACELP算法的語音編碼標(biāo)準(zhǔn)[3],其編碼速率為8kbit/s,是對電話寬帶語音信號編碼的標(biāo)準(zhǔn),也是目前應(yīng)用廣泛的VoIP語音數(shù)字信號處理標(biāo)準(zhǔn)[4]。
ITU-T提供了基于PC平臺的G.729A算法C語言評估代碼。但由于評估代碼是PC通用的單任務(wù)程序,未考慮硬件實現(xiàn)平臺、程序效率、多通道應(yīng)用等因素,因此不能直接使用,需要對程序進行移植。
通常程序移植首先要考慮基本數(shù)據(jù)類型的兼容。G.729A算法程序代碼中用到了三種基本數(shù)據(jù)類型Word32、Word16及Flag,針對DSP C55x平臺需要定義如下:
typedef long int Word32;
typedef short int Word16;
typedef int Flag.
此外,內(nèi)存資源的使用也是算法移植的關(guān)鍵,這是實現(xiàn)算法多通道應(yīng)用的必要條件。針對單任務(wù)的算法代碼,將其中的所有全局變量及靜態(tài)內(nèi)存定義成一個結(jié)構(gòu)G729_BUF,這個結(jié)構(gòu)包含了G.729A算法需要的所有存儲資源,在算法例化時進行內(nèi)存動態(tài)分配。XDAIS架構(gòu)中的函數(shù)G729A_CETC7_alloc()、G729A_CETC7_free()完成G729_BUF結(jié)構(gòu)的內(nèi)存分配和釋放。
最后,算法移植的最重要內(nèi)容是實現(xiàn)算法代碼和XDAIS架構(gòu)的接口。這主要涉及函數(shù)G729A_CETC7_initObj()和G729A_CETC7_apply(),前者完成算法的初始化,后者完成XDAIS架構(gòu)算法的接口。
初始化的實現(xiàn)方法是在函數(shù)G729A_CETC7_initObj()中添加以下代碼:
st=(G729_BUF *)G729A->G729_st_mem;
Init_Pre_Process();
Init_Coder_ld8a();
Init_Decod_ld8a();
Init_Post_Filter();
Init_Post_Process();
變量st是一個G729_BUF結(jié)構(gòu)的全局指針,指向算法例化時在函數(shù)G729A_CETC7_alloc()中分配的內(nèi)存空間;其余調(diào)用的函數(shù)是G.729A算法的初始化代碼。
算法的接口實現(xiàn)方法是在函數(shù)G729A_CETC7_apply()中調(diào)用G.729A算法的編碼及解碼函數(shù),包括以下內(nèi)容:
//編碼調(diào)用函數(shù)
Pre_Process(st->new_speech, L_FRAME);
Coder_ld8a(st->prm);
prm2bits_ld8k_rfc( st->prm, dataOut);
//解碼調(diào)用函數(shù)
bits2prm_ld8k_rfc( dataIn, &st->parm[1]);
Decod_ld8a(st->parm, st->synth, st->Az_dec, st->T2);
Post_Filter(st->synth, st->Az_dec, st->T2); Post_Process(st->synth, L_FRAME);
通過封裝的算法代碼可以鏈接成庫文件,應(yīng)用程序調(diào)用算法時只需包含庫文件和相應(yīng)的頭文件,目標(biāo)代碼直接鏈接庫函數(shù),算法代碼不用被再次編譯,這保證了模塊化設(shè)計及算法的一致性。以下是應(yīng)用程序調(diào)用算法的代碼實例:
G729A_Handle handle[n];//定義n通道算法句柄
IG729A_Fxns fxns[n];
fxns[n]=G729A_CETC7_IG729A;//例化算法
handle[n]=G729A_create(&fxns[n], NULL);//創(chuàng)建算法
…
G729A_CETC7_apply(handle[n],…);//調(diào)用算法
…
G729A_delete(handle[n]);//釋放算法(如果需要)
3 G.729A算法優(yōu)化
按以上方法封裝的算法仿真測試需要12.3ms才能完成一幀話音的編解碼,而G.729標(biāo)準(zhǔn)規(guī)定的話音幀為10ms/幀[3],顯然算法效率太低,無法滿足實時話音的要求,必須對算法進行優(yōu)化。
采用匯編代碼對C進行替換是常用的程序優(yōu)化方法,而G.729A算法包含了30多個文件,全部實現(xiàn)替換工作量很大,因此對算法代碼進行分析,找出算法中最底層的基本運算函數(shù),由內(nèi)而外,先從子函數(shù)開始優(yōu)化。由于算法中很多基本算子函數(shù)被多次循環(huán)調(diào)用,是制約程序效率的主要因素,這些函數(shù)主要包含在文件BASIC_OP.C中,所以優(yōu)化的主要內(nèi)容就是對這個文件中的基本算子函數(shù)進行全匯編替換。
除了編程優(yōu)化外,編譯選項的優(yōu)化也是很重要的。以下編譯選項對程序效率有較大影響,需要在CCS程序工程中添加這些選項[5]:
-o3:最高的優(yōu)化級別,能顯著提高程序效率;
-pm:程序級優(yōu)化;
-op2:調(diào)用優(yōu)化,此選項要避免在匯編程序中調(diào)用C中的函數(shù)和全局變量;
-oi100:編譯器自動內(nèi)聯(lián)小于100行的函數(shù)。
通過以上優(yōu)化措施,程序效率可達到0.83ms/幀,占用DSP動態(tài)存儲空間4.6kB/通道。TMS320VC5510工作主頻為200M,可以算出優(yōu)化后的算法編解碼一幀需要CPU處理能力為16.7(mega cycles)/s。
4 VoIP語音網(wǎng)關(guān)設(shè)計
VoIP網(wǎng)絡(luò)通常采用G.729A話音編碼,為了實現(xiàn)VoIP終端和其它話音網(wǎng)絡(luò)(如PSTN、移動電話等)互通,需要在VoIP交換機中實現(xiàn)語音網(wǎng)關(guān)來完成G.729A話音到PCM(Pulse Code Modulation,脈沖編碼調(diào)制)話音的轉(zhuǎn)換。VoIP語音網(wǎng)關(guān)的實現(xiàn)原理如圖2所示。
網(wǎng)絡(luò)處理器為Freescale公司的MPC8280,完成IP網(wǎng)絡(luò)及話音控制功能;DSP為TMS320VC5510,實現(xiàn)G.729A算法;FPGA為Altera公司的EP1C3,完成DSP的McBSP接口到2M話音群的接入。
從VoIP網(wǎng)絡(luò)來的話音幀由網(wǎng)絡(luò)處理器通過MPC8280的Local Bus(本地總線)和DSP的HPI(Host Port Interface,主機接口)送給DSP進行解碼,解碼后的PCM話音通過McBSP給FPGA完成2M話音群的時隙插入,網(wǎng)絡(luò)處理器通過MPC8280的MCC從2M群提取話音。反之為編碼的信號流程。
根據(jù)以上原理設(shè)計的VoIP語音網(wǎng)關(guān)單元包含了16片DSP,完成了96通道的G.729A語音編解碼,話音清晰可懂。根據(jù)目前應(yīng)用結(jié)果,證明了基于XDAIS標(biāo)準(zhǔn)G.729A算法的高效、可靠及易擴展性,達到了設(shè)計的預(yù)期效果。
5 結(jié)束語
本文基于XDAIS架構(gòu)的G.729A算法解決了在同一DSP處理器上實現(xiàn)多路G.729A算法的問題,并對算法進行了優(yōu)化,理論上可實現(xiàn)一片TMS320VC5510上12通道的G.729A編解碼。標(biāo)準(zhǔn)的XDAIS架構(gòu)使得算法移植性強,很容易將算法應(yīng)用到其它設(shè)備中,縮短產(chǎn)品的開發(fā)周期。VoIP語音網(wǎng)關(guān)的實現(xiàn)使得這一算法得到了實際應(yīng)用,目前該語音網(wǎng)關(guān)已應(yīng)用于多種型號的軍用交換機中,并且運行穩(wěn)定。
參考文獻:
[1] Texas Instruments. TMS320 DSP Algorithm Standard Rules and Guidelines User's Guide[Z]. SPRU352G, 2007.
[2] 司群,臧英新,陶友傳,等. TMS320DSP算法標(biāo)準(zhǔn)(XDAIS)及參考構(gòu)架RF5綜述[J]. 艦船電子工程, 2006,26(2): 27-31.
[3] ITU-T Recommendation G.729. Coding of Speech at 8kbit/s Using Conjugate-Structure Algebraic-Code-Excited Linear-Prediction(CS-ACELP)[S]. 2013.
[4] 肖玉梅. 淺談VoIP技術(shù)中的語音編碼技術(shù)及其在DSP上的實現(xiàn)[J]. 經(jīng)營管理者, 2011(13): 298-300.
[5] Texas Instruments. TMS320C55x Optimizing C/C++ CompilerUser's Guide[Z]. SPRU281F, 2003.endprint
handle[n]=G729A_create(&fxns[n], NULL);//創(chuàng)建算法
…
G729A_CETC7_apply(handle[n],…);//調(diào)用算法
…
G729A_delete(handle[n]);//釋放算法(如果需要)
3 G.729A算法優(yōu)化
按以上方法封裝的算法仿真測試需要12.3ms才能完成一幀話音的編解碼,而G.729標(biāo)準(zhǔn)規(guī)定的話音幀為10ms/幀[3],顯然算法效率太低,無法滿足實時話音的要求,必須對算法進行優(yōu)化。
采用匯編代碼對C進行替換是常用的程序優(yōu)化方法,而G.729A算法包含了30多個文件,全部實現(xiàn)替換工作量很大,因此對算法代碼進行分析,找出算法中最底層的基本運算函數(shù),由內(nèi)而外,先從子函數(shù)開始優(yōu)化。由于算法中很多基本算子函數(shù)被多次循環(huán)調(diào)用,是制約程序效率的主要因素,這些函數(shù)主要包含在文件BASIC_OP.C中,所以優(yōu)化的主要內(nèi)容就是對這個文件中的基本算子函數(shù)進行全匯編替換。
除了編程優(yōu)化外,編譯選項的優(yōu)化也是很重要的。以下編譯選項對程序效率有較大影響,需要在CCS程序工程中添加這些選項[5]:
-o3:最高的優(yōu)化級別,能顯著提高程序效率;
-pm:程序級優(yōu)化;
-op2:調(diào)用優(yōu)化,此選項要避免在匯編程序中調(diào)用C中的函數(shù)和全局變量;
-oi100:編譯器自動內(nèi)聯(lián)小于100行的函數(shù)。
通過以上優(yōu)化措施,程序效率可達到0.83ms/幀,占用DSP動態(tài)存儲空間4.6kB/通道。TMS320VC5510工作主頻為200M,可以算出優(yōu)化后的算法編解碼一幀需要CPU處理能力為16.7(mega cycles)/s。
4 VoIP語音網(wǎng)關(guān)設(shè)計
VoIP網(wǎng)絡(luò)通常采用G.729A話音編碼,為了實現(xiàn)VoIP終端和其它話音網(wǎng)絡(luò)(如PSTN、移動電話等)互通,需要在VoIP交換機中實現(xiàn)語音網(wǎng)關(guān)來完成G.729A話音到PCM(Pulse Code Modulation,脈沖編碼調(diào)制)話音的轉(zhuǎn)換。VoIP語音網(wǎng)關(guān)的實現(xiàn)原理如圖2所示。
網(wǎng)絡(luò)處理器為Freescale公司的MPC8280,完成IP網(wǎng)絡(luò)及話音控制功能;DSP為TMS320VC5510,實現(xiàn)G.729A算法;FPGA為Altera公司的EP1C3,完成DSP的McBSP接口到2M話音群的接入。
從VoIP網(wǎng)絡(luò)來的話音幀由網(wǎng)絡(luò)處理器通過MPC8280的Local Bus(本地總線)和DSP的HPI(Host Port Interface,主機接口)送給DSP進行解碼,解碼后的PCM話音通過McBSP給FPGA完成2M話音群的時隙插入,網(wǎng)絡(luò)處理器通過MPC8280的MCC從2M群提取話音。反之為編碼的信號流程。
根據(jù)以上原理設(shè)計的VoIP語音網(wǎng)關(guān)單元包含了16片DSP,完成了96通道的G.729A語音編解碼,話音清晰可懂。根據(jù)目前應(yīng)用結(jié)果,證明了基于XDAIS標(biāo)準(zhǔn)G.729A算法的高效、可靠及易擴展性,達到了設(shè)計的預(yù)期效果。
5 結(jié)束語
本文基于XDAIS架構(gòu)的G.729A算法解決了在同一DSP處理器上實現(xiàn)多路G.729A算法的問題,并對算法進行了優(yōu)化,理論上可實現(xiàn)一片TMS320VC5510上12通道的G.729A編解碼。標(biāo)準(zhǔn)的XDAIS架構(gòu)使得算法移植性強,很容易將算法應(yīng)用到其它設(shè)備中,縮短產(chǎn)品的開發(fā)周期。VoIP語音網(wǎng)關(guān)的實現(xiàn)使得這一算法得到了實際應(yīng)用,目前該語音網(wǎng)關(guān)已應(yīng)用于多種型號的軍用交換機中,并且運行穩(wěn)定。
參考文獻:
[1] Texas Instruments. TMS320 DSP Algorithm Standard Rules and Guidelines User's Guide[Z]. SPRU352G, 2007.
[2] 司群,臧英新,陶友傳,等. TMS320DSP算法標(biāo)準(zhǔn)(XDAIS)及參考構(gòu)架RF5綜述[J]. 艦船電子工程, 2006,26(2): 27-31.
[3] ITU-T Recommendation G.729. Coding of Speech at 8kbit/s Using Conjugate-Structure Algebraic-Code-Excited Linear-Prediction(CS-ACELP)[S]. 2013.
[4] 肖玉梅. 淺談VoIP技術(shù)中的語音編碼技術(shù)及其在DSP上的實現(xiàn)[J]. 經(jīng)營管理者, 2011(13): 298-300.
[5] Texas Instruments. TMS320C55x Optimizing C/C++ CompilerUser's Guide[Z]. SPRU281F, 2003.endprint
handle[n]=G729A_create(&fxns[n], NULL);//創(chuàng)建算法
…
G729A_CETC7_apply(handle[n],…);//調(diào)用算法
…
G729A_delete(handle[n]);//釋放算法(如果需要)
3 G.729A算法優(yōu)化
按以上方法封裝的算法仿真測試需要12.3ms才能完成一幀話音的編解碼,而G.729標(biāo)準(zhǔn)規(guī)定的話音幀為10ms/幀[3],顯然算法效率太低,無法滿足實時話音的要求,必須對算法進行優(yōu)化。
采用匯編代碼對C進行替換是常用的程序優(yōu)化方法,而G.729A算法包含了30多個文件,全部實現(xiàn)替換工作量很大,因此對算法代碼進行分析,找出算法中最底層的基本運算函數(shù),由內(nèi)而外,先從子函數(shù)開始優(yōu)化。由于算法中很多基本算子函數(shù)被多次循環(huán)調(diào)用,是制約程序效率的主要因素,這些函數(shù)主要包含在文件BASIC_OP.C中,所以優(yōu)化的主要內(nèi)容就是對這個文件中的基本算子函數(shù)進行全匯編替換。
除了編程優(yōu)化外,編譯選項的優(yōu)化也是很重要的。以下編譯選項對程序效率有較大影響,需要在CCS程序工程中添加這些選項[5]:
-o3:最高的優(yōu)化級別,能顯著提高程序效率;
-pm:程序級優(yōu)化;
-op2:調(diào)用優(yōu)化,此選項要避免在匯編程序中調(diào)用C中的函數(shù)和全局變量;
-oi100:編譯器自動內(nèi)聯(lián)小于100行的函數(shù)。
通過以上優(yōu)化措施,程序效率可達到0.83ms/幀,占用DSP動態(tài)存儲空間4.6kB/通道。TMS320VC5510工作主頻為200M,可以算出優(yōu)化后的算法編解碼一幀需要CPU處理能力為16.7(mega cycles)/s。
4 VoIP語音網(wǎng)關(guān)設(shè)計
VoIP網(wǎng)絡(luò)通常采用G.729A話音編碼,為了實現(xiàn)VoIP終端和其它話音網(wǎng)絡(luò)(如PSTN、移動電話等)互通,需要在VoIP交換機中實現(xiàn)語音網(wǎng)關(guān)來完成G.729A話音到PCM(Pulse Code Modulation,脈沖編碼調(diào)制)話音的轉(zhuǎn)換。VoIP語音網(wǎng)關(guān)的實現(xiàn)原理如圖2所示。
網(wǎng)絡(luò)處理器為Freescale公司的MPC8280,完成IP網(wǎng)絡(luò)及話音控制功能;DSP為TMS320VC5510,實現(xiàn)G.729A算法;FPGA為Altera公司的EP1C3,完成DSP的McBSP接口到2M話音群的接入。
從VoIP網(wǎng)絡(luò)來的話音幀由網(wǎng)絡(luò)處理器通過MPC8280的Local Bus(本地總線)和DSP的HPI(Host Port Interface,主機接口)送給DSP進行解碼,解碼后的PCM話音通過McBSP給FPGA完成2M話音群的時隙插入,網(wǎng)絡(luò)處理器通過MPC8280的MCC從2M群提取話音。反之為編碼的信號流程。
根據(jù)以上原理設(shè)計的VoIP語音網(wǎng)關(guān)單元包含了16片DSP,完成了96通道的G.729A語音編解碼,話音清晰可懂。根據(jù)目前應(yīng)用結(jié)果,證明了基于XDAIS標(biāo)準(zhǔn)G.729A算法的高效、可靠及易擴展性,達到了設(shè)計的預(yù)期效果。
5 結(jié)束語
本文基于XDAIS架構(gòu)的G.729A算法解決了在同一DSP處理器上實現(xiàn)多路G.729A算法的問題,并對算法進行了優(yōu)化,理論上可實現(xiàn)一片TMS320VC5510上12通道的G.729A編解碼。標(biāo)準(zhǔn)的XDAIS架構(gòu)使得算法移植性強,很容易將算法應(yīng)用到其它設(shè)備中,縮短產(chǎn)品的開發(fā)周期。VoIP語音網(wǎng)關(guān)的實現(xiàn)使得這一算法得到了實際應(yīng)用,目前該語音網(wǎng)關(guān)已應(yīng)用于多種型號的軍用交換機中,并且運行穩(wěn)定。
參考文獻:
[1] Texas Instruments. TMS320 DSP Algorithm Standard Rules and Guidelines User's Guide[Z]. SPRU352G, 2007.
[2] 司群,臧英新,陶友傳,等. TMS320DSP算法標(biāo)準(zhǔn)(XDAIS)及參考構(gòu)架RF5綜述[J]. 艦船電子工程, 2006,26(2): 27-31.
[3] ITU-T Recommendation G.729. Coding of Speech at 8kbit/s Using Conjugate-Structure Algebraic-Code-Excited Linear-Prediction(CS-ACELP)[S]. 2013.
[4] 肖玉梅. 淺談VoIP技術(shù)中的語音編碼技術(shù)及其在DSP上的實現(xiàn)[J]. 經(jīng)營管理者, 2011(13): 298-300.
[5] Texas Instruments. TMS320C55x Optimizing C/C++ CompilerUser's Guide[Z]. SPRU281F, 2003.endprint