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