期刊VIP學術指導 符合學術規范和道德
保障品質 保證專業,沒有后顧之憂
摘 要: 針對現有無線傳感器網絡中基于RSSI定位算法受外部環境影響,在惡劣環境下定位精度低的問題,提出一種基于[t]分布混合變異飛蛾加權質心定位算法。首先對接收到的信號值進行RSSI測距,然后對RSSI測距的值利用改進后的四點加權質心定位算法得到預估計的坐標值,最后利用[t]分布混合變異的飛蛾撲火算法對預估計坐標的值和損耗模型參數進行優化并得到最終定位坐標。仿真結果表明,該算法比傳統的RSSI定位算法、RR?WCL算法和PSO?GSA算法有更高的定位精度。
關鍵詞: 無線傳感器網絡; 算法改進; 權值構造; 參數優化; [t]分布變異; 高斯變異
0 引 言
無線傳感器網絡作為一種運用于目標追蹤的全新的信息獲取和處理技術,在與定位相關的研究領域有著非常廣闊的發展應用前景。在地理環境監測、軍事偵察、智能醫療相關的技術領域中,無線傳感器網絡更是作為其主要的支撐技術[1]。
在無線傳感器網絡中,目前所提出的定位算法分為基于距離測量和無需距離測量的定位算法。基于距離的定位算法是根據測量到的距離或者角度值的信息進行定位,主要有到達時間(Time of Arrival,TOA)、到達時間差(Time Difference of Arrival,TDOA)、到達角度(Angel of Arrival,AOA)等方法。無需距離測量的定位算法是根據網絡連通性等信息實現節點定位,其主要方法有接收信號強度(Received Signal Strength Indication,RSSI)、質心定位算法、DV?Hop定位算法等。與基于距離的定位算法相比,無需距離測量的定位算法不需要測量節點之間的距離。基于RSSI測距技術因低成本、不需要額外硬件支持而廣泛應用于室內的無線混合定位中[2?3]。
對于基于RSSI的加權質心的混合定位算法,許多學者為了提高定位精度在權值構造上和引入優化算法兩方面對整體定位算法進行優化。文獻[4]提出一種RR?WCL算法,該算法較傳統加權質心定位算法在權值構造方面以未知節點到錨節點距離的比值作為權重來表示相應錨節點對未知節點的影響程度。文獻[5]提出了一種基于PSO?GSA優化的加權質心定位算法,利用PSO?GSA優化算法對未知節點的坐標和定位模型參數進行整體優化。文獻[6]在采集RSSI的優化過程中采用卡爾曼濾波器,并在最后用錨節點的相關信息對四點質心定位算法的結果進行誤差補償。
本文提出一種基于[t]分布混合變異的飛蛾撲火的四點加權質心定位算法,即tMFO?FWCL算法。在加權定位計算過程中利用新的權值構造策略初定位,然后利用這些初步定位坐標通過[t]分布混合變異的飛蛾算法進行優化。仿真結果表明,該算法較傳統的加權質心定位算法、文獻[4?5]和一般的飛蛾撲火定位算法在定位精度上有顯著提升。
1 加權質心定位算法的改進
1.1 RSSI測距
RSSI測距是基于測距定位的第一個步驟,利用未知節點接收到的錨節點的RSSI通過相應的信號傳播模型對距離作估算。由于信號的發送天線存在方向性的問題,使得不同傳輸路徑因環境不同進而導致了信號傳播的不規則性[7]。信號的傳輸方式并非是理想的向四周擴散的圓形模型。目前主要的傳輸模型有RIM模型、DOI模型和Logarithmic Attenuation模型。
Logarithmic Attenuation模型是一種最典型的不規則信號傳播模型,具體表達式如下:
式中:[PRd]是距離發送節點[d] m的位置接收到的信號強度的均值,單位為dBm;[Xσ~N(0,σ2)]是信號強度的衰減部分,是一個服從標準正態分布的隨機變量。
1.2 三角加權質心定位算法
確定了進行定位的節點坐標后,就可以進行加權定位。設三個圓心[A],[B],[C]的坐標分別為[(x1,y1)],[(x2,y2)],[(x3,y3)],對應的加權權值分別為[ω1],[ω2],[ω3],通過RSSI所得到的三個圓心到未知節點的距離分別為[d1],[d2],[d3]。通常情況下,將錨節點到未知節點通過衰減模型所換算的距離的倒數作為權值,具體的加權質心定位算法公式如下:
式中權值更加充分地利用節點測量信號強度和傳播模型的信息,并且完善了權值的決定權,防止了過度修正[8]。
1.3 改進的四點加權質心定位算法(FWCL)
傳統加權質心定位算法由于權值構造的不合理性往往使得定位誤差較大。本文在文獻[9]的基礎上對于質心定位公式進行了改進。
在節點選擇中,將得到的RSSI值根據相應的衰減模型計算出未知節點到各個錨節點的距離。按照距離值從大到小的順序篩選出該未知節點所接收到的RSSI值最大的4個值。對于不能找出最近的4個錨節點的未知節點,暫不進行定位。
對于上面能夠找出最近的4個錨節點的未知節點,對這4個錨節點通過[C34]進行排列組合分成4組,對于每組中的3個錨節點利用改進的加權質心定位算法求出用于下一步定位的定位節點。改進加權質心定位公式如下:
式中:[xi],[yi]為上步驟以[C34]排列組合后其中一組的3個錨節點以錨節點坐標為圓心,以通信半徑為半徑所畫出3個圓的交點的坐標值,如圖1所示。
式中:[l]為對錨節點進行分組的4組中某一組的3個錨節點距離未知節點的距離;[n]由文獻[9]的結論將權重修正系數設為4。
對每一個分組利用式(3)最終得到4個初步定位坐標值,再次利用這4個初步定位坐標值代入到傳統質心定位算法,得到改進的四組點加權質心定位的坐標值,完成第一輪定位。
在對區域內可以進行定位的未知節點完成了首輪估計后,將定位后的未知節點納入到錨節點中,對上面所提到的不能滿足質心定位條件的未知節點重新定位,依次重復直到對該區域內所有的節點都完成定位。
2 基于[t]分布變異的飛蛾撲火算法
為了解決質心定位算法的本身局限性和傳播模型中[η]值受環境因素的影響這兩個問題,本文在改進加權質心定位算法的權值構造的基礎上,利用[t]分布混合變異的飛蛾撲火算法(tMFO)對定位結果坐標和[η]值進行優化。
2.1 MFO算法
MFO算法是一種新型的仿生群智能優化算法,該算法對飛蛾橫向定位的方式進行模擬,并仿照飛蛾螺旋飛行的軌跡方式,利用螺旋函數模型對其進行更新進而對結果進行優化。由于其算法的易實施性和自身的魯棒性,MFO算法被廣泛應用到實際的最優化問題中[10]。
在MFO算法中,飛蛾作為候選解。飛蛾的位置矢量作為問題的變量。飛蛾通過改變位置矢量來實現在指定維數中的移動,其中飛蛾矩陣用[M]表示:
式中:[n]為飛蛾的數量;[d]為維數。相應的適應度矩陣為:
除了飛蛾矩陣,MFO算法中還需要有與飛蛾矩陣所對應的火焰矩陣。火焰矩陣通常用[F]表示,具體表達式類比于飛蛾矩陣分別表示為[F]和[OF]。
飛蛾和火焰均為候選解,它們的區別在于每次迭代中位置的更新方式。在解空間中,飛蛾是移動的實際主體,火焰為目前獲得的最優值,可以作為搜索完成的標志。
完成初始化后,使用下面的公式來更新飛蛾的位置:
式中:[Fj]表示第[j]個火焰;[Mi]表示第[i]個飛蛾;[S]是螺旋線函數,其表達式如下:
上述螺旋線模擬了飛蛾的飛行路徑,并確定了飛蛾相對于火焰的下一個位置。其中:[Di]表示第[i]個飛蛾到第[j]個火焰的距離;[t]為[?1,1]的隨機數;[b]為常數。[Di]的計算方法如下:
為了使算法以較快的速度收斂,利用自適應火焰數量更新機制,在迭代的過程中自適應地減少火焰數目。
式中:[N]為火焰數量的最大值;[T]為最大迭代次數;[l]為當前迭代次數。
2.2 [t]分布混合變異
[t]分布的曲線具有左右對稱的特點,并受自由度參數[n]的影響。當[n=1]時,[t]分布的曲線與柯西分布曲線一致;當[n]>30時,[t]分布曲線與正態分布開始重合;當[n]趨于無窮時,[t]分布曲線和高斯分布曲線開始接近。
飛蛾算法搜索時采用螺旋線波動模擬搜索模式,其螺旋線的相位采用隨機游動的方式進行更迭,但是這種搜索方式在靠近極值點的情況時易受極值點干擾,最終導致被極值點吸引進而影響最終定位結果。而上述的[t]分布隨著自由度的變換可以在柯西分布和高斯分布之間切換,高斯分布具有很好的全局開發能力;柯西分布具有很好的局部開發能力[11],因此可以利用[t]分布混合變異對飛蛾算法進行改進。本文對飛蛾的狀態進行[t]分布變異:
式中:[?]為點乘;[tIteration]是以MFO算法迭代次數為自由度的[t]分布。式(13)表示在當前飛蛾個體空間的位置上增加了[t]分布隨機干擾項[M?tIteration],利用當前種群的信息來進行變異,并利用算法的迭代次數作為當前變異的[t]分布的自由度。較一般的MFO算法,基于[t]分布混合變異的飛蛾撲火算法利用[t]分布的特點,通過自由度的調整很好地兼顧了高斯分布和柯西分布的優點,進而將算法的全局探索能力和局部探索能力進行了很好的整合。
推薦閱讀:《電子科技文摘》堅持為社會主義服務的方向,堅持以馬克思列寧主義、毛澤東思想和鄧小平理論為指導,貫徹“百花齊放、百家爭鳴”和“古為今用、洋為中用”的方針,堅持實事求是。