GPS軟件接收機關(guān)鍵技術(shù)研究及實現(xiàn)
摘要:研究了CPS軟件接收機的關(guān)鍵技術(shù)和具體實現(xiàn)。設(shè)計并實現(xiàn)了一種基于FFT的碼相位并行的快速信號捕獲方案;介紹了碼跟蹤環(huán)與載波跟蹤環(huán)的算法流程并詳細(xì)推導(dǎo)了偽距及精密偽距的計算過程,在建立載體運動模型的基礎(chǔ)上運用卡爾曼濾波對定位結(jié)果濾波處理,提高了定位精度,減小了定位方差。通過實驗,驗證了文中軟件接收機算法的可行性,接收機定位精度較高,定位均方差較小。
關(guān)鍵詞:GPS;捕獲;跟蹤;偽距;卡爾曼濾波
GPS軟件接收機(Software Receiver,SR)和硬件接收機比較,所完成的功能相同,都能進行定位、測速等,但實現(xiàn)的環(huán)境不同,SR是在PC機上完成,以軟件的方式實現(xiàn),這種軟件方式非常靈活,它能處理各種類型的硬件采集的數(shù)據(jù)。在不改變硬件的情況下就很容易驗證新的算法,這對研究強干擾信號、高動態(tài)跟蹤等問題有很大意義,有利于節(jié)省開發(fā)成本,加快算法推進。
GPS軟件接收機主要由基帶信號處理和導(dǎo)航定位解算2個模塊構(gòu)成,基帶信號處理包含信號捕獲、跟蹤,導(dǎo)航定位解算模塊包含星歷計算、偽距計算、定位解算。其中,信號的快速捕獲、高動態(tài)信號的跟蹤、高精度的定位等i部分是接收機中的關(guān)鍵技術(shù)。
文中以SR算法流程為主線,對接收機中的關(guān)鍵技術(shù)分別進行了研究:在信號的快速捕獲方面,設(shè)計了一種新的捕獲方案,使得捕獲速度快而且結(jié)果準(zhǔn)確;在高動態(tài)信號的跟蹤方面,載波跟蹤用三階鎖相環(huán),碼環(huán)采用二階環(huán),采用載波環(huán)輔助碼跟蹤環(huán)的方式,因而可以減小碼環(huán)帶寬,提高跟蹤精度;在高精度定位方面,詳細(xì)推導(dǎo)了偽距的計算,同時考慮精密偽距的影響,提高偽距測量精度;鑒于最小二乘法定位解算沒有考慮載體運動模型這種缺點,本文運用卡爾曼濾波塒定位結(jié)果進行處理,以獲得高精度的結(jié)果,而且有效地減小了定位方差。
1 SR構(gòu)成模塊
SR處理下變頻之后的中頻數(shù)字信號,對信號進行捕獲、跟蹤及數(shù)據(jù)解調(diào)等操作以實現(xiàn)GPS接收機的定位、授時、測速等功能。如圖1所示,軟件接收機處理的主要是下半部分。
2 基帶數(shù)字信號處理
基帶數(shù)字信號處理由信號捕獲和跟蹤兩部分構(gòu)成,信號的捕獲是接收機實現(xiàn)定位、測速等功能的第一步,用來確定接收到的信號中包含哪些顆衛(wèi)星的信號,C/A碼的起始點和多普勒頻移,為跟蹤作必要的準(zhǔn)備。信號跟蹤是對捕獲到的衛(wèi)星信號進行多普勒頻移和C/A碼相位的精準(zhǔn)跟蹤,是計算衛(wèi)星星歷、偽距等的前提。
由文獻可知,由于接收機和衛(wèi)星的相對運動,地面上靜止的載體產(chǎn)生的多普勒頻移在-5~5 kHz之間,對于高速運動的載體如導(dǎo)彈,產(chǎn)生的多普勒頻移在-10~10 kHz之間。通常,對于一般的運動載體,多普勒頻移搜索范圍設(shè)在-7~7 kHz比較合理,捕獲時多普勒頻移搜索步長1 kHz,采用1 ms的數(shù)據(jù)。
文中采用基于FFT的并行碼相位快速捕獲方法,即在某一本地振蕩頻率下,能夠同時計算出所有碼相位的相關(guān)值,根據(jù)判決方式及門限確定衛(wèi)星信號的多普勒頻移及C/A碼相位。此算法首先通過傅里葉變換由時域變換到頻域,使時域中的相關(guān)運算轉(zhuǎn)為頻域中的乘法運算,然后通過傅里葉逆變換求時域內(nèi)的各個碼相位的相關(guān)值,其基本原理如下:
長度為N的有限序列x(n)的離散傅里葉變換是:
信號的捕獲由粗捕獲和精細(xì)捕獲構(gòu)成,粗捕獲用來確定信號中是否含有某顆衛(wèi)星信號、所含信號的C/A碼相位起始點及分辨率為500 Hz(捕獲步長1 kHz)的多普勒頻移,精細(xì)捕獲用來計算更精確的多普勒頻移以滿足跟蹤環(huán)的要求。下面分別介紹文中設(shè)計的粗捕獲和精細(xì)捕獲實現(xiàn)方法。
2.1 粗捕獲實現(xiàn)方法
在信號的多普勒頻移處,會出現(xiàn)一個較大的相關(guān)峰值,在其他多普勒處,相關(guān)峰值逐漸變小直至大小類似噪聲的相關(guān)值。
因此,在捕獲時,以1 kHz的步長搜索多普勒頻移,如果在某個多普勒頻移下,當(dāng)前相關(guān)峰值和之前已計算的較小的相關(guān)峰值比較,如果比值大于門限(通常取1.8左右),則數(shù)據(jù)中存在該顆衛(wèi)星的信號,至此可以確定分辨率為500 Hz的載波頻率和碼相位。否則,如果信號中不存在該顆衛(wèi)星信號,可知在所有的多普勒搜索范圍內(nèi),峰值比較平。
文中設(shè)計的這種粗捕獲算法只需要計算各個多普勒頻移下的相關(guān)峰值,無需計算相關(guān)均值或者次最大值,相對別的算法運算量小,實現(xiàn)速度快。
2.2 精細(xì)載波頻率實現(xiàn)方法
粗捕獲可以獲得分辨率為500 Hz的載波,這不能滿足載波跟蹤環(huán)的要求,因此須通過精細(xì)捕獲使本地振蕩器頻率和信號載波頻率相差在幾十赫茲內(nèi)。
文中利用粗捕獲得到的C/A碼相位,縮短多普勒頻移搜索步長計算相關(guān)值,采用二次曲線擬合的方法計算精細(xì)載頻。
算法實現(xiàn)步驟如下:
1)利用粗捕獲獲得的C/A碼起始位,產(chǎn)生1 ms本地C/A碼序列,使之與中頻信號相乘,剝離1 ms的C/A碼,則輸入信號變?yōu)檫B續(xù)載波信號。
2)粗捕獲計算得到的多普勒頻移是則可知信號多普勒頻移在[fdop-500,fdop+500]Hz之內(nèi),以步長△fdop=250 Hz在fdop前后750 Hz范圍內(nèi),與連續(xù)載波進行相關(guān)運算,得到7個相關(guān)值,取最大相關(guān)值及其兩邊的相關(guān)值,并取它們對應(yīng)的多普勒頻移。建立二次曲線的模型方程:
此時的X就是計算得到的精細(xì)多普勒頻移,即是送入跟蹤環(huán)路的多普勒頻移。
這種精細(xì)捕獲算法,運算量小,捕獲結(jié)果準(zhǔn)確,易于操作,而且對導(dǎo)航數(shù)據(jù)位的跳變不敏感。
2.3 完整捕獲方案
根據(jù)載體和衛(wèi)星的運動特點可知,地面上運動的載體,信號的多普勒頻移分布±2,±3 kHz在的可能性比較大,因此先搜索這些多普勒頻移,即在捕獲時使用跳頻搜索的方式,能夠降低運算量,提高捕獲速度。穩(wěn)重采用的多普勒搜索的次序是[-2,2,-3,3,-1,1,-4,4,0,-5,5,-6,6,-7,7],單位是kHz。
將上述的粗捕獲算法、精細(xì)捕獲算法和多普勒頻移跳序搜索方法組合成一個完整的捕獲方案。利用實際采集得到及信號模擬器產(chǎn)生的多組信號進行仿真驗證,捕獲費時約9 s,多普勒頻移及C/A碼相位捕獲精度較高,能夠滿足跟蹤環(huán)路要求。
3 卡爾曼濾波處理定位結(jié)果
傳統(tǒng)定位解算方法僅利用了單點測量信息,未考慮載體的運動特性,定位精度易受觀測噪聲的影響。本文對載體的運動建模,采用卡爾曼濾波進行數(shù)據(jù)處理以得到高精度的定位結(jié)果。
根據(jù)載體運動的位置sk、速度vk、加速度ak之間的關(guān)系,建立載體運動方程為:
4 實驗驗證
為了驗證所開發(fā)軟件接收機算法的性能,分別進行了靜態(tài)實驗和動態(tài)實驗。在實驗中,利用東方聯(lián)星公司研發(fā)的NewStar2100(以下簡稱NS)GPS中頻數(shù)字信號采集器采集中頻數(shù)字信號,在開發(fā)的軟件接收機上進行定位解算;同時用NovAtel公司的FlexPax-G2L型高精度硬件接收機(以下簡稱G2L)的輸出作為定位參考,其單點定位精度小于1.8m。
實驗中的載波環(huán)采用三階鎖相環(huán),碼環(huán)采用二階環(huán),載波跟蹤環(huán)噪聲寬帶為18 Hz,碼跟蹤環(huán)噪聲寬帶1 Hz,載波環(huán)輔助碼環(huán)。定位解算后進行卡爾曼濾波時,系統(tǒng)噪聲均方差取0.3 m/s3,ECEF坐標(biāo)系下X,Y,Z方向上的觀測噪聲均方差分別是(8,8,14)m。
下面的實驗分為兩組,一組是靜態(tài)定位結(jié)果比較,另一組動態(tài)定位結(jié)果比較。
4.1 靜態(tài)定位結(jié)果比較
靜態(tài)實驗地點選在地點A。在該點采用G2L定位,并對觀測時間段內(nèi)的在ECEF坐標(biāo)系下的定位結(jié)果取均值可得A1(-2171467.178,4386 130.452,4076269.089)m;對SR處理中頻數(shù)字信號所得的ECEF坐標(biāo)系下的定位結(jié)果取均值可得A2(-2171467.381,4386129.881,40762 69.242)m;二者的定位偏差(A2-A1)為(0.203,-0.571,0.153)m。
以上定位結(jié)果顯示,SR與G2L的定位結(jié)果很接近,位置誤差小。SR定位結(jié)果的輸出頻率為10 Hz,連續(xù)觀測約36 s,以A1為原點,建立當(dāng)?shù)厮阶鴺?biāo)系ENU,計算SR輸出的瞬時定位結(jié)果相對于A1的位置誤差。實際采集得到的信號中有8顆衛(wèi)星的信號,這8顆星與接收機構(gòu)成的GDOP值為3.9、19.6的兩組定位結(jié)果。
位置誤差均方差列在表1中,表中的E1,E2分別是卡爾曼濾波前、濾波后的位置誤差均方差。
由GDOP的幾何意義可知:GDOP大將導(dǎo)致定位誤差的均方差大。當(dāng)對定位結(jié)果濾波后,定位輸出的抖動較為平緩,方差較小,尤其對于DOP比較大的數(shù)據(jù),能夠有效地提高定位精度。
由靜態(tài)實驗可知,本文設(shè)計的SR的定位結(jié)果和G2L的定位結(jié)果非常接近,定位精度較高,定位方差較小。
4.2 動態(tài)定位結(jié)果
進行跑車試驗的地點在拐彎處。對NS采集得到的中頻數(shù)據(jù)經(jīng)過SR處理,得到動態(tài)軌跡數(shù)據(jù)P1;將S1經(jīng)過卡爾曼濾波處理得到軌跡數(shù)據(jù)P2;G2L存儲的這段路程的軌跡數(shù)據(jù)為P0。以G2L的起始點位置為原點,建立當(dāng)?shù)厮阶鴺?biāo)系ENU,分別計算P1,P2,P0各點在此坐標(biāo)系下的位置(E,N,U),可得水平軌跡曲線如圖2所示,天向軌跡曲線如圖3所示。
從圖2可以看出,在拐彎處,G2L定位結(jié)果出現(xiàn)回旋,如圖中A、B點所示,與實際前進軌跡不符,可知這段位置誤差較大;SR定位結(jié)果濾波前得到的位置曲線抖動較大,濾波后的位置曲線與硬件接收機的位置曲線基本重合,而且在拐彎處,濾波后的輸出結(jié)果更平滑,與實際行進軌跡相符合。
由圖3可以看出,在高度上G2L的輸出有兩處大的跳躍,如圖中的C、D點處,這與實際的平緩路面不一致,這是由于實驗車從橋下穿過,導(dǎo)致部分衛(wèi)星信號中斷,造成定位輸出跳躍;SR濾波前的高程曲線抖動劇烈,和實際不符;而濾波后的高程數(shù)據(jù)比較平緩,高度變化趨勢與硬件接收機一致,這也與實際情況吻合。由動態(tài)實驗可知,文中設(shè)計的SR的定位結(jié)果和G2L的定位結(jié)果非常接近,定位精度較高。
5 結(jié)論
文中設(shè)計并實現(xiàn)了一種基于FFT的碼相位并行的快速信號捕獲方案,對定位解算的數(shù)據(jù)進行卡爾曼濾波處理,提高了定位精度及定位方差,并通過靜態(tài)與動態(tài)麗個方面進行實驗驗證,結(jié)果表明,本文設(shè)計的軟件接收機定位精度較高,定位均方差較小,在GDOP小于3.9時,水平方向小于7 m,高度方向小于6m。