本發(fā)明涉及無線通信定位領(lǐng)域,具體為一種基于uwb的分布式定位方法。
背景技術(shù):
目前有許多相關(guān)定位方法,例如紅外線定位方法、超聲波定位方法、藍(lán)牙定位方法等,但這些方法在某些特定條件下有一定的局限性,例如紅外線雖具有較高的準(zhǔn)確性,但其無法穿過障礙物,不適用于障礙物較多的地方;超聲波結(jié)構(gòu)簡(jiǎn)單,但受多徑效應(yīng)影響很大,其需要的硬件設(shè)備較多因而成本較高;藍(lán)牙小巧靈活,但設(shè)備價(jià)格昂貴且易受周圍信號(hào)影響導(dǎo)致定位效果不夠穩(wěn)定等。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)現(xiàn)在的研究熱點(diǎn)——無線通信定位方法中的技術(shù)不足,提出一種基于uwb的分布式定位方法。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:一種基于uwb的分布式定位方法,包括以下步驟:
第一步:在待定位環(huán)境部署三個(gè)距離傳感器i,j,k,利用uwb無線通信技術(shù)進(jìn)行通信得到任意兩個(gè)距離傳感器之間的距離,從而得到網(wǎng)絡(luò)中由i,j,k節(jié)點(diǎn)建立的平面直角坐標(biāo)系,i,j,k節(jié)點(diǎn)的坐標(biāo)記為pi,pj,pk。
第二步:待定位點(diǎn)的距離傳感器l與i,j,k節(jié)點(diǎn)間進(jìn)行uwb無線通信,得到l節(jié)點(diǎn)與i,j,k節(jié)點(diǎn)的相對(duì)距離dli,dlj,dlk。
第三步:根據(jù)分布式算法,得出l節(jié)點(diǎn)在靜態(tài)條件下的位置,l節(jié)點(diǎn)的坐標(biāo)記為pl。
第四步:在設(shè)定的時(shí)間周期內(nèi),不斷更新l節(jié)點(diǎn)與i,j,k節(jié)點(diǎn)的相對(duì)距離,利用擴(kuò)展卡爾曼濾波器,對(duì)l節(jié)點(diǎn)與i,j,k節(jié)點(diǎn)的相對(duì)距離進(jìn)行濾波,減小與實(shí)際的l節(jié)點(diǎn)與i,j,k節(jié)點(diǎn)的相對(duì)距離的誤差。
第五步:根據(jù)分布式算法,得出l節(jié)點(diǎn)在動(dòng)態(tài)條件下的位置,實(shí)現(xiàn)實(shí)時(shí)定位。
進(jìn)一步地,所述步驟三具體為:
以固定節(jié)點(diǎn)i,j,k為三角形頂點(diǎn),dli,dlj,dlk分別為三角形三邊的邊長,其面積表示為sδijk,類似地,考慮l節(jié)點(diǎn)的網(wǎng)絡(luò)中,可以構(gòu)成sδljk,
該分布式算法基于重心坐標(biāo)的計(jì)算公式,即:
pl=ali*pi+alj*pj+alk*pk
其中ali+alj+alk=1;
將測(cè)得的兩兩間節(jié)點(diǎn)距離寫成矩陣形式,即:
其中σli、σlj、σlk為根據(jù)l節(jié)點(diǎn)相對(duì)于i,j,k節(jié)點(diǎn)的位置所取的系數(shù),考慮到待定位點(diǎn)不一定都在以i,j,k為頂點(diǎn)所構(gòu)成的三角形內(nèi),其值可取為1或-1,具體為:若以i,j,k節(jié)點(diǎn)為頂點(diǎn)構(gòu)成三角形,三角形的角分別記為角a、角b和角c,將三角形三邊的線段延伸為直線,則這三條直線將平面分為七個(gè)區(qū)域,將三角形內(nèi)記為區(qū)域1,將角a的對(duì)頂角所在區(qū)域記為區(qū)域2,由區(qū)域2開始順時(shí)針旋轉(zhuǎn)所經(jīng)過的區(qū)域分別記為區(qū)域3到區(qū)域7,區(qū)域2到區(qū)域7內(nèi)l節(jié)點(diǎn)相對(duì)于i,j,k節(jié)點(diǎn)的位置所取的系數(shù)(σli,σlj,σlk)分別為(1,-1,-1)、(1,-1,1)、(-1,-1,1)、(-1,1,1)、(-1,1,-1)、(1,1,-1);
將上述矩陣進(jìn)行三到四次迭代可得到基本收斂的值,即靜態(tài)條件下l節(jié)點(diǎn)的坐標(biāo)。
進(jìn)一步地,所述步驟四具體為:
在擴(kuò)展卡爾曼濾波器中,狀態(tài)估計(jì)一步預(yù)測(cè)方程為:
xn+1=xn+b*un(1)
其一步對(duì)距離變化率估計(jì)的協(xié)方差為:
pn=pn-1+q(2)
其一步觀測(cè)向量的誤差為:
en=y(tǒng)n-xn(3)
其一步卡爾曼濾波增益為:
于是,擴(kuò)展卡爾曼濾波器狀態(tài)估計(jì)的更新方程為:
xn=xn+kn*en(5)
相應(yīng)地,擴(kuò)展卡爾曼濾波器對(duì)距離變化率估計(jì)的協(xié)方差更新方程為:
pn=(i-kn*gn)*pn(6)
其中,n-1、n、n+1分別表示上一次狀態(tài)、當(dāng)前狀態(tài)和預(yù)測(cè)下一次狀態(tài);省略下標(biāo):x表示實(shí)際距離,b*un是在實(shí)際情況下對(duì)傳感器距離變化率的估計(jì)值;p為對(duì)距離變化率估計(jì)的協(xié)方差,q為過程方差;e為測(cè)量值與實(shí)際距離的偏差;k為卡爾曼濾波增益,r為測(cè)量值的方差。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
1.本發(fā)明基于uwb無線通信技術(shù),uwb無線通信技術(shù)不使用載波進(jìn)行信號(hào)調(diào)制,頻譜范圍寬,具有極高的時(shí)間分辨率,適用于高精度的定位系統(tǒng)。
2.本發(fā)明中的擴(kuò)展卡爾曼濾波器,對(duì)于動(dòng)態(tài)條件下的模型,在基于uwb技術(shù)所測(cè)得的兩點(diǎn)相對(duì)距離的基礎(chǔ)上,常用于處理網(wǎng)絡(luò)節(jié)點(diǎn)中的非線性運(yùn)動(dòng),其在一定的限制條件下,將系統(tǒng)的非線性函數(shù)轉(zhuǎn)化成局部的線性函數(shù),再利用卡爾曼濾波器進(jìn)行濾波,為精確的實(shí)時(shí)定位提供條件。
3.本發(fā)明分布式算法分情況進(jìn)行參數(shù)選取,在給定pl初值后進(jìn)行迭代,能很快收斂,最終得到一個(gè)不依賴于pl初值選取的穩(wěn)定趨向值,從而實(shí)現(xiàn)實(shí)時(shí)定位。
4.本發(fā)明將uwb技術(shù)與基于重心坐標(biāo)的用于傳感器網(wǎng)絡(luò)的分布式定位方法結(jié)合,利用動(dòng)態(tài)模型中擴(kuò)展卡爾曼濾波器對(duì)非線性運(yùn)動(dòng)系統(tǒng)的優(yōu)化,實(shí)現(xiàn)靜態(tài)系統(tǒng)和動(dòng)態(tài)系統(tǒng)中精準(zhǔn)定位的同時(shí)減少計(jì)算復(fù)雜度,使得該系統(tǒng)可在實(shí)際中應(yīng)用。
附圖說明
圖1是本發(fā)明一個(gè)實(shí)施例的具體實(shí)施流程圖;
圖2是本發(fā)明一個(gè)實(shí)施例的具體實(shí)施結(jié)果圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
如圖1所示,本發(fā)明提供的一種基于uwb的分布式定位方法,包括以下步驟:
第一步:在待定位環(huán)境部署三個(gè)距離傳感器i,j,k,利用uwb無線通信技術(shù)進(jìn)行通信得到任意兩個(gè)距離傳感器之間的距離,從而得到網(wǎng)絡(luò)中由i,j,k節(jié)點(diǎn)建立的平面直角坐標(biāo)系,i,j,k節(jié)點(diǎn)的坐標(biāo)記為pi,pj,pk。
第二步:待定位點(diǎn)的距離傳感器l與i,j,k節(jié)點(diǎn)間進(jìn)行uwb無線通信,得到l節(jié)點(diǎn)與i,j,k節(jié)點(diǎn)的相對(duì)距離dli,dlj,dlk。
第三步:根據(jù)分布式算法,得出l節(jié)點(diǎn)在靜態(tài)條件下的位置,l節(jié)點(diǎn)的坐標(biāo)記為pl。具體為:
以固定節(jié)點(diǎn)i,j,k為三角形頂點(diǎn),dli,dlj,dlk分別為三角形三邊的邊長,其面積表示為sδijk,類似地,考慮l節(jié)點(diǎn)的網(wǎng)絡(luò)中,可以構(gòu)成sδljk,
該分布式算法基于重心坐標(biāo)的計(jì)算公式,即:
pl=ali*pi+alj*pj+alk*pk
其中ali+alj+alk=1;
將測(cè)得的兩兩間節(jié)點(diǎn)距離寫成矩陣形式,即:
其中σli、σlj、σlk為根據(jù)l節(jié)點(diǎn)相對(duì)于i,j,k節(jié)點(diǎn)的位置所取的系數(shù),考慮到待定位點(diǎn)不一定都在以i,j,k為頂點(diǎn)所構(gòu)成的三角形內(nèi),其值可取為1或-1,具體為:若以i,j,k節(jié)點(diǎn)為頂點(diǎn)構(gòu)成三角形,三角形的角分別記為角a、角b和角c,將三角形三邊的線段延伸為直線,則這三條直線將平面分為七個(gè)區(qū)域,將三角形內(nèi)記為區(qū)域1,將角a的對(duì)頂角所在區(qū)域記為區(qū)域2,由區(qū)域2開始順時(shí)針旋轉(zhuǎn)所經(jīng)過的區(qū)域分別記為區(qū)域3到區(qū)域7,區(qū)域2到區(qū)域7內(nèi)l節(jié)點(diǎn)相對(duì)于i,j,k節(jié)點(diǎn)的位置所取的系數(shù)(σli,σlj,σlk)分別為(1,-1,-1)、(1,-1,1)、(-1,-1,1)、(-1,1,1)、(-1,1,-1)、(1,1,-1);
將上述矩陣進(jìn)行三到四次迭代可得到基本收斂的值,即靜態(tài)條件下l節(jié)點(diǎn)的坐標(biāo)。
第四步:在設(shè)定的時(shí)間周期內(nèi),不斷更新l節(jié)點(diǎn)與i,j,k節(jié)點(diǎn)的相對(duì)距離,利用擴(kuò)展卡爾曼濾波器,對(duì)l節(jié)點(diǎn)與i,j,k節(jié)點(diǎn)的相對(duì)距離進(jìn)行濾波,減小與實(shí)際的l節(jié)點(diǎn)與i,j,k節(jié)點(diǎn)的相對(duì)距離的誤差。具體為:
在擴(kuò)展卡爾曼濾波器中,狀態(tài)估計(jì)一步預(yù)測(cè)方程為:
xn+1=xn+b*un(1)
其一步對(duì)距離變化率估計(jì)的協(xié)方差為:
pn=pn-1+q(2)
其一步觀測(cè)向量的誤差為:
en=y(tǒng)n-xn(3)
其一步卡爾曼濾波增益為:
于是,擴(kuò)展卡爾曼濾波器狀態(tài)估計(jì)的更新方程為:
xn=xn+kn*en(5)
相應(yīng)地,擴(kuò)展卡爾曼濾波器對(duì)距離變化率估計(jì)的協(xié)方差更新方程為:
pn=(i-kn*gn)*pn(6)
其中,n-1、n、n+1分別表示上一次狀態(tài)、當(dāng)前狀態(tài)和預(yù)測(cè)下一次狀態(tài);省略下標(biāo):x表示實(shí)際距離,b*un是在實(shí)際情況下對(duì)傳感器距離變化率的估計(jì)值;p為對(duì)距離變化率估計(jì)的協(xié)方差,q為過程方差;e為測(cè)量值與實(shí)際距離的偏差;k為卡爾曼濾波增益,r為測(cè)量值的方差。
第五步:根據(jù)分布式算法,得出l節(jié)點(diǎn)在動(dòng)態(tài)條件下的位置,實(shí)現(xiàn)實(shí)時(shí)定位。
通過如圖2所示的仿真結(jié)果可見,本發(fā)明的方法不僅使得定位精度更高,而且計(jì)算過程簡(jiǎn)單,能降低計(jì)算復(fù)雜度,可以預(yù)見本發(fā)明方法能很好地適應(yīng)未來短距離、高精度定位系統(tǒng),讓用戶的性能得到提升。