無線傳感網(wǎng)多簇頭協(xié)助的目標跟蹤
在基于線性擬合的算法中較傳統(tǒng)的算法是根據(jù)k 和k+1時刻的測量值來預測k+2 時刻的位置,易造成預測不準確及目標節(jié)點丟失的現(xiàn)象,但是對于傳感器網(wǎng)絡來說能量因素至關重要,因此應在計算復雜度低的前提下想方設法提高跟蹤定位精度.本文基于線性擬合的思想,分析跟蹤過程中的特點,選擇合適的預測數(shù)據(jù)并采用多簇頭結構,以提高跟蹤精度.降低目標丟失率.
2 相關工作
2.1 預測數(shù)據(jù)選取
目標運動軌跡雖然無規(guī)律可尋,但在相當長的一段時間內(nèi)它的運動趨勢保持不變.如圖1 所示,為目標在二維平面上沿X 軸正向運動時的情況(圖中軌跡為任意曲線,為描述方便當目標發(fā)生轉(zhuǎn)彎時稱其為到達極值點).可見目標在兩個極值點之間時,沿X 軸和Y 軸的增減性不變;當?shù)竭_極值點時,沿X 軸或Y 軸的增減性將會發(fā)生變化.既然目標在兩個極值點之間運動趨勢不變,可以根據(jù)這段時間內(nèi)的歷史數(shù)據(jù)來預測該段軌跡,即利用趨勢相同的一段數(shù)據(jù)來預測目標節(jié)點下一位置,此時將極值點作為分界線.
運用符號函數(shù)來判斷是否到達極值點.如圖1 所示,當目標沿X軸正向運動時,若滿足Sgn(xi-xi-1)* Sgn(yi-yi-1)==Sgn(xi+1-xi)* Sgn(yi+1-yi),則說明目標未到達極值點,相反則說明目標到達極值點;當目標反向運動時,X 軸和Y 軸的增減性同時變化.
集合F 用于存放預測所需的歷史數(shù)據(jù).在到達第一個極值點之前可以用(x1,y1).(x2,y2)…(xi,yi)來預測(xi+1,yi+1)的位置,此時集合F={(xr,yr)|r=1,2,…,i}.利用符號函數(shù)判斷目標是否達極值點,若到達極值點,即Sgn(xi-xi-1)*Sgn(yi-yi-1)/Sgn(xi+1-xi)* Sgn(yi+1-yi),則清空集合F中的所有數(shù)據(jù)項,將當前定位坐標及前一次的定位坐標放于F中,組成新的數(shù)據(jù)信息集合;否則,不斷地向集合F中加入新的數(shù)據(jù)項.
2.2 多級簇頭結構
利用不同級別的簇頭在不同階段完成不同的任務,最終達到提高定位跟蹤精度.降低目標丟失率的目的,將簇頭分為:主簇頭.輔助簇頭和預備簇頭.
主簇頭的選取需要兼顧剩余能量及與目標節(jié)點距離兩個因素,且應選擇能量較大.與目標距離近的節(jié)點作為主簇頭.設當前簇頭i 的剩余能量為Ei,測得與目標的距離為Di,根據(jù)式(1)計算簇頭i 的閾值Ti:
其中ci表示趨向因子,初始值為1.趨向因子表示目標未來運動方向更趨向于哪個簇頭節(jié)點,若趨向于簇頭節(jié)點i,則簇頭節(jié)點i 周圍的預備簇頭節(jié)點將較早地監(jiān)測到目標節(jié)點的信息,趨向因子由輔助簇頭接收到預備簇頭的個數(shù)決定.
初始時主簇頭由發(fā)現(xiàn)目標的哨兵節(jié)點擔當;當目標丟失后利用恢復機制追蹤到目標并重新建立跟蹤機制,此時主簇頭由發(fā)現(xiàn)目標的簇頭節(jié)點擔當.除上述兩種情況外,主簇頭均通過比較當前各輔助簇頭的閾值,選取閾值較大的節(jié)點作為下一階段的主簇頭.主簇頭選定后,其鄰接簇頭節(jié)點作為輔助簇頭,輔助簇頭的鄰簇頭節(jié)點作為預備簇頭,建立起跟蹤機制,如圖2 所示.
三種簇頭完成不同的任務.主簇頭主要完成簇內(nèi)節(jié)點信息的融合并對輔助簇頭信息進行加權融合形成最終定位位置;輔助簇頭接收簇內(nèi)節(jié)點發(fā)來的信息進行初次定位,并把定位結果發(fā)送給主簇頭;預備簇頭一方面做好監(jiān)測目標的準備,一方面防止目標丟失,其簇內(nèi)節(jié)點處于休眠狀態(tài).當預備簇頭感測到目標信息時告知輔助簇頭,輔助簇頭將預備簇頭看做簇內(nèi)節(jié)點,融合預備簇頭發(fā)來的信息,并記錄預備簇頭的個數(shù),在進行主簇頭選舉時作為趨向因子的值.
3 目標跟蹤算法
3.1 目標監(jiān)測模型
采用網(wǎng)格結構將整個監(jiān)測區(qū)域劃分為許多虛擬單元格,每個單元格內(nèi)的傳感器節(jié)點組成一個簇,當簇頭節(jié)點能量小于某個閾值時進行簇頭更換,且每個節(jié)點都有兩種狀態(tài):監(jiān)聽和休眠狀態(tài).
節(jié)能是無線傳感器網(wǎng)絡研究中一個重要的評價指標,許多學者從能量因素出發(fā)研究跟蹤算法.為了節(jié)省傳感器節(jié)點的能量,當沒有目標出現(xiàn)時應使大部分節(jié)點處于休眠狀態(tài),只需少量節(jié)點用于監(jiān)測目標是否出現(xiàn).本文在監(jiān)測區(qū)域邊界設置哨兵節(jié)點(由邊界的簇頭節(jié)點充當),用于偵測是否有目標進入監(jiān)測區(qū)域.邊界簇頭周期性地隨機生成一個0~N 之間的數(shù),若該數(shù)大于N/2(N 為邊界節(jié)點的總數(shù)),則該簇頭節(jié)點為哨兵節(jié)點,為防止哨兵節(jié)點能量殆盡,需要進行簇頭選舉,比較哨兵節(jié)點的剩余能量和某個閾值的關系決定是否選舉簇頭.哨兵節(jié)點處于監(jiān)聽狀態(tài),非邊界簇頭節(jié)點和簇內(nèi)節(jié)點處于休眠狀態(tài).當目標出現(xiàn)時由哨兵節(jié)點喚醒其鄰簇頭節(jié)點作為輔助簇頭,輔助簇頭節(jié)點喚醒其非主輔簇頭節(jié)點作為預備簇頭,建立監(jiān)測機制.
通信過程中,傳感器節(jié)點只需進行相鄰節(jié)點之間的通信,假設網(wǎng)格的邊長為r,則通信半徑為2r;輔助簇頭節(jié)點和主簇頭節(jié)點要對目標進行定位,則設傳感器的感知半徑2 r .簇頭的選舉均采用文獻11的策略,且各傳感器節(jié)點均具有簡單的計算能力,跟蹤算法監(jiān)測模型如圖2所示.
3.2 目標偵測與定位
哨兵節(jié)點發(fā)現(xiàn)目標后,立刻喚醒鄰簇頭節(jié)點,鄰簇頭節(jié)點相繼地喚醒簇內(nèi)節(jié)點進行監(jiān)測.初始時哨兵節(jié)點作為主簇頭節(jié)點建立跟蹤機制,隨后主簇頭.輔助簇頭協(xié)同其簇內(nèi)節(jié)點開始監(jiān)測目標發(fā)出的信號并進行定位.
傳感器節(jié)點之間可以通過發(fā)射的信號來確定彼此之間的距離,其中可測距的算法包括TOA(Time Of Arrival)算法.TDOA(Time Difference Of Arrival)算法.AOA(AngleOf Arrival)和RSSI(Received Signal Strength)算法.由于傳感器節(jié)點自身會發(fā)出RSSI 信號,且根據(jù)信號的強弱可以獨立獲得距離值,所以本文采用RSSI 算法,其中感測節(jié)點根據(jù)測量的接收信號載波功率計算出與目標之間的距離dij表示為:
其中d0=1 m,P0=-30 dBm,α=3.
簇內(nèi)節(jié)點接收到目標信號后將信息發(fā)送到簇頭節(jié)點,簇頭節(jié)點利用多邊測量計算出目標的坐標.設在t 時刻,簇頭節(jié)點i 內(nèi)有k 個傳感器節(jié)點,其坐標分別為(x1,y1),(x2,y2),…,(xk,yk),監(jiān)測到與目標節(jié)點(x,y)的距離分別為d1,d2,…,dk,根據(jù)多邊形的定位模型有:
由于存在測距誤差,因此加入隨機誤差向量ξ(ξ為n-1維),有AX + ξ = b .利用最小二乘算法取ξ最小值時的X值.設 Q(X) = ξ2 = AX – b2 ,對X求導得到目標的估計位置:
通過式(5),初步計算出目標節(jié)點坐標,隨后輔助簇頭將定位信息發(fā)送到主簇頭節(jié)點,主簇頭融合n-1 個輔助簇頭發(fā)來的信息通過式(6)求其均值,得到最終的目標位置.
在整個網(wǎng)絡工作中三種簇頭相互轉(zhuǎn)化.主簇頭判斷接收到的相鄰兩次信號差,若信號差小于零即表明目標遠離主簇頭節(jié)點,此時主簇頭節(jié)點發(fā)送重新選舉主簇頭的消息,收到此消息的輔助簇頭計算自己的閾值Ti并發(fā)送給主簇頭節(jié)點,主簇頭節(jié)點選擇閾值最大的節(jié)點作為下一次的主簇頭節(jié)點,自己退卻為輔助簇頭節(jié)點,更新跟蹤機制;當輔助簇頭節(jié)點及其簇內(nèi)節(jié)點接收不到目標信號時,該輔助簇頭的簇內(nèi)節(jié)點睡眠,自己變?yōu)轭A備簇頭;預備簇頭若接收到目標的信號,且跟蹤機制更新使它的一個鄰節(jié)點成為主簇頭節(jié)點時,預備簇頭轉(zhuǎn)化為輔助簇頭,喚醒簇內(nèi)節(jié)點進行定位;但當預備簇頭發(fā)現(xiàn)其鄰簇頭節(jié)點為預備簇頭或普通簇頭時,則停止工作變?yōu)槠胀ù仡^節(jié)點.
傳感器相關文章:傳感器工作原理
評論