張會新,陳德沅,彭晴晴,史 磊
(1.中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,太原 030051;2.中北大學(xué)電子測試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,太原 030051;3.首都航天機(jī)械公司,北京 100076)
?
一種改進(jìn)的TDOA無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法*
張會新1,2*,陳德沅1,2,彭晴晴1,2,史 磊3
(1.中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,太原 030051;2.中北大學(xué)電子測試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,太原 030051;3.首都航天機(jī)械公司,北京 100076)
傳感器組成的無線網(wǎng)絡(luò)中,準(zhǔn)確獲取每個傳感器節(jié)點(diǎn)的位置信息有著非常關(guān)鍵的作用。在分析比較其他定位算法的基礎(chǔ)上,采用了以精度較高的距離相關(guān)性為理論基礎(chǔ)實(shí)現(xiàn)的TDOA定位算法,并針對實(shí)際情況對算法進(jìn)行了優(yōu)化改進(jìn)。實(shí)驗(yàn)中為了得到節(jié)點(diǎn)聲信號的到達(dá)時間差,對信號進(jìn)行了ⅡR濾波處理和幅值包絡(luò)分析。仿真和實(shí)驗(yàn)結(jié)果表明,文章中所設(shè)計的TDOA定位算法不僅大大減少了計算量,而且定位結(jié)果精確,是可行的。
無線傳感器網(wǎng)絡(luò);定位;TDOA;ⅡR濾波;幅值分析
無線傳感網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)的相對位置對節(jié)點(diǎn)作用的發(fā)揮起著關(guān)鍵性作用,只有得出節(jié)點(diǎn)在整個網(wǎng)絡(luò)中的相對信息,節(jié)點(diǎn)采集的數(shù)據(jù)才能發(fā)揮出應(yīng)有的實(shí)際效果[1]。節(jié)點(diǎn)在網(wǎng)絡(luò)中的位置特征可以由GPS定位模塊提供或利用節(jié)點(diǎn)間的相關(guān)性來獲得。GPS定位是通過得出每個節(jié)點(diǎn)的實(shí)際絕對位置來獲取節(jié)點(diǎn)在整個網(wǎng)絡(luò)中的相對位置,需要在節(jié)點(diǎn)上增加定位模塊并且不斷獲取位置信息,這種方法成本比較高、能耗大,不利于傳感器網(wǎng)絡(luò)優(yōu)勢的發(fā)揮[2-3]。本文采用基于網(wǎng)絡(luò)中節(jié)點(diǎn)距離相關(guān)性的TDOA算法來實(shí)現(xiàn)節(jié)點(diǎn)定位。
基于TDOA的定位算法是利用距離相關(guān)性來實(shí)現(xiàn)定位的,它操作方便、定位準(zhǔn)確度高,被廣泛應(yīng)用于各種場合[4]。利用距離實(shí)現(xiàn)定位首先需要得出待定位節(jié)點(diǎn)與周邊至少3個節(jié)點(diǎn)間的距離,在通過三邊、三角測量或者極大似然估計等方法得出待測節(jié)點(diǎn)的相對坐標(biāo)信息,最后根據(jù)一些其他信息實(shí)現(xiàn)對得出的坐標(biāo)進(jìn)行修正,減小測量誤差[5]。在測距階段一般采用AOA、RSSI、TOA、TDOA等計算方法。AOA需要額外的設(shè)備,且計算量很大;RSSI受環(huán)境中障礙物的影響很大,定位結(jié)果不精確;TOA要求各節(jié)點(diǎn)間的時間精度完全同步,難度較大;TDOA定位方法不需要精確的時間同步,得到的結(jié)果精度高且實(shí)現(xiàn)簡單[6-7]。因此本文的定位算法采用TDOA方法。
TDOA定位原理如圖1所示,它是通過在發(fā)射端發(fā)出兩種已知不同傳播速度的信號,這樣在接收端就會在不同的時間點(diǎn)收到這兩種信號,通過到達(dá)的時間差和傳播速率即可依據(jù)圖中的公式計算得出發(fā)射端和接收端之間的距離[8]。本次設(shè)計中發(fā)射端采用聲音信號和無線電磁波作為信號源,并且節(jié)點(diǎn)本身就含有射頻硬件,不需要重新進(jìn)行硬件設(shè)計。
圖1 基于TDOA的定位原理圖
本設(shè)計中,由于無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自帶無線模塊,故采用無線射頻信號作為其中一種信號,而本設(shè)計的聲傳感器模塊使用窄帶諧振器件,最大輸出僅出現(xiàn)在某個中心頻率范圍內(nèi),器件標(biāo)稱諧振頻率值為3 000 Hz,故需選用3 000 Hz左右的聲信號,該聲信號由本設(shè)計處理器模塊所采用的單片機(jī)STM32F103內(nèi)部的PWM(脈沖寬度調(diào)制)模塊提供,并被送于揚(yáng)聲器處發(fā)聲。
由于設(shè)計中采用的射頻信號為電磁波,傳播速度基本上等同于光速,而另一信號源為聲速,其傳播速度比電磁波低的多,同時待測節(jié)點(diǎn)與周邊節(jié)點(diǎn)的實(shí)際距離不是很遠(yuǎn),本實(shí)驗(yàn)中不會大于100 m,這樣相比于電磁波的傳播速度,射頻信號在這段距離內(nèi)的傳播時間基本可以忽略不計,即可將這個無線電磁波信號認(rèn)為是距離測量過程中的時間同步信號。因此,算法改進(jìn)后,僅需測試聲信號的到達(dá)時間,上一節(jié)給出的定位公式變?yōu)镾=T2×C2,該算法減少了計算量,降低了系統(tǒng)設(shè)計的復(fù)雜度。
由改進(jìn)的TDOA定位算法可知,求得聲信號到達(dá)接收節(jié)點(diǎn)的時刻是該算法實(shí)現(xiàn)的關(guān)鍵。一般,解決信號到達(dá)時刻問題時,廣義互相關(guān)算法的精確度較高,但計算量非常大[9],本設(shè)計選用的處理器滿足不了該算法的要求。為了準(zhǔn)確的得到到達(dá)時刻,本次設(shè)計采用ⅡR濾波處理結(jié)合信號幅值分析的算法,這種算法對硬件設(shè)計依賴性小,且便于操作實(shí)現(xiàn),既保證了測試精確度又節(jié)約了設(shè)計成本。
該算法主要由帶通濾波、低通濾波和幅值分析3部分組成。
3.1 帶通濾波
在接收到的采集后聲信號中含有聲音源頭的一些噪聲信息,為了去除這些混入的噪聲,提高采集數(shù)據(jù)的信噪比,對采集后的數(shù)據(jù)進(jìn)行了巴特沃斯帶通濾波。傳感器節(jié)點(diǎn)采集到的聲信號波形見圖2,圖中所示聲信號進(jìn)行帶通濾波之后,得到的是一個雙峰信號,為減少系統(tǒng)之后的運(yùn)算量,需將該雙峰信號轉(zhuǎn)變?yōu)閱畏逍盘朳10],方法如下:首先將帶通濾波后數(shù)據(jù)的直流分量通過與平均值相減的方式除去,此時就得到一個正負(fù)信號平均分布的交流信號,這時對所有數(shù)據(jù)進(jìn)行絕對值運(yùn)算處理便得到與雙峰濾波后數(shù)據(jù)波形一致的單波峰波形,數(shù)據(jù)處理后的帶通濾波數(shù)據(jù)波形如圖3。
圖2 節(jié)點(diǎn)采集的聲信號波形
圖3 帶通濾波后的波形
3.2 低通濾波
低通濾波的目的是得到帶通濾波后并進(jìn)行單峰處理的聲音信號的包絡(luò)曲線。圖3給出了帶通濾波后的波形圖,對這個信號作低通濾波處理可以得到圖4所示的包絡(luò)線。
圖4 低通濾波后的包絡(luò)曲線
3.3 幅值分析
根據(jù)濾波后得到的包絡(luò)曲線可以看出,接收端收到的信號幅值短時間內(nèi)變化很大,并且在一定范圍內(nèi)成倍數(shù)增長,由此可以判斷出在信號幅值將要上升的時刻即為聲音信號的到達(dá)時刻。利用上節(jié)得到的包絡(luò)曲線切線法可以基本得到這個時刻的坐標(biāo)值,首先在整個包絡(luò)線中找出聲信號幅度最大的值并得出這個值對應(yīng)的橫坐標(biāo)采樣點(diǎn)位置;然后按照最大值的0.5和0.7倍找出兩個點(diǎn)的包絡(luò)線位置點(diǎn)A和點(diǎn)B,由這兩個點(diǎn)連接起來形成一條直線,這條直線與橫坐標(biāo)采集時間軸相交叉得到了點(diǎn)C,這個點(diǎn)即認(rèn)為是要求的到達(dá)時刻;最后根據(jù)這個點(diǎn)的坐標(biāo)信息結(jié)合聲音傳播速度及接收端聲采樣信息便可以計算出兩者間的距離。由幅度關(guān)系得出該點(diǎn)坐標(biāo)位置的推算過程示意如圖5。
圖5 幅值分析示意圖
對信噪比為10 dB的信號,從1 m到30 m,以1 m為間隔遞增,使用MATLAB對上述TDOA定位算法來進(jìn)行仿真,以驗(yàn)證和測試改進(jìn)后算法的可實(shí)現(xiàn)性和定位精度,圖6為仿真結(jié)果與實(shí)際距離的對比圖。圖中紅色實(shí)現(xiàn)表示實(shí)際的測試距離,圈型線為改進(jìn)前算法測試得出的距離,星型線為本文算法測試距離,圖中3條曲線可以看出本文算法在一定范圍內(nèi)的定位過程非常貼近實(shí)際距離曲線。在10 dB信噪比的聲音信號源模擬仿真中定位的性能表現(xiàn)出色,誤差范圍基本在1.6%之內(nèi),以本文中實(shí)際最大距離30 m計算,誤差均不會大于0.5 m。仿真結(jié)果表明本次基于TDOA算法的設(shè)計改進(jìn)是可行的,能夠在一定范圍內(nèi)達(dá)到定位精度要求。
圖6 TDOA定位算法仿真結(jié)果
為了實(shí)現(xiàn)網(wǎng)絡(luò)中節(jié)點(diǎn)的定位并得到位置信息,整個無線傳感網(wǎng)絡(luò)中一般會有節(jié)點(diǎn)的位置是已經(jīng)設(shè)定好的或者是固定好作為負(fù)責(zé)協(xié)調(diào)其他節(jié)點(diǎn)進(jìn)行測距工作的,這類節(jié)點(diǎn)一般稱為協(xié)調(diào)器或者信標(biāo),它的工作流程如圖7;網(wǎng)絡(luò)中其他位置信息未知的節(jié)點(diǎn)一般稱為待定位節(jié)點(diǎn),它的工作流程如圖8。在整個網(wǎng)絡(luò)系統(tǒng)開始工作時,協(xié)調(diào)節(jié)點(diǎn)和待定位節(jié)點(diǎn)相互配合通信實(shí)現(xiàn)待測節(jié)點(diǎn)的定位。首先,協(xié)調(diào)節(jié)點(diǎn)在完成上電初始化后會先向待測節(jié)點(diǎn)發(fā)送請求開始測試的射頻信號,待測節(jié)點(diǎn)在收到這個信號后會啟動聲信號和射頻同步信號的發(fā)送;這時協(xié)調(diào)節(jié)點(diǎn)若收到射頻同步信號則開始等待聲信號的到來并啟動信號采集模塊,信號采集模塊將采集到的聲數(shù)據(jù)打包送入改進(jìn)后TDOA算法處理得出兩個節(jié)點(diǎn)之間的距離,同時會通過串口將這個距離值上傳PC機(jī)顯示;若沒有收到同步信號,協(xié)調(diào)器在等待一定時間后給出超時提示并結(jié)束定位工作。
圖7 協(xié)調(diào)節(jié)點(diǎn)操作流程
圖8 待測節(jié)點(diǎn)操作流程
為了驗(yàn)證前文改進(jìn)算法的定位性能,現(xiàn)通過3個已知節(jié)點(diǎn)和一個待測節(jié)點(diǎn)實(shí)現(xiàn)在一定范圍內(nèi)對待測節(jié)點(diǎn)的定位測試分析。由前文所述,3個已知節(jié)點(diǎn)分別同時和待測節(jié)點(diǎn)進(jìn)行測距試驗(yàn),這樣就可以測出待測節(jié)點(diǎn)分別距已知節(jié)點(diǎn)的距離d,代入兩點(diǎn)間的直線距離公式d2=(x-xa)2+(y-ya)2,就得到關(guān)于待測節(jié)點(diǎn)坐標(biāo)的3個二元二次方程,其中x,y為待測節(jié)點(diǎn)的坐標(biāo)xa,ya為已知節(jié)點(diǎn)的坐標(biāo),對這3個方程求解可以得出待測節(jié)點(diǎn)的坐標(biāo)[11-12]。
本次測試中3個已知節(jié)點(diǎn)的坐標(biāo)分別為(0,0)、(10,0)和(0,10),其中坐標(biāo)原點(diǎn)的節(jié)點(diǎn)除了具有測距功能外,還能將計算后待測節(jié)點(diǎn)的坐標(biāo)信息通過串口上傳給上位機(jī),供上位機(jī)進(jìn)行數(shù)據(jù)保存繪圖,這個節(jié)點(diǎn)稱之為主節(jié)點(diǎn)。定位的基本流程如下,首先上電后各個節(jié)點(diǎn)在完成系統(tǒng)初始化后等待主節(jié)點(diǎn)發(fā)出定位開始命令;在收到主節(jié)點(diǎn)發(fā)出的啟動定位命令后,待測節(jié)點(diǎn)會同時向3個已知節(jié)點(diǎn)發(fā)出同步射頻信號,并在同一時刻發(fā)出聲信號供已知節(jié)點(diǎn)采集測距;其他兩個節(jié)點(diǎn)在測距結(jié)束后會將距離值傳給主節(jié)點(diǎn),供主節(jié)點(diǎn)通過距離公式計算待測節(jié)點(diǎn)的坐標(biāo);最后主節(jié)點(diǎn)將坐標(biāo)值傳回計算機(jī)顯示處理。圖9為節(jié)點(diǎn)定位結(jié)果示意圖,從圖中可以看出絕大部分待測節(jié)點(diǎn)的坐標(biāo)都處于定位測試前設(shè)定的移動范圍內(nèi),但由于環(huán)境噪聲的不確定性影響或者是多次測試后測距過程中的累積誤差導(dǎo)致了少數(shù)定位結(jié)果不準(zhǔn)確,這說明本文改進(jìn)TDOA測距定位法是可以準(zhǔn)確達(dá)到定位目標(biāo)的,基本驗(yàn)證了算法的可行性。
圖9 移動節(jié)點(diǎn)定位結(jié)果
本文在分析了TDOA算法定位原理的基礎(chǔ)上,對原有定位方式進(jìn)行了一定的算法和設(shè)計改進(jìn),并在測距過程中為了可靠的確定到達(dá)時刻采用了濾波和幅值分析的方法。通過對改進(jìn)后算法的仿真和實(shí)際定位測試,結(jié)果表明本文提出的定位算法在減少計算量的同時,得到了準(zhǔn)確的定位結(jié)果,無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的整體性能是可靠的;同時也發(fā)現(xiàn)在環(huán)境噪聲比較復(fù)雜時,測試結(jié)果存在一定誤差,還可以通過引進(jìn)后期修正或異常點(diǎn)剔除法優(yōu)化。
[1]王焱,單欣欣,姜偉. 無線傳感網(wǎng)絡(luò)中移動節(jié)點(diǎn)定位技術(shù)研究[J]. 傳感技術(shù)學(xué)報,2011,24(10):1469-1472.
[2]郝志凱,王碩. 無線傳感器網(wǎng)絡(luò)定位綜述[J]. 華中科技大學(xué)學(xué)報:自然科學(xué)版,2008,36(1):224-227.
[3]滕國棟. 無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)定位算法的研究[D]. 杭州:浙江大學(xué),2010.
[4]董軼超,方建安,羅賢云. 一種基于TDOA的無線定位新算法[J]. 電波科學(xué)學(xué)報,2008,23(5):841-846.
[5]彭宇,王丹. 無線傳感器網(wǎng)絡(luò)定位技術(shù)綜述[J]. 電子測量與儀器學(xué)報,2011,25(5):389-399.
[6]冒熙蒙. 基于測距技術(shù)的無線傳感器網(wǎng)絡(luò)定位算法及應(yīng)用[D]. 上海:上海交通大學(xué),2013.
[7]姚英彪,陳仙云. 基于節(jié)點(diǎn)前進(jìn)跳距期望的WSNs分布式定位求精算法[J]. 傳感技術(shù)學(xué)報,2014,27(8):1130-1137.
[8]張浩亮. 基于TDOA的無線傳感器網(wǎng)絡(luò)定位問題研究[D]. 長沙:國防科學(xué)技術(shù)大學(xué),2011.
[9]曾凡仔,孫正章,羅娟,等. 無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法[J]. 通信學(xué)報,2008,29(11):62-66.
[10]鄧彬偉,黃光明. 無線傳感器網(wǎng)絡(luò)移動節(jié)點(diǎn)輔助定位算法[J]. 儀器儀表學(xué)報,2011,32(3):563-570.
[11]趙晴晴,黃亮,傅賢鋒. 基于超聲波六元陣列測距的WSN節(jié)點(diǎn)定位技術(shù)研究[J]. 傳感技術(shù)學(xué)報,2014,27(3):368-372.
[12]Bahl P,Padtnanabhan V N. RADAR:An in Building RF-Based User Location and Tracking Sensor Networks[C]//Proc of INFOCOM’2000,eds. Tel Aviv Israel,2000:775-784.
A Revised TDOA Wireless Sensor Network Node Location Algorithm*
ZHANGHuixin1,2*,CHENDeyuan1,2,PENGQingqing1,2,SHILei3
(1.Key Laboratory of Instrumentation Science and Dynamic Measurement of Ministry of Education,North University of China,Taiyuan 030051,China;2.National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China;3.Capital Aerospace Machinery Company,Beijing 100076,China)
In the wireless sensor networks,obtaining location information of network node accurately is of vital importance. On the bases of comparing several range-based node location algorithms methods,this paper adopted a TDOA location algorithm which was based on the theory of range-based higher accuracy,and then made revises about algorithm in realistic condition. In order to get the arrival time difference of sound signal through measurement,we completedⅡR filter and amplitude analysis. The simulation and experimental results show that the TDOA location algorithm of this design greatly reduces the amount of calculation and has accurate location results,which is practicable.
wireless sensor network;location;TDOA;ⅡR filter;amplitude analysis
張會新(1980-),男,漢族,黑龍江牡丹江人,講師,北京航天航空大學(xué)在讀博士,研究方向?yàn)榭惯^載存儲技術(shù)及動態(tài)測試技術(shù)與儀器,zhanghx@nuc.edu.cn;
陳德沅(1989-),男,漢族,黑龍江牡丹江人,中北大學(xué)儀器與電子學(xué)院電路與系統(tǒng)專業(yè)碩士研究生,研究方向?yàn)闃?biāo)準(zhǔn)化彈載設(shè)備動態(tài)測試技術(shù),chendeyuan2009@live.cn。
項目來源:國家863計劃項目(2011AA040404)
2014-08-04 修改日期:2014-12-08
C:7230;6150P;6210;7110
10.3969/j.issn.1004-1699.2015.03.020
TP212
A
1004-1699(2015)03-0412-04