劉 源, 閆 斌, 李 智, 熊 杰
(電子科技大學(xué) 自動化工程學(xué)院,四川 成都 611731)
?
基于WSNs的語音通信機制設(shè)計與實現(xiàn)
劉源, 閆斌, 李智, 熊杰
(電子科技大學(xué) 自動化工程學(xué)院,四川 成都 611731)
摘要:針對目前無線傳感器網(wǎng)絡(luò)(WSNs)對語音傳輸?shù)牟蛔?,設(shè)計和實現(xiàn)了一種基于WSNs的無線語音通信機制。采用了結(jié)合8051CPU和RF收發(fā)器的CC2530芯片作為微處理器,CMX649作為語音編解碼芯片,并采用協(xié)處理器輔助CC2530對語音信息進(jìn)行處理,在IEEE 802.15.4協(xié)議上實現(xiàn)對語音的傳輸。詳細(xì)介紹了系統(tǒng)的硬件和軟件設(shè)計,對通話距離與通話質(zhì)量進(jìn)行了測試。實驗結(jié)果表明:設(shè)計的語音通信機制具有較遠(yuǎn)的傳輸距離,能達(dá)到較好的語音傳輸效果,滿足實際對語音通信的要求。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò); 語音通信; 語音編解碼; 通信終端
0引言
近年來,基于無線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSNs)的語音傳輸研究逐漸展開[1~7]。研究表明[8,9],WSNs能夠進(jìn)行語音信息的傳輸,與傳統(tǒng)語音對講模式相比,具有低功耗、低成本、自組織網(wǎng)絡(luò)等優(yōu)點。在實際當(dāng)中也能得到很好的應(yīng)用,例如:文獻(xiàn)[2]將基于WSNs的語音通信系統(tǒng)應(yīng)用到了煤礦通信與救援中,測試結(jié)果顯示能達(dá)到較好的語音通信效果。
本文設(shè)計和實現(xiàn)了一種無線語音通信機制,基于TI公司的CC2530為無線收發(fā)平臺,CMX649作為語音編解碼器,并以MSP430F149為協(xié)處理器,用協(xié)處理器對丟失語音進(jìn)行填補。詳細(xì)敘述了硬件和軟件設(shè)計,并對通話距離和通話質(zhì)量進(jìn)行了測試。
1系統(tǒng)總體設(shè)計
系統(tǒng)采用網(wǎng)狀拓?fù)浣Y(jié)構(gòu),如圖1所示,每個傳感器節(jié)點都配置語音處理模塊,每個節(jié)點既可以當(dāng)作終端設(shè)備作為語音通話的發(fā)起者或接收者,也可以當(dāng)作路由節(jié)點對語音數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。在圖1中,假設(shè)所有節(jié)點都位于其他節(jié)點的傳播半徑內(nèi),一個節(jié)點有多跳路徑可到達(dá)另一個節(jié)點,當(dāng)節(jié)點要到達(dá)多跳距離外的節(jié)點時,可根據(jù)路由協(xié)議尋找到最優(yōu)的路徑進(jìn)行傳輸。采用網(wǎng)狀拓?fù)淇商岣呔W(wǎng)絡(luò)的可靠性,易于網(wǎng)絡(luò)擴展。
圖1 網(wǎng)絡(luò)拓?fù)涫疽鈭DFig 1 Network topology
2系統(tǒng)硬件設(shè)計
無線語音傳輸節(jié)點硬件由微處理器模塊、射頻模塊、語音處理模塊、協(xié)處理器模塊以及能量管理模塊組成。無線語音傳輸節(jié)點硬件架構(gòu)如圖2所示。
圖2 節(jié)點硬件架構(gòu)圖Fig 2 Architecture diagram of node hardware
1)微處理器模塊選用TI公司的CC2530芯片實現(xiàn),CC2530是一個真正的用于IEEE 802.15.4,Zig Bee和RF4CE應(yīng)用的片上系統(tǒng)解決方案,片上集成RF收發(fā)器、增強工業(yè)標(biāo)準(zhǔn)的8051MCU以及系統(tǒng)可編程Flash存儲器等,集成了RF收發(fā)器,只需在外圍加入少許簡單電路即可工作,適用于工作在2.4 GHz,ISM頻段的低成本、低功耗的應(yīng)用。
在發(fā)送時微處理器主要負(fù)責(zé)從語音處理模塊讀取語音編碼數(shù)據(jù)并打包發(fā)送,在接收時主要負(fù)責(zé)接收語音解碼數(shù)據(jù)送數(shù)據(jù)到語音編解碼模塊進(jìn)行解碼、播放,其內(nèi)部微處理器統(tǒng)一協(xié)調(diào)各模塊的工作,也負(fù)責(zé)給協(xié)處理器送中斷和數(shù)據(jù)信號。
2)語音處理模塊包括語音編解碼電路、功率放大電路以及濾波電路。語音處理模塊選用CMX649作為語音編解碼芯片,具有高可靠性、容錯性及低功耗等特點,它不僅具有全雙工的ADM、μ律、A律和線性PCM的編解碼功能,也具有ADM與PCM的碼制轉(zhuǎn)換功能,具有從16~128 kbps多種編解碼數(shù)據(jù)率。
本文采用ADM的編碼方式,24 kbps的編解碼數(shù)據(jù)率,在發(fā)送時,使用語音編碼器活動檢測器檢測是否有語音信號進(jìn)入編解碼模塊,在按下通話鍵期間,只要檢測到有超過設(shè)定閾值的語音信號輸入,則送出一個中斷信號給微處理器模塊,微處理器模塊接收到中斷后開始從CMX649中讀取語音編碼數(shù)據(jù)。在接收時,無線收發(fā)模塊向CMX649送解碼數(shù)據(jù),CMX649對數(shù)據(jù)進(jìn)行解碼、播放,在CMX649模擬語音輸出端接低通濾波器和語音放大器,對解碼的語音信號進(jìn)行濾波和放大,以得到較好的語音信號。
3)協(xié)處理模塊選用TI公司的MSP430F149,它是一種16位超低功耗單片機,具有處理能力強、運算速度快、超低功耗及片內(nèi)資源豐富等特點。MSP430從CC2530獲取中斷信號,其I/O口也連接到語音編解碼模塊的解碼時鐘線和解碼數(shù)據(jù)線上,通過這兩根線在空白段進(jìn)行語音填充。
節(jié)點實物圖如圖3所示。語音節(jié)點采用兩節(jié)5號電池供電,用麥克進(jìn)行語音采集,喇叭進(jìn)行語音播放,當(dāng)按下通話鍵后發(fā)起對語音的傳輸。
圖3 節(jié)點實物圖Fig 3 Physical map of node
3系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計主要分為CC2530程序設(shè)計和協(xié)處理器程序設(shè)計。
3.1CC2530程序設(shè)計
CC2530首先對板上射頻模塊和語音編解碼芯片進(jìn)行初始化,隨后打開中斷并進(jìn)入接收模式,若有中斷進(jìn)入,表明本節(jié)點按下通話鍵并檢測到有語音信號輸入,則進(jìn)入發(fā)送模式,在中斷服務(wù)程序中,從語音編解碼模塊讀取語音編碼數(shù)據(jù),每讀取64字節(jié)作為一個數(shù)據(jù)包發(fā)送出去。若無中斷進(jìn)入,則循環(huán)檢測是否接收到語音數(shù)據(jù)包;若接收到數(shù)據(jù)包,則立即將數(shù)據(jù)包的值送入語音編解碼模塊進(jìn)行解碼、播放,當(dāng)送完一個數(shù)據(jù)包后,再進(jìn)行下一次語音數(shù)據(jù)包檢測和接收,不斷循環(huán)這個過程,完成語音的實時傳輸。
CC2530還需要通過I/O口給協(xié)處理器發(fā)送中斷信號。由實驗測得,在每一個語音包之間會有一個由于無線傳輸引起的4 ms空隙,影響聽感。由24 kbps語音數(shù)據(jù)率可計算得,要填補4 ms的語音空隙,需12字節(jié)語音數(shù)據(jù)。協(xié)處理器采用將空隙前的12字節(jié)數(shù)據(jù)填充到空隙處的方式來對語音空隙進(jìn)行修復(fù)。在CC2530向語音編解碼器送解碼數(shù)據(jù)期間,在送到第52字節(jié)時,向協(xié)處理器發(fā)送一個中斷信號,通知其開始復(fù)制數(shù)據(jù)。在CC2530將一個數(shù)據(jù)包64字節(jié)的數(shù)據(jù)送完后,向協(xié)處理器發(fā)送一個中斷信號,通知其開始填補數(shù)據(jù),即向語音編解碼器寫入復(fù)制的數(shù)據(jù)。CC2530主程序流程如圖4所示。
圖4 CC2530主程序流程圖Fig 4 Main program flow chart of CC2530
3.2協(xié)處理器程序設(shè)計
協(xié)處理器程序主要包括語音數(shù)據(jù)的復(fù)制和填補。在接收到CC2530發(fā)送的中斷信號后,協(xié)處理器首先判斷到來的是通知其復(fù)制數(shù)據(jù)的中斷還是通知其寫解碼數(shù)據(jù)的中斷。若為通知復(fù)制數(shù)據(jù)的中斷,則用I/O口模擬CMX649解碼時鐘的時序,通過解碼數(shù)據(jù)線接收語音數(shù)據(jù),接收語音數(shù)據(jù)包最后12字節(jié)并存儲;若為通知寫解碼數(shù)據(jù)的中斷,則用I/O口模擬CMX649發(fā)送數(shù)據(jù)的時序,將保存的12字節(jié)語音數(shù)據(jù)寫入CMX649中進(jìn)行語音數(shù)據(jù)填補。協(xié)處理器程序流程圖如圖5所示。
圖5 協(xié)處理器中斷程序流程圖Fig 5 Interrupt program flow chart of coprocessor
4系統(tǒng)測試與結(jié)果
4.1節(jié)點距離測試
為測試語音的有效通話距離,選擇在空曠地帶,每隔一段距離對接收到的語音通話質(zhì)量進(jìn)行MOS(mean opinion score)評估。由表1可知,最遠(yuǎn)距離能達(dá)到250 m。
表1 通話距離測試
4.2語音質(zhì)量測試
為測試本系統(tǒng)對語音傳輸后對原始語音的還原情況,將原始語音和一跳傳輸后接收、解碼后的語音波形進(jìn)行對比。如圖6所示,接收解碼后的語音波形如圖6(b)所示,能較好地還原如圖6(a)所示的原始語音波形。
圖6 原始語音與接收語音波形對比圖Fig 6 Comparison chart of original speech andreceived speech waveform
5結(jié)束語
本文設(shè)計實現(xiàn)了基于WSNs的語音通信機制,能夠達(dá)到較好的語音通話質(zhì)量,且傳輸距離遠(yuǎn),功耗低。通過協(xié)處理器實現(xiàn)語音修復(fù),大大提高了語音通信質(zhì)量,其應(yīng)用前景非常廣泛,可適用于各種場合,如消防、安全監(jiān)控、工廠等。另外本設(shè)計還有較大的拓展空間,例如:可在該系統(tǒng)上實現(xiàn)語音在網(wǎng)絡(luò)中的多跳傳輸,增加傳輸距離,可作為復(fù)雜環(huán)境下監(jiān)控的輔助手段。
參考文獻(xiàn):
[1]Mangharam R,Rowe A,Rajkumar R,et al.Voice over sensor networks[C]∥Proc of the 27th IEEE International Real-Time Systems Symposium,RTSS 2006,2006:291-300.
[2]尹應(yīng)鵬,李平舟,郭志華.基于CC2430的Zig Bee無線數(shù)傳模塊的設(shè)計和實現(xiàn)[J].電子元器件應(yīng)用,2008,10(4):18-21.
[3]徐肖肖,翟光祥,黃艷秋,等.基于Zig Bee的礦井無線語音通信系統(tǒng)探討[J].工礦自動化,2013,39(1):99-102.
[4]馬立玲,酈會,王軍政.基于Zig Bee的數(shù)話同傳技術(shù)研究[J].北京理工大學(xué)學(xué)報,2011,31(3):299-302.
[5]陳海燕,張晨.Zig Bee無線語音通信組網(wǎng)技術(shù)[J].哈爾濱理工大學(xué)學(xué)報,2012,17(4):68-72.
[6]李振宇,李思敏.一種移動Ad Hoc 網(wǎng)絡(luò)中實時語音通信方案的研究[J].電子測量與儀器學(xué)報,2009,23(5):40-45.
[7]陳彥明,王秋光.基于Zig Bee技術(shù)的音頻傳輸系統(tǒng)[J].哈爾濱理工大學(xué)學(xué)報,2009,14(6):52-55.
[8]Brunelli D,Maggiorotti M,Benini L,et al.Analysis of audio streaming capability of Zig Bee networks[C]∥The Fifth European Workshop on Wireless Sensor Networks,Berlin:Springer Verlag,2008:189-204.
[9]陳弘博,封逸飛,郭先臣.基于Zig Bee網(wǎng)絡(luò)的語音應(yīng)急通信可行性研究[J].電子技術(shù)應(yīng)用,2009(7):109-112.
Design and implementation of voice communication mechanism based on WSNs
LIU Yuan, YAN Bin, LI Zhi, XIONG Jie
(School of Automation Engineering,University of Electronic Science and Technology of China,Chengdu 611731,China)
Abstract:Aiming at shortage of wireless sensor networks(WSNs)for voice transmission,design and implement a kind of wireless voice communication mechanism based on WSNs.Adopt CC2530 as microprocessor chip which integrates 8051 CPU and RF transceiver,uses CMX649 as speech codec chip,using coprocessor to assist CC2530 to process speech information,and realize voice transmission over procotol IEEE 802.15.4.Introduce design of hardware and software of the system in detail,and test distance and quality of voice communication.Experimental result show that this mechanism has far transmission distance,can achieve good voice transmission effect,meet the requirements of voice communication.
Key words:wireless sensor networks(WSNs); voice communication; voice codec; communication terminal
DOI:10.13873/J.1000—9787(2016)02—0097—03
收稿日期:2015—04—29
中圖分類號:TP 212
文獻(xiàn)標(biāo)識碼:A
文章編號:1000—9787(2016)02—0097—03
作者簡介:
劉源(1989-),男,四川廣安人,碩士研究生,研究方向為無線傳感器網(wǎng)絡(luò)。