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