黃 星, 趙 利, 蔡成林, 唐俏笑, 陳振林
(桂林電子科技大學 信息與通信學院,廣西 桂林 541004)
目前,偽衛星自主組網定位技術都是利用衛星導航定位的原理,系統內各個偽衛星必須達到時鐘同步才能進行定位,組網內各基站間的鐘差會直接影響最后的定位精度[1]。理論上,1 ns的時鐘同步誤差相當于10~30 cm的定位誤差。
為了達到高精度的時鐘同步,文獻[2]針對GPS星載原子鐘噪聲特點,利用卡爾曼濾波和最小二乘法對鐘差進行預測及估計,而沒有對鐘差進行修正。文獻[3]建立自然選擇粒子群融合算法仿真模型并結合卡爾曼濾波算法實現網絡內各節點的時鐘同步,但是在多核環境中其算法運行時間長,難以滿足實時性的要求。文獻[4]針對晶振受周圍環境的影響,致使標稱值與實際值不吻合的問題,提出自適用同步控制算法,并通過DSP實現時鐘同步,該方案只在有線的條件下完成,受通信線的限制。文獻[5]利用雙天線對時鐘同步進行了探討,通過在同一偽衛星上兩個發射天線采用同一時鐘基準消除鐘差的影響,沒有對時鐘同步做更深入的研究。文獻[6]采用了卡爾曼濾波和跟蹤迭代算法對兩路時鐘信號進行同步,但是該方法僅僅實現的是偽衛星輔助導航衛星,而沒有實現偽衛星自主組網定位。
本文提出一種混合優化算法(Hybrid Optimizing Algorithm,HOA),利用雙天線與接收機組成的三角形,消除載波相位定位中整周模糊度的影響,并通過載波相位觀測方程和最小二乘法(Least Square,LS)解算出各偽衛星基站間的鐘差,然后利用卡爾曼濾波算法(Kalman Filter,KF)對解算出的鐘差進行處理,最后將處理后的鐘差進行粒子濾波,實現偽衛星間高精度的時鐘同步。
時鐘同步有很多的數學模型,基于局域參考站網絡偽距觀測數據和實時鐘差解算公式建立的數學模型應用最廣泛[7]。本文所提出的HOA算法是在載波相位定位方程的基礎上解算鐘差,其中載波相位定位方程中最重要的問題就是整周模糊度的確定[8],為了解決整周模糊度的問題,本文在發射機處設置雙天線來消除整周模糊度的影響。
本文所設計的偽衛星組網定位系統由4個或4個以上的偽衛星基站組成,如圖1所示,其中基站均裝備原子鐘。針對偽衛星組網定位中的遠近效應,本文設計的發射機采用不同的PRN碼,降低遠近效應影響;為了解決載波相位測距中的整周模糊度的問題,本文發射機采用2個發射天線,且2個天線的距離保持在半個波長之內。

圖1 偽衛星組網定位系統
通過參考大量的時鐘網絡結構模型與仿真分析[9],采用載波相位測距的方法,通過對各基站的測距與實際距離的比較,從而計算出鐘差。其原理如下:
λ(N+θ)=R+c×Δt
(1)
式中,λ為信號的波長;N+θ為收發基站間的載波相位,N為整周部分,θ為初始相位差;R為收發基站間的實際距離;c=3×108m/s為光速;Δt為基站間的鐘差。
由于各個偽衛星基站的位置是已知的,所以各基站的距離可表示為
(2)
(3)
式中,(x11,y11)為主基站的第1個發射天線的位置坐標;(x12,y12)為主基站的第2個發射天線的位置坐標;(xi,yi)為i號主基站的接收機位置。
基于載波相位測距定位技術在得到多個觀測值后,可建立定位方程:
(4)
由于采用了雙天線設計,且距離小于半個波長,所以基站的接收機與其他基站的發射機的雙天線構成三角形,根據三角形的原理知:
Ri1-Ri2<0.5δ
(5)
式中,δ為信號波長。由式(5)可知,Ri1和Ri2的距離差是由初始相位差引起,與整周模糊度沒有關系,所以式(4)可改寫為
(6)
式(6)可改寫為
XV=R
(7)
其中,
對于式(7)的最小二乘解為
X=(VTV)-1VTR
(8)
利用觀測數據解算出整周模糊度Ni1和各偽衛星基站間的鐘差Δt。
卡爾曼濾波算法因迭代時間短而被廣泛應用,同時出現了大量的改進算法,其中DKFCC同步算法是在分布式卡爾曼得到時鐘參數最優估計的基礎上,通過一致性補償實現時鐘同步[10]。本文針對最小二乘法解算出的鐘差,設計出合適的卡爾曼濾波算法,將解算得出的各偽衛星基站間的鐘差Δt作為卡爾曼濾波算法的輸入,即y=Δt,卡爾曼濾波器的更新過程如下:
x(k)=x(k-1) 狀態預測
p(k)=φ(k)p(k-1)φ(k)T+Q協方差預測
K(k)=p(k)HTR-1卡爾曼增益
x(k)=x(k)+K(k)×(y(k)-x(k)) 狀態更新
p(k)=(1-K(k)×p(k)) 協方差更新

將卡爾曼濾波后的鐘差作為粒子濾波的輸入,即T=x(t),具體的粒子濾波過程如下。


計算重要性權值如下:
⑤ 判斷是否結束,若是則退出算法,否則返回②。
為了驗證時鐘同步對偽衛星組網定位[15]的影響,本文采用具有高精度的載波相位測距的方法,其原理如下:
λ(N+θ)=R1+c×Δt
(9)
式中,R1為用戶與各偽衛星基站間的距離。
(10)
式中,(xi,yi)為偽衛星基站的任意一個發射天線的位置坐標;(x,y)為待求用戶坐標位置。通過對各基站時鐘同步前后的定位精度對比,驗證了本文算法的有效性。
時鐘同步是偽衛星組網定位最基本的問題,也是影響定位精度的關鍵問題。本文通過采集大量的觀測數據,并利用Matlab 2014平臺對采集的數據進行處理,實現高精度的時鐘同步。HOA算法流程如下。
① 利用嵌入式DSP平臺設計偽衛星接收機,如圖2所示,采集發射機的測距數據;
② 提取采集數據中的初始相位差信息,即θ的值;
③ 將所得θ值代入到式(7),利用最小二乘法解算出整周模糊度N以及鐘差Δt;
④ 將所得鐘差Δt作為卡爾曼濾波的狀態方程,進行卡爾曼濾波處理;
⑤ 將卡爾曼濾波處理后的鐘差進行粒子濾波,實現各個偽衛星間的高精度時鐘同步;
⑥ 對粒子濾波處理后的鐘差代入式(9),通過多個歷元數據解算出待求用戶坐標信息;
⑦ 若所求待求點坐標不滿足定位精度,則重新采集數據,重復①~⑥,直到滿足定位精度要求。

圖2 偽衛星接收機原理圖
HOA算法開創性地將卡爾曼濾波算法和粒子濾波算法有機地結合,通過對卡爾曼已有的算法進行參數的更改,以達到縮小鐘差的目的,并將所得鐘差進行粒子濾波,針對輸入鐘差設計出新的權重,完成高精度的時鐘同步要求。
根據上述算法流程,本文采集了100個歷元的發射機數據進行Matlab仿真。通過提取相位差觀測值采用最小二乘法解算出偽衛星之間的鐘差,如圖3所示。將解算出的鐘差作為輸入方程,進行卡爾曼濾波、粒子濾波和HOA算法處理,濾波后各鐘差如圖4所示。

圖3 偽衛星間的鐘差

圖4 濾波后的鐘差
通過圖4的實驗結果可以發現,HOA算法和粒子濾波算法(PF)能夠更好地縮短鐘差,其同步精度更高。為了更好地對比出各算法的優缺點,本文利用兩次卡爾曼濾波算法(Liangci Kalman Filter,LKF)和兩次粒子濾波算法(Liangci Particle Filter,LPF)與HOA算法對比,其結果如圖5所示。

圖5 兩次濾波后的鐘差
表1是由1000個歷元數據所得的結果,其中均值由各元素取絕對值后所得,由此可知粒子濾波算法可以將鐘差縮小一個數量級,但是其運算時間長,實時性差。最小二乘算法和卡爾曼濾波算法無法完成更高精度的時鐘同步,兩次卡爾曼濾波后的鐘差精度也無法提高,但是其實時性明顯高于粒子濾波算法。本文HOA算法的同步精度明顯高于最小二乘算法和粒子濾波算法,其同步精度要低于兩次粒子濾波算法。就實時性而言,HOA算法充分利用了卡爾曼迭代時間短的優點,能夠快速地將最小二乘法解算出的鐘差進行濾波處理,使得粒子濾波算法具有更好的初始化粒子,可以縮短粒子濾波算法的迭代時間,因此其實時性高于粒子濾波算法和兩次粒子濾波算法。

表1 各算法同步精度與解算時間對比 單位:s
將HOA算法處理后的鐘差代入到載波相位觀測方程中進行用戶位置解算,由于起始數據對定位結果影響較大,所以舍去了前100個數據,其定位結果均方根誤差如圖6、圖7所示。其中圖6為經過卡爾曼濾波后的鐘差對定位結果的均方根誤差,圖7為經過HOA算法后的鐘差對定位結果的均方根誤差。由圖6、圖7可知,組網內偽衛星時鐘未同步的情況下可實現分米級的定位,而鐘差經過HOA算法處理后,可實現厘米級的定位。
由上述定位結果均方根誤差可知,HOA算法能夠有效地提高時鐘同步精度,從而提高偽衛星組網的定位精度。通過對位置的解算,驗證了本文方法的可行性。

圖6 同步前定位均方根誤差

圖7 同步后定位均方根誤差
針對偽衛星組網定位中偽衛星網絡時鐘同步問題展開研究,提出HOA算法,將卡爾曼濾波算法迭代時間短和粒子濾波算法精度高有機結合,充分利用了卡爾曼濾波算法和粒子濾波算法的各自優勢,提高了整個同步過程的精度和效率。相較于卡爾曼濾波算法,雖然實時性降低了,但是其同步精度提高了一個數量級。HOA算法與經典粒子濾波算法相比,具有精度高、迭代時間短的優勢。所研究的混合優化濾波算法對提高偽衛星定位精度具有一定的參考價值。