本發(fā)明屬于無線傳感器網(wǎng)絡(luò)
技術(shù)領(lǐng)域:
,具體為一種多移動(dòng)模式無線節(jié)點(diǎn)的動(dòng)態(tài)距離估計(jì)方法。
背景技術(shù):
:在靜態(tài)距離估計(jì)中,影響估計(jì)結(jié)果的因素多在于采集設(shè)備信號(hào)的靈敏度及其計(jì)算環(huán)節(jié)處理的準(zhǔn)確度。但在動(dòng)態(tài)距離估計(jì)中,除上述影響外,移動(dòng)節(jié)點(diǎn)的位置不斷改變,移動(dòng)測(cè)量和周圍環(huán)境變動(dòng)也會(huì)使得RSSI測(cè)量數(shù)據(jù)呈現(xiàn)動(dòng)態(tài)變化,導(dǎo)致RSSI數(shù)據(jù)具有更多的不確定性,使得不同模式速度下的距離估計(jì)更加困難。為克服RSSI數(shù)據(jù)的不確定性,通常采用聚類的方法處理數(shù)據(jù)。一般通過簇中心來表示RSSI數(shù)據(jù)分布特征,用聚類的方法進(jìn)行距離估計(jì)。但該方法僅能解決靜態(tài)場(chǎng)景問題,沒考慮在動(dòng)態(tài)情況下,節(jié)點(diǎn)移動(dòng)對(duì)RSSI數(shù)據(jù)流的干擾,影響了距離估計(jì)的精度。采用簡單滑動(dòng)窗口模式匹配的方法進(jìn)行RSSI-D估計(jì),可以克服動(dòng)態(tài)RSSI數(shù)據(jù)流估計(jì)困難的同時(shí),提升RSSI-D估計(jì)的準(zhǔn)確度。但該方法又過于強(qiáng)調(diào)對(duì)勻速移動(dòng)單一模式的適應(yīng)性,而在現(xiàn)實(shí)應(yīng)用中,節(jié)點(diǎn)保持絕對(duì)的勻速移動(dòng)并不常見,對(duì)于勻變速以及變加速移動(dòng)的節(jié)點(diǎn),該方法不能保證動(dòng)態(tài)RSSI-D估計(jì)的準(zhǔn)確度。因此,為包容節(jié)點(diǎn)移動(dòng)中RSSI數(shù)據(jù)流和節(jié)點(diǎn)速度的不確定性,以及RSSI數(shù)據(jù)的動(dòng)態(tài)性,需要一種多移動(dòng)模式下,對(duì)無線節(jié)點(diǎn)的動(dòng)態(tài)距離估計(jì)方法。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的是為了克服節(jié)點(diǎn)移動(dòng)中呈現(xiàn)的RSSI數(shù)據(jù)流和節(jié)點(diǎn)速度的不確定性,以及RSSI數(shù)據(jù)的動(dòng)態(tài)性影響了距離估計(jì)的精度這些問題,提供一種多移動(dòng)模式無線節(jié)點(diǎn)距離的動(dòng)態(tài)估計(jì)方法。按照本發(fā)明提供的技術(shù)方案,所述的多移動(dòng)模式無線節(jié)點(diǎn)距離的動(dòng)態(tài)估計(jì)方法包括以下步驟:步驟1.在動(dòng)態(tài)估計(jì)之前,錨節(jié)點(diǎn)事先測(cè)量位于不同距離點(diǎn)的無線節(jié)點(diǎn)發(fā)來的信號(hào)強(qiáng)度RSSI,確定信號(hào)強(qiáng)度與距離的映射關(guān)系RSSI-D;對(duì)RSSI數(shù)據(jù)聚類,形成簇中心集合CCS,可建立基于測(cè)量點(diǎn)距離D和簇中心CCS的映射關(guān)系曲線CCDC;步驟2.根據(jù)節(jié)點(diǎn)移動(dòng)初始速度V0和加速度a,確定距離與時(shí)間的映射關(guān)系,進(jìn)一步確定信號(hào)強(qiáng)度與時(shí)間的映射關(guān)系RSSI-T,同時(shí)更新得到基于時(shí)間軸的簇中心映射曲線CCTC;步驟3.在動(dòng)態(tài)估計(jì)中,隨著無線節(jié)點(diǎn)的移動(dòng),錨節(jié)點(diǎn)以固定時(shí)間間隔Δt實(shí)時(shí)測(cè)量無線節(jié)點(diǎn)發(fā)送過來的RSSI數(shù)據(jù)流,在當(dāng)前時(shí)刻tk=t0+kΔt,k≥0,t0表示初始時(shí)刻,移動(dòng)節(jié)點(diǎn)與錨節(jié)點(diǎn)的距離,通過對(duì)所測(cè)量得到的數(shù)據(jù)窗口,在CCTC上通過滑動(dòng)窗口匹配進(jìn)行確定;其中,當(dāng)前測(cè)量數(shù)據(jù)進(jìn)行匹配前,需進(jìn)行測(cè)量間隔對(duì)等處理;對(duì)無線節(jié)點(diǎn)在以勻速、勻變速和變加速模式直線移動(dòng)時(shí)的動(dòng)態(tài)距離估計(jì)方法分別為:步驟3-1.當(dāng)無線節(jié)點(diǎn)勻速運(yùn)動(dòng)時(shí),V0≠0,a=0,對(duì)測(cè)量得到的數(shù)據(jù)窗口通過一次線性變換進(jìn)行間隔對(duì)等處理,變換后形成的滑動(dòng)窗口就可以一直在CCTC上進(jìn)行時(shí)間對(duì)等的滑動(dòng)匹配,直至滿足滑動(dòng)匹配的標(biāo)準(zhǔn),以此估計(jì)出無線節(jié)點(diǎn)和錨節(jié)點(diǎn)之間的距離;步驟3-2.當(dāng)無線節(jié)點(diǎn)以勻變速運(yùn)動(dòng)時(shí),V0≠0,a為非0常數(shù),數(shù)據(jù)窗口遍歷CCTC上所有可能的參考窗口進(jìn)行滑動(dòng)匹配;測(cè)量提取的數(shù)據(jù)窗口每次與參考窗口進(jìn)行匹配前,均進(jìn)行一次間隔對(duì)等處理,此時(shí)形成滑動(dòng)窗口進(jìn)行滑動(dòng)匹配;最后,基于滑動(dòng)匹配的標(biāo)準(zhǔn),估計(jì)出移動(dòng)節(jié)點(diǎn)和錨節(jié)點(diǎn)之間的距離;步驟3-3.當(dāng)無線節(jié)點(diǎn)以變加速運(yùn)動(dòng)時(shí),V0≠0,a→0,需要根據(jù)CCTC對(duì)應(yīng)的時(shí)間間隔的變化,決定是否對(duì)提取的數(shù)據(jù)窗口通過多次線性處理進(jìn)行間隔對(duì)等處理:若CCTC對(duì)應(yīng)的時(shí)間間隔呈非線性變化,則按照步驟3-2的方法處理;若CCTC對(duì)應(yīng)的時(shí)間間隔為等間距,則按照步驟3-1的方法處理。具體的,所述映射關(guān)系曲線CCDC的形成過程為:以錨節(jié)點(diǎn)為起始點(diǎn)的直線上建立N個(gè)等間距測(cè)量位置點(diǎn),并以測(cè)量點(diǎn)距離D={d1,d2,...,dN}進(jìn)行標(biāo)示;節(jié)點(diǎn)位于每一個(gè)測(cè)量點(diǎn)時(shí),錨節(jié)點(diǎn)記錄m次節(jié)點(diǎn)發(fā)送過來的RSSI值;錨節(jié)點(diǎn)完成對(duì)N個(gè)測(cè)量點(diǎn)的RSSI信號(hào)采樣后,形成樣本數(shù)據(jù)集A:A={(d1,RSSI1,),…,(di,RSSIi,),…,(dN,RSSIN,)},其中RSSIi,={RSSIi,1,RSSIi,2,,…,RSSIi,m};設(shè)定每個(gè)測(cè)量點(diǎn)di處對(duì)應(yīng)的RSSI測(cè)量數(shù)據(jù)服從高斯分布特征,計(jì)算RSSI信號(hào)樣本的均值μi和標(biāo)準(zhǔn)差σi,形成RSSI樣本數(shù)據(jù)的簇中心集合CCS={μ1,μ2,...,μN(yùn)},根據(jù)集合CCS和測(cè)量點(diǎn)集合D={d1,d2,...,dN},可建立基于測(cè)量點(diǎn)距離D和簇中心CCS的映射關(guān)系曲線CCDC:CCS→f(D)。具體的,所述簇中心映射曲線CCTC的形成過程為:首先基于勻變速公式解得移動(dòng)節(jié)點(diǎn)在每個(gè)測(cè)量點(diǎn)D={d1,d2,...,dN}處,以當(dāng)前速率移動(dòng)時(shí)的對(duì)應(yīng)的時(shí)間測(cè)量點(diǎn)T={T1,T2,...,TN},從而確定距離D與時(shí)間T的映射:D→T,基于先驗(yàn)映射CCDC:CCS→f(D),更新得到基于時(shí)間軸的簇中心映射曲線CCTC:CCS→f(T)。所述數(shù)據(jù)窗口是指:錨節(jié)點(diǎn)以當(dāng)前tk時(shí)刻及其之前w-1個(gè)時(shí)刻所記錄的RSSI值,可以形成一個(gè)寬度為w的數(shù)據(jù)窗口Sk={sk-w+1,sk-w+2,...,sk}。所述滑動(dòng)窗口Sk′為數(shù)據(jù)窗口Sk={sk-w+1,sk-w+2,...,sk}經(jīng)測(cè)量間隔對(duì)等處理得出,所述測(cè)量間隔對(duì)等處理具體為:在簇中心映射曲線CCTC上,定義寬度同為w的參考窗口CCSi={μi-w+1,μi-w+2…μi},基于CCS→f(T)關(guān)系可確定參考窗口中數(shù)據(jù)對(duì)應(yīng)的時(shí)間序列{Ti-w+1,Ti-w+2,…,Ti};以窗口Sk中的末端值sk為不變點(diǎn),利用公式(I)對(duì)數(shù)據(jù)窗口Sk中的數(shù)據(jù)依次進(jìn)行線性迭代變換,得到變換后的數(shù)據(jù)窗口稱為滑動(dòng)窗口SK′={sk-w+1′,sk-w+2′,...,sk};sk-1′-sksk-1-sk=Ti-Ti-1Δt...sk-w+1′-sk-w+2′sk-w+1-sk-w+2=Ti-w+2-Ti-w+1Δt---(I)]]>其中,k≥w,Δt≠Ti-Ti-1,w≤i≤N。具體的,所述通過滑動(dòng)窗口匹配的過程為:在由RSSI-T關(guān)系確定的簇中心映射曲線CCTC上,滑動(dòng)窗口Sk′中的每個(gè)數(shù)據(jù)逐個(gè)與寬度同為w的參考窗口CCSi={μi-w+1,μi-w+2…μi}進(jìn)行數(shù)據(jù)比較,計(jì)算兩個(gè)窗口對(duì)應(yīng)位置上數(shù)據(jù)之間的差異和M,其中M=|sk-w+1′-μi-w+1|+…+|sk-μi|,w≤i≤N;參考窗口滿足滑動(dòng)匹配的標(biāo)準(zhǔn)為:與滑動(dòng)窗口具有最小的差異和,即滿足式(II)的參考窗口CCSi;MinM=|sk-w+1′-μi-w+1|+...+|sk-μi|S.T.1≤w≤N,w≤k---(II)]]>基于CCS→f(D)與滑動(dòng)窗口末端值sk不變的原則,該參考窗口CCSi的末端值μi所對(duì)應(yīng)的di,即為第tk時(shí)刻移動(dòng)節(jié)點(diǎn)與錨節(jié)點(diǎn)的估計(jì)距離本發(fā)明的優(yōu)點(diǎn)是:將經(jīng)典的RSSI-D的估計(jì)過程,由點(diǎn)對(duì)點(diǎn)的匹配模式,延伸為多點(diǎn)對(duì)多點(diǎn)的窗口匹配模式,對(duì)數(shù)據(jù)窗口間隔對(duì)等處理,形成時(shí)間差比可變的彈性滑動(dòng)窗口,通過提高模式匹配的多樣化,克服了移動(dòng)節(jié)點(diǎn)速度不確定性問題,保證了動(dòng)態(tài)距離估計(jì)精度。附圖說明圖1是動(dòng)態(tài)距離估計(jì)示意圖。圖2是無線節(jié)點(diǎn)以多種模式移動(dòng)時(shí),數(shù)據(jù)滑動(dòng)匹配示意圖。其中圖2(a)是勻速運(yùn)動(dòng)時(shí),圖2(b)是勻變速運(yùn)動(dòng)時(shí),圖2(c)是變加速運(yùn)動(dòng)時(shí)。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳述。實(shí)例中采用的無線節(jié)點(diǎn)與錨節(jié)點(diǎn)均以CC2530模塊為核心;利用上位機(jī)實(shí)時(shí)監(jiān)測(cè)錨節(jié)點(diǎn)收集的無線節(jié)點(diǎn)的RSSI數(shù)據(jù)。后文不引起歧義的情況下,無線節(jié)點(diǎn)簡稱為節(jié)點(diǎn)。本發(fā)明包括離線映射與在線匹配估計(jì)兩個(gè)環(huán)節(jié)。離線映射中,給定錨節(jié)點(diǎn)且其位置固定,基于與錨節(jié)點(diǎn)距離差異,設(shè)定多個(gè)測(cè)量位置點(diǎn)。節(jié)點(diǎn)在每個(gè)測(cè)量點(diǎn)時(shí),錨節(jié)點(diǎn)多次記錄節(jié)點(diǎn)發(fā)送過來的RSSI信息。通過統(tǒng)計(jì)分析得到RSSI值與各個(gè)測(cè)量點(diǎn)距離的對(duì)應(yīng)特征,建立RSSI值與測(cè)量點(diǎn)距離D的映射關(guān)系。在線匹配估計(jì)中,節(jié)點(diǎn)以初始速度V0和加速度a遠(yuǎn)離錨節(jié)點(diǎn)移動(dòng),并不斷向錨節(jié)點(diǎn)發(fā)送RSSI信息,錨節(jié)點(diǎn)每隔Δt記錄一次RSSI信息,形成RSSI值數(shù)據(jù)流?;谝苿?dòng)節(jié)點(diǎn)初始速度V0和加速度a,可將RSSI值與測(cè)量點(diǎn)距離D的映射關(guān)系等價(jià)為RSSI值與時(shí)間T的映射關(guān)系;在錨節(jié)點(diǎn)記錄形成的RSSI值數(shù)據(jù)流中,提取出RSSI數(shù)據(jù)窗口,對(duì)數(shù)據(jù)窗口間隔對(duì)等處理,形成易與RSSI值和時(shí)間T映射匹配的滑動(dòng)窗口,從而進(jìn)行距離估計(jì)。如圖1所示,具體實(shí)施流程如下:先離線建立RSSI與測(cè)量點(diǎn)距離D的映射曲線關(guān)系CCDC和根據(jù)移動(dòng)節(jié)點(diǎn)初始速度V0和加速度a,建立的信號(hào)強(qiáng)度RSSI與時(shí)間T的映射曲線關(guān)系CCTC。步驟1:RSSI采樣:在給定區(qū)域I2中放置一個(gè)已知錨節(jié)點(diǎn)Anch。在以錨節(jié)點(diǎn)為起始點(diǎn)的直線上建立若干個(gè)測(cè)量位置點(diǎn),每個(gè)測(cè)量位置點(diǎn)之間的距離相等。對(duì)于不同的測(cè)量位置點(diǎn),設(shè)以測(cè)量點(diǎn)與錨節(jié)點(diǎn)間的距離di,i=1,2…,N進(jìn)行區(qū)分標(biāo)示。節(jié)點(diǎn)位于每一個(gè)測(cè)量點(diǎn)時(shí),錨節(jié)點(diǎn)記錄m次節(jié)點(diǎn)發(fā)送過來的RSSI值。在完成N個(gè)測(cè)量點(diǎn)的采樣后,形成樣本數(shù)據(jù)集A:A={(d1,RSSI1),…,(di,RSSIi),…,(dN,RSSIN)},其中1≤i≤N。步驟2:離線映射:為每個(gè)測(cè)量點(diǎn)di處的樣本數(shù)據(jù)建立一個(gè)簇Ci={di,(RSSIi,1,RSSIi,2,…RSSIi,m)},以反映通信距離與RSSI值之間的關(guān)系,并設(shè)均值μi為簇Ci的簇中心(簡稱簇心),建立RSSI樣本數(shù)據(jù)的簇中心集合(ClusterCenterSample,CCS),可表示為:CCS={μ1,μ2,...,μN(yùn)}。接著,根據(jù)集合CCS和測(cè)量點(diǎn)集合D={d1,d2,...,dN},可建立基于距離D和簇中心CCS的映射關(guān)系曲線(ClusterCenterDistanceCurve,CCDC):CCS→f(D)。步驟3:在線等價(jià)映射:基于勻變速公式可解得移動(dòng)節(jié)點(diǎn)在每個(gè)測(cè)量點(diǎn)D={d1,d2,...,dN}處的當(dāng)前速率的時(shí)間測(cè)量點(diǎn)T={T1,T2,...,TN},從而確定距離D與時(shí)間T的映射:D→T,基于離線過程中的先驗(yàn)映射CCDC:CCS→f(D),更新得到基于時(shí)間軸的簇中心映射曲線CCTC(ClusterCenterTimeCurve):CCS→f(T)。步驟4:窗口提取與線性變換:在tk=t0+kΔt,k≥0時(shí)刻,錨節(jié)點(diǎn)Anch提取當(dāng)前tk時(shí)刻及其之前w-1個(gè)時(shí)刻所記錄的RSSI值,形成一個(gè)寬度為w的數(shù)據(jù)窗口Sk={sk-w+1,sk-w+2,…,sk}。但由于存在Δt≠Ti-Ti-1,w≤i≤N,其中Δt為數(shù)據(jù)窗口Sk對(duì)應(yīng)的時(shí)間間隔,Ti-Ti-1為CCTC曲線對(duì)應(yīng)的時(shí)間間隔,Sk無法在CCTC曲線上進(jìn)行時(shí)間對(duì)等的滑動(dòng)匹配,因此需要對(duì)數(shù)據(jù)窗口通過線性變化對(duì)間隔對(duì)等處理。以窗口Sk中的末端值sk為不變點(diǎn),基于時(shí)間間隔比Ti-Ti-1/Δt,對(duì)Sk中的數(shù)值依次進(jìn)行線性迭代變換,得到變換后的數(shù)據(jù)窗口(稱為滑動(dòng)窗口)Sk′{sk-w+1′,sk-w+2′,...,sk}。線性迭代公式如式(I)所示。sk-1′-sksk-1-sk=Ti-Ti-1Δt...sk-w+1′-sk-w+2′sk-w+1-sk-w+2=Ti-w+2-Ti-w+1Δt---(I)]]>步驟5:滑動(dòng)匹配:所謂滑動(dòng)匹配就是在簇中心曲線CCTC上,搜索一個(gè)寬度同為w的參考窗口CCSi={μi-w+1,μi-w+2…μi},w≤i≤N,使得滑動(dòng)窗口Sk′中的每個(gè)元素與其具有最小的差異和,即滿足式(II)。此時(shí)得到的CCSi為與滑動(dòng)窗口最匹配的參考窗口?;贑CS→f(T)與滑動(dòng)窗口末端值sk不變的原則,該參考窗口CCSi的末端值μi所對(duì)應(yīng)的di,即為第tk時(shí)刻移動(dòng)節(jié)點(diǎn)與錨節(jié)點(diǎn)的估計(jì)距離MinM=|sk-w+1′-μi-w+1|+...+|sk-μi|S.T.1≤w≤N,w≤k---(II)]]>如圖2(a)所示,當(dāng)移動(dòng)節(jié)點(diǎn)勻速運(yùn)動(dòng)(V0≠0,a=0)時(shí),基于式(I)對(duì)測(cè)量得到的數(shù)據(jù)窗口通過一次線性變換進(jìn)行間隔對(duì)等處理,變換后形成的滑動(dòng)窗口就可以一直在CCTC上進(jìn)行時(shí)間對(duì)等的滑動(dòng)匹配,在匹配所有的參考窗口后,尋找滿足式(II)的參考窗口CCSi,進(jìn)而估計(jì)出移動(dòng)節(jié)點(diǎn)和錨節(jié)點(diǎn)之間的距離。如圖2(b)所示,當(dāng)移動(dòng)節(jié)點(diǎn)以勻變速運(yùn)動(dòng)(V0≠0,a≠0且為常數(shù))時(shí),數(shù)據(jù)窗口遍歷CCTC上所有可能的參考窗口進(jìn)行滑動(dòng)匹配。測(cè)量提取的數(shù)據(jù)窗口每次與參考窗口進(jìn)行匹配前,均基于式(I)通過線性變化進(jìn)行一次間隔對(duì)等處理,此時(shí)形成滑動(dòng)窗口進(jìn)行滑動(dòng)匹配。最后,在匹配所有的參考窗口后,尋找滿足式(II)的參考窗口CCSi,進(jìn)而估計(jì)出移動(dòng)節(jié)點(diǎn)和錨節(jié)點(diǎn)之間的距離。如圖2(c)所示,當(dāng)移動(dòng)節(jié)點(diǎn)以變加速運(yùn)動(dòng)(V0≠0,a→0)時(shí),需要根據(jù)CCTC對(duì)應(yīng)的時(shí)間間隔的變化,決定是否對(duì)提取的數(shù)據(jù)窗口通過多次線性處理進(jìn)行間隔對(duì)等處理:若CCTC對(duì)應(yīng)的時(shí)間間隔呈非線性變化,則采用類似于無線節(jié)點(diǎn)勻變速運(yùn)動(dòng)時(shí)的匹配方法進(jìn)行滑動(dòng)匹配,即:數(shù)據(jù)窗口遍歷CCTC上所有可能的參考窗口進(jìn)行滑動(dòng)匹配,測(cè)量提取的數(shù)據(jù)窗口每次與參考窗口進(jìn)行匹配前,均基于式(I)通過線性變化進(jìn)行一次間隔對(duì)等處理;若CCTC對(duì)應(yīng)的時(shí)間間隔為等間距,則采用類似于無線節(jié)點(diǎn)勻速運(yùn)動(dòng)時(shí)的匹配方法進(jìn)行滑動(dòng)匹配,即基于式(I)對(duì)測(cè)量得到的數(shù)據(jù)窗口通過一次線性變換進(jìn)行間隔對(duì)等處理,變換后形成的滑動(dòng)窗口就可以一直在CCTC上進(jìn)行時(shí)間對(duì)等的滑動(dòng)匹配,直至匹配到CCTC最后一個(gè)參考窗口;最后,在匹配完所有的參考窗口后,尋找滿足式(II)的參考窗口CCSi,進(jìn)而估計(jì)出移動(dòng)節(jié)點(diǎn)和錨節(jié)點(diǎn)之間的距離。當(dāng)前第1頁1 2 3