基于路由信息的傳感網(wǎng)絡(luò )定位算法
3.算法實(shí)現過(guò)程
3.1定向擴散
目的是盡可能多的攜帶節點(diǎn)間的連接或測距信息,在建立梯度階段中,每個(gè)節點(diǎn)可以得到其下一跳節點(diǎn)ID。在傳輸數據階段,則將下一跳節點(diǎn)ID也打入數據包,按照最大梯度方向發(fā)往網(wǎng)關(guān)節點(diǎn)。當節點(diǎn)具有RSSI時(shí),還要將下一跳節點(diǎn)對應的測距結果發(fā)往網(wǎng)關(guān)節點(diǎn)。
3.2計算節點(diǎn)距離矩陣DALL
目的是提取網(wǎng)關(guān)數據中關(guān)于節點(diǎn)連接或測距的信息,并通過(guò)最短路徑算法得到所有節點(diǎn)間的近似距離,即完全的距離矩陣。當節點(diǎn)具有RSSI時(shí),則可以根據數據包中的每個(gè)節點(diǎn)的測距信息生成部分距離矩陣D,然后采用Floyd最短路徑算法,生成DALL。若節點(diǎn)不具備RSSI,則將連通表示為單位距離1,同樣用Floyd最短路徑算法,由連接矩陣L生成DALL。
3.3多維標度分析MDS
將節點(diǎn)距離矩陣DALL作為MDS算法的輸入矩陣,可以獲得節點(diǎn)的相對位置估計X’,Y’。
3.4平移和旋轉變換
通過(guò)比對已知位置的網(wǎng)關(guān)節點(diǎn),將MDS結果進(jìn)行坐標變換使得網(wǎng)關(guān)位置均方誤差最小。即設X’,Y’為MDS輸出的網(wǎng)關(guān)節點(diǎn)位置,求變換矩陣A,B使得[X’’,Y’’] = A * [X’, Y’] + B與網(wǎng)關(guān)節點(diǎn)已知位置[X, Y]的均方誤差最小。
4.仿真結果和分析
算法仿真采用Matlab6.5,仿真場(chǎng)景為100個(gè)傳感器節點(diǎn)隨機均勻分布在半徑50m的圓型區域內,網(wǎng)絡(luò )中有大于等于三個(gè)已知位置的網(wǎng)關(guān)節點(diǎn)。
在圖2的仿真中,10個(gè)網(wǎng)關(guān)節點(diǎn)均勻分布在半徑為10米的圓周上,射頻通信距離取20m,射頻信號測距誤差為20%,圖中線(xiàn)段長(cháng)度代表定位誤差大小。仿真結果直觀(guān)的給出了RBSL算法在節點(diǎn)具有RSSI和沒(méi)有RSSI情況下定位的效果。從圖2的仿真中,還可以發(fā)現RBSL算法的一個(gè)應用場(chǎng)景,即在大范圍的數據采集中,如果只有一個(gè)網(wǎng)關(guān)節點(diǎn),可以通過(guò)數據采集員手持一個(gè)網(wǎng)關(guān)節點(diǎn)在一個(gè)小范圍內移動(dòng),在不同位置采集數據就可以對節點(diǎn)進(jìn)行定位。
圖3-a給出了節點(diǎn)RSSI測距誤差對結果的影響,可以發(fā)現,當測距誤差在20%以?xún)葧r(shí),定位結果較好,而若測距誤差進(jìn)一步增大,則結果惡化較為明顯。圖3-b給出了節點(diǎn)通信距離對結果的影響,可以發(fā)現在通信距離=25m時(shí)定位誤差最低,這是因為通信距離過(guò)短會(huì )使得部分邊緣節點(diǎn)只有很少的鄰居,從而導致這些節點(diǎn)定位精度很低,而當通信距離過(guò)長(cháng)時(shí),網(wǎng)絡(luò )中的路由鏈路變少,導致能獲得鏈路信息變少,同樣降低了定位精度。
5.結論和研究展望
針對無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的大范圍數據采集應用場(chǎng)景,本文作者提出了基于路由信息的傳感器網(wǎng)絡(luò )定位算法RBSL。RBSL算法的主要優(yōu)點(diǎn)是通信開(kāi)銷(xiāo)小,只需要每個(gè)節點(diǎn)在自身數據包上附加幾字節的信息,且容易實(shí)現,在大范圍的數據采集場(chǎng)景,只需要多個(gè)網(wǎng)關(guān)節點(diǎn)或一個(gè)可移動(dòng)的網(wǎng)關(guān)節點(diǎn)就可以獲得節點(diǎn)的定位結果。RBSL算法存在的問(wèn)題是計算量較大,MDS和Floyd最短路徑算法復雜度均為O(n3)。但因在數據采集場(chǎng)景下,執行計算任務(wù)的是網(wǎng)關(guān)PC節點(diǎn),因此計算量的問(wèn)題相對是可以接受的。此外,在前面的分析中假設網(wǎng)絡(luò )均勻同構,事實(shí)上傳感器節點(diǎn)性能可能并不相同,且由于地形等因素影響也會(huì )造成網(wǎng)絡(luò )的不均勻,反映在RBSL算法中就是節點(diǎn)間測距結果精度的不同,如何在MDS算法中對精度不同的測距結果進(jìn)行加權是下一步的研究任務(wù)之一。
作者所在的清華大學(xué)電子工程系復雜系統工程實(shí)驗室(CESL,ComplexEngineering System Lab)已經(jīng)自主開(kāi)發(fā)了“靈活的低成本無(wú)線(xiàn)傳感器網(wǎng)絡(luò )平臺”,即FLOWS (Flexible Low-cOst Wireless Sensor network platform)。我們正在進(jìn)行FLOWS系統在智能大廈定位系統的研究與開(kāi)發(fā),相信會(huì )有很好的應用前景和經(jīng)濟效益。
評論