張會新,陳德沅,彭晴晴,史 磊
(1.中北大學儀器科學與動態(tài)測試教育部重點實驗室,太原 030051;2.中北大學電子測試技術(shù)國家重點實驗室,太原 030051;3.首都航天機械公司,北京 100076)
?
一種改進的TDOA無線傳感器網(wǎng)絡(luò)節(jié)點定位算法*
張會新1,2*,陳德沅1,2,彭晴晴1,2,史 磊3
(1.中北大學儀器科學與動態(tài)測試教育部重點實驗室,太原 030051;2.中北大學電子測試技術(shù)國家重點實驗室,太原 030051;3.首都航天機械公司,北京 100076)
傳感器組成的無線網(wǎng)絡(luò)中,準確獲取每個傳感器節(jié)點的位置信息有著非常關(guān)鍵的作用。在分析比較其他定位算法的基礎(chǔ)上,采用了以精度較高的距離相關(guān)性為理論基礎(chǔ)實現(xiàn)的TDOA定位算法,并針對實際情況對算法進行了優(yōu)化改進。實驗中為了得到節(jié)點聲信號的到達時間差,對信號進行了ⅡR濾波處理和幅值包絡(luò)分析。仿真和實驗結(jié)果表明,文章中所設(shè)計的TDOA定位算法不僅大大減少了計算量,而且定位結(jié)果精確,是可行的。
無線傳感器網(wǎng)絡(luò);定位;TDOA;ⅡR濾波;幅值分析
無線傳感網(wǎng)絡(luò)中傳感器節(jié)點的相對位置對節(jié)點作用的發(fā)揮起著關(guān)鍵性作用,只有得出節(jié)點在整個網(wǎng)絡(luò)中的相對信息,節(jié)點采集的數(shù)據(jù)才能發(fā)揮出應(yīng)有的實際效果[1]。節(jié)點在網(wǎng)絡(luò)中的位置特征可以由GPS定位模塊提供或利用節(jié)點間的相關(guān)性來獲得。GPS定位是通過得出每個節(jié)點的實際絕對位置來獲取節(jié)點在整個網(wǎng)絡(luò)中的相對位置,需要在節(jié)點上增加定位模塊并且不斷獲取位置信息,這種方法成本比較高、能耗大,不利于傳感器網(wǎng)絡(luò)優(yōu)勢的發(fā)揮[2-3]。本文采用基于網(wǎng)絡(luò)中節(jié)點距離相關(guān)性的TDOA算法來實現(xiàn)節(jié)點定位。
基于TDOA的定位算法是利用距離相關(guān)性來實現(xiàn)定位的,它操作方便、定位準確度高,被廣泛應(yīng)用于各種場合[4]。利用距離實現(xiàn)定位首先需要得出待定位節(jié)點與周邊至少3個節(jié)點間的距離,在通過三邊、三角測量或者極大似然估計等方法得出待測節(jié)點的相對坐標信息,最后根據(jù)一些其他信息實現(xiàn)對得出的坐標進行修正,減小測量誤差[5]。在測距階段一般采用AOA、RSSI、TOA、TDOA等計算方法。AOA需要額外的設(shè)備,且計算量很大;RSSI受環(huán)境中障礙物的影響很大,定位結(jié)果不精確;TOA要求各節(jié)點間的時間精度完全同步,難度較大;TDOA定位方法不需要精確的時間同步,得到的結(jié)果精度高且實現(xiàn)簡單[6-7]。因此本文的定位算法采用TDOA方法。
TDOA定位原理如圖1所示,它是通過在發(fā)射端發(fā)出兩種已知不同傳播速度的信號,這樣在接收端就會在不同的時間點收到這兩種信號,通過到達的時間差和傳播速率即可依據(jù)圖中的公式計算得出發(fā)射端和接收端之間的距離[8]。本次設(shè)計中發(fā)射端采用聲音信號和無線電磁波作為信號源,并且節(jié)點本身就含有射頻硬件,不需要重新進行硬件設(shè)計。
圖1 基于TDOA的定位原理圖
本設(shè)計中,由于無線傳感器網(wǎng)絡(luò)節(jié)點自帶無線模塊,故采用無線射頻信號作為其中一種信號,而本設(shè)計的聲傳感器模塊使用窄帶諧振器件,最大輸出僅出現(xiàn)在某個中心頻率范圍內(nèi),器件標稱諧振頻率值為3 000 Hz,故需選用3 000 Hz左右的聲信號,該聲信號由本設(shè)計處理器模塊所采用的單片機STM32F103內(nèi)部的PWM(脈沖寬度調(diào)制)模塊提供,并被送于揚聲器處發(fā)聲。
由于設(shè)計中采用的射頻信號為電磁波,傳播速度基本上等同于光速,而另一信號源為聲速,其傳播速度比電磁波低的多,同時待測節(jié)點與周邊節(jié)點的實際距離不是很遠,本實驗中不會大于100 m,這樣相比于電磁波的傳播速度,射頻信號在這段距離內(nèi)的傳播時間基本可以忽略不計,即可將這個無線電磁波信號認為是距離測量過程中的時間同步信號。因此,算法改進后,僅需測試聲信號的到達時間,上一節(jié)給出的定位公式變?yōu)镾=T2×C2,該算法減少了計算量,降低了系統(tǒng)設(shè)計的復雜度。
由改進的TDOA定位算法可知,求得聲信號到達接收節(jié)點的時刻是該算法實現(xiàn)的關(guān)鍵。一般,解決信號到達時刻問題時,廣義互相關(guān)算法的精確度較高,但計算量非常大[9],本設(shè)計選用的處理器滿足不了該算法的要求。為了準確的得到到達時刻,本次設(shè)計采用ⅡR濾波處理結(jié)合信號幅值分析的算法,這種算法對硬件設(shè)計依賴性小,且便于操作實現(xiàn),既保證了測試精確度又節(jié)約了設(shè)計成本。
該算法主要由帶通濾波、低通濾波和幅值分析3部分組成。
3.1 帶通濾波
在接收到的采集后聲信號中含有聲音源頭的一些噪聲信息,為了去除這些混入的噪聲,提高采集數(shù)據(jù)的信噪比,對采集后的數(shù)據(jù)進行了巴特沃斯帶通濾波。傳感器節(jié)點采集到的聲信號波形見圖2,圖中所示聲信號進行帶通濾波之后,得到的是一個雙峰信號,為減少系統(tǒng)之后的運算量,需將該雙峰信號轉(zhuǎn)變?yōu)閱畏逍盘朳10],方法如下:首先將帶通濾波后數(shù)據(jù)的直流分量通過與平均值相減的方式除去,此時就得到一個正負信號平均分布的交流信號,這時對所有數(shù)據(jù)進行絕對值運算處理便得到與雙峰濾波后數(shù)據(jù)波形一致的單波峰波形,數(shù)據(jù)處理后的帶通濾波數(shù)據(jù)波形如圖3。
圖2 節(jié)點采集的聲信號波形
圖3 帶通濾波后的波形
3.2 低通濾波
低通濾波的目的是得到帶通濾波后并進行單峰處理的聲音信號的包絡(luò)曲線。圖3給出了帶通濾波后的波形圖,對這個信號作低通濾波處理可以得到圖4所示的包絡(luò)線。
圖4 低通濾波后的包絡(luò)曲線
3.3 幅值分析
根據(jù)濾波后得到的包絡(luò)曲線可以看出,接收端收到的信號幅值短時間內(nèi)變化很大,并且在一定范圍內(nèi)成倍數(shù)增長,由此可以判斷出在信號幅值將要上升的時刻即為聲音信號的到達時刻。利用上節(jié)得到的包絡(luò)曲線切線法可以基本得到這個時刻的坐標值,首先在整個包絡(luò)線中找出聲信號幅度最大的值并得出這個值對應(yīng)的橫坐標采樣點位置;然后按照最大值的0.5和0.7倍找出兩個點的包絡(luò)線位置點A和點B,由這兩個點連接起來形成一條直線,這條直線與橫坐標采集時間軸相交叉得到了點C,這個點即認為是要求的到達時刻;最后根據(jù)這個點的坐標信息結(jié)合聲音傳播速度及接收端聲采樣信息便可以計算出兩者間的距離。由幅度關(guān)系得出該點坐標位置的推算過程示意如圖5。
圖5 幅值分析示意圖
對信噪比為10 dB的信號,從1 m到30 m,以1 m為間隔遞增,使用MATLAB對上述TDOA定位算法來進行仿真,以驗證和測試改進后算法的可實現(xiàn)性和定位精度,圖6為仿真結(jié)果與實際距離的對比圖。圖中紅色實現(xiàn)表示實際的測試距離,圈型線為改進前算法測試得出的距離,星型線為本文算法測試距離,圖中3條曲線可以看出本文算法在一定范圍內(nèi)的定位過程非常貼近實際距離曲線。在10 dB信噪比的聲音信號源模擬仿真中定位的性能表現(xiàn)出色,誤差范圍基本在1.6%之內(nèi),以本文中實際最大距離30 m計算,誤差均不會大于0.5 m。仿真結(jié)果表明本次基于TDOA算法的設(shè)計改進是可行的,能夠在一定范圍內(nèi)達到定位精度要求。
圖6 TDOA定位算法仿真結(jié)果
為了實現(xiàn)網(wǎng)絡(luò)中節(jié)點的定位并得到位置信息,整個無線傳感網(wǎng)絡(luò)中一般會有節(jié)點的位置是已經(jīng)設(shè)定好的或者是固定好作為負責協(xié)調(diào)其他節(jié)點進行測距工作的,這類節(jié)點一般稱為協(xié)調(diào)器或者信標,它的工作流程如圖7;網(wǎng)絡(luò)中其他位置信息未知的節(jié)點一般稱為待定位節(jié)點,它的工作流程如圖8。在整個網(wǎng)絡(luò)系統(tǒng)開始工作時,協(xié)調(diào)節(jié)點和待定位節(jié)點相互配合通信實現(xiàn)待測節(jié)點的定位。首先,協(xié)調(diào)節(jié)點在完成上電初始化后會先向待測節(jié)點發(fā)送請求開始測試的射頻信號,待測節(jié)點在收到這個信號后會啟動聲信號和射頻同步信號的發(fā)送;這時協(xié)調(diào)節(jié)點若收到射頻同步信號則開始等待聲信號的到來并啟動信號采集模塊,信號采集模塊將采集到的聲數(shù)據(jù)打包送入改進后TDOA算法處理得出兩個節(jié)點之間的距離,同時會通過串口將這個距離值上傳PC機顯示;若沒有收到同步信號,協(xié)調(diào)器在等待一定時間后給出超時提示并結(jié)束定位工作。
圖7 協(xié)調(diào)節(jié)點操作流程
圖8 待測節(jié)點操作流程
為了驗證前文改進算法的定位性能,現(xiàn)通過3個已知節(jié)點和一個待測節(jié)點實現(xiàn)在一定范圍內(nèi)對待測節(jié)點的定位測試分析。由前文所述,3個已知節(jié)點分別同時和待測節(jié)點進行測距試驗,這樣就可以測出待測節(jié)點分別距已知節(jié)點的距離d,代入兩點間的直線距離公式d2=(x-xa)2+(y-ya)2,就得到關(guān)于待測節(jié)點坐標的3個二元二次方程,其中x,y為待測節(jié)點的坐標xa,ya為已知節(jié)點的坐標,對這3個方程求解可以得出待測節(jié)點的坐標[11-12]。
本次測試中3個已知節(jié)點的坐標分別為(0,0)、(10,0)和(0,10),其中坐標原點的節(jié)點除了具有測距功能外,還能將計算后待測節(jié)點的坐標信息通過串口上傳給上位機,供上位機進行數(shù)據(jù)保存繪圖,這個節(jié)點稱之為主節(jié)點。定位的基本流程如下,首先上電后各個節(jié)點在完成系統(tǒng)初始化后等待主節(jié)點發(fā)出定位開始命令;在收到主節(jié)點發(fā)出的啟動定位命令后,待測節(jié)點會同時向3個已知節(jié)點發(fā)出同步射頻信號,并在同一時刻發(fā)出聲信號供已知節(jié)點采集測距;其他兩個節(jié)點在測距結(jié)束后會將距離值傳給主節(jié)點,供主節(jié)點通過距離公式計算待測節(jié)點的坐標;最后主節(jié)點將坐標值傳回計算機顯示處理。圖9為節(jié)點定位結(jié)果示意圖,從圖中可以看出絕大部分待測節(jié)點的坐標都處于定位測試前設(shè)定的移動范圍內(nèi),但由于環(huán)境噪聲的不確定性影響或者是多次測試后測距過程中的累積誤差導致了少數(shù)定位結(jié)果不準確,這說明本文改進TDOA測距定位法是可以準確達到定位目標的,基本驗證了算法的可行性。
圖9 移動節(jié)點定位結(jié)果
本文在分析了TDOA算法定位原理的基礎(chǔ)上,對原有定位方式進行了一定的算法和設(shè)計改進,并在測距過程中為了可靠的確定到達時刻采用了濾波和幅值分析的方法。通過對改進后算法的仿真和實際定位測試,結(jié)果表明本文提出的定位算法在減少計算量的同時,得到了準確的定位結(jié)果,無線傳感器網(wǎng)絡(luò)節(jié)點的整體性能是可靠的;同時也發(fā)現(xiàn)在環(huán)境噪聲比較復雜時,測試結(jié)果存在一定誤差,還可以通過引進后期修正或異常點剔除法優(yōu)化。
[1]王焱,單欣欣,姜偉. 無線傳感網(wǎng)絡(luò)中移動節(jié)點定位技術(shù)研究[J]. 傳感技術(shù)學報,2011,24(10):1469-1472.
[2]郝志凱,王碩. 無線傳感器網(wǎng)絡(luò)定位綜述[J]. 華中科技大學學報:自然科學版,2008,36(1):224-227.
[3]滕國棟. 無線傳感網(wǎng)絡(luò)節(jié)點定位算法的研究[D]. 杭州:浙江大學,2010.
[4]董軼超,方建安,羅賢云. 一種基于TDOA的無線定位新算法[J]. 電波科學學報,2008,23(5):841-846.
[5]彭宇,王丹. 無線傳感器網(wǎng)絡(luò)定位技術(shù)綜述[J]. 電子測量與儀器學報,2011,25(5):389-399.
[6]冒熙蒙. 基于測距技術(shù)的無線傳感器網(wǎng)絡(luò)定位算法及應(yīng)用[D]. 上海:上海交通大學,2013.
[7]姚英彪,陳仙云. 基于節(jié)點前進跳距期望的WSNs分布式定位求精算法[J]. 傳感技術(shù)學報,2014,27(8):1130-1137.
[8]張浩亮. 基于TDOA的無線傳感器網(wǎng)絡(luò)定位問題研究[D]. 長沙:國防科學技術(shù)大學,2011.
[9]曾凡仔,孫正章,羅娟,等. 無線傳感器網(wǎng)絡(luò)的節(jié)點定位方法[J]. 通信學報,2008,29(11):62-66.
[10]鄧彬偉,黃光明. 無線傳感器網(wǎng)絡(luò)移動節(jié)點輔助定位算法[J]. 儀器儀表學報,2011,32(3):563-570.
[11]趙晴晴,黃亮,傅賢鋒. 基于超聲波六元陣列測距的WSN節(jié)點定位技術(shù)研究[J]. 傳感技術(shù)學報,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-),男,漢族,黑龍江牡丹江人,講師,北京航天航空大學在讀博士,研究方向為抗過載存儲技術(shù)及動態(tài)測試技術(shù)與儀器,zhanghx@nuc.edu.cn;
陳德沅(1989-),男,漢族,黑龍江牡丹江人,中北大學儀器與電子學院電路與系統(tǒng)專業(yè)碩士研究生,研究方向為標準化彈載設(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