趙晴晴,段渭軍,傅賢鋒
(西北工業大學電子信息學院,西安 710072)
?
基于超聲波六元陣列TDOA測距的WSN定位系統設計與實現*
趙晴晴,段渭軍*,傅賢鋒
(西北工業大學電子信息學院,西安 710072)
基于超聲波測距的定位技術以其精度高、范圍廣和性能穩定等優點,在無線傳感器網絡中廣泛應用。為了實現較大范圍的高精度定位,采用TDOA的測距技術設計了滿足遠距離測量和二維全向測距的六元超聲波傳感器陣列系統,實現了無錨節點的無線傳感器網絡中節點的高精度定位和實時監控。測距實驗結果表明,該系統的測量距離最遠為16 m,平均測距誤差為0.14 %;定位實驗結果表明,10個節點可以在3 min內完成全部組網和定位,平均定位誤差約為23.74 cm。
無線傳感器網絡;定位系統;超聲波六元陣;TDOA測距;無錨節點定位
無線傳感器網絡WSN(Wireless Sensor Network)是近年來備受人們關注的前沿熱點研究領域,無論是在軍事偵察、工業控制,還是地理環境監測等應用場合,節點的位置信息至關重要,因為不含位置信息的傳感器感知數據往往是沒有意義的[1]。然而為了減小節點部署和校準的成本,WSN應用多采取隨機部署的機制,致使節點無法事先確定自身的位置,需要其部署后進行自身定位[2]。
現有的定位技術可以根據定位過程中是否需要使用已知位置信息的錨節點,分為錨節點定位和無錨節點定位[3]。隨著WSN向節點數量多、硬件成本低且體積小的方向發展,基于錨節點的定位技術在成本、體積、功耗和部署環境等方面越來越受限,而無錨節點定位技術的研究變得越來越重要[4]。然而,目前無錨節點定位技術的定位精度相對較低,需要進一步研究以提高其定位精度。
無錨節點定位技術多采用基于超聲波TDOA測距的節點定位方法。超聲波測距的優點是指向性好,不受光線、電磁波、煙霧和灰塵的影響,缺點是具有一定的方向性,單個超聲波傳感器無法同時為周圍的節點提供測距服務。TDOA測距系統中,發射節點同時發射射頻信號和超聲波信號,接收節點根據此兩種信號的到達時間差并已知二者的傳播速度,計算出兩節點之間的距離[5-6]。雖然TDOA測距技術需要額外的硬件支持,在一定程度上增加了節點的硬件成本和系統功耗,但該測距技術不需要定位網絡進行全局時間同步,能夠大大降低實現時間精確同步帶來的硬件成本,且減少了因時間同步可能產生的測量誤差,使測距精度保持在厘米級。
在綜合考慮節點的定位精度、硬件實現、算法復雜度以及擴展性等指標的基礎上,本文研究了基于超聲波TDOA測距的無錨節點定位算法,采用六組超聲波傳感器陣列,設計了一種滿足遠距離測量和高精度定位的超聲波傳感器六元陣列定位系統,解決了測距節點超聲波信號二維全向發送與接收的問題,實現了無錨節點的WSN中節點的高精度定位和實時監控顯示。
1.1 整體架構
定位系統由定位網絡和監控中心兩部分組成,如圖1所示。定位網絡是由隨機部署的待定位節點組成,首先基于共線度信息選取一定數量的參考節點建立相對坐標系,然后待定位節點通過TDOA測距技術測量其與參考節點間的距離,再根據無錨節點的定位算法計算出自身在相對坐標系中的相對位置,最后將自身的位置信息通過射頻信號發送至Sink節點。監控中心的Sink節點負責收集定位網絡中節點的網絡地址、節點間的距離以及節點坐標等信息,并通過UART串口將節點信息上傳至顯示終端,最終構建并顯示出全網節點的相對坐標圖。

圖1 系統示意圖

圖2 系統實物圖
傳感器節點在不同應用中其結構也不盡相同。考慮到網絡節點的功能需求以及構成節點的模塊眾多,因此本文將處理器模塊、RF模塊、傳感器模塊、控制模塊和信號檢測模塊布置在一塊電路板上稱為主控板;另一電路板則放置超聲波陣列收發模塊,稱為超聲波陣列板,這樣設計的優點就是減少了模塊間的干擾,增加了系統的可擴展性。系統實物如圖2所示。
1.2 處理器模塊
處理器模塊主要由微控制器、通信接口以及可編程閾值比較電路組成。在綜合考慮了主控制器在網絡節點中的主要任務,處理能力、體積、功耗、片上資源和成本等因素后,選用NXP公司推出的第3代無線SOC模塊——JN5148作為節點主控制器[7]。
由于超聲波的衰減特性以及閾值檢測法的運算量小、實時性好等特點,本文采用閾值可變的比較電路檢測法處理接收信號,電路原理如圖3所示。

圖3 閾值比較電路原理圖
1.3 超聲波收發模塊
超聲傳感器的方向角一般為(60±5)°[8],單個超聲波傳感器無法同時為周圍的節點提供測距服務,因此本文創新設計了一組超聲波傳感器六元陣列,實現了測距節點超聲波信號的二維全向發送與接收。
超聲波陣列收發模塊的發射電路負責驅動超聲波傳感器發射超聲波信號,接收電路則對接收的信號進行濾波和放大處理。
①發射電路
如圖4所示,DC-DC電壓轉換器(MAX864)將+5 V電壓轉換至±10 V輸出,為運放(LM8261)提供對稱的雙電源;由主控芯片產生的40 kHz的方波信號分別連接到六路LM8261的輸入端,通過軟件編程可控制每一路PWM信號的通斷,電路原理如圖5所示。

圖4 升壓模塊原理圖

圖5 channel_1發射電路原理圖
②接收電路
接收模塊采用二級放大電路將接收到的信號放大后輸送到閾值可變比較電路模塊,REV_EN1~REV_EN6為接收使能信號,分別用于控制六路接收電路的通斷,channel_1的電路原理如圖6所示。

圖6 超聲波接收電路原理圖(channel_1)
1.4 控制模塊
控制模塊主要負責超聲波陣列收發模塊中相關信號的控制,如超聲波信號發送使能和接收使能以及芯片的片選信號等。
如圖7所示,只需3個主控制器I/O口以及2片級聯的74HC595即可實現對電路中所有使能信號的控制。

圖7 控制電路原理圖
1.5 電源模塊
JN5148的工作電壓為2.3 V~3.6 V,而系統中的模擬電路和數字電路均采用5.0 V電源,因此設計了電源轉換電路滿足供電需求,如圖8所示,VCC的取值范圍為6 V~12 V。

圖8 電壓轉換原理圖
2.1 共線度定義
基于共線度DC(Degree of Collinearity)的無錨節點定位算法[9]的特征是以網絡中部分節點為參考節點,建立整個網絡的相對坐標系統。本章算法中的共線度定義為3個參加節點為一組,由它們組成的三角形的最小內角的余弦值,即三角形3個內角余弦值的最大值[10-11],如圖9所示。3個參考節點組成△ABC,根據余弦定理可得:
(1)
(2)
(3)
參考節點的共線度為:
DC=max{cos(θa),cos(θb),cos(θc)}
(4)

圖9 共線度定義與取值范圍

2.2 定位算法描述
因為無錨節點定位中無預先部署錨節點,所以算法首先初始化一個參考坐標系,然后其余待定位節點基于該參考坐標系實現自身坐標的相對定位。具體過程是:1)由Sink節點通過運行隨機定時器選取第1個參考節點R1(0,0);2)根據測距閾值在第1個參考節點的鄰居節點中確定第2個參考節點R2,根據R1與R2之間的測距距離值d12確定R2的坐標為(d12,0);3)假設R1與R2共有t個鄰居節點,根據式(4)計算節點與R1、R2組成的節點組的共線度DC1,DC2,…,DCt,從中選擇共線度最小的節點作為第3個參考節點R3,其坐標由式(5)和式(6)計算得到:
(5)
(6)
式中,d13為R1與R3的距離,d12為R1與R2的距離,d23為R2與R3的距離。4)由3個參考節點發射超聲波提供測距服務,待定位節點接收超聲波并測量與該參考節點的距離;5)待定位節點基于最小二乘法進行坐標估計。假設待定位節點ni坐標為(xi,yi),待定位節點到參考節點的測距值分別為d1i、d2i、d3i,且參考節點坐標為R1(x1,y1),R2(x2,y2),R3(x3,y3),則根據最小二乘法可求解待定位節點的坐標:
(7)
其中,
(8)
(9)
(10)
節點的定位算法流程如圖10所示。

圖10 節點定位算法流程圖

圖11 共線度無關(α=1 %)的定位效果
2.3 算法仿真與分析
為了驗證算法的有效性,首先在OMNeT++[12]平臺下對算法進行了仿真實驗。定義節點間的測距范圍為15 m(令L=15 m),在20 m×20 m的場景中隨機部署10個節點,閾值d=2 L/3,節點的相對測距誤差α取1 %或2 %。本文分別在共線度無關和基于共線度情況下進行了仿真實驗,并對兩種算法進行了性能對比。
算法定位效果。共線度無關的定位效果和基于共線度的定位效果分別如圖11和圖12所示(N=10,α=1 %)。

圖12 基于共線度(α=1 %)的定位效果
性能對比。α=1 %時,針對不同的網絡規模N,分別計算共線度無關和基于共線度的節點估計位置與真實節點位置的平均定位誤差。仿真結果如圖13所示,在共線度無關的情況下,節點數為8時,由于節點部署過于稀疏,分布不均勻,同時在參考節點隨機選取的情況下,共線度較大,網絡節點的平均定位誤差較大;隨著網絡節點密度的增大,節點分布更均勻,整個網絡的平均定位誤差急劇減小。而在基于共線度的情況下由于在參考節點的選取階段引入了共線度,使得平均定位誤差相比于共線度無關的情況下大幅減小,同時定位性能也更穩定。

圖13 不同節點密度的平均定位誤差
2.4 監控系統設計
定位監控顯示系統通過串口接收Sink節點上傳的節點的相關信息,并實時地構建定位網絡的網絡拓撲和全網節點的相對坐標系。監控顯示系統的開發工具為python2.7+PyQt4+Eric4,其中,Eric4是一個用PyQt4和QScintilla2開發的python集成開發環境(IDE),適合開發圖形界面的python應用程序。
監控顯示系統的實現如圖14所示,拓撲顯示區域負責構建全網節點的相對坐標系以及節點定位信息的顯示,消息文本顯示區域負責顯示Sink節點上傳的信息和監控顯示系統自身的運行信息。為了便于操作串口,監控顯示系統還具有串口設置功能,包括串口號和波特率的設置,其他設置默認為無奇偶校驗位,停止位為1,數據位為8。

圖14 定位監控顯示系統
為了彌補環境溫度變化對超聲波測距精度的影響,本文利用溫度傳感器采集環境溫度對超聲波的傳播速度進行補償[13]:
Vu=331.5+0.607t(m/s)
(11)
其中Vu為補償后的速度,t為環境溫度(℃);對于軟件延時和同步精度差等誤差,則利用參量補償的方式來減小誤差。
首先對超聲波節點進行TDOA測距實驗以驗證其測距精度。實驗中,節點從1 m處開始測距并逐漸增大距離,每隔1 m測量一組,每組測量15次。實驗結果表明,最大測量距離為16 m,平均測距誤差2.14 cm,最小誤差近似為0,最大誤差為35 cm,相對測距誤差范圍為0 %到2.333 %,平均相對測距誤差約為0.14 %。
網絡節點定位實驗在體育館內進行,將10個節點隨機布置在20 m× 20 m的范圍內;在3 min內全部組網測距并完成自身定位,PC端通過Sink節點上傳的節點位置信息實時的顯示網絡拓撲結構及全網的相對坐標。實驗結果如圖15所示。

圖15 節點定位實驗結果
為了更直觀的顯示定位效果,本文將系統定位實驗的節點坐標和實際的節點坐標進行了對比,對比結果如圖16所示。
實驗結果顯示,樣本數據的平均定位誤差是23.74 cm,最大定位誤差是39.45 cm,最小定位誤差約為11 cm,定位精度較高。

圖16 定位效果對比圖
本文首先研究設計并實現了基于超聲波陣列測距的網絡節點,基于該節點,從減小測距誤差、改進定位算法等方面提高系統定位精度,并最終進行系統實現。測距實驗結果表明,該系統的測距精度比較高,測量距離最遠為16 m,平均測距誤差為0.14 %;定位實驗結果表明,10個節點可以在3 min內組網測距并全部完成自身定位,平均定位誤差大約為23.74 cm。
[1] 朱劍,趙海,徐永強,等. 無線傳感器網絡中的定位模型[J]. 軟件學報,2011,22(7):1612-1625.
[2]黃潔,王福豹,段渭軍. WSN節點超聲波測距技術研究[J]. 電子設計工程,2013. 21(6):120-122.
[3]Cui Xunxue,Shan Zhiguan,Liu Jianjun. Distributed Localization for Anchor-Free Sensor network[J]. Journal of System Engineering and Electronics,2008,19(3):405-418.
[4]崔遜學,劉建軍,樊秀梅. 傳感器網絡中一種分布式無錨節點定位算法[J]. 計算機研究與發展,2009,46(3):425-433.
[5]趙晴晴,黃亮,傅賢鋒,等. 基于超聲波六元陣列測距的WSN節點定位技術研究[J]. 傳感技術學報,2014. 27(3):368-372.
[6]趙海,張寬,朱劍,等. 基于TDOA的超聲波測距誤差分析與改進[J]. 東北大學學報:自然科學版,2011(6):802-805.
[7]陳真清. 基于JN5148的WSN平臺設計及節能研究[D]. 大連:大連理工大學,2010.
[8]Tikanmki A,Mkel T,Pietikinen A,et al. Mult-iRobot System for Exploration in an Outdoor Environment[J]. Robotics and Applications and Telematics,2007,9(1):563-567.
[9]吳凌飛,孟慶虎,梁華為. 一種基于共線度的無線傳感器網絡定位算法[J]. 傳感技術學報,2009,22(5):722-727.
[10]孟文超. 無線傳感器網絡定位系統研究及設計[D]. 杭州:浙江工業大學,2011.
[11]樊小翔. 基于移動錨節點的節點自適應定位研究[D]. 西安:西北工業大學,2009.
[12]朱曉姝. OMNet++仿真工具的研究與應用[J]. 大連工業大學學報,2010. 29(1):62-65.
[13]蘇煒,龔壁建,潘笑. 超聲波測距誤差分析[J]. 傳感器技術,2004(6):8-11.

趙晴晴(1989-),女,山東德州人,碩士生,主要研究方向為無線傳感器網絡,zhaoqingqing0413@163.com;

段渭軍(1962-),男,陜西渭南人,副教授,碩士生導師,主要研究方向為無線傳感器網絡、信號處理,duanwj@nwpu.edu.cn。
TheDesignandImplementationofWSNLocalizationSystemBasedonSix-ElementArrayofUltrasonicTDOARanging*
ZHAOQingqing,DUANWeijun*,FUXianfeng
(School of Electronics and Information,Northwestern Polytechnical University,Xi’an 710072,China)
For the high accuracy,wide range and stable performance,the ultrasonic positioning technology is becoming an important research point in wireless sensor networks. This paper presents a six-element array ultrasonic sensor system which meets long distance measurements and 2D omnidirectional ranging based on TDOA technology. It also implements high-precision positioning and real-time monitoring in a anchor-free WSN. The ranging experiment result shows that the furthest distance measurement is 16 meters and the average distance measurement error is 0.14 %;The positioning experiment result shows that 10 nodes can complete networking and positioning in 3 min,the average positioning error is 23.74 cm.
wireless sensor networks;localization system;six-element array of ultrasonic;TDOA;anchor-free;localization
項目來源:西安市科技計劃項目(CX1255①)
2014-05-28修改日期:2014-07-30
10.3969/j.issn.1004-1699.2014.09.017
TP393
:A
:1004-1699(2014)09-1247-06