謝曉輝
(安徽理工大學(xué)電氣與信息工程學(xué)院,安徽 淮南 232001)
TDOA定位方法是一種利用時間的差值來定位的方法。只要測量信號到達(dá)監(jiān)測站的時間,就可以檢測信號源的距離。以檢測站的位置為中心,距離為半徑,就能有效確定信號的位置。改進(jìn)TWR-TDOA在傳統(tǒng)的TWR-TDOA上加了一個T5時間戳,每次數(shù)據(jù)回傳時會估計一個估計值,估計值是根據(jù)T4加上延時估計出來的。在犧牲處理器少量的運算時間基礎(chǔ)上,提高整個系統(tǒng)的定位精度[1-2]。
在傳統(tǒng)的TWR-TDOA上加了一個T5時間戳,每次數(shù)據(jù)回傳時會估計一個估計值,估計值是根據(jù)T4加上延時估計出來的。在定位系統(tǒng)中,支持多目標(biāo)節(jié)點和參考節(jié)點掃描目標(biāo)節(jié)點,參考節(jié)點是主動的,移動節(jié)點是被動的。在信號過來是會準(zhǔn)確讀取T5真實值,是在犧牲處理器少量的運算時間,提高整個系統(tǒng)的定位精度。改進(jìn)方案時間戳的傳播示意圖如圖1:
圖1 改進(jìn)方案時間戳的傳播示意圖
其中的POLL,RESP,F(xiàn)INA都是包含時間戳的數(shù)據(jù)包。
在改進(jìn)后的TDOA定位算法中,要支持多移動節(jié)點,需要基站掃描移動節(jié)點的ID區(qū)分不同的移動節(jié)點,所以基站是主動端,移動節(jié)點是被動端。在圖1中表述了數(shù)據(jù)流的走向,在T1時刻移動節(jié)點廣播發(fā)送POLL數(shù)據(jù)包,當(dāng)基站在T2時刻收到POLL數(shù)據(jù)包時經(jīng)過芯片運行的時間,在T3時刻將RESP數(shù)據(jù)包再轉(zhuǎn)發(fā)出去,當(dāng)T4時刻移動節(jié)點接收到RESP時同樣芯片需要時間轉(zhuǎn)發(fā),在T5時刻轉(zhuǎn)發(fā)出去作為最后一次通信的標(biāo)志位,數(shù)據(jù)包FINAL到達(dá)T6。到此硬件的定位算法數(shù)據(jù)通信完成,但是為了增加精確性。
(1)
為了避免誤差的時間在運算時要進(jìn)行偶然誤差的影響,軟件會檢測數(shù)據(jù)包發(fā)送的數(shù)據(jù)戳。因為定位系統(tǒng)在10cm之內(nèi),電磁波在真空中傳輸?shù)臅r間為380M/S。在軟件判斷的時候?qū)砰_到15cm。判斷時間戳為:
t≤15/38000≈0.4ms
(2)
那么所有時間戳都要滿足:
(3)
當(dāng)時間戳都不滿足上述條件的時候,就丟棄數(shù)據(jù)包。如果滿足上述條件則算其平均值:
(4)
從k-1時刻到k時刻,卡爾曼濾波器的狀態(tài)方程如下:
Xk=AXk-1+Buk+wk
(5)
其中Xk是狀態(tài)向量;A是狀態(tài)轉(zhuǎn)移矩陣;B是輸入增益矩陣;uk是系統(tǒng)輸入向量;wk是均值為0時,協(xié)方差為Q,服從正態(tài)分布的過程噪聲[3-5]。
X是一個n維的列向量,ui是xi的期望,則協(xié)方差矩陣為:
P=E[(X-E[X])(X-E[X])T]=
(6)
式(6)可以看出協(xié)方差矩陣都是對稱舉證而且是半正定,協(xié)方差的跡tr(P)是X的均方誤差。
卡爾曼的系統(tǒng)狀態(tài)觀測方程:
Zk=HXk+vk
(7)
上式Zk是測量向量,H是測量矩陣,vk是均值為0時,協(xié)方差舉證為R,且服從正態(tài)分布的測量噪聲。從觀測方程和狀態(tài)方程看出k-1時刻和k時刻之間有了聯(lián)系,而wk,vk則是反映出狀態(tài)和測量的誤差。
預(yù)測過程:
(8)
Pk=APk-1AT+Q
(9)
校正過程:
(10)
(11)
(12)
更新協(xié)方差估計:
Pk=(I-KkH)Pk′
(13)
在礦井下的NLOS影響狀態(tài)方程:
Xk=AXk-1+Buk+NLOSK
(14)
誤差是因為不存在直線距離導(dǎo)致的,那么在校正過程中,已經(jīng)被校正了??柭谛U螅詣踊貧w運行且對狀態(tài)轉(zhuǎn)移協(xié)方差矩陣更新。
在無障礙地區(qū)放置四個基站,并設(shè)立25個測試點,記錄設(shè)備在各測試點處用UWB測出的坐標(biāo)和用UWB測出的與各基站之間的距離。設(shè)備在每個測試點測試30次,并記錄每次數(shù)據(jù)。
均值誤差計算公式:
(15)
計算坐標(biāo)error的分布矩陣,計算公式如下:
(16)
其中errori為設(shè)備在第i點測試點的測量坐標(biāo)與真實坐標(biāo)之間的誤差,error(i,x)和error(i,y)為設(shè)備在第i點測試點的測量坐標(biāo)與真實坐標(biāo)x軸和y軸的均值誤差
以上計算得出設(shè)備與基站error的分布,采用matlab4格點樣條函數(shù)內(nèi)插[8],光滑擴充error矩陣,使得error矩陣在可視化圖里光滑,便于研究。如圖2為設(shè)備實際值與測量值的誤差分布熱圖
圖2 設(shè)備實際值與測量值的誤差分布熱圖
距離誤差分析,設(shè)備與各基站之間的實際距離和測試距離的均值誤差為式(15)的error(i,Aj),對error(i,Aj)做area圖(填充區(qū)域圖),如圖3所示。
圖3 移動節(jié)點與各基站的誤差area圖
定位誤差結(jié)果表明,本算法的定位精度滿足設(shè)計要求,設(shè)備在四基站中間部分時定位誤差較小,當(dāng)設(shè)備處于基站邊緣時誤差變大,可將設(shè)備處于軌道中間進(jìn)行定位,以獲得較高的定位精度。