基于小波變換預(yù)測的移動(dòng)節(jié)點(diǎn)定位方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明屬于無線傳感器定位跟蹤技術(shù)領(lǐng)域,更具體的說,設(shè)及一種用于無線傳感 器網(wǎng)絡(luò)中基于小波變換預(yù)測的移動(dòng)節(jié)點(diǎn)定位方法。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)(Wireless Sensor化twork,WSN)由大量部署在監(jiān)控區(qū)域的傳感 器節(jié)點(diǎn)組成,通過無線通信方式形成一個(gè)多跳自組織網(wǎng)絡(luò)系統(tǒng),協(xié)作感知、采集和處理相關(guān) 監(jiān)控信息,其被廣泛地應(yīng)用在實(shí)時(shí)追蹤、森林火災(zāi)等領(lǐng)域。其中,傳感器節(jié)點(diǎn)定位技術(shù)是無 線傳感器網(wǎng)絡(luò)的關(guān)鍵技術(shù),如何實(shí)現(xiàn)高效、高準(zhǔn)確率的定位技術(shù)一直是無線傳感器網(wǎng)絡(luò)領(lǐng) 域的研究熱點(diǎn)。
[0003] 目前對無線傳感器網(wǎng)絡(luò)定位方法主要分為測距(Range-based)方法和非測距 (Range-free)方法兩大類。其中,測距方法依賴額外硬件測量測量節(jié)點(diǎn)與節(jié)點(diǎn)之間的距離 或角度等信息,如接受信號(hào)強(qiáng)度(RSSI)、信號(hào)的到達(dá)時(shí)間(TOA)、信號(hào)到達(dá)時(shí)間差(TDOA似 及信號(hào)的到達(dá)角度(AOA)等;非測距方法主要根據(jù)節(jié)點(diǎn)的連通性和多跳路由信息交換實(shí)現(xiàn) 節(jié)點(diǎn)定位,定位成本較低,例如DV-Hop算法、AP 口算法、質(zhì)屯、算法等。
[0004] 然而,在節(jié)點(diǎn)移動(dòng)的環(huán)境中,隨著網(wǎng)絡(luò)結(jié)構(gòu)的實(shí)時(shí)變化,節(jié)點(diǎn)速度的不確定性,運(yùn) 動(dòng)狀態(tài)的不可知等因素影響,傳統(tǒng)的定位算法并不能滿足移動(dòng)定位要求。
[0005] 為此,研究人員對移動(dòng)節(jié)點(diǎn)定位的進(jìn)行深入研究,并取得了長足的進(jìn)展。
[0006] 2004年,Virginia大學(xué)的Lingxuan Hu等人率先將蒙特卡羅定位方法(Monte Carlo Localization,M化)應(yīng)用到無線傳感器網(wǎng)絡(luò),提出了適用于移動(dòng)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定 位跟蹤的蒙特卡羅定位方法,其充分利用了移動(dòng)節(jié)點(diǎn)的特性來提高定位精度,不需要額外 硬件支持,且其定位精度不依賴于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。蒙特卡羅定位方法的核屯、思想是用一系 列帶權(quán)值的樣本點(diǎn)估算待定位節(jié)點(diǎn)的位置,通過預(yù)測和濾波步驟不斷更新待定位節(jié)點(diǎn)的位 置。
[0007] 在此基礎(chǔ)上,Baggio等引入了錯(cuò)盒和采樣盒,提出了蒙特卡羅盒(Monte Carlo Localization Boxed,MCB)算法,進(jìn)一步提高了定位精度。
[000引然而,上述算法在定位精度上仍有待提高,尤其在錯(cuò)節(jié)點(diǎn)部署稀疏的環(huán)境下定位 誤差明顯較大。本領(lǐng)域的技術(shù)人員期望有更多的技術(shù)解決上述問題。
【發(fā)明內(nèi)容】
[0009] 針對現(xiàn)有技術(shù)的不足,本發(fā)明要解決的技術(shù)問題在于提供一種移動(dòng)節(jié)點(diǎn)定位方 法,W期該方法能夠有效提高移動(dòng)節(jié)點(diǎn)的定位精度,尤其是在錯(cuò)節(jié)點(diǎn)密度稀疏的環(huán)境下的 定位精度。
[0010] 為此,本發(fā)明提供了基于小波變換預(yù)測的移動(dòng)節(jié)點(diǎn)定位方法,該方法包括W下步 驟:
[0011] 獲取待定位移動(dòng)節(jié)點(diǎn)的歷史運(yùn)動(dòng)坐標(biāo)序列,所述歷史運(yùn)動(dòng)坐標(biāo)序列中至少包含該 待定位移動(dòng)節(jié)點(diǎn)在定位時(shí)刻t之前的=個(gè)時(shí)刻所在的位置坐標(biāo);
[0012]根據(jù)所述歷史運(yùn)動(dòng)坐標(biāo)序列,使用小波變換方法預(yù)測該待定位移動(dòng)節(jié)點(diǎn)在定位時(shí) 刻t的預(yù)測位置(皆,yn;
[001引根據(jù)所述預(yù)測位置(畔,yf)構(gòu)建采樣區(qū)域;
[0014] 根據(jù)所述采樣區(qū)域的面積大小實(shí)行自適應(yīng)采樣,在采樣區(qū)域里采集N個(gè)樣本點(diǎn)并 濾波;
[0015] 根據(jù)所述濾波后的樣本點(diǎn)的位置坐標(biāo)賦予樣本點(diǎn)不同的權(quán)值;
[0016] 根據(jù)所述濾波后的樣本點(diǎn)的位置坐標(biāo)、樣本點(diǎn)權(quán)值計(jì)算所述待定位移動(dòng)節(jié)點(diǎn)在定 位時(shí)刻t的位置。
[0017]上述技術(shù)方案中,所述歷史運(yùn)動(dòng)坐標(biāo)序列由;個(gè)時(shí)刻所在的位置坐標(biāo)xiW = xt-3, X2 W= Xt-2 =Xt-I構(gòu)成。該待定位移動(dòng)節(jié)點(diǎn)在初始定位時(shí)刻前S個(gè)時(shí)刻所在的位置坐 標(biāo),可W使用蒙特卡羅盒方法計(jì)算,形成初始?xì)v史運(yùn)動(dòng)坐標(biāo)序列,之后再采用本專利方法計(jì) 算定位時(shí)刻t的位置坐標(biāo),將采用本專利方法計(jì)算出來的位置坐標(biāo)添加到歷史運(yùn)動(dòng)坐標(biāo)序 列,并舍棄序列中最早的坐標(biāo),對歷史運(yùn)動(dòng)坐標(biāo)序列進(jìn)行更新。
[0018] 上述技術(shù)方案中,所述根據(jù)所述歷史運(yùn)動(dòng)坐標(biāo)序列,使用小波變換方法預(yù)測該待 定位移動(dòng)節(jié)點(diǎn)在定位時(shí)刻t的預(yù)測位置(扭,yf)包括:
[0019] 采用牛頓插值或拉格朗日插值等方法對所述歷史運(yùn)動(dòng)坐標(biāo)序列進(jìn)行插值,使序列 變長;
[0020] 對插值后的歷史運(yùn)動(dòng)坐標(biāo)序列進(jìn)行多孔小波變換分解:
[0021] co(t) =x(t)
[0022] 皆觀=X M/ )c" + 2 7) /=-的
[002;3] dj+i(t) =Cj(t)-Cj+i(t)
[0024] 其中,x(t)為歷史運(yùn)動(dòng)坐標(biāo)序列,CW為近似信號(hào),dw為細(xì)節(jié)信號(hào);h(l)為低通濾 波。
[0025] 分解后得到近似信號(hào)序列、細(xì)節(jié)信號(hào)序列;
[0026] 將所述分解后得到的近似信號(hào)序列、細(xì)節(jié)信號(hào)序列代入ARMA模型,AR模型等預(yù)測 模型,計(jì)算得到包含有預(yù)測值的近似信號(hào)序列、細(xì)節(jié)信號(hào)序列;
[0027] 使用小波重構(gòu)的方法將包含有預(yù)測值的近似信號(hào)序列Cp'(t)、細(xì)節(jié)信號(hào)序列 !>//(〇重構(gòu)成帶有預(yù)測值的歷史運(yùn)動(dòng)坐標(biāo)序列X'(t): P
[002引= +
[0029] 從所述帶有預(yù)測值的歷史運(yùn)動(dòng)坐標(biāo)序列x'(t)中提取待定位移動(dòng)節(jié)點(diǎn)在定位時(shí)刻 t的預(yù)測位置(.Yf o'n。
[0030] 上述技術(shù)方案中,所述根據(jù)所述預(yù)測位置,知f,jf)構(gòu)建采樣區(qū)域包括:
[0031] 判斷預(yù)測位置(療,乂)是否滿足濾波條件:
[0032] 狗切?(/>) = V去e劇,.,.種典句適r aVs e說口r <滿:p,.s)么化
[0033] 其中,Slt和S2t為待定位移動(dòng)節(jié)點(diǎn)在定位時(shí)刻t收到的一跳錯(cuò)節(jié)點(diǎn)和兩跳錯(cuò)節(jié)點(diǎn)的 集合,d(p,s)為錯(cuò)節(jié)點(diǎn)與預(yù)測位置之間的距離;
[0034] 若不滿足,則使用原采樣區(qū)域Boxt= {(Xmin,ymin) ; (Xmax,ymax)}:
[0037] 其中,n為定位時(shí)刻t收到的錯(cuò)節(jié)點(diǎn)數(shù)目,r是移動(dòng)節(jié)點(diǎn)的通信半徑,為錯(cuò)節(jié) 點(diǎn)j的坐標(biāo);當(dāng)j為二跳錯(cuò)節(jié)點(diǎn)時(shí),用化代替r;
[0038] 若滿足,則構(gòu)建預(yù)測約束區(qū)域,W預(yù)測約束區(qū)域和原采樣區(qū)域的重疊區(qū)域作為新 采樣區(qū)域((仍胃,巧,mJ;(仍胃,巧:
[0041] 其中,err為估計(jì)預(yù)測誤差。
[0042] 上述技術(shù)方案中,所述根據(jù)所述采樣區(qū)域的面積大小實(shí)行自適應(yīng)采樣,在采樣區(qū) 域里采集N個(gè)樣本點(diǎn)并濾波包括:
[0043] 根據(jù)所述采樣區(qū)域的面積大小計(jì)算需要采樣的數(shù)目N:
[0045] 其中,MaxNum為最大樣本點(diǎn)數(shù),SAnchor為采樣區(qū)域面積的大小,SThreshold為闊值;
[0046] 在采樣區(qū)域里采集N個(gè)樣本點(diǎn);
[0047] 根據(jù)濾波條件對所述樣本點(diǎn)進(jìn)行濾波,W淘汰不符合濾波條件的樣本點(diǎn),所述濾 波條件為:巧似'(內(nèi)=於€別,,(f(P. S)如-A於e S2,,r < S)名2r
[0048] 其中,Slt和S2t為待定位移動(dòng)節(jié)點(diǎn)在定位時(shí)刻t收到的一跳錯(cuò)節(jié)點(diǎn)和兩跳錯(cuò)節(jié)點(diǎn)的 集合,d(p,s)為錯(cuò)節(jié)點(diǎn)與預(yù)測位置之間的距離;
[0049] 判斷濾波后的樣本點(diǎn)數(shù)目是否小于N;
[0050] 若是,則重新采樣直至在采樣區(qū)域里采集到的N個(gè)樣本點(diǎn)全部符合濾波條件。
[0051] 上述技術(shù)方案中,所述根據(jù)所述濾波后的樣本點(diǎn)的位置坐標(biāo)賦予樣本點(diǎn)不同的權(quán) 值包括:
[0化2] 賦予樣本點(diǎn)權(quán)值;
[0化3]對樣本點(diǎn)歸一化處理
[0054] 其中,蘆為第一向量與第二向量之間的夾角;
[0055] 第一向量為待定位移動(dòng)節(jié)點(diǎn)上一時(shí)刻位置坐標(biāo)到預(yù)測值的向量;
[0056] 第二向量為待定位移動(dòng)節(jié)點(diǎn)上一時(shí)刻位置坐標(biāo)到濾波后的樣本點(diǎn)位置坐標(biāo)的向 量。
[0057] 上述技術(shù)方案中,所述根據(jù)所述濾波后的樣本點(diǎn)的位置坐標(biāo)、樣本點(diǎn)權(quán)值計(jì)算所 述待定位移動(dòng)節(jié)點(diǎn)在定位時(shí)刻t的位置的計(jì)算公式為:
,其中,Wi為第i個(gè)樣本點(diǎn)在定位時(shí)刻t的權(quán)值。
[0化9] 本發(fā)明還取得了如下有益效果:
[0060] 本發(fā)明通過小波變化預(yù)測,充分利用歷史運(yùn)動(dòng)信息,精確采樣區(qū)域,采用自適應(yīng)采 樣減少采樣次數(shù),提高了定位精度。在錯(cuò)節(jié)點(diǎn)部署稀疏的網(wǎng)絡(luò)環(huán)境下能表現(xiàn)出較好的定位 效果。
【附圖說明】
[0061] 下面結(jié)合附圖對本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)的說明,其中:
[0062] 圖1是本發(fā)明實(shí)施例1的流程圖;
[0063] 圖2是使用小波變換方法待定位移動(dòng)節(jié)點(diǎn)在定位時(shí)刻t的預(yù)測位置的流程圖;
[0064] 圖3是構(gòu)建采樣區(qū)域的流程圖;
[0065] 圖4是根據(jù)采樣區(qū)域的面積大小實(shí)行自適應(yīng)采樣并濾波的流程圖。
【具體實(shí)施方式】
[0066] 圖1是本發(fā)明實(shí)施例1的基于小波變換預(yù)測的移動(dòng)節(jié)點(diǎn)定位方法的流程圖,該方法 包括W下步驟:
[0067] 步驟SlOl:獲取待定位移動(dòng)節(jié)點(diǎn)的歷史運(yùn)動(dòng)坐標(biāo)序列
[0068] 其中,所述歷史運(yùn)動(dòng)坐標(biāo)序列中至少包含該待定位移動(dòng)節(jié)點(diǎn)在定位時(shí)刻t之前的 =個(gè)時(shí)刻所在的位置坐標(biāo)。具體地,所述歷史運(yùn)動(dòng)坐標(biāo)序列由=個(gè)時(shí)刻所在的位置坐標(biāo) x/W = x,_,,X嚴(yán)=X,,,而TO = X, 1構(gòu)成。該待定位移動(dòng)節(jié)點(diǎn)在初始定位時(shí)刻前S個(gè)時(shí)刻所在 的位置坐標(biāo),可W使用蒙特卡羅盒方法計(jì)算,形成初始?xì)v史運(yùn)動(dòng)坐標(biāo)序列,之后再采用本專 利方法計(jì)算定位時(shí)刻t的位置坐標(biāo),將采用本專利方法計(jì)算出來的位置坐標(biāo)添加到歷史運(yùn) 動(dòng)坐標(biāo)序列,并舍棄序列中最早的坐標(biāo),對歷史運(yùn)動(dòng)坐標(biāo)序列進(jìn)行更新。關(guān)于蒙特卡羅計(jì)算 該移動(dòng)節(jié)點(diǎn)的方法,本領(lǐng)域技術(shù)人員可W參閱Baggi O等提出的MCB( Monte Carlo Localization Boxed)算法。
[0069] 步驟S102:使用小波變換方法預(yù)測該待定位移動(dòng)節(jié)點(diǎn)在定位時(shí)刻t的預(yù)測位置 的,林)。
[0070] 圖2是利用小波變換方法預(yù)測該待定位移動(dòng)節(jié)點(diǎn)在定位時(shí)刻t的預(yù)測位置流程圖。 其步驟如下:
[0071 ]步驟S201:對所述歷史運(yùn)動(dòng)坐標(biāo)序列進(jìn)行插值
[0072] 優(yōu)選地,本發(fā)明使用牛頓插值或拉格朗日插值等方法對所述歷史運(yùn)動(dòng)坐標(biāo)序列進(jìn) 行插值。
[0073] 步驟S202:對插值后的歷史運(yùn)動(dòng)坐標(biāo)序列進(jìn)行多孔小波變換分解
[0074] 其中,分解的計(jì)算公式為:
[0075] co(t) =x(t) GO
[0076] C州(/)= J]/?(/)c,.(/ + 27) .1= 一呢'
[0077] dj+i(t) = Cj(t)-Cj+i(t)
[007引其中,x(t)為歷史運(yùn)動(dòng)坐標(biāo)序列,CW為近似信號(hào),dw為細(xì)節(jié)信號(hào);h(l)為低通濾 波。
[0079] 優(yōu)選地,本實(shí)施例使用化rr小波作為小波基函數(shù),低通濾波器為h=(l/2,1/2)。基 于Harr的多孔小波變換分解的計(jì)算公式為:
[0080] cj+i(t) = 0.5(cj(t-2-^)+Cj(t))
[0081] dj+i(t) =cj(t)-cj+i(t)
[0082] 本實(shí)施例實(shí)行3層小波分解,分解后得到細(xì)節(jié)信號(hào)序列{di,d2,d3}