李 晨, 王 巍, 王珊珊
(1.西安工業大學 北方信息工程學院,陜西 西安 710032;2.航天恒星空間技術應用有限公司 陜西 西安 710077)
GPS軟件接收機(Software Receiver,SR)和硬件接收機比較,所完成的功能相同,都能進行定位、測速等,但實現的環境不同,SR是在PC機上完成,以軟件的方式實現,這種軟件方式非常靈活,它能處理各種類型的硬件采集的數據。在不改變硬件的情況下就很容易驗證新的算法,這對研究強干擾信號、高動態跟蹤等問題有很大意義,有利于節省開發成本,加快算法推進[1]。
GPS軟件接收機主要由基帶信號處理和導航定位解算2個模塊構成,基帶信號處理包含信號捕獲、跟蹤,導航定位解算模塊包含星歷計算、偽距計算、定位解算。其中,信號的快速捕獲、高動態信號的跟蹤、高精度的定位等三部分是接收機中的關鍵技術。
文中以SR算法流程為主線,對接收機中的關鍵技術分別進行了研究:在信號的快速捕獲方面,設計了一種新的捕獲方案,使得捕獲速度快而且結果準確;在高動態信號的跟蹤方面,載波跟蹤用三階鎖相環,碼環采用二階環,采用載波環輔助碼跟蹤環的方式,因而可以減小碼環帶寬,提高跟蹤精度;在高精度定位方面,詳細推導了偽距的計算,同時考慮精密偽距的影響,提高偽距測量精度;鑒于最小二乘法定位解算沒有考慮載體運動模型這種缺點,本文運用卡爾曼濾波對定位結果進行處理,以獲得高精度的結果,而且有效地減小了定位方差。
SR處理下變頻之后的中頻數字信號,對信號進行捕獲、跟蹤及數據解調等操作以實現GPS接收機的定位、授時、測速等功能。如圖1所示,軟件接收機處理的主要是下半部分。

圖1 GPS軟件接收機流程圖Fig.1 Flow chart of the GPS software receiver
基帶數字信號處理由信號捕獲和跟蹤兩部分構成,信號的捕獲是接收機實現定位、測速等功能的第一步,用來確定接收到的信號中包含哪些顆衛星的信號,C/A碼的起始點和多普勒頻移,為跟蹤作必要的準備。信號跟蹤是對捕獲到的衛星信號進行多普勒頻移和C/A碼相位的精準跟蹤,是計算衛星星歷、偽距等的前提。
由文獻[1]可知,由于接收機和衛星的相對運動,地面上靜止的載體產生的多普勒頻移在-5~5 kHz之間,對于高速運動的載體如導彈,產生的多普勒頻移在-10~10 kHz之間。通常,對于一般的運動載體,多普勒頻移搜索范圍設在-7~7 kHz比較合理,捕獲時多普勒頻移搜索步長1 kHz,采用1 ms的數據。
文中采用基于FFT的并行碼相位快速捕獲方法,即在某一本地振蕩頻率下,能夠同時計算出所有碼相位的相關值,根據判決方式及門限確定衛星信號的多普勒頻移及C/A碼相位。此算法首先通過傅里葉變換由時域變換到頻域,使時域中的相關運算轉為頻域中的乘法運算,然后通過傅里葉逆變換求時域內的各個碼相位的相關值,其基本原理如下:
長度為N的有限序列x(n)的離散傅里葉變換是:

兩個長度為N的有限序列x(n)和y(n)的互相關函數是:

對z(n)進行離散傅里葉變換:

如果 x(n)是實數,則 X-1(k)=X*(k),“-1”表示傅里葉反變換,“*”表示復共軛。
信號的捕獲由粗捕獲和精細捕獲構成,粗捕獲用來確定信號中是否含有某顆衛星信號、所含信號的C/A碼相位起始點及分辨率為500 Hz(捕獲步長1 kHz)的多普勒頻移,精細捕獲用來計算更精確的多普勒頻移以滿足跟蹤環的要求。下面分別介紹文中設計的粗捕獲和精細捕獲實現方法。
在信號的多普勒頻移處,會出現一個較大的相關峰值,在其他多普勒處,相關峰值逐漸變小直至大小類似噪聲的相關值。
因此,在捕獲時,以1 kHz的步長搜索多普勒頻移,如果在某個多普勒頻移下,當前相關峰值和之前已計算的較小的相關峰值比較,如果比值大于門限(通常取1.8左右),則數據中存在該顆衛星的信號,至此可以確定分辨率為500 Hz的載波頻率和碼相位。否則,如果信號中不存在該顆衛星信號,可知在所有的多普勒搜索范圍內,峰值比較平。
文中設計的這種粗捕獲算法只需要計算各個多普勒頻移下的相關峰值,無需計算相關均值或者次最大值,相對別的算法運算量小,實現速度快。
文中利用粗捕獲得到的C/A碼相位,縮短多普勒頻移搜索步長計算相關值,采用二次曲線擬合的方法計算精細載頻。算法實現步驟如下:
1)利用粗捕獲獲得的C/A碼起始位,產生1 ms本地C/A碼序列,使之與中頻信號相乘,剝離1 ms的C/A碼,則輸入信號變為連續載波信號。
2)粗捕獲計算得到的多普勒頻移是則可知信號多普勒頻移在[fdop-500,fdop+500]Hz之內,以步長 Δ fdop=250 Hz在fdop前后750 Hz范圍內,與連續載波進行相關運算,得到7個相關值,取最大相關值及其兩邊的相關值,并取它們對應的多普勒頻移。建立二次曲線的模型方程:

其中a,b,c為待求系數,xi為對應的 3個多普勒頻移,yi為對應的3個相關值,則可建立方程組:

其中

解此線性方程組得:

計算出a,b,c后,可根據二次曲線的性質得最大值對應的位置為:

此時的X就是計算得到的精細多普勒頻移,即是送入跟蹤環路的多普勒頻移。
這種精細捕獲算法,運算量小,捕獲結果準確,易于操作,而且對導航數據位的跳變不敏感。
當天,BVLGARI 酒店現場展出了“My Precious”臻寶奶瓶。TA有個可愛的中文昵稱“小Q瓶”,特邀日本知名設計師深澤直人操刀設計,外形MINI可愛,難怪自2017年12月登陸日本市場之后很快銷售一空。當然除了是顏值擔當,小Q瓶實力也是不凡。它沿用了貝親王牌的自然實感奶嘴,讓寶寶們更好地實現母乳與奶瓶喂養間的轉換,讓喂奶也變得時尚拉風。活動現場已有不少爸媽被小Q瓶瞬間圈粉,希望為自己的寶寶選購。
根據載體和衛星的運動特點可知,地面上運動的載體,信號的多普勒頻移分布±2,±3 kHz在的可能性比較大,因此先搜索這些多普勒頻移,即在捕獲時使用跳頻搜索的方式,能夠降低運算量,提高捕獲速度。穩重采用的多普勒搜索的次序是[-2,2,-3,3,-1,1,-4,4,0,-5,5,-6,6,-7,7],單位是 kHz。
將上述的粗捕獲算法、精細捕獲算法和多普勒頻移跳序搜索方法組合成一個完整的捕獲方案。利用實際采集得到及信號模擬器產生的多組信號進行仿真驗證,捕獲費時約9 s,多普勒頻移及C/A碼相位捕獲精度較高,能夠滿足跟蹤環路要求。
傳統定位解算方法僅利用了單點測量信息,未考慮載體的運動特性,定位精度易受觀測噪聲的影響。本文對載體的運動建模,采用卡爾曼濾波進行數據處理以得到高精度的定位結果。
根據載體運動的位置sk、速度vk、加速度ak之間的關系,建立載體運動方程為:

其中,T為采樣周期,jk為加加速度,對運動的跟蹤者來說,jk是隨機量,此處建模為隨機游走,即 E[jk]=0,E[jkjTl]=qδkl。
取狀態量 Xk=[sk,vk,ak]T,用于卡爾曼濾波的系統模型如下:

式中,

H=[1,0,0],Vk是觀測噪聲,為零均值的白噪聲,即 E[Vk]=0,E[VkVTl]=rδkl。
為了驗證所開發軟件接收機算法的性能,分別進行了靜態實驗和動態實驗。在實驗中,利用東方聯星公司研發的NewStar2100(以下簡稱NS)GPS中頻數字信號采集器采集中頻數字信號,在開發的軟件接收機上進行定位解算;同時用NovAtel公司的FlexPax-G2L型高精度硬件接收機(以下簡稱G2L)的輸出作為定位參考,其單點定位精度小于1.8 m。
實驗中的載波環采用三階鎖相環,碼環采用二階環,載波跟蹤環噪聲寬帶為18 Hz,碼跟蹤環噪聲寬帶1 Hz,載波環輔助碼環。定位解算后進行卡爾曼濾波時,系統噪聲均方差取 0.3 m/s3,ECEF坐標系下X,Y,Z方向上的觀測噪聲均方差分別是(8,8,14)m。
下面的實驗分為兩組,一組是靜態定位結果比較,另一組動態定位結果比較。
靜態實驗地點選在地點A。在該點采用G2L定位,并對觀測時間段內的在ECEF坐標系下的定位結果取均值可得A1(-2171467.178,4386130.452,4076269.089)m;對 SR 處 理中頻數字信號所得的ECEF坐標系下的定位結果取均值可得 A2(-2171467.381,4386129.881,4076269.242)m;二者的定位偏差(A2-A1)為(0.203,-0.571,0.153)m。
以上定位結果顯示,SR與G2L的定位結果很接近,位置誤差小。SR定位結果的輸出頻率為10 Hz,連續觀測約36 s,以A1為原點,建立當地水平坐標系ENU,計算SR輸出的瞬時定位結果相對于A1的位置誤差。實際采集得到的信號中有8顆衛星的信號,這8顆星與接收機[10-11]構成的GDOP值為3.9、19.6的兩組定位結果。
位置誤差均方差列在表1中,表中的E1,E2分別是卡爾曼濾波前、濾波后的位置誤差均方差。

表1 位置誤差均方差比較Tab.1 Comparison of positional error mean square deviation
由GDOP的幾何意義可知:GDOP大將導致定位誤差的均方差大。當對定位結果濾波后,定位輸出的抖動較為平緩,方差較小,尤其對于DOP比較大的數據,能夠有效地提高定位精度。
由靜態實驗可知,本文設計的SR的定位結果和G2L的定位結果非常接近,定位精度較高,定位方差較小。
進行跑車試驗的地點在拐彎處。對NS采集得到的中頻數據經過SR處理,得到動態軌跡數據P1;將S1經過卡爾曼濾波處理得到軌跡數據P2;G2L存儲的這段路程的軌跡數據為P0。以G2L的起始點位置為原點,建立當地水平坐標系ENU,分別計算 P1,P2,P0 各點在此坐標系下的位置(E,N,U),可得水平軌跡曲線如圖2所示,天向軌跡曲線如圖3所示。

圖2 水平方向上的軌跡曲線Fig.2 Track curve in horizontal direction
從圖2可以看出,在拐彎處,G2L定位結果出現回旋,如圖中A、B點所示,與實際前進軌跡不符,可知這段位置誤差較大;SR定位結果濾波前得到的位置曲線抖動較大,濾波后的位置曲線與硬件接收機的位置曲線基本重合,而且在拐彎處,濾波后的輸出結果更平滑,與實際行進軌跡相符合。
由圖3可以看出,在高度上G2L的輸出有兩處大的跳躍,如圖中的C、D點處,這與實際的平緩路面不一致,這是由于實驗車從橋下穿過,導致部分衛星信號中斷,造成定位輸出跳躍;SR濾波前的高程曲線抖動劇烈,和實際不符;而濾波后的高程數據比較平緩,高度變化趨勢與硬件接收機一致,這也與實際情況吻合。由動態實驗可知,文中設計的SR的定位結果和G2L的定位結果非常接近,定位精度較高。

圖3 高度方向上的軌跡曲線Fig.3 Track curve in height direction
文中設計并實現了一種基于FFT的碼相位并行的快速信號捕獲方案,對定位解算的數據進行卡爾曼濾波處理,提高了定位精度及定位方差,并通過靜態與動態兩個方面進行實驗驗證,結果表明,本文設計的軟件接收機定位精度較高,定位均方差較小,在GDOP小于3.9時,水平方向小于7 m,高度方向小于6 m。
[1]TsuiJB.FundamentalsofGlobalPositioningSystem Receivers:a software approach[M].New York:John Wiley&Sons Inc.,2000.
[2]羅鳴,曹沖,肖雄兵,等.全球定位系統-信號、測量與性能[M].北京:電子工業出版社,2008.
[3]楊東凱,張飛舟,張波.軟件定義的GPS和伽利略接收機[M].北京:國防工業出版社,2009.
[4]寇艷紅(譯).GPS原理與應用[M].北京:電子工業出版社,2007.
[5]Zhang L,Morton J.Tracking GPS Signals Under Ionosphere Scintillation Conditions[A].ION GNSS2009:Session A3.
[6]唐旭榮,唐斌,蔣德.衛星導航軟件接收機原理與設計[M].北京:國防工業出版社,2008.
[7]Vannee DJR,Coenen AJRM.New fast GPS code-acquisition technique using FFT[J].Electronics Letters,1991,27(17):158-160.
[8]Gardner F M.Phaselock Techniques(Third Edition)[M].John Wiley&Sons,Inc,2005.
[9]秦永元,張洪鉞,汪淑華.卡爾曼濾波與組合導航原理[M].西安:西北工業出版社,2007.
[10]楊涵.單比特數字接收機中補償矩陣的應用[J].電子科技,2012(3):17-20.YANG Han.Application of compensation matrix in the monobit digital receiver[J].Electronic Science and Technology,2012(3):17-20.
[11]張運鵬,王景賢.數字電位器在雷達多通道接收機中的應用[J].現代電子技術,2011(1):74-76.ZHANG Yun-peng,WANG Jing-xian.Application of digital potentiometer in radar multi-channel receiver[J].Modern Electronics Technique,2011(1):74-76.