葛海江
(杭州職業(yè)技術(shù)學(xué)院 信電系,浙江 杭州 310018)
在無(wú)線VoIP數(shù)據(jù)通訊中存在的主要問(wèn)題是由于干擾造成數(shù)據(jù)包的丟失,產(chǎn)生了間斷數(shù)據(jù)流,使得語(yǔ)音信號(hào)中斷。因此,在VoIP的無(wú)線數(shù)據(jù)通訊中,研究者需要穩(wěn)健性較高的解決方案來(lái)適應(yīng)不間斷數(shù)據(jù)流的需要[1]。目前大多數(shù)的無(wú)線VoIP通訊采用的是單天線設(shè)計(jì),這樣在無(wú)線通訊時(shí)容易造成數(shù)據(jù)包丟失,使得聲音出現(xiàn)斷續(xù)現(xiàn)象,筆者提出了一種雙天線的設(shè)計(jì)方式來(lái)實(shí)現(xiàn)無(wú)線音頻信號(hào)的傳送。在音頻編碼上,傳統(tǒng)方法采用的是PCM編碼方式,這種方式對(duì)音頻信號(hào)的存儲(chǔ)和傳輸都存在著非常大的冗余度,考慮到聲波信號(hào)的連續(xù)性,筆者提出了一種PCM轉(zhuǎn)換成ADP?CM的編碼方式來(lái)壓縮音頻信號(hào)。在無(wú)線通訊中,WirelessUSB[2-3]技術(shù)在抗干擾性能上優(yōu)于其他2.4 GHz解決方案,而且其運(yùn)行穩(wěn)定性也比價(jià)格更昂貴的藍(lán)牙與DECT解決方案高,通信協(xié)議設(shè)計(jì)更為簡(jiǎn)潔,能縮短產(chǎn)品開(kāi)發(fā)周期;在語(yǔ)音編解碼上,華邦的W681360音頻編/解碼器具有線性轉(zhuǎn)換、低功耗、無(wú)干擾信號(hào)傳輸?shù)忍攸c(diǎn),從而確保音頻編/解碼器獲得出色的信號(hào)質(zhì)量。
鑒于此,本研究提出一種將華邦的W681360[4]與WirelessUSB組合的方式來(lái)實(shí)現(xiàn)短距離的無(wú)線音頻通訊;采用這種方式實(shí)現(xiàn)的無(wú)線VoIP發(fā)射器和接收器將具有高穩(wěn)健性、低功耗、成本低等優(yōu)點(diǎn)。
無(wú)線VoIP發(fā)射器和接收器的硬件設(shè)計(jì)介紹如下:
(1)無(wú)線VoIP發(fā)射器和接收器由兩個(gè)部分組成:發(fā)射端(Remote)、接收端(Bridge)。
(2)在發(fā)射部分設(shè)計(jì)中,主控和RF芯片采用了Cypress公司的CY7C60323和CYRF6936。音頻編解器采用華邦公司的W681360,射頻部分還采用了兩路射頻開(kāi)關(guān)芯片UPG2012TB,其功能是在帶寬允許的范圍內(nèi),實(shí)現(xiàn)雙路無(wú)線通訊。此外本研究采用了BQ24080的充電芯片,給鋰電池進(jìn)行充電,鋰電池供電輸出經(jīng)過(guò)TPS79133低壓差電壓轉(zhuǎn)換芯片得到3.3 V的工作電壓,給后面模塊進(jìn)行供電。主控芯片與音頻編解器、無(wú)線通訊芯片通過(guò)SPI接口進(jìn)行通訊,通過(guò)W_CS及RF_CS進(jìn)行片選。
發(fā)射部分的具體模塊如圖1所示。
圖1 無(wú)線VoIP發(fā)射器硬件模塊圖
(3)在接收部分設(shè)計(jì)中,主控和RF芯片采用了Cy?press公司的CY7C64215和CYRF6936。USB接口供電輸出5.0 V電壓經(jīng)過(guò)TPS79133得到3.3 V電壓,作為上述芯片供電輸入。
接收部分的具體模塊如圖2所示。
圖2 無(wú)線VoIP接收器硬件模塊圖
對(duì)于有線CD音質(zhì)的立體聲采樣率為44.1 ksps或者48 ksps,對(duì)于7.5 kHz帶寬的音頻信號(hào)采樣率為16 ksps。本研究考慮到無(wú)線通訊的信號(hào)帶寬為250 kbps,CPU工作頻率為12 MHz及SPI通訊的工作要求,對(duì)語(yǔ)音信號(hào)的采樣率設(shè)置為8 ksps,已能滿足單一語(yǔ)音信號(hào)的無(wú)線通訊要求。
該設(shè)計(jì)中有兩個(gè)音頻信號(hào)通路:
(1)從USB到SPKR,主機(jī)通過(guò)USB接口傳送16-bit PCM的音頻信號(hào),經(jīng)過(guò)Bridge,將16-bit PCM轉(zhuǎn)換成4-bit ADPCM,然后無(wú)線傳送給Remote端;在Re?mote端將4-bit ADPCM還原成15-bit PCM,然后經(jīng)過(guò)13-bit音頻編解碼器,輸出音頻信號(hào)驅(qū)動(dòng)揚(yáng)聲器(SP?KR)發(fā)聲。
(2)從MIC到USB,與上述類(lèi)似。
本研究為了簡(jiǎn)化操作,音頻數(shù)據(jù)從主機(jī)到SPKR端時(shí),將USB的16-bit PCM,在Bridge上轉(zhuǎn)換為15-bit的數(shù)據(jù)流,然后再進(jìn)行ADPCM編碼。同樣音頻數(shù)據(jù)從MIC到主機(jī)端時(shí),ADPCM編碼在Bridge上還原出15-bit數(shù)據(jù)流后,還需要完成16-bit的PCM數(shù)據(jù)轉(zhuǎn)換,然后通過(guò)USB接口傳送給主機(jī)。
此外與揚(yáng)聲器和麥克風(fēng)的接口音頻編、解碼器是13-bit的,在進(jìn)行ADPCM之前,要將它轉(zhuǎn)換成15-bit的PCM碼。由于音頻信號(hào)的前后自相關(guān)性,這樣的轉(zhuǎn)換并不會(huì)造成聲音信號(hào)的弱化。
PCM到ADPCM編、解碼,如圖3所示。
圖3 PCM到ADPCM編/解碼
ADPCM編碼充分利用了聲波在連續(xù)的采樣中具有很高的前后相關(guān)性,使得后續(xù)聲波的采樣能夠被預(yù)測(cè),而不是只對(duì)當(dāng)前的采樣進(jìn)行編碼。ADPCM對(duì)預(yù)見(jiàn)的聲波采樣和當(dāng)前的采樣進(jìn)行差分編碼。這種方法不僅提高了聲波的壓縮率,同時(shí)也能保持完整的聲音質(zhì)量[5-6]。此外,文獻(xiàn)[6]詳細(xì)闡述了DPCM、DM、ADM與ADPCM的壓縮算法原理及算法實(shí)現(xiàn)流程,通過(guò)實(shí)驗(yàn),給出了每個(gè)算法的特征,實(shí)驗(yàn)結(jié)果進(jìn)一步證實(shí)了ADPCM算法既能夠有效的壓縮語(yǔ)音,又能還原出高質(zhì)量的語(yǔ)音。
臨離開(kāi)美食街,忽然看見(jiàn)藕稀飯,明明吃飽了,還是條件反射買(mǎi)了一碗。回妹妹同學(xué)家吃起來(lái),藕塊,略硬,頗掛喉。要等到秋風(fēng)起了,寒霜降了,江南的藕才可口,煮出鐵銹紅色,軟糯芬芳,糯米粥煮得發(fā)亮,上面飄著厚厚一層粥油。寒冬的時(shí)候,坐在街頭,喝一碗,可暖一下午,也暖了一輩子。
ADPCM算法是建立在IMA組織為了提高數(shù)字化語(yǔ)音兼容性應(yīng)用的基礎(chǔ)之上的。IMA提供了ADPCM參考算法,它通過(guò)簡(jiǎn)化許多操作和查表的方式來(lái)減少運(yùn)算的復(fù)雜性,將16-bit PCM壓縮成4-bit。
在圖3中,編碼器(Encoder)將輸入的采樣值(Xn)和預(yù)測(cè)值Xp(n)進(jìn)行差分d(n),將差分的值送入量化器(Quantizer)來(lái)產(chǎn)生4-bit的c(n)。c(n)通過(guò)反向量化器輸出dq(n)和舊的預(yù)測(cè)值Xp(n)相加,產(chǎn)生新的Xp(n)。理想狀態(tài)下,d(n)=dq(n),新舊Xp(n)值也相等。
在這里Xp(n)為解碼器解碼后的值。如果解碼器中的Predic和StepSize值跟編碼器都相同,那么解碼器的解碼和編碼器的Xp(n)計(jì)算是相同的。對(duì)于StepSize是對(duì)4-bit的c(n)值進(jìn)行增加或者減少。文獻(xiàn)[7]提出了通過(guò)克隆重組方法來(lái)快速優(yōu)化ADPCM的多參數(shù)。
通過(guò)ADPCM編碼壓縮的方法,編碼器設(shè)置和更新它的Predic和StepSize值,解碼器在數(shù)據(jù)流中來(lái)捕捉這兩個(gè)值。只要沒(méi)有數(shù)據(jù)丟失,編碼器和解碼器就具有相同的Predict和StepSize值。然而在無(wú)線傳輸中,系統(tǒng)無(wú)法保證數(shù)據(jù)包不丟失,因此解碼器并不能總是跟蹤編碼器的Predict值和StepSize的值。在這里本研究給每個(gè)數(shù)據(jù)包設(shè)置3 ms的長(zhǎng)度,同時(shí)每個(gè)數(shù)據(jù)包中都包含了Predict和StepSize的值,讓每個(gè)數(shù)據(jù)包被單獨(dú)處理,然而3 ms數(shù)據(jù)包的丟失,并不會(huì)讓人覺(jué)察到語(yǔ)音信號(hào)的失真。
本研究設(shè)置USB的PCM速率為8 ksps,每個(gè)PCM為16位,通過(guò)將音頻數(shù)據(jù)的PCM轉(zhuǎn)換成ADPCM,使得音頻數(shù)據(jù)被壓縮了3/4,有效實(shí)現(xiàn)了音頻數(shù)據(jù)的壓縮。
為了防止在無(wú)線傳送過(guò)程中數(shù)據(jù)包的丟失,造成聲音信號(hào)的中斷。在無(wú)線通訊上,本研究在硬件上采用了雙天線設(shè)計(jì),提供了兩個(gè)無(wú)線數(shù)據(jù)通路,通過(guò)無(wú)線高頻開(kāi)關(guān)進(jìn)行天線的切換工作。此外在無(wú)線射頻電路的參數(shù)匹配上,要得到最大的功率傳遞,源阻抗與負(fù)載阻抗必須相匹配[8],通過(guò)采用“逐個(gè)優(yōu)化參數(shù)”的方法[9]來(lái)盡量匹配射頻參數(shù),以此來(lái)提高射頻電路的發(fā)射功率,通過(guò)該方法使得兩邊的無(wú)線通訊距離可達(dá)15 m以上。
文獻(xiàn)[10]中簡(jiǎn)要介紹了無(wú)線音頻無(wú)線數(shù)字/模擬音頻傳輸系統(tǒng)的設(shè)計(jì),在天線設(shè)計(jì)方面,它采用的是單天線設(shè)計(jì),這樣使得音頻數(shù)據(jù)在無(wú)線傳輸過(guò)程中,如果造成數(shù)據(jù)包的丟失,則在接收端將無(wú)法重現(xiàn)丟失的信號(hào)。因此本研究采用了雙天線的設(shè)計(jì)。這里設(shè)計(jì)的天線A和天線B在Remote端,同樣也可以設(shè)置在Bridge端,設(shè)計(jì)中將128 kbps的無(wú)線帶寬分成兩個(gè)64 kbps帶寬。一個(gè)數(shù)據(jù)包使用64 kbps通過(guò)天線A進(jìn)行傳送,這個(gè)數(shù)據(jù)包的復(fù)制包使用另外的64 kbps通過(guò)天線B進(jìn)行傳送。這樣Bridge端就有兩個(gè)無(wú)線數(shù)據(jù)通路。此外Bridge端也傳送兩個(gè)同樣的數(shù)據(jù)包給Re?mote端,天線A接收第一數(shù)據(jù)包,天線B接收復(fù)制的數(shù)據(jù)包。
通過(guò)這種方式,將有效地減少數(shù)據(jù)包的丟失。因?yàn)橹挥袃蓚€(gè)無(wú)線通路上都丟失數(shù)據(jù),數(shù)據(jù)才會(huì)丟失。
無(wú)線通訊數(shù)據(jù)包中有15個(gè)字節(jié),其中包含了24個(gè)ADPCM編碼,時(shí)間為3 ms;24 samples/8 ksps=3 ms。采用了8-bit step和12-bit Predict值。
圖4 無(wú)線VoIP數(shù)據(jù)包
軟件設(shè)計(jì)流程為:
(1)軟件設(shè)計(jì)有兩個(gè)部分:發(fā)射器部分和接收器部分。
(2)發(fā)射器的主程序流程圖如圖5所示。
圖5 發(fā)射器主程序流程圖
(3)接收器的主程序流程圖如圖6所示。
圖6 接收器主程序流程圖
在3 ms的數(shù)據(jù)包中,包含有24單獨(dú)的中斷,每125 μs就有一個(gè)中斷,每個(gè)750 μs中包含了6個(gè)中斷。研究者可以采用中斷序號(hào)的方式來(lái)確定每個(gè)中斷服務(wù)程序的內(nèi)容。
本研究通過(guò)對(duì)2.4 GHz的無(wú)線VoIP發(fā)射器和接收器的應(yīng)用研究,實(shí)現(xiàn)了音頻信號(hào)短距離的無(wú)線雙向通訊。筆者對(duì)該無(wú)線發(fā)射器和接收器進(jìn)行無(wú)線語(yǔ)音通訊測(cè)試,在有效距離15 m以?xún)?nèi),無(wú)間斷數(shù)據(jù)流產(chǎn)生,語(yǔ)音信號(hào)通訊流暢。該方案通過(guò)自適應(yīng)差分編碼方式實(shí)現(xiàn)了聲波的有效壓縮,壓縮率達(dá)1/4;通過(guò)雙天線的設(shè)計(jì)方法解決了數(shù)據(jù)包丟失的問(wèn)題;通過(guò)引入“逐個(gè)優(yōu)化參數(shù)”的方法來(lái)提高發(fā)射的功率及接收靈敏度;通過(guò)采用華邦的W681360編解碼器與WirelessUSB組合來(lái)實(shí)現(xiàn)VoIP的軟、硬設(shè)計(jì),具備了無(wú)線VoIP的低功耗、高穩(wěn)健性特點(diǎn),而且相比藍(lán)牙方案,成本較低。
該方案可廣泛應(yīng)用于無(wú)線VoIP耳機(jī)、無(wú)線多媒體輔助應(yīng)用等短距離的無(wú)線音頻數(shù)據(jù)通訊的場(chǎng)合。
(References):
[1] DAS S K,LEE E,BASU K,et al.Performance optimization of voip calls over wireless links using H.323 protocol[J].IEEE Transactionson Computers,2003,52(6):742-752.
[2] Cypress Corporation.Wireless USB 2-Way HID Systems-AN4003[EB/OL].[2011-05-13].http://www.cypress.com/?docID=29040.
[3] 劉連浩,楊 杰,沈增暉.2.4 GHz無(wú)線USB技術(shù)的開(kāi)發(fā)與應(yīng)用[J].計(jì)算機(jī)工程,2009,35(3):152-154.
[4] Winbond Electronics Corporation.W681360 Data Sheet[EB/OL].[2005-01-01].http://datasheet.eeword.com.cn/pdf/20017/-WINBOND.W681360.html.
[5] 李文華,徐 剛.利用ADPCM進(jìn)行網(wǎng)絡(luò)環(huán)境下實(shí)時(shí)多點(diǎn)語(yǔ)音通信[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(36):127-130.
[6] 廖廣銳,劉 萍.基于ADPCM的語(yǔ)音壓縮算法研究[J].計(jì)算機(jī)與數(shù)字工程,2007,35(7):39-41.
[7] 張 剛,謝克明,郭紅波,等.基于N進(jìn)制編碼的克隆重組方法應(yīng)用于快速優(yōu)化ADPCM的多參數(shù)[J].通訊學(xué)報(bào),2006,27(3):28-31.
[8] 黃煜梅,葉菁華,朱 臻,等.2.4 GHz、增益可控的CMOS低噪聲放大器[J].固體電子學(xué)研究與進(jìn)展,2004,24(4):498-504.
[9] 葛海江,陶 姍,吳弋旻,等.2.4 GHz無(wú)線鼠標(biāo)的多信道控制方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(9):77-79.
[10] 湯煒偉,孫新亞,吉吟東.基于nRF24Z1的無(wú)線數(shù)字/模擬音頻傳輸系統(tǒng)[J].電子技術(shù)應(yīng)用,2007(4):41-43.