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