摘 要: 針對銀行營業(yè)大廳及小型寫字樓對通信高性價比、短距離和保密性的需求,設計了一套專用的數字無線對講系統(tǒng)。系統(tǒng)設計中應用了基于Cortex-M0平臺且內置語音處理模塊的ISD9160芯片作為系統(tǒng)控制器和使用通用小功率2.4 G無線收發(fā)芯片NRF24L01進行數據傳輸。系統(tǒng)在語音處理上采用G.721進行語音編碼,同時通過結合PLR(丟包恢復)中的交織技術和PLC(丟包隱藏)中的包復制技術對語音丟包進行處理,從而實現在較低的功耗下達到良好的語音通話效果。測試結果表明,該系統(tǒng)在音質、傳輸距離、功耗及成本上均能滿足用戶的需求,具有很高的性價比。
關鍵詞: 數字無線對講機;Cortex-M0;2.4 G;語音編碼;低功耗;丟包處理
對講機可以分為基于模擬通信技術的模擬對講機和基于數字通信技術的數字對講機。數字對講機相對于模擬對講機具有頻譜利用率高、語音質量好、安全系數佳等優(yōu)點,因此數字對講機成為了通信業(yè)內發(fā)展的熱點,其應用領域不斷擴大。但目前普遍采用的數字對講機系統(tǒng)仍然存在一些問題:(1)應用外擴語音芯片及搭建復雜的外圍電路來對語音進行處理[1-2],既增加了系統(tǒng)實現成本又提高了系統(tǒng)功耗;(2)在語音通信過程中發(fā)生語音丟包時未進行有效的處理[1-2],近而影響接收端的語音質量;(3)基本沒有一款數字對講系統(tǒng)專門用于滿足一些需要低成本和短距離通信的用戶。針對這些問題,本文提出了一種適用于銀行營業(yè)大廳及一些小型寫字樓的低功耗、低成本、短距離、音質優(yōu)的數字無線對講系統(tǒng)的設計方案。
1 系統(tǒng)整體設計
目前普遍采用的數字對講系統(tǒng),架構較為復雜,其中語音處理模塊通常由外圍音頻放大電路、外擴AD/DA轉換模塊和語音編碼模塊3部分組成,如圖1所示。
本文設計的數字無線對講系統(tǒng)架構如圖2所示。系統(tǒng)中的微控器和語音處理模塊采用的是一款基于Cortex-M0處理器且內置語音處理模塊的芯片ISD9160。Cortex-M0是一款32位的ARM處理器,相比于單片機處理速度更快,執(zhí)行效率更高,更易于調試;而相比于ARM7處理器,在相同的工作時鐘頻率下,性能更高、代碼尺寸更小、價格更低[3]。系統(tǒng)中的語音處理模塊集成在微控器中,因此無需外擴語音芯片或搭建復雜的語音電路,使得電路更簡單、系統(tǒng)綜合價格更低、開發(fā)更加快捷、抗干擾能力更強。系統(tǒng)中的無線收發(fā)模塊采用的是NRF24L01,該芯片不僅工作于2.4 GHz~2.5 GHz全球開放ISM頻段,無需申請許可證即可免費使用,而且具有低功耗、多頻點和超小型等優(yōu)點[4]。因此在總體架構上本文設計的數字無線對講系統(tǒng)相對于目前普遍采用的數字無線對講系統(tǒng)具有性價比高、功耗低的優(yōu)點。
2 無線模塊
系統(tǒng)設計中NRF24L01與微控器的連接如圖3所示,其中CE管腳用于收發(fā)模式的轉換,IRQ管腳用于中斷請求。本系統(tǒng)中,NRF24L01在接收模式下接收到有效的地址和數據時將通過IRQ管腳通知微控制器進行數據接收,在發(fā)送模式下,數據發(fā)送完畢時也將通過IRQ管腳通知微控制器。采用IRQ中斷方式實現數據的收發(fā),使得微控制器在等待接收或發(fā)送數據時片內可以進入睡眠模式,降低系統(tǒng)的功耗,延長電池的使用時間。
3 語音處理模塊
3.1 語音數據采集與播放
語音信號采集方面,ISD9160微控器內置一個16位的高精度Delta-Sigma A/D 轉換器,其輸出信噪比可達85 dB以上。語音增益方面不僅內置了PGA(可編程增益放大器)和BOOST模塊,提供了-12 dB~+61 dB的可調范圍,省去了前端音頻放大器的使用,而且還內置了一個ALC(自動電平控制)模塊用于音頻增益的自動調節(jié),如圖4所示。語音信號播放方面,ISD9160微控制器內置了一個Class-D直接喇叭驅動裝置,該驅動裝置可提供1 W的輸出功率,因此無需外置音頻放大電路即可滿足用戶對音量的需求。Class-D功放具有能量轉換效率高的特點,其電源實際使用率可達90%以上,從而達到降低功耗的目的。
3.2 語音編碼與功耗
本系統(tǒng)采用時分復用的方式實現全雙工通信。當采用8 kHz采樣率進行采樣時,在全雙工語音通信過程中,系統(tǒng)需要傳輸的碼率為256 kb/s。如果未對語音數據進行編碼,則傳輸大量語音數據所帶來的功耗是不容忽視的。
羅雪松等人提出了采用G.729對語音進行編碼[5],編碼后的碼率為8 kb/s。G.729編碼在VoIP上是一種最常用的語音編碼方式,但G.729編碼需要執(zhí)行線性預測、開環(huán)基音估計、自適應碼本搜索等復雜的計算[6],算法復雜度高,在微控制器上運行時CPU使用率高,功耗大。
本系統(tǒng)中采用G.721對語音進行編碼,編碼后的碼率為32 kb/s。G.721算法只需執(zhí)行自適應差分量化、自適應預測等簡單的計算,該算法具有CPU使用率低、壓縮比大等優(yōu)點。
根據TAN等人對功耗的研究[7],建立本系統(tǒng)中語音編解碼和傳輸部分的功率統(tǒng)計模型:
Pa=Pcr+Pcs+Pns+Pnr+Pns(1)
式中Pa表示語音編解碼和傳輸的總功率,Pcr表示處理器核工作時的功率,Pcs表示處理器核睡眠時的功率,Pns表示無線模塊發(fā)送數據時的功率,Pnr表示無線模塊接收數據時的功率,Pns表示無線模塊待機時的功率,其中Pns的值很小,因此在功率計算中將忽略這個值。圖5給出了語音通話過程中微控制器工作于3.3 V時,分別采用無編碼方式、G.721編碼、G.729編碼時的功率狀況。實驗結果表明,在本系統(tǒng)中采用G.721編碼可以降低語音編解碼和傳輸的總功率,從而降低系統(tǒng)總功率。
3.3 丟包處理
語音處理中的丟包處理技術是指用來恢復和隱藏當發(fā)生丟包時所造成的損失的相關技術。目前該技術可以分為兩類:一類是如何避免和減少包丟失,這類技術需要發(fā)送端的參與才能實現,稱之為丟包恢復技術(PLR);另一類是如何對丟包后造成的損失進行隱藏,這類技術不涉及發(fā)送端,主要通過語音的特點來進行自我修復,稱之為丟包掩蔽技術(PLC)。丟包恢復技術主要分為3種:糾錯技術、交織技術和重傳技術[8]。與信源無關的丟包掩蔽技術主要分為插入技術和插值技術兩類。
NRF24L01無線收發(fā)模塊采用的是發(fā)送應答的模式,該模式與網絡中的TCP協議相似,確保了所有數據包傳遞有序,可以重傳。在本系統(tǒng)的設計中,當語音數據傳輸過程中發(fā)生數據包丟失時,首先采用NRF24L01的自動重傳功能對語音數據進行重傳。因為丟包恢復中的糾錯技術和重傳技術都是采用冗余數據對丟失的數據包進行恢復,所以在丟包恢復方面本系統(tǒng)不使用糾錯技術,而是綜合應用了重傳技術和交織技術。NRF24L01無線收發(fā)模塊每次發(fā)送的數據包最大為32 B,即采用G.721的壓縮率時每個語音幀的大小為8 ms。通過交織技術將每4個連續(xù)的語音幀分成16個2 ms語音單元,在發(fā)送前將這些語音單元進行重新排列組成4個待發(fā)送的數據包,使得4個待發(fā)送的數據包中的數據來自不同的語音幀,在接收端將這些語音單元進行重組后恢復原來的順序,其交織結果如圖6所示。丟包掩蔽方面本系統(tǒng)應用了插入技術來減少丟包造成的損失、提高語音的質量。本系統(tǒng)中綜合采用了丟包恢復和丟包掩蔽技術,增加了語音可靠性和語音通話距離,測試結果在系統(tǒng)測試部分給出。
4 系統(tǒng)測試
無線通信受環(huán)境影響較大,建筑影響、人體影響、金屬影響都會導致無線傳輸距離變短。本文選取無線對講機通常使用的一些場所進行測試,結果表明在系統(tǒng)中增加丟包處理技術能夠提高語音的通信距離,且該語音通信距離足以滿足銀行營業(yè)大廳和小型寫字樓內部人員之間的通信需求,如表1所示。
本文以ISD9160為平臺,結合NRF24L01無線收發(fā)芯片,提出了一種適用于短距離通信的數字無線對講系統(tǒng)的設計方案。該系統(tǒng)借助ISD9160強大的計算能力和語音功能,實現了語音采集、語音編碼、語音通信、語音解碼和語音播放等功能。整個系統(tǒng)在通信方面工作于2.4G開放頻段;在語音方面采用了單芯片的方式精簡了語音電路,即保證了語音質量又降低了系統(tǒng)實現成本。因此,本系統(tǒng)在實現高信噪比的短距離語音通信的同時還具備了低成本、低功耗、語音效果佳的優(yōu)點,具有很高的實用價值。在下一步的研究中,將利用ISD9160支持語音識別技術的特點為對講系統(tǒng)增加語音識別的功能,方便用戶對對講機的使用。
參考文獻
[1] 馮杰,謝曉明.基于LPC4357的數字對講機終端設計[J]. 微型機與應用,2013,32(10):29-31.
[2] 劉秀玲.基于ADF7021-V的數字對講機研究與設計[D]. 武漢:武漢理工大學,2012.
[3] YIU J.The definitive guide to the ARM Cortex-M0[M].Elsevier,2011.
[4] 劉志平,趙國良.基于nRF24L01的近距離無線數據傳輸[J].應用科技,2008(3):55-58.
[5] 羅雪松,陳向東,石念.基于DSP的數字對講機語音處理方案的研究[J].微電子學與計算機,2008(6):140-142.
[6] SALAMI R,LAFLAMME C,ADOUL J,et al.Design and description of CS-ACELP:a toll quality 8 kb/s speech coder[J].Speech and Audio Processing,IEEE Transactions on,1998,6(2):116-130.
[7] TAN T K,RAGHUNATHAN A,JHA N K.A simulation framework for energy-consumption analysis of OS-driven embedded applications[J].Computer-Aided Design of Integrated Circuits and Systems,IEEE Transactions on,2003,22(9):1284-1294.
[8] PERKINS C,HODSON O,HARDMAN V.A survey of packet loss recovery techniques for streaming audio[J].Network,IEEE,1998,12(5):40-48.