黃 星, 趙 利, 蔡成林, 唐俏笑, 陳振林
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
目前,偽衛(wèi)星自主組網(wǎng)定位技術(shù)都是利用衛(wèi)星導(dǎo)航定位的原理,系統(tǒng)內(nèi)各個偽衛(wèi)星必須達(dá)到時鐘同步才能進(jìn)行定位,組網(wǎng)內(nèi)各基站間的鐘差會直接影響最后的定位精度[1]。理論上,1 ns的時鐘同步誤差相當(dāng)于10~30 cm的定位誤差。
為了達(dá)到高精度的時鐘同步,文獻(xiàn)[2]針對GPS星載原子鐘噪聲特點,利用卡爾曼濾波和最小二乘法對鐘差進(jìn)行預(yù)測及估計,而沒有對鐘差進(jìn)行修正。文獻(xiàn)[3]建立自然選擇粒子群融合算法仿真模型并結(jié)合卡爾曼濾波算法實現(xiàn)網(wǎng)絡(luò)內(nèi)各節(jié)點的時鐘同步,但是在多核環(huán)境中其算法運行時間長,難以滿足實時性的要求。文獻(xiàn)[4]針對晶振受周圍環(huán)境的影響,致使標(biāo)稱值與實際值不吻合的問題,提出自適用同步控制算法,并通過DSP實現(xiàn)時鐘同步,該方案只在有線的條件下完成,受通信線的限制。文獻(xiàn)[5]利用雙天線對時鐘同步進(jìn)行了探討,通過在同一偽衛(wèi)星上兩個發(fā)射天線采用同一時鐘基準(zhǔn)消除鐘差的影響,沒有對時鐘同步做更深入的研究。文獻(xiàn)[6]采用了卡爾曼濾波和跟蹤迭代算法對兩路時鐘信號進(jìn)行同步,但是該方法僅僅實現(xiàn)的是偽衛(wèi)星輔助導(dǎo)航衛(wèi)星,而沒有實現(xiàn)偽衛(wèi)星自主組網(wǎng)定位。
本文提出一種混合優(yōu)化算法(Hybrid Optimizing Algorithm,HOA),利用雙天線與接收機(jī)組成的三角形,消除載波相位定位中整周模糊度的影響,并通過載波相位觀測方程和最小二乘法(Least Square,LS)解算出各偽衛(wèi)星基站間的鐘差,然后利用卡爾曼濾波算法(Kalman Filter,KF)對解算出的鐘差進(jìn)行處理,最后將處理后的鐘差進(jìn)行粒子濾波,實現(xiàn)偽衛(wèi)星間高精度的時鐘同步。
時鐘同步有很多的數(shù)學(xué)模型,基于局域參考站網(wǎng)絡(luò)偽距觀測數(shù)據(jù)和實時鐘差解算公式建立的數(shù)學(xué)模型應(yīng)用最廣泛[7]。本文所提出的HOA算法是在載波相位定位方程的基礎(chǔ)上解算鐘差,其中載波相位定位方程中最重要的問題就是整周模糊度的確定[8],為了解決整周模糊度的問題,本文在發(fā)射機(jī)處設(shè)置雙天線來消除整周模糊度的影響。
本文所設(shè)計的偽衛(wèi)星組網(wǎng)定位系統(tǒng)由4個或4個以上的偽衛(wèi)星基站組成,如圖1所示,其中基站均裝備原子鐘。針對偽衛(wèi)星組網(wǎng)定位中的遠(yuǎn)近效應(yīng),本文設(shè)計的發(fā)射機(jī)采用不同的PRN碼,降低遠(yuǎn)近效應(yīng)影響;為了解決載波相位測距中的整周模糊度的問題,本文發(fā)射機(jī)采用2個發(fā)射天線,且2個天線的距離保持在半個波長之內(nèi)。
圖1 偽衛(wèi)星組網(wǎng)定位系統(tǒng)
通過參考大量的時鐘網(wǎng)絡(luò)結(jié)構(gòu)模型與仿真分析[9],采用載波相位測距的方法,通過對各基站的測距與實際距離的比較,從而計算出鐘差。其原理如下:
λ(N+θ)=R+c×Δt
(1)
式中,λ為信號的波長;N+θ為收發(fā)基站間的載波相位,N為整周部分,θ為初始相位差;R為收發(fā)基站間的實際距離;c=3×108m/s為光速;Δt為基站間的鐘差。
由于各個偽衛(wèi)星基站的位置是已知的,所以各基站的距離可表示為
(2)
(3)
式中,(x11,y11)為主基站的第1個發(fā)射天線的位置坐標(biāo);(x12,y12)為主基站的第2個發(fā)射天線的位置坐標(biāo);(xi,yi)為i號主基站的接收機(jī)位置。
基于載波相位測距定位技術(shù)在得到多個觀測值后,可建立定位方程:
(4)
由于采用了雙天線設(shè)計,且距離小于半個波長,所以基站的接收機(jī)與其他基站的發(fā)射機(jī)的雙天線構(gòu)成三角形,根據(jù)三角形的原理知:
Ri1-Ri2<0.5δ
(5)
式中,δ為信號波長。由式(5)可知,Ri1和Ri2的距離差是由初始相位差引起,與整周模糊度沒有關(guān)系,所以式(4)可改寫為
(6)
式(6)可改寫為
XV=R
(7)
其中,
對于式(7)的最小二乘解為
X=(VTV)-1VTR
(8)
利用觀測數(shù)據(jù)解算出整周模糊度Ni1和各偽衛(wèi)星基站間的鐘差Δt。
卡爾曼濾波算法因迭代時間短而被廣泛應(yīng)用,同時出現(xiàn)了大量的改進(jìn)算法,其中DKFCC同步算法是在分布式卡爾曼得到時鐘參數(shù)最優(yōu)估計的基礎(chǔ)上,通過一致性補(bǔ)償實現(xiàn)時鐘同步[10]。本文針對最小二乘法解算出的鐘差,設(shè)計出合適的卡爾曼濾波算法,將解算得出的各偽衛(wèi)星基站間的鐘差Δt作為卡爾曼濾波算法的輸入,即y=Δt,卡爾曼濾波器的更新過程如下:
x(k)=x(k-1) 狀態(tài)預(yù)測
p(k)=φ(k)p(k-1)φ(k)T+Q協(xié)方差預(yù)測
K(k)=p(k)HTR-1卡爾曼增益
x(k)=x(k)+K(k)×(y(k)-x(k)) 狀態(tài)更新
p(k)=(1-K(k)×p(k)) 協(xié)方差更新
將卡爾曼濾波后的鐘差作為粒子濾波的輸入,即T=x(t),具體的粒子濾波過程如下。
計算重要性權(quán)值如下:
⑤ 判斷是否結(jié)束,若是則退出算法,否則返回②。
為了驗證時鐘同步對偽衛(wèi)星組網(wǎng)定位[15]的影響,本文采用具有高精度的載波相位測距的方法,其原理如下:
λ(N+θ)=R1+c×Δt
(9)
式中,R1為用戶與各偽衛(wèi)星基站間的距離。
(10)
式中,(xi,yi)為偽衛(wèi)星基站的任意一個發(fā)射天線的位置坐標(biāo);(x,y)為待求用戶坐標(biāo)位置。通過對各基站時鐘同步前后的定位精度對比,驗證了本文算法的有效性。
時鐘同步是偽衛(wèi)星組網(wǎng)定位最基本的問題,也是影響定位精度的關(guān)鍵問題。本文通過采集大量的觀測數(shù)據(jù),并利用Matlab 2014平臺對采集的數(shù)據(jù)進(jìn)行處理,實現(xiàn)高精度的時鐘同步。HOA算法流程如下。
① 利用嵌入式DSP平臺設(shè)計偽衛(wèi)星接收機(jī),如圖2所示,采集發(fā)射機(jī)的測距數(shù)據(jù);
② 提取采集數(shù)據(jù)中的初始相位差信息,即θ的值;
③ 將所得θ值代入到式(7),利用最小二乘法解算出整周模糊度N以及鐘差Δt;
④ 將所得鐘差Δt作為卡爾曼濾波的狀態(tài)方程,進(jìn)行卡爾曼濾波處理;
⑤ 將卡爾曼濾波處理后的鐘差進(jìn)行粒子濾波,實現(xiàn)各個偽衛(wèi)星間的高精度時鐘同步;
⑥ 對粒子濾波處理后的鐘差代入式(9),通過多個歷元數(shù)據(jù)解算出待求用戶坐標(biāo)信息;
⑦ 若所求待求點坐標(biāo)不滿足定位精度,則重新采集數(shù)據(jù),重復(fù)①~⑥,直到滿足定位精度要求。
圖2 偽衛(wèi)星接收機(jī)原理圖
HOA算法開創(chuàng)性地將卡爾曼濾波算法和粒子濾波算法有機(jī)地結(jié)合,通過對卡爾曼已有的算法進(jìn)行參數(shù)的更改,以達(dá)到縮小鐘差的目的,并將所得鐘差進(jìn)行粒子濾波,針對輸入鐘差設(shè)計出新的權(quán)重,完成高精度的時鐘同步要求。
根據(jù)上述算法流程,本文采集了100個歷元的發(fā)射機(jī)數(shù)據(jù)進(jìn)行Matlab仿真。通過提取相位差觀測值采用最小二乘法解算出偽衛(wèi)星之間的鐘差,如圖3所示。將解算出的鐘差作為輸入方程,進(jìn)行卡爾曼濾波、粒子濾波和HOA算法處理,濾波后各鐘差如圖4所示。
圖3 偽衛(wèi)星間的鐘差
圖4 濾波后的鐘差
通過圖4的實驗結(jié)果可以發(fā)現(xiàn),HOA算法和粒子濾波算法(PF)能夠更好地縮短鐘差,其同步精度更高。為了更好地對比出各算法的優(yōu)缺點,本文利用兩次卡爾曼濾波算法(Liangci Kalman Filter,LKF)和兩次粒子濾波算法(Liangci Particle Filter,LPF)與HOA算法對比,其結(jié)果如圖5所示。
圖5 兩次濾波后的鐘差
表1是由1000個歷元數(shù)據(jù)所得的結(jié)果,其中均值由各元素取絕對值后所得,由此可知粒子濾波算法可以將鐘差縮小一個數(shù)量級,但是其運算時間長,實時性差。最小二乘算法和卡爾曼濾波算法無法完成更高精度的時鐘同步,兩次卡爾曼濾波后的鐘差精度也無法提高,但是其實時性明顯高于粒子濾波算法。本文HOA算法的同步精度明顯高于最小二乘算法和粒子濾波算法,其同步精度要低于兩次粒子濾波算法。就實時性而言,HOA算法充分利用了卡爾曼迭代時間短的優(yōu)點,能夠快速地將最小二乘法解算出的鐘差進(jìn)行濾波處理,使得粒子濾波算法具有更好的初始化粒子,可以縮短粒子濾波算法的迭代時間,因此其實時性高于粒子濾波算法和兩次粒子濾波算法。
表1 各算法同步精度與解算時間對比 單位:s
將HOA算法處理后的鐘差代入到載波相位觀測方程中進(jìn)行用戶位置解算,由于起始數(shù)據(jù)對定位結(jié)果影響較大,所以舍去了前100個數(shù)據(jù),其定位結(jié)果均方根誤差如圖6、圖7所示。其中圖6為經(jīng)過卡爾曼濾波后的鐘差對定位結(jié)果的均方根誤差,圖7為經(jīng)過HOA算法后的鐘差對定位結(jié)果的均方根誤差。由圖6、圖7可知,組網(wǎng)內(nèi)偽衛(wèi)星時鐘未同步的情況下可實現(xiàn)分米級的定位,而鐘差經(jīng)過HOA算法處理后,可實現(xiàn)厘米級的定位。
由上述定位結(jié)果均方根誤差可知,HOA算法能夠有效地提高時鐘同步精度,從而提高偽衛(wèi)星組網(wǎng)的定位精度。通過對位置的解算,驗證了本文方法的可行性。
圖6 同步前定位均方根誤差
圖7 同步后定位均方根誤差
針對偽衛(wèi)星組網(wǎng)定位中偽衛(wèi)星網(wǎng)絡(luò)時鐘同步問題展開研究,提出HOA算法,將卡爾曼濾波算法迭代時間短和粒子濾波算法精度高有機(jī)結(jié)合,充分利用了卡爾曼濾波算法和粒子濾波算法的各自優(yōu)勢,提高了整個同步過程的精度和效率。相較于卡爾曼濾波算法,雖然實時性降低了,但是其同步精度提高了一個數(shù)量級。HOA算法與經(jīng)典粒子濾波算法相比,具有精度高、迭代時間短的優(yōu)勢。所研究的混合優(yōu)化濾波算法對提高偽衛(wèi)星定位精度具有一定的參考價值。