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