專利名稱:面向時間異步節點的往返時間的無線傳感器網絡測距方法
技術領域:
本發明涉及一種面向時間異步節點的往返時間的無線傳感器網絡測距方法。
背景技術:
近年來,無線傳感器網絡成了研究的熱點。它的應用非常廣泛,從軍事上 的目標軌跡跟蹤,到日常生活中的環境監測,無線傳感器網絡無處不在。在分 布式無線傳感器網絡,特別是軌跡跟蹤、定位等系統中,節點的地理位置信息 非常重要。比如,在一個分布式智能傳感器網絡控制的移動機器人系統中,機 器人的具體位置就非常重要。無線傳感器網絡中的定位,主要是通過測量節點 之間的距離來完成的,也有少數的免測距定位方法。免測距定位不需要精確的 位置信息,而基于測距的定位算法則需要通信節點之間的距離信息。
在最近的幾年中,測距方面的研究已經做了很多工作。其中,最典型的測
距方式是信號時間到達測距,稱為TOA。在基于TOA的測距方法中,比如GPS 測距,是計算RF信號在空中的運行時間。這種方法用到傳感器網絡中,會有很 多限制。在一個低能耗的自主系統中,計算RF信號的傳輸時間存在很多問題。 為了計算RF信號的傳輸時間,需要在傳輸節點和接收節點之間建立嚴格的時間 同步機制,但是這個在類似Mica2的硬件平臺上是很難實現的。所以研究者開 始利用聲音信號來測距。聲音信號的測量要容易些,因為它的傳播速度相對較 慢,而且利用RF可以很容易的達到時間同步。其中最成功的一種算法叫做信號 到達時間差異算法,它是通過計算聲音信號和射頻信號的到達時間差來計算測 距。其他的算法還有基于信號到達角(Angle of Arrival, AOA),基于接收信號強度 的算法(Received Signal Strength,RSS)和基于射頻干涉距離的算法。
發明內容
本發明的目的在于提供一種面向時間異步節點的往返時間的無線傳感器網 絡測距方法。
本發明解決其技術問題所采用的技術方案的步驟是-
1) 節點A^向節點A^發送聲音信號,記錄發送時間&和接收節點接收時間
A,考慮兩節點間因工作時序不同而產生的時間偏移,計算聲音信號傳播時間;
2) 節點A^向節點7V。發送聲音信號,記錄發送時間"'和接收時間/a',考慮時間偏移,計算聲音信號傳播時間;
3) 發送聲音信號的命令的發出和實際聲音信號發出存在時間上的間隔,計 算出這個時間間隔Asounder;
4) 將兩個傳播時間公式相加,消去時間偏移,測量環境溫度后,得到聲音 在當時環境下的傳播速度,然后計算節點間距離;
5) 利用校正公式,最后計算得出實際節點間的距離。
在室內環境、走廊環境、室外環境分別進行多次測量,分別得出三種環境 下測試結果和實際距離的線性擬合曲線,對測試的公式進行校正,得出最后的 距離測量公式。
本發明具有的有益效果是
不用考慮時間同步問題,算法簡單高效,精度高,對硬件平臺的要求小。
圖1是本發明實施例中發送節點到接收節點信號發送時序圖。 圖2是本發明實施例中接收節點到發送節點信號發送時序圖。 圖3是考慮了本地聲音信號傳播延遲后發送節點到接收節點信號發送時序圖。
圖4是考慮了本地聲音信號傳播延遲后接收節點到發送節點信號發送時序圖。
圖5是是本發明實施例中走廊環境下數據校正圖。
具體實施例方式
下面結合附圖和實施例對本發明作進一步說明。
圖l本方法的工作原理圖。圖中豎線代表發送端與接收端,實線代表信號發 送,虛線代表為統一時刻。節點a(記為7V。)與節點b(記為M)為一需測距的節點
對。假定At為異步節點7V。與A^系統時鐘的差異,定義&、"分別為節點Wa、
A^系統時鐘的當前時刻。則有^^+&=&。節點W。與A^互相交換聲音信號。 首先,如圖l所示,節點7V。向節點A^發送聲音信號,發送信號的本地時刻為L, 接收信號的本地時刻為";接著,如圖2所示,節點A^以同樣的方法向節點iV。
發送聲音信號,發送信號的本地時刻為"',接收信號的本地時刻為。設節點A/a 與A^之間的相對時間偏移為A^ ,則式1與式2成立,式中^^2和/7^2'分別為聲
音信號的往返時間。
"+Af+ /V"2=& 1式子1與2相加,則節點間的相對時間偏移A纟被抵消,可求得聲音信號空中傳
播時間,如式3所示。
<formula>formula see original document page 5</formula>
在本發明中,僅僅需要記錄時刻L, ", ^',"',而不需要復雜的時間同步
過程,也避免時間同步過程中引入不必要的誤差。給定聲音的傳播速度V,基
于式4,很容易估算出節點間距離^/7W2<formula>formula see original document page 5</formula>
采用Mica2平臺對本算法進行實驗。Mica2節點是無線傳感器網絡研究領域 最常用的開發平臺,是Crossbow公司的產品。Mica2節點上的應用程序是基于 Tinyos操作系統開發。Tinyos是一種基于時間的操作系統,應用程序使用一種 Nesc語言開發。Nesc語言是一種基于組件的結構化語言,它是C編程語言的一 種擴展,主要應用在嵌入式網絡系統中。
基于Mica2平臺的實驗表明,由式2、 3計算所得的節點間距離常常大于實際 距離。經分析,這是由于Mica2傳感器板使用的蜂鳴器的特性所引起的。Mica2 平臺上使用的是低成本蜂鳴器,它從接受系統下達的發聲指定的時刻到聲音信 號最早可以被外界檢測出的時刻之間有一個不可忽略的時延,定義為Asounder, 如圖3、 4所示。這個時延與硬件相關,隨著蜂鳴器的不同而又差異。因此,為 了獲得準確的聲音信號空中傳播時間,必須估計這個發送端時延并在式2將之消 除。多次計算可得,Asounder為2ms。
考慮了發送端延時后,式1和式2被改寫為式5和式6<formula>formula see original document page 5</formula>
因此,基于本測距算法,聲音信號在空氣中的傳播時間 ^)£-7^2可以通過式7估算,相應的距離計算公式為8
<formula>formula see original document page 5</formula>
其中V為聲音在空氣中的傳播速度,V = (331.45 + 0.59T), T為環境溫度。 最后是對計算結果進行校正。我們在三種環境在進行實驗。節點離地面的 距離為50cm。節點間的距離從0cm到600cm,步長為50cm。如圖5所示,橫坐標為實際距離,縱座標為公式5計算所得距離。細線為理想的曲線。測試的時候, 每個測試點,重復測量15次,計算每個測試點的平均值,然后把每個測量點的 平均值畫在坐標圖上。將這些平均值用加粗的實線連接起來,加粗的實線為本 發明算法在走廊環境下測距結果的擬合曲線。根據擬合曲線,得出最終的距離 檢測公式,另外兩種環境下的數據用相同的方法進行橋正。下表為三種環境下 的距離校正。X為式8計算出來的距離,y為校正后本發明測距最終結果。
表三種環境下的距離校正公式
走廊環境 室內環境 室外環境"1.2344 xx_ 0.1419 1.2252 x;c- 0.0847 _y= 1.2252 xjc- 0扁權利要求
1、一種面向時間異步節點的往返時間的無線傳感器網絡測距方法,其特征在于該方法的步驟如下1)節點Na向節點Nb發送聲音信號,記錄發送時間ta和接收節點接收時間tb,考慮兩節點間因工作時序不同而產生的時間偏移,計算聲音信號傳播時間;2)節點Nb向節點Na發送聲音信號,記錄發送時間tb′和接收時間ta′,考慮時間偏移,計算聲音信號傳播時間;3)發送聲音信號的命令的發出和實際聲音信號發出存在時間上的間隔,計算出這個時間間隔Δsounder;4)將兩個傳播時間公式相加,消去時間偏移,測量環境溫度后,得到聲音在當時環境下的傳播速度,然后計算節點間距離;5)利用校正公式,最后計算得出實際節點間的距離。
2、 根據權利要求1所述的基于聲源端時延消除的頻率檢測的無線傳感器網 絡測距方法,其特征在于在室內環境、走廊環境、室外環境分別進行多次測 量,分別得出三種環境下測試結果和實際距離的線性擬合曲線,對測試的公式 進行校正,得出最后的距離測量公式。
全文摘要
本發明公開了一種面向時間異步節點的往返時間的無線傳感器網絡測距方法。該方法的步驟如下節點N<sub>a</sub>向節點N<sub>b</sub>發送聲音信號,記錄發送時間t<sub>a</sub>和接收節點接收時間t<sub>b</sub>,考慮節點間因工作時序不同而產生的時間偏移,計算聲音信號傳播時間;節點N<sub>b</sub>向節點N<sub>a</sub>發送聲音信號,記錄發送時間t<sub>b</sub>′和接收時間t<sub>a</sub>′,考慮時間偏移,計算聲音信號傳播時間;發送聲音信號的命令的發出和實際聲音信號發出存在時間上的間隔,計算出這個時間間隔Δsounder;將兩個傳播時間公式相加,消去時間偏移,測量環境溫度后,得到聲音在當時環境下的傳播速度,然后計算節點間距離;利用校正公式,計算得出實際節點間的距離。本發明不考慮時間同步問題,算法簡單高效,精度高,對硬件平臺的要求小。
文檔編號G01S11/14GK101320090SQ20081012002
公開日2008年12月10日 申請日期2008年7月15日 優先權日2008年7月15日
發明者孫優賢, 申興發, 迪 繆, 陳積明 申請人:浙江大學