摘 要:本文介紹了一種應(yīng)用于單片多模導(dǎo)航芯片BWSR100的定位解算軟件。該定位解算軟件依據(jù)導(dǎo)航電文和實時的偽距信息,采用最小二乘法完成初始定位,采用擴展卡爾曼濾波方法完成后續(xù)高精度定位。仿真結(jié)果表明,在-135dBm的信號強度下,該定位解算軟件的水平定位精度可以達到5m,測速精度可以達到0.2m/s。
關(guān)鍵詞:導(dǎo)航;定位;擴展卡爾曼濾波;最小二乘法
中圖分類號:TN851
BWSR100是中國電子科技集團公司第三十八研究所研制的一款單片雙模導(dǎo)航芯片,支持GPS和北斗二代兩大衛(wèi)星導(dǎo)航系統(tǒng)。該芯片將傳統(tǒng)的射頻前端、基帶處理單元和嵌入式CPU集成在同一塊芯片上,完成射頻處理、基帶處理、定位解算等功能,能夠接收衛(wèi)星信號并直接輸出定位結(jié)果。該芯片不僅有效地減小了版圖面積,而且提升了導(dǎo)航終端的可靠性,降低了導(dǎo)航終端的實現(xiàn)成本。
該芯片集成了由杭州中天微系統(tǒng)有限公司提供的國產(chǎn)嵌入式CPU CK610F,用于完成芯片控制和定位解算功能。這些功能通過軟件實現(xiàn),固化在片外的Flash中。本文討論的定位解算軟件是BWSR100固件中的重要組成部分,負責(zé)完成定位解算功能。在BWSR100啟動后,首先使用最小二乘法完成第一次定位。隨后,為了提升定位精度,采用擴展卡爾曼濾波方法,在上一次定位結(jié)果的基礎(chǔ)上迭代完成后續(xù)定位解算工作。
1 定位解算原理
1.1 位置解算原理。衛(wèi)星和導(dǎo)航接收機的幾何關(guān)系示意如圖1所示。接收機的三維坐標由三個變量構(gòu)成,但是在定位過程中,由于接收機時間與衛(wèi)星導(dǎo)航系統(tǒng)時間之間存在差異,因此需要增加一個變量以完成定位,故需要四顆衛(wèi)星才可以確定接收機的位置。
1.3 卡爾曼濾波。最小二乘法得到的定位結(jié)果是基于某個時元的一組觀測量,與其它時元的觀測量無關(guān)。接收機在提取觀測量時,不同時元的觀測量是獨立的,因此,最小二乘法的定位結(jié)果的誤差特性類似于白噪聲,有跳躍現(xiàn)象。
卡爾曼濾波器是一種線性遞歸的估值方法,其前提是系統(tǒng)處理噪聲為高斯白噪聲??柭鼮V波可以使定位結(jié)果平穩(wěn)變化,誤差小于最小二乘法。
使用卡爾曼濾波求解接收機位置時,對位置初值要求較高,可以通過最小二乘法獲得初值,再使用卡爾曼濾波計算之后所有時元的位置。
在接收機中,偽距觀測量是系統(tǒng)狀態(tài)的非線性函數(shù),因此需要采用非線性的擴展卡爾曼濾波器。
圖5 直線加速運動定位
從場景3和場景4的結(jié)果中可以看出,當(dāng)接收機運行速度較低、加速度在3g以下時,BWSR100可以獲得較好的定位和測速精度。在場景3中當(dāng)切向速度達到100km/h時,隨著螺旋半徑的減小,向心加速度不斷增大,在向心加速度達到3g左右的時候,BWSR100開始丟星;在場景4中當(dāng)直線運動速度超過3000km/h,加速度大于3g時,BWSR100開始丟星。此時定位解算軟件無法獲得正確的實時偽距信息,定位結(jié)果開始出現(xiàn)很大的偏差。
綜合以上結(jié)果表明,本文介紹的定位解算軟件在正確的實時偽距信息的支持下,可以較高的定位精度,能夠滿足一般使用需求。
3 結(jié)束語
本文介紹的定位解算軟件設(shè)計可以高效地完成定位解算工作,定位精度較好,現(xiàn)已在BWSR100芯片中得到實際使用,效果良好。未來會在博微系列導(dǎo)航芯片產(chǎn)品中得到更進一步的應(yīng)用和改進。
參考文獻:
[1]潘赟.CK-CPU嵌入式系統(tǒng)開發(fā)教程[M].北京:科學(xué)出版社,2011.
[2]E.D.Kaplan,C.J.Hegarty.GPS原理與應(yīng)用[M].北京:電子工業(yè)出版社,2007.
作者簡介:馬宏星,工程師,主要研究方向:導(dǎo)航、SoC芯片設(shè)計、嵌入式軟件設(shè)計;李知方,工程師,主要研究方向:導(dǎo)航;朱家兵,高級工程師,主要研究方向:導(dǎo)航。
作者單位:中國電子科技集團公司第38研究所,合肥 230031