戴邵武,劉 剛,王 朕,張文廣,李瑞濤
(海軍航空工程學院控制工程系,山東煙臺 264001)
船用低成本GNSS測向系統(tǒng)研究
戴邵武,劉 剛,王 朕,張文廣,李瑞濤
(海軍航空工程學院控制工程系,山東煙臺 264001)
GNSS導航星座主要由GPS、GLONASS、Galileo、BDS四大系統(tǒng)衛(wèi)星組成,到2020年,用戶有望同時觀測到40多顆導航衛(wèi)星,大幅提升導航性能的同時,也擴展了其應用領域。針對靶船、漁船對航向測量的需求,基于GNSS接收機應用現(xiàn)狀,設計了低成本GNSS測向系統(tǒng),使用2塊Ublox LEA-M8T模塊和STM32F407處理器搭建原理樣機硬件平臺,開展基于Kalman濾波器的載波相位差分姿態(tài)測量算法研究和基于Kalman濾波器的偽距差分姿態(tài)測量算法研究。靜態(tài)實驗表明,在8.5m基線的情況下,航向角測量標準差為0.0396°,俯仰角測量標準差為0.0889°。使用偽距差分算法,緯度方向上測量誤差標準差為0.5923m,經(jīng)度方向上測量誤差標準差為0.4609m,高度方向上測量誤差標準差為1.0766m。
全球導航衛(wèi)星系統(tǒng);載波相位差分;偽距差分;Kalman;測向
艦船航向角定義為艏艉中心軸線在大地水平面上投影與當?shù)卣姹狈较虻膴A角,為艦船航行的重要參數(shù)。軍用艦船和大型水面艦艇通常使用平臺羅經(jīng)和高精度慣性導航系統(tǒng)來測量艦船航向,具有精度高、完全自主、可靠性高、不容易受干擾等特點,但成本高、體積大,在漁船、靶船、巡邏船、商用貨船等場合不適用[1]。
隨著中國北斗衛(wèi)星導航系統(tǒng)建設,2012年底,中國衛(wèi)星導航系統(tǒng)管理辦公室對外發(fā)布了《北斗衛(wèi)星導航系統(tǒng)空間信號接口控制文件》,對外開放民用信號碼結構,具備向亞太地區(qū)提供北斗衛(wèi)星導航服務的條件,拉開了北斗應用市場的帷幕[2-4]。
早在2010年,中華人民共和國農(nóng)業(yè)部發(fā)布了《北斗衛(wèi)星導航系統(tǒng)漁業(yè)船載設備技術條件》的水產(chǎn)行業(yè)標準,規(guī)定60馬力以上出海漁船安裝北斗定位和通信系統(tǒng),該系統(tǒng)對出海漁船的監(jiān)控管理、搶險救助、災害天氣預警等起到了關鍵作用,但該系統(tǒng)只能測量漁船的位置,無法給出其航向信息,給漁船駕駛和監(jiān)管帶來不便。此外,自動靶船、測量船等無人航行器,迫切需要實現(xiàn)低成本的航向測量方案,以便實現(xiàn)按規(guī)劃路線自主航行。
基于以上應用背景,本文設計了低成本的GNSS(Global Navigation Satellite System,全球衛(wèi)星導航系統(tǒng))船用測量系統(tǒng)方案,選用兩款能輸出原始觀測量的商用GNSS模塊,和GNSS天線、導航處理器組成GNSS測量系統(tǒng),開展了硬件設計、軟件設計和靜態(tài)實驗工作。
后續(xù)章節(jié)的安排是:第2部分介紹系統(tǒng)組成和硬件設計;第3部分介紹GNSS雙天線測向算法及軟件設計;第4部分開展靜態(tài)實驗研究;第5部分對本文工作進行總結。
受衛(wèi)星軌道誤差、衛(wèi)星鐘差、電離層誤差、對流層誤差、接收機鐘差、多徑誤差等的影響,單天線GNSS定位精度為15m。將2個GNSS天線觀測信號進行差分,消除上述誤差后,能夠實現(xiàn)厘米級的相對定位結果。雙天線GNSS測向正是利用了上述原理,求得2個天線間的基線矢量,從而計算該基線矢量在地理坐標系中的航向角和俯仰角。基線矢量越長,則姿態(tài)角測量精度越高,典型情況下0.5m基線航向角精度為0.5°[7-8]。
GNSS通過偽碼或載波相位實現(xiàn)距離測量,其中偽碼測量精度為1m,而載波相位精度能達到2mm,但載波整周數(shù)無法測量,存在整周模糊度問題。如果GNSS兩天線在衛(wèi)星視線方向上距離不同,則接收到的GNSS載波相位不同,如圖1所示。

圖1 載波相位觀測值Fig.1 Observation of carrier phase
兩天線接收的載波相位差,即代表基線向量在衛(wèi)星視線方向上的投影,通過觀察3顆以上衛(wèi)星的載波相位差,即可求解方程得到基線向量在ECEF(Earth-Centered, Earth-Fixed,地心地固)坐標系下的坐標,經(jīng)過換算后即可得到航向角和俯仰角。
至此,GNSS測量的前提是能獲得載波相位觀測量,支持GNSS載波相位輸出的商業(yè)模塊主要包括Ublox公司M6T、M8T、M8P和東方聯(lián)星公司CC50III模塊,支持接收L1波段單頻數(shù)據(jù),價格均不超過1000元,各模塊支持的系統(tǒng)如表1所示。

表1 各模塊支持的GNSS系統(tǒng)
多GNSS系統(tǒng)帶來更多的可視衛(wèi)星數(shù)量,未來用戶有望同時接收到40多顆衛(wèi)星信號,冗余的衛(wèi)星觀測量將加快整數(shù)模糊度求解速度。因此,本文選用Ublox LEA-M8T模塊來設計低成本GNSS測向系統(tǒng),系統(tǒng)組成如圖2所示。

圖2 GNSS測向系統(tǒng)組成框圖Fig.2 Block diagram of the GNSS heading determination system
導航處理器選用意法半導體公司的STM32F407芯片,主頻達到168MHz,且具有單精度浮點運算單元,完全達到單頻點GNSS測向軟件需求,電路設計及實物如圖3所示。

圖3 電路設計及電路照片F(xiàn)ig.3 Designment and picture of electric circuit
該電路可使用USB接口進行供電,方便開展外場實驗。
本文以GPS L1和BDS B1頻點為例來推導GNSS測向算法,但該算法很容易推廣到Galileo E1和GLONASS G1頻點使用[5-8]。GNSS偽距和載波相位觀測值可表示為:
ρj,r=λ-1(rj,r+Ij,r+Tj,r)+f(δtr-δtj)+εj,r
(1)
ρj,b=λ-1(rj,b+Ij,b+Tj,b)+f(δtb-δtj)+εj,b
(2)
φj,r=λ-1(rj,r-Ij,r+Tj,r)+f(δtr-δtj)+Nj,r+ηj,r
(3)
φj,b=λ-1(rj,b-Ij,b+Tj,b)+f(δtb-δtj)+Nj,b+ηj,b
(4)
其中,ρ和φ代表偽距和載波相位(單位:周),λ為載波波長,r代表衛(wèi)星到接收機的真實距離,I是電離層延遲,T是對流層延遲,f是載波頻率,下標b代表base基準站,下標r代表rover移動站,下標j代表第j顆衛(wèi)星,δtr是移動站接收機鐘差,δtb是基準站接收機鐘差,δtj是衛(wèi)星鐘差,N是整周模糊度,ε和η是偽距噪聲和載波相位噪聲,其方差可表示為衛(wèi)星仰角的函數(shù)[9]
σ2=(a+b/sin2θ)/λ2
(5)
其中,θ是衛(wèi)星仰角,a和b可以按照經(jīng)驗值選擇,例如對于載波相位,可選擇a=0,b=9e-6,而對于偽距,可選擇a=0,b=2.25,即載波相位精度比偽距高500倍。
為了消除各項誤差,首先進行基準站和移動站間差分:
ρj,rb=λ-1(rj,rb+Ij,rb+Tj,rb)+fδtrb+εj,rb
(6)
φj,rb=λ-1(rj,rb-Ij,rb+Tj,rb)+fδtrb+Nj,rb+ηj,rb
(7)
則可消除衛(wèi)星鐘差,再選擇第i顆衛(wèi)星為基準星,進行星間差分,得到雙差觀測量:
ρji,rb=λ-1(rji,rb+Iji,rb+Tji,rb)+εji,rb
(8)
φji,rb=λ-1(rji,rb-Iji,rb+Tji,rb)+Nji,rb+ηji,rb
(9)
可進一步消除接收機鐘差,GNSS測向中通常2個天線距離較近,短基線情況下可忽略電離層和對流層誤差:
ρji,rb=λ-1rji,rb+εji,rb
(10)
φji,rb=λ-1rji,rb+Nji,rb+ηji,rb
(11)
其中,ρji,rb是偽距雙差觀測量,φji,rb是載波相位雙差觀測量,均已知,Nji,rb是雙差整周模糊度,rji,rb可表示為
rji,rb=-λ-1(aj,r-ai,r)Tbrb
(12)
其中,aj,r是接收機到第i顆衛(wèi)星投影矢量,brb是基線向量,在ECEF坐標系表示為:brb=[xrbyrbzrb]。
2.1 載波相位差分算法
通過構造Kalman濾波器求解上述變量的浮點解,為了兼容GLONASS系統(tǒng)使用的FDMA調制方式,Kalman濾波選擇單差整周模糊度為狀態(tài)量,假設有m顆可視衛(wèi)星,則狀態(tài)向量為
X=[xrb,yrb,zrb,N1,rb,N2,rb,…,Nm,rb]
其狀態(tài)轉移矩陣為單位陣,則狀態(tài)轉移方程為
Xk+1=Fk,k+1Xk+Wk
(13)
Wk為狀態(tài)噪聲,其狀態(tài)協(xié)方差矩陣Q中與基線相關的對角線元素取經(jīng)驗值,與單差模糊度相關的元素取為0。
Kalman濾波器觀測量取為偽距雙差和載波相位雙差
Z=[φ1i,rb,…,φmi,rb,ρ1i,rb,…,ρmi,rb]=h(X)+V
觀測矩陣H表示為:
(14)
Hbr=-λ-1[(a1,r-ai,r)T,…,(am,r-ai,r)T]T
(15)
(16)
第1顆衛(wèi)星偽距雙差觀測噪聲為(其余衛(wèi)星類似計算)

(17)
上述是對單GNSS系統(tǒng)的濾波方程,如果同時觀測GPS衛(wèi)星和BDS衛(wèi)星,由于存在GNSS系統(tǒng)間誤差,無法共用基準星,所以需要在上述方程的基礎上對矩陣進行增廣,增加其維數(shù)即可,此處不再累述。
得到Kalman濾波器狀態(tài)轉移方程、觀測方程、狀態(tài)噪聲矩陣、觀測噪聲矩陣后,可按以下步驟開展濾波:
Pk,k-1=Φk,k-1Pk-1(Φk,k-1)T+Qk-1
(18)
Kk=Pk,k-1(Hk)T[HkPk,k-1(Hk)T+Rk]-1
(19)
Pk=(I-KkHk)Pk,k-1
(20)

(21)

(22)
在每一個觀測歷元,當存在偽距觀測量或載波相位觀測量時,均進行Kalman濾波,可視衛(wèi)星數(shù)量越多,則Kalman濾波收斂越快。例如,在野外開闊天空,使用GPSL1頻點和BDSB1頻點接收機,則通常單歷元即可求得較準確的基線矢量、單差整周模糊度浮點解。
獲得單差模糊度浮點解Nfloat及其狀態(tài)協(xié)方差矩陣PSD后,通過矩陣D轉換為雙差模糊度浮點解DNfloat及其方差陣DPSDDT,便可利用標準的Lambda算法搜索雙差模糊度整數(shù)解,雙差模糊度整數(shù)解固定后,便可計算得到高精度的基線向量[10]

(23)
其中,Xr為移動站單點定位坐標,Xb為基準站單點定位坐標,Hφ是與載波相位相關的觀測子矩陣,Rφ是載波相位觀測噪聲,φm,DD是雙差載波相位觀測值列向量, N是雙差整周模糊度,當雙差模糊度整數(shù)解固定后,將整數(shù)解帶入計算,否則,帶入浮點解計算。
此外,開源rtklib軟件運行載波相位差分算法時,當增加可視衛(wèi)星數(shù)時,會導致Kalman濾波誤差增大,進一步導致雙差模糊度整數(shù)解無法固定。針對這一問題,本文在新增加衛(wèi)星觀測量時,先根據(jù)當前基線計算結果,解方程求其模糊度整數(shù)解,之后再加入Kalman濾波中,在短基線情況下有效解決了上述問題。
2.2 偽距差分算法
載波相位差分算法能達到厘米級的測量精度,然而,當可視衛(wèi)星數(shù)量較少,或者衛(wèi)星信號載噪比小于38dBHz的情況下,由于載波相關觀測量少或觀測精度不高,將導致載波相位差分算法失效。此時,偽距差分可以作為替代方案。
偽距差分算法能達到米級測量精度,由于船體長度通常為30~100m之間,將天線分別布置在船艏和船艉,如果偽距差分算法精度為1m,天線基線長度為70m,則航向角精度為1/70=0.0143rad,約為0.8185°,滿足艦船駕駛需求。
同樣使用Kalman濾波器實現(xiàn)偽距差分算法,其實現(xiàn)過程與載波相位差分算法類似,只是去除與載波相位相關的部分即可,此處不再累述。
為了驗證本文設計GNSS測向系統(tǒng)精度,使用硬件系統(tǒng)開展了靜態(tài)實驗工作。實驗時間為2016年5月14日10:00~16:00,實驗地點為山東煙臺海軍航空工程學院綜合實驗樓樓頂,使用2個NovatelGPS701-GG測量型天線,天線間的距離為8.5828m。
本文設計的GNSS測向算法只使用GPS和BDS衛(wèi)星信號,實驗過程中,可視衛(wèi)星數(shù)量如圖4所示。

圖4 可視衛(wèi)星數(shù)量Fig.4 Number of used satellites
整個實驗過程中,載波相位差分算法雙差模糊度整數(shù)解均保持鎖定(閾值為2)。基線長度、航向角、俯仰角測量值如圖5~圖7所示。

圖5 基線長度測量值Fig.5 Length measurement of baseline

圖6 航向角測量值Fig.6 Measurement of heading angle

圖7 俯仰角測量值Fig.7 Measurement of pitch angle
其中,基線向量測量標準差為5.2mm,航向角測量均值為351.269°,標準差為0.0396°,俯仰角測量均值為-0.2322°,標準差為0.0889°。此處為8.5828m基線的測量結果,在船上增長基線的情況下,姿態(tài)測量精度更高。
為了驗證偽距差分的性能,利用實驗過程中采集的原始觀測量,進行事后偽距差分處理,得到在緯度、經(jīng)度、高度方向上測量誤差曲線如圖8所示。

圖8 偽距差分測量誤差Fig.8 Measurement error of RTD
其中,緯度方向上誤差標準差為0.5923m,經(jīng)度方向上誤差標準差為0.4609m,高度方向上誤差標準差為1.0766m。如果在船上基線長度能達到70m以上,則通過偽距差分測量的航向角精度能達到0.5°以內(參見2.2節(jié)),可以作為備選測量方案,在惡劣場景中使用。
本文針對靶船、漁船等中型艦船對航行姿態(tài)測量的需求,設計了基于UbloxLEA-M8T模塊和STM32F407處理器的低成本GNSS測向系統(tǒng)。一方面,搭建了原理樣機硬件平臺,將2塊UbloxLEA-M8T模塊原始觀測量輸入到STM32F407處理器,處理器內部經(jīng)過軟件處理后直接輸出姿態(tài)測量值;另一方面,開展了基于Kalman濾波器的載波相位差分姿態(tài)測量算法研究和基于Kalman濾波器的偽距差分姿態(tài)測量算法研究。靜態(tài)實驗表明,在8.5m基線的情況下,航向角測量標準差為0.0396°,俯仰角測量標準差為0.0889°。使用偽距差分算法,緯度方向上測量誤差標準差為0.5923m,經(jīng)度方向上測量誤差標準差為0.4609m,高度方向上測量誤差標準差為1.0766m。
[1] 閻肖鵬,王海濤. 基于兩臺雙天線GPS測向單元的靶船測姿方法 [J]. 艦船電子工程, 2012, 32(5):65-67.
[2] 謝鋼.GPS原理與接收機設計 [M]. 北京:電子工業(yè)出版社, 2009.
[3] 謝鋼. 全球導航衛(wèi)星系統(tǒng)原理:GPS、格洛納斯和伽利略系統(tǒng) [M]. 北京:電子工業(yè)出版社, 2013.
[4]ChinaSatelliteNavigationOffice.BeiDounavigationsatellitesystemsignalinspaceinterfacecontroldocumentopenservicesignal(Version2.0) [M].Beijing:ChinaSatelliteNavigationOffice, 2013.
[5]OdolinskiR,TeunissenPJ,OdijkD.CombinedBDS,Galileo,QZSSandGPSsingle-frequencyRTK[J].GPSSolution, 2015, 19(1):151-163.
[6]ZhaoS,CuiX,FengG,etal.AKalmanfilter-basedshortbaselineRTKalgorithmforsingle-frequencycombinationofGPSandBDS[J].Sensors, 2014, 14(8):15415-15433.
[7] 劉海穎,王嘉南,陳志明. 衛(wèi)星導航原理與應用 [M]. 北京: 國防工業(yè)出版社, 2013.
[8] 王冰. 基于GNSS的實時姿態(tài)確定算法研究 [D]. 鄭州: 解放軍信息工程大學, 2013.
[9]TakasuT.RTKLIBver. 2.4.2Manual[M].Tokyo:TokyoUniversityofMarineScienceandTechnology, 2013.
[10]TeunissenPJG.Theleast-squareambiguitydecorrelationadjustment:amethodforfastGPSambiguityestimation[J].JournalofGeodesy, 1995, 70(1):65-82.
Research on Low-cost GNSS Heading Determination System for Ship
DAI Shao-wu, LIU Gang, WANG Zhen, ZHANG Wen-guang, LI Rui-tao
(Department of Control Engineering, Naval Aeronautical and Astronautical University, Yantai,Shandong 264001, China)
Global Navigation Satellite System consists of GPS, GLONASS, Galileo and BDS satellites. Customers will have been able to receive signals from more than 40 satellites by 2020, which would lead to great improvements of GNSS performance and the extension of its application fields. Based on the actual utility situation of GNSS receiver, and in order to determine the heading of the target ship and fishing fleet, this paper designs a low-cost GNSS heading determination system. Firstly, prototype hardware platform is designed using two Ublox LEA-M8T modules and a STM32F407 ARM MCU. Secondly, researches on real time kinematic and real time differential algorithms based on Kalman Filter method are carried out. Finally, static test results show the flowing performances: using 8.5m baseline, the standard deviation of yaw and pitch are 0.0396° and 0.0889° respectively with real time kinematic algorithm. The standard deviation of measurement along latitude, longitude, height are 0.5923m, 0.4609m and 1.0766m respectively.
Global Navigation Satellite System; Real time kinematic; Real time differential; Kalman; Heading determination
2016-07-25;
2016-08-30
國家自然科學基金(61473306)
戴邵武(1966-),男,博士,教授,主要研究領域為導航、制導與控制。E-mail:daiswhy@163.com
10.19306/j.cnki.2095-8110.2017.02.009
U666.134
A
2095-8110(2017)02-0048-05