李春華,蔡成林,鄧克群,徐李冰
(1.桂林電子科技大學(xué)信息與通信學(xué)院,廣西桂林541004;2.桂林電子科技大學(xué)電子工程與自動化學(xué)院,廣西桂林541004;3.桂林電子科技大學(xué)計算機科學(xué)與工程學(xué)院,廣西桂林541004)
北斗偽距定位分為單點定位(絕對定位)和相對定位,北斗偽距單點定位因其定位速度快、不存在整周模糊度、接收機價格低等優(yōu)勢,被廣泛用于車輛、艦船和飛機的導(dǎo)航和監(jiān)控、地質(zhì)礦產(chǎn)的勘測、暗礁定位、海洋捕魚等領(lǐng)域,提高北斗偽距單點定位的精度與速度,對于加速我國北斗產(chǎn)業(yè)化步伐將起到非常重要的作用。目前偽距單點定位普遍采用高斯牛頓迭代最小二乘(gauss-newton iterative least squares,GNILS)算法[1-4]。利用 GNILS 算法進行定位解算,如果所取觀測站坐標(biāo)的初始值與真實值具有較大的偏差,迭代次數(shù)將會增加,而每次迭代都涉及矩陣相乘和矩陣求逆,所以計算量也隨之增加;文獻[5-8]針對GNILS算法計算量大的缺點分別提出了幾種改進的直接解算定位方法,直接解算(direct calculation,DC)定位方法對于接收機接收的衛(wèi)星數(shù)據(jù)要求很高,然而在實際情況中由于衛(wèi)星運動和信號遮擋等情況,尤其是在城市建筑密集、山高林密的地方,接收機接收到的衛(wèi)星數(shù)據(jù)會受到影響,此時直接解算定位方法的定位精度難以滿足需求。直接解算定位方法與GNILS算法相比,優(yōu)點是定位速度快,實時性好,缺點是定位精度不如GNILS算法。本文針對GNILS算法存在對初始值的估計依賴性強,且迭代計算量大的缺點,結(jié)合文獻[6]提出的DC算法定位解算快和加權(quán)最小二乘(weighted least squares,WLS)算法定位精度高的優(yōu)點,提出一種北斗偽距單點定位的WLS快速(fast weighted least squares,WLSF)算法。通過北斗實測數(shù)據(jù)驗證表明,WLSF算法計算復(fù)雜度顯著減少,并且定位精度具有較大改善,這對于當(dāng)前導(dǎo)航定位接收機改進具有較大的參考價值,對于提高偽距單點定位的精度與速度具有重要意義。
北斗衛(wèi)星導(dǎo)航系統(tǒng)偽距單點定位的原理,即通過接收4顆及4顆以上衛(wèi)星的導(dǎo)航電文與星歷數(shù)據(jù),利用衛(wèi)星導(dǎo)航電文與星歷數(shù)據(jù)解算出衛(wèi)星的位置,再利用衛(wèi)星與用戶的空間幾何關(guān)系構(gòu)造方程求解。其基本原理表示為[2]
(2)式中,任意 ρi=-(I+T -C × δ(s)t)。
DC算法是將偽距方程組中相鄰的2個方程依次求差,將非線性方程組轉(zhuǎn)化為線性方程組,然后求解。其基本原理如下
將偽距方程組(2)進行移項平方得
在(3)式中依次用后一個方程減去前一個方程,消去未知數(shù)的二次項,使得方程組線性化,設(shè)R2i=,i=1,2,…,n ,相減后得到n-1個方程,方程組整理后得
把(4)式寫成矩陣形式為
(5)式中
若有n顆衛(wèi)星,則(4)式只有n-1個方程,顯然n>4時可以解算衛(wèi)星位置。文獻[5]提出,即使只有4顆衛(wèi)星,也能通過直接解算,解算出衛(wèi)星位置,這里不再贅述。
(5)式中的A矩陣是列滿秩矩陣,我們可以利用最小二乘解原理得
在實際計算中發(fā)現(xiàn),當(dāng)n>5時,方程的系數(shù)矩陣ATA的條件數(shù)過大,方程是病態(tài)方程組,解算出的結(jié)果與真實值偏差較大,文獻[6]指出,為了解決這個問題,我們在方程組(4)兩邊同乘以一個系數(shù)再將所得的觀測方程按最小二乘方法求解,可以得到令人滿意的結(jié)果。即
(7)式中
因為B矩陣是列滿秩矩陣,利用最小二乘解原理得
則接收機坐標(biāo)(xu,yu,zu)就能由X得出。
GNILS算法是將偽距定位方程中的非線性函數(shù)按泰勒級數(shù)展開,取至一次項進行近似代替,然后利用線性最小二乘原理求解線性方程的解,逐次迭代,使得線性方程的解逐次逼近非線性方程的解,其基本原理如下。
將(2)式右邊的非線性函數(shù)按照泰勒級數(shù)展開,取至一次項進行線性化,得到的方程形式為
按照最小二乘原理得[6]
(10)式中
求出4 個估計量 Δx,Δy,Δz,c×δt,再更新 X0=(x0,y0,z0,c×δt),令 x0=x0+ Δx,y0=y0+ Δy,z0=z0+Δz,B0=B0+c× δt,重復(fù)上述過程進行迭代,直到 Δx,Δy,Δz足夠小,即滿足
設(shè)定一個閾值e,當(dāng)滿足(11)式時,解算出來的值即為用戶接收機坐標(biāo)和接收機鐘差,應(yīng)為xu=x0+ Δx,yu=y0+ Δy,zu=z0+ Δz,B=B0+c×δt。
WLSF算法流程主要分為2個步驟:第1步,利用DC算法求解接收機大概位置坐標(biāo);第2步,利用第1步求解的坐標(biāo)值,將其作為迭代初值,并構(gòu)造權(quán)系數(shù)矩陣ω,再根據(jù)基于WLS原理的GNILS算法再次求解接收機的位置坐標(biāo),具體操作步驟如下。
利用(8)式得到的 X=(x0,y0,z0,B0),取 X0=(x0,y0,z0,0),把 X0=(x0,y0,z0,0)作為 (xu,yu,zu,c× δt)的初始值。
為了利用WLS原理求解接收機坐標(biāo),我們構(gòu)造一個權(quán)系數(shù)矩陣ω,加權(quán)矩陣從(9)式中的bi著手考慮,首先分析一下bi=ri0+c×δt-ρi的組成成分:ri0+c× δt=c×δt為線性化點相對應(yīng)的偽距值,ρi=是指第i顆衛(wèi)星與用戶實際位置相對應(yīng)的無誤差偽距值,那么bi是指第i顆衛(wèi)星與接收機實際位置相對應(yīng)的無誤差偽距值與線性化點的相對應(yīng)偽距值之間的偏差,如果bi越大,則這顆衛(wèi)星在定位解算中占的比重應(yīng)當(dāng)越小,才能提高定位精度?;谶@一思想,我們可以構(gòu)造權(quán)系數(shù)矩陣ω,令,即為第i顆衛(wèi)星與用戶實際位置相對應(yīng)的無誤差偽距值和與線性化點相對應(yīng)的偽距值之間的偏差的均值,第RMS顆衛(wèi)星的bi與相差越大,則此衛(wèi)星在定位衛(wèi)星比重中占的比重越少,所以權(quán)系數(shù)矩陣可以構(gòu)造為
按照加權(quán)最小二乘原理得[6]
同樣求出 4 個估計量 Δx,Δy,Δz,c× δt,再更新X0=(x0,y0,z0,c× δt),令 x0=x0+ Δx ,y0=y0+Δy,z0=z0+Δz,B0=B0+c×δt,重復(fù)上述過程進行迭代,直到 Δx,Δy,Δz足夠小,即滿足
設(shè)定一個閾值e,當(dāng)滿足(14)式時,解算出來的值即為用戶接收機坐標(biāo)和接收機鐘差,應(yīng)為xu=x0+ Δx,yu=y0+ Δy,zu=z0+ Δz,B=B0+c×δt。
為了驗證WLSF算法的優(yōu)越性,利用實驗室和芯星通UB240-CORS-ⅡBD2/GPS雙系統(tǒng)四頻高精度接收機采集了從2013年8月4日至10日的北斗衛(wèi)星數(shù)據(jù)。在進行算法驗證之前,接收機天線相位中心位置采用Novatel雙頻載波相位接收機和滯后IGS精密星歷,利用3天的觀測數(shù)據(jù)根據(jù)GPS精密單點定位(precise point positioning,PPP)算法進行測定,測定的接收機天線相位中心位置坐標(biāo)為 (-2 005 191.254 5,5 411 087.495 6,2 707 880.732 4),PPP 算法解算出來的接收機位置坐標(biāo)精度能達到厘米級。
從2013年8月6日中任意提取某一歷元時刻衛(wèi)星數(shù)據(jù),首先根據(jù)導(dǎo)航電文和星歷觀測文件,利用地球同步軌道(geosynchronous earth orbit,GEO)和傾斜地球同步軌道(inclined geosynchronous orbits,IGSO)/中地球軌道(medium earth orbit,MEO)衛(wèi)星的衛(wèi)星位置解算算法得出衛(wèi)星的地心地固(earth centered earth fixed,ECEF)坐標(biāo),并利用對流層延遲改正模型算法、相對論誤差改正算法、地球自轉(zhuǎn)改正算法、電離層延遲改正等算法對每顆衛(wèi)星的偽距進行修正,將其列于表1,然后利用衛(wèi)星位置坐標(biāo)、修正后的偽距,分別采用GNILS算法、DC算法與本文提出的WLSF算法求解接收機坐標(biāo),將求解結(jié)果與由GPS的PPP算法解算出來的接收機位置坐標(biāo)(-2 005 191.254 5,5 411 087.495 6,2 707 880.732 4)進行比較,將比較結(jié)果列于表2,并用圖1直觀地表示出來。表2中,(ΔX,ΔY,ΔZ)指通過上述3種定位算法解算出的接收機在ECEF坐標(biāo)系中的坐標(biāo)與PPP算法解算出來的接收機位置坐標(biāo)的差值,RMS=,Δδ=c×δt,分別統(tǒng)計GNILS算法、DC算法、WLSF算法3種定位算法的計算量,結(jié)果如表3所示,其中,n為衛(wèi)星顆數(shù),m為迭代次數(shù)。
表1 某一觀測歷元時刻BD衛(wèi)星坐標(biāo)和偽距修正值Tab.1 BD satellite coordinates and revised pseudo-range at one epoch time
表2 3種定位算法定位結(jié)果比較Tab.2 Positioning results comparison for three positioning algorithms
表3 3種定位算法計算量比較Tab.3 Calculated quantity comparison for the three positioning algorithms
圖1 不同衛(wèi)星數(shù)目、不同衛(wèi)星組合下3種算法的定位精度比較Fig.1 Positioning results comparison for three algorithms under the different number and combinations of satellites
從圖1、表2可知,WLSF算法的定位精度比GN算法和DC算法的定位精度都要高,且DC算法定位精度最差。6顆衛(wèi)星的定位精度大于5顆衛(wèi)星的定位精度,8顆衛(wèi)星的定位精度大于7顆衛(wèi)星的定位精度,說明定位精度與衛(wèi)星數(shù)目有關(guān),而圖1中7顆衛(wèi)星的定位精度沒有6顆衛(wèi)星定位精度好,是因為參與解算的衛(wèi)星組合不同,這說明定位精度還與衛(wèi)星的空間幾何分布有關(guān)。
從表2和表3可以得出以下結(jié)論。
1)GNILS算法的定位精度非常高,但迭代次數(shù)多,計算量大,隨著衛(wèi)星數(shù)目增加,定位精度提高。
2)WLSF算法相比GNILS算法,雖然多了利用DC算法計算迭代初值這一步,但它使得迭代次數(shù)減少,計算量總體來說比GNILS迭代定位算法小,且提高了定位精度;WLSF算法相比DC算法,計算量雖然增加,但其定位精度明顯增加。
為了進一步驗證改進算法的優(yōu)越性,對接收機連續(xù)7天接收的數(shù)據(jù),每天每隔30 s進行采樣,24 h總共2 880個歷元時刻,利用導(dǎo)航電文與觀測文件解算衛(wèi)星位置,針對北斗的B1頻點,采用klobuchar模型修正電離層延遲[9],saastamoinen 模型、Niell映射函數(shù)修正對流層延遲[10-11]等,達到修正偽距的目的,分別采用GNILS算法、DC算法與本文提出的WLSF算法進行處理,將求解結(jié)果用無跡卡爾曼濾波方法(UKF)處理后,得出用戶接收機在B1頻點的水平、高程、三維定位精度,如圖2、圖3所示。利用北斗的B1和B2頻點,采用雙頻改正法修正電離延遲[12],繼續(xù)比較GNILS算法與WLSF算法的處理結(jié)果,如圖3所示,由于每一天相同算法處理結(jié)果的優(yōu)劣情況相同,這里只給出2013年8月4日的實驗處理結(jié)果如圖2—圖4所示。
從圖2、圖3看出,DC算法的高程定位精度極不穩(wěn)定,會產(chǎn)生很大波動,這是因為一旦接收的某些衛(wèi)星的數(shù)據(jù)有問題,采用直接解算方法將會直接影響定位結(jié)果,而GNILS算法和WLSF算法都有迭代過程,使得定位精度相對穩(wěn)定,由圖3、圖4可以看出,WLSF算法的定位精度明顯高于GNILS算法,這是因為實驗室接收機每個歷元時刻能接收8顆以上北斗衛(wèi)星,這與表2結(jié)果相符,也進一步說明WLSF快速定位算法能夠提高定位精度。
圖2 B1頻點3種算法的定位結(jié)果比較Fig.2 Positioning results comparison for three algorithms at B1frequency
圖3 B1頻點WLSF算法與GNILS算法的定位結(jié)果比較Fig.3 Positioning results comparison between WLSF algorithm and GNILS algorithm at B1frequency
圖4 B1+B2頻點WLSF算法與GNILS算法的定位結(jié)果比較Fig.4 Positioning results comparison between WLSF algorithm and GNILS algorithm at B1+B2frequencies
WLSF算法利用了DC算法計算速度快的優(yōu)點,利用它快速算出接收機的大概位置,將其作為迭代初值,減少了迭代次數(shù),克服了GN算法對初始值依賴性高、迭代次數(shù)多、計算量大的缺點,同時提出一種新的加權(quán)方法,使定位精度明顯提高。通過將其運用到北斗導(dǎo)航系統(tǒng)中,分別取單個觀測歷元時刻的衛(wèi)星數(shù)據(jù)與一周的衛(wèi)星數(shù)據(jù),進行仿真計算,驗證這種WLSF算法的優(yōu)越性,這對于當(dāng)前導(dǎo)航定位接收機的改進具有較大的參考價值,對于提高偽距單點定位的精度與速度具有重要意義。
[1]EI Naggar Aly M.An alternative methodology for the mathematical treatment of GPS positioning[J].Alexandria Engineering Journal,2011,50(4):361-365.
[2]謝鋼.GPS原理與接收機設(shè)計[M].北京:電子工業(yè)出版社,2009:61-65,96-106.XIE Gang.Principles of GPS and Receiver Design[M].Beijing:Publishing House of Electronics Industry,2009:61-65,96-106.
[3]KAPLAN Elliott D,HEGARTY Christopher J.GPS 原理與應(yīng)用[M].寇艷紅,譯.北京:電子工業(yè)出版社,2007:36-42.KAPLAN Elliott D,HEGARTY Christopher J.Understanding GPS:Principles and Applications,Second Edition[M].KOU Yanhong,ranslation.Beijing:Publishing house of Electronic Industry,2007:36-42.
[4]劉基余.GPS衛(wèi)星導(dǎo)航定位原理與方法[M].北京:科學(xué)出版社,2003:103-109.LIU Jiyu.Satellite Navigation and Positioning Theory and Method of GPS[M].Beijing:Publishing House of Science,2003:103-109.
[5]陳麗,吳仁彪,胡鐵喬,等.一種新的GNSS快速定位算法[J].信號處理,2012,28(4):514-518.CHEN Li,WU Renbiao,HU Tieqiao,et al.A Novel Fast GNSS Positioning Algorithm [J].Signal Processing,2012,28(4):514-518.
[6]郭秋英,胡振琪.GPS測碼偽距絕對定位的幾種算法[J].測繪科學(xué),2005,30(5):26-27.GUO Qiuying,HU Zhengqi.Serveral algorithms about GPS measured code pseudo-range absolute positioning[J].Science of Surveying and Mapping,2005,30(5):26-27.
[7]段宇鵬,魏宗康,劉建波.一種GPS最優(yōu)選星及偽距定位方法[J].中國慣性技術(shù)學(xué)報,2011.21(2):209-213.DUAN Yupeng,WEI Zongkang,LIU Jianbo.Optimal constellation selecting and pseudo-range positioning algorithm in GPS[J].Journal of Chinese Inertial Technology,2011,21(2):209-213.
[8]田安紅,付承彪,趙珊.一種改進的GPS測碼偽距單點定位算法[J].重慶郵電大學(xué)學(xué)報:自然科學(xué)版,2009,21(6):736-740.TIAN Anhong,F(xiàn)U Chengbiao,ZHAO Shan.An improved algorithm for single point position of GPS[J].Journal of Chongqing University of Posts and Telecommunications:Natural Science Edition,2009,21(6):736-740.
[9]張勇,張斌,馬能武.單頻GPS接收機的電離層延遲改正模型研究[J].大地測量與地球動力學(xué),2012,32(2):69-73.ZHANG Yong,ZHANG Bin,MA Nengwu.On models of Ionospheric delay correction for single-frequency GPS receiver[J].Journal of Geodesy and Geodynamics,2012,32(2):69-73.
[10]QU Weijing,ZHU Wenyao,SONG S L,et al.Evaluation of the Precision of Three Tropospheric Delay Correction Models[J].Chinese Astronomy and Astrophysics,2008,32(4):429-438.
[11]王利杰,李思敏,蔡成林,等.基于不同高度角的對流層延遲改正模型選擇[J].測繪通報,2013,(8):10-13.WANG Lijie,LI Simin,CAI Chenglin,et al.Troposphere delay correction model selection based on different altitude angle[J].Bulletin of Surveying and Mapping,2013,(8):10-13.
[12]余明,郭際明,過靜珺.GPS電離層延遲Klobuchar模型與雙頻數(shù)據(jù)解算值比較與分析[J].測繪通報,2004,(6):5-8.YU Ming,GUO Jiming,GUO Jingjun.Ionospheric Delay Values from Klobuchar Model and Dual Frequency Measurements:Comparison and Analysis[J].Bulletin of Surveying and Mapping,2004,(6):5-8.