摘要:介紹分組語音技術(shù)的概念、用途以及用AMBE-1000實現(xiàn)語音分組技術(shù)的方法;介紹這一方法在實際工程中應(yīng)用的個實例,尤其對AMBE-1000的功能及其在實際應(yīng)用中的價值作了詳細(xì)的介紹。
關(guān)鍵詞:分組語音 PSTN 電話接口
1 概述
隨著信息技術(shù)的不斷發(fā)展和完善,信息的快速傳遞在生產(chǎn)和生活中顯得越來越重要。在各種信息傳遞方式中,語音的互通占據(jù)著重要的位置。最為大家熟知的是以PCM編碼方式傳送語音的普通電話業(yè)務(wù),實時性強(qiáng)、語音質(zhì)量高,占據(jù)著語音通話業(yè)務(wù)的主體。但近年來隨著IP電話的普及和網(wǎng)絡(luò)技術(shù)的發(fā)展,另一種語音處理技術(shù)越來越為人們所熟悉,那就是語音分組技術(shù)。語音分組是指將語音信號轉(zhuǎn)化為一定長度和速率的數(shù)字化語音包,采用存儲轉(zhuǎn)發(fā)的方法并以包的形式進(jìn)行交換和傳輸。它隨著互聯(lián)網(wǎng)的普及,尤其是IP電話的普及而得到越來越多應(yīng)用。但由于互聯(lián)網(wǎng)不能對傳輸帶寬提供保證,因此,語音包在其傳輸過程中就會產(chǎn)生延遲、抖動、包丟失等影響語音質(zhì)量的因素。直到近年來由于低速率編解碼算法的出現(xiàn)和軟硬件性能的提高,人們才注意到分組語音技術(shù)的商業(yè)價值,并投入開發(fā)力量。
早期分組語音技術(shù)的應(yīng)用大都采用軟件實現(xiàn)。近年來,隨著大規(guī)模集成電路的飛速發(fā)展,硬件價格大幅度下降,從而出現(xiàn)了許多用硬件實現(xiàn)分組語音的產(chǎn)品。硬件具有對數(shù)據(jù)處理速度快,可處理大量數(shù)據(jù)的特點(diǎn),所以使用硬件實現(xiàn)分組語音可以很好地處理延遲、抖動、回聲抑制等問題,從而得到良好的音質(zhì)。采用硬件實現(xiàn)分組語音的另一個優(yōu)點(diǎn)是:在一個硬件電路中可以實現(xiàn)多種壓縮標(biāo)準(zhǔn)的分組語音,能很靈活地適應(yīng)不同網(wǎng)絡(luò)環(huán)境下的多個語音終端的互通。
本文著重介紹采用一種專用的DSP芯片AMBE-1000實現(xiàn)語音分組的方法,并用這種方法實現(xiàn)了鐵路站場中的信號作業(yè)電話。由此可以看出,分組語音技術(shù)在一些專門領(lǐng)域應(yīng)用的廣闊空間。
2 AMBE-1000簡介
AMBE-1000是Digital Voice Systems公司的語音編解碼芯片,用來實現(xiàn)雙工的語音壓縮/解壓縮功能,能實現(xiàn)低傳輸速率下高質(zhì)量的通話。它采用先進(jìn)的AMBE壓縮算法,壓縮速率最低可達(dá)2.4Kb/s目前,這種算法以其能實現(xiàn)的低傳輸速率和高通話質(zhì)量而在世界范圍內(nèi)得到了廣泛應(yīng)用,甚至用在下一代移動通信系統(tǒng)中。具體來說,AMBE-1000具有如下獨(dú)特之處:
*低硬件成本和高通話質(zhì)量;
*無需外圍輔助設(shè)備;
*比特差錯和背景噪聲良好的魯棒性;
*可變傳輸速率2.4Kb/s~9.6Kb/s;
*可自動插入舒適噪聲;
*可選的串行和并行接口;
*自帶回聲抑制功能;
*DTMF信號的檢測與產(chǎn)生;
*低功耗。
我們用這個芯片實現(xiàn)語音的分組化。最基本的應(yīng)用可由圖1表示。
在實際應(yīng)用中,語音壓縮數(shù)據(jù)要在信道中傳輸,須加入信道接口,完成對語音壓縮數(shù)據(jù)的加工、打包。最常用的接口一般可用單片機(jī)來實現(xiàn)。AMBE-1000的設(shè)計也使它很容易和單片機(jī)交換數(shù)據(jù)。AMBE-1000和單片機(jī)之間的數(shù)據(jù)接口有串行接口和并行接口,通信方式是主動方式還是被動方式,取決于可采集數(shù)據(jù)的信號是否由AMBE自身全部給出。我們采用并行數(shù)據(jù)線接口,AMBE-1000設(shè)為被動工作方式。此時當(dāng)其RX_DI端輸入8kHz取樣的語音數(shù)據(jù)(16位線性編碼,8位A率或8位U率編碼)時,在其數(shù)據(jù)線上會得到周期性的壓縮語音數(shù)據(jù)(周期20ms,長度6字節(jié),可達(dá)到2.4Kb/s的傳輸速率)。其控制線和數(shù)據(jù)線時序關(guān)系如圖2所示。
我們在EPR(Encoder Packet Ready)信號置高后,當(dāng)檢測到OBE(Output Buffer Empty)置低時,立即捕捉數(shù)據(jù)線上的數(shù)據(jù),便可得到幀同步碼13ECH,進(jìn)而得到全部的語音數(shù)據(jù),參考程序如下:
LOOP:JNB EPR,$
READ:MOV R0,#34
MOV R1,#30H
LL:MOVXA,@DPTR(DPTR:AMBE的地址)
MOV @R1,,A
INC R1
JB OBE,$
DJNZ R0,LL
SJMP LOOP
AMBE-1000作為解碼器的寫時序與讀時序類似,可根據(jù)DPE(Decoder Packet Ready)和IBF(Input Buffer Full)信號編寫相應(yīng)程序。
從AMBE-1000輸出的語音數(shù)據(jù)有固定的幀格式,每一幀有34字節(jié)數(shù)據(jù),除去幀頭,有24字節(jié)語音數(shù)據(jù)。在20ms周期內(nèi),若24字節(jié)數(shù)據(jù)全部被填滿,則其傳輸速率為9.6Kb/s。若設(shè)傳輸速率為2.4Kb/s,則24字節(jié)語音數(shù)據(jù)格式中只有6字節(jié)語音數(shù)據(jù),其余被0填充。我們用這6字節(jié)數(shù)據(jù)作為一帖,再加上幀頭(包括同步碼、地址碼、類型碼、校驗碼等),便可實現(xiàn)分組語音。
3 應(yīng)用實例
AMBE-1000讀寫一幀數(shù)據(jù)所需的時間遠(yuǎn)小于20ms。也就是說在20ms時間內(nèi),除了讀1幀或?qū)?幀數(shù)據(jù)外,處理器還有大量的時間做其它的事。這使人們有可能在半雙工的低速信道內(nèi)實現(xiàn)全雙工的語音通話。圖3為以AMBE-1000為核心實現(xiàn)的鐵路站場信號作業(yè)電話示意圖。
圖3中,用戶線接口及PSTN接口均以AMBE為核心。每一個終端可通過總線的PSTN接口接入PSTN電話網(wǎng);各個電話終端可通過總線互通,但每一時刻只能有一個終端接入PSTN。終端的硬件構(gòu)成如圖4所示。
由電話接口完成用戶話機(jī)模擬信號的二、四線轉(zhuǎn)換;由編解碼器完成對模擬語音信號的數(shù)字化,并進(jìn)行A率(U率)PCM編碼;由AMBE-1000對PCM語音信號壓縮并分組,實現(xiàn)分組語音;由單片機(jī)對分組語音進(jìn)行打包,最后送入485總線進(jìn)行傳輸。由于是多個終端,在軟件中需引入令牌機(jī)制,以防止沖突。軟件工作流程如圖5所示。
結(jié)語
就功能來說,AMBE-1000是一款優(yōu)秀的語音壓縮處理器;就其能達(dá)到的最低壓縮速率來看,已達(dá)到了世界先進(jìn)水平,而且能夠保證高質(zhì)量的通話質(zhì)量。這使得它在世界范圍內(nèi)得到了廣泛應(yīng)用;但其壓縮算法為非標(biāo)準(zhǔn)算法,致使由AMBE-1000構(gòu)成的語音處理系統(tǒng)只能用在某些專用網(wǎng)上。即使如此,它仍不失為在語音處理領(lǐng)域一款優(yōu)秀的處理器。
作者:譚月杰 丁曉明 來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用