摘 要:對GPS軟件接收機的捕獲和跟蹤部分進行了研究。對于捕獲模塊,通過對常用串行搜索捕獲算法和并行頻域搜索捕獲算法的比較和分析,提出了一種新型并行碼相位搜索捕獲算法;對于跟蹤模塊,提出采用非相干延遲鎖相環(huán)對碼進行跟蹤,同時采用Costas環(huán)對載波進行跟蹤;最后,從捕獲和跟蹤的GPS信號中提取出導航電文,并根據(jù)電文中的參數(shù)計算出了用戶的位置坐標,并在Matlab中對用戶的位置坐標進行了定位解算驗證。
關鍵詞:GPS; 捕獲模塊; 跟蹤模塊; Costas環(huán)
中圖分類號:TP311 文獻標識碼:A
文章編號:1004-373X(2010)12-0093-04
Acquisition and Tracking Algorithm for GPS Signal Based on Software
GUAN Ke, WU Juan-li, YANG Jun
(Information Engineering Institute, Chang’an University, Xi’an 710064, China)
Abstract:The acquisition and tracking algorithm of GPS software receiver is introduced. For the acquisition module, a new method of code phase parallel-searched acquisition algorithm is proposed by comparing and analyzing the commonly used serial-searched acquisition algorithm and frequency parallel-searched acquisition algorithm. For the tracking module, the non-coherent delay lock loop was used to track C/A code, and Costas loop was used to track carrier wave. Finally, the navigation message was extracted from the captured GPS signal, and the user′s position coordinate was calculated by the parameters of the acquisition and tracking parts, which was tested accurately in Matlab.
Keywords:GPS; acquisition module; tracking module; Costas loop
0 引 言
早期的GPS接收機基于模擬信號處理,由于使用了大量的模擬器件,其接收機體積比較龐大。隨著集成電路技術的成熟,現(xiàn)代GPS接收機采用專用的ASIC電路進行信號處理,利用集成電路制造的GPS接收機功能強大、體積小,但靈活性差。近年來,在數(shù)字信號處理技術發(fā)展的影響下,GPS衛(wèi)星信號的接收處理越來越趨向于采用軟件的方法來實現(xiàn),即將GPS信號在接收天線輸出端進行數(shù)字化,然后再通過軟件對其進行處理計算,最終實現(xiàn)用戶位置的定位。軟件GPS接收機中,硬件部分和軟件部分幾乎是完全獨立的,因此具有成本低,開發(fā)速度快,靈活性大,便于修改和升級等優(yōu)點。目前,GPS軟件接收機的設計與實現(xiàn)己經(jīng)成為眾多研究機構的研究熱點,本文對其關鍵技術部分即基于軟件處理的GPS信號捕獲和跟蹤算法進行了研究。
1 GPS信號的捕獲
GPS衛(wèi)星播發(fā)的信號在UHF頻段的2個頻率部分L1和L2上傳播,對于衛(wèi)星k播發(fā)的GPS信號sk(t)可以表示如下[1-2]:
sk(t)= 2PC[ Ck(t)⊕Dk(t)] cos(2πfL1t)+
2PPL1[ Pk(t)⊕Dk(t)] sin(2πfL1t)+
2PPL2[ Pk(t)⊕Dk(t)] sin(2πfL2t) (1)
式中:PC,PPL1和PPL2是C/A部分信號和P(Y)碼部分信號的功率;Ck是衛(wèi)星k對應的C/A碼序列;Pk是衛(wèi)星k對應的P(Y)碼序列;Dk是導航數(shù)據(jù)序列;fL1和fL2分別是L1載波頻率和L2載波頻率。C/A碼主要用于民用,是民用GPS技術研究的重點。本文研究的GPS軟件接收機就是基于C/A碼的。
常用GPS信號的C/A碼捕獲算法有串行搜索捕獲算法和并行頻域搜索捕獲算法2種[3-4]。
1.1 串行搜索捕獲算法
串行搜索捕獲算法是基于碼分多址(CDMA)的一種捕獲方法。其基本原理框圖如圖1所示。
由圖1可以看出,串行搜索捕獲算法是由本地產(chǎn)生的C/A碼序列、本地振蕩器產(chǎn)生的載波與輸入信號之間的相乘運算組成的。當對中頻IF±10 kHz范圍內所有頻率以500 Hz為步長進行搜索時,串行搜索捕獲算法總共要進行41 943次運算,即:
1 023碼相位×2×10 000500+1頻率=1 023×41=41 943 (2)
圖1 串行搜索捕獲算法原理圖
1.2 并行頻域搜索捕獲算法
并行頻域搜索捕獲算法是用本地產(chǎn)生的C/A碼與輸入信號進行相干運算,并將運算結果利用傅里葉變換從時域變換到頻域,來最終確定信號的算法。并行頻域搜索捕獲算法的原理圖如下圖2所示[5-7]:
圖2 并行頻域搜索捕獲算法原理圖
由圖2可見,并行頻域搜索捕獲算法僅對1 023個不同的碼相位進行了搜索,大大減少了搜索的工作量,但同時,它又帶來了對與每個不同碼相位相乘后的信號進行傅里葉變換時的時間消耗。
1.3 并行碼相位搜索捕獲算法
相對而言以500 Hz為步長的載波頻率搜索總量41,碼相位的搜索總量1 023是比較大的。如果能使捕獲過程在相位域并行化,那么相比較并行頻域搜索捕獲方法中的1 023次搜索,這種情況下只需要搜索41次,因此,這里提出并行碼相位捕獲算法。
并行碼相位捕獲算法原理如圖3所示。
圖3 并行碼相位搜索捕獲算法原理圖
如圖3所示,輸入信號首先與不同相位的兩路本地載波相乘,產(chǎn)生I支路信號和與其正交的Q支路信號。然后I支路和Q支路合為一路復輸入信號x(n)=I(n)+jQ(n),進行傅里葉變換。同時,本地C/A碼經(jīng)過傅里葉變換后取共軛,然后其共軛和復輸入信號x(n)經(jīng)過傅里葉變換得到的信號相乘,其結果通過反傅里葉變換將這部分相乘后的信號轉換到時域,最后通過取絕對值得到輸入信號和C/A碼之間的相關值。根據(jù)結果的絕對值大小即可確定輸入信號。
相比較前面的捕獲方法,并行碼相位搜索捕獲方法將搜索量減少到了對41個不同載波頻率的搜索。每次捕獲時,C/A碼的傅里葉變換只需要計算1次,41個不同的載波頻率分別要進行傅里葉變換和反傅里葉變換,大大減少了運算量。
1.4 捕獲結果
本文設計的GPS軟件接收機用8個通道進行信號處理。搜索的衛(wèi)星數(shù)量為32,搜索載波頻率時以中頻IF為中心偏移的總帶寬為14 kHz。中頻IF=9.548e6 Hz,C/A碼的碼頻是1.023e6 Hz,抽樣頻率是38.192 MHz,檢測信號存在的門限為2.5,1個周期內C/A碼的碼元總數(shù)為1 023。32顆衛(wèi)星的捕獲結果圖如圖4所示。
圖4 捕獲結果
圖4中,橫坐標代表32顆衛(wèi)星的PRN號,即1~32,縱坐標用于度量捕獲的結果。Acquired signals的長方形代表捕獲到了信號,Not acquired signals的長方形代表未捕獲到信號,從Acquired signals的長方形對應的橫坐標,可以讀出捕獲到的衛(wèi)星號,即可見衛(wèi)星的PRN號,此時可見衛(wèi)星為:3號,6號,9號,15號,18號,21號,22號,26號。Not acquired signals的長方形則對應不可見衛(wèi)星的PRN號。其捕獲結果如表1所示。
由表1可知,經(jīng)過并行碼相位搜索捕獲,8個通道分別捕獲3號,6號,9號,15號,18號,21號,22號,26號衛(wèi)星。這些衛(wèi)星的頻率分別為9.549 9e6 Hz,9.544 31e6 Hz,9.550 83e6 Hz,9.549 92e6 Hz,9.548 25e6 Hz,9.547 43e6 Hz,9.549 69e6 Hz,9.545 01e6 Hz。
Doppler頻移分別為1 903 Hz,-3 688 Hz,2 832 Hz,1 921 Hz,246 Hz,-574 Hz,1 694 Hz,-2 987 Hz。
表1 8個通道的捕獲結果
Channe PRN Frequency /HzDoppler CodeOffset Status
1 21 9.547 43e+006 -574 13 404 T
2 22 9.549 69e+006 1 694 6 288 T
3 15 9.549 92e+006 1 921 36 321 T
4 18 9.548 25e+006 246 20 724 T
5 26 9.545 01e+006 -2 987 26 827 T
6 6 9.544 31e+006 -3 688 28 202 T
7 9 9.550 83e+006 2 832 4 696 T
8 3 9.549 90e+006 1 903 34 212 T
碼相位偏移量分別為34 212抽樣點,28 202抽樣點,4 696抽樣點,36 321抽樣點,20 724抽樣點,13 404抽樣點,6 288抽樣點,26 827抽樣點。
從以上捕獲結果可以看出,對接收到的實際信號進行并行碼相位搜索捕獲,成功得到了可見衛(wèi)星PRN號、可見衛(wèi)星的載波頻率和C/A碼初始碼相位。
2 GPS信號的跟蹤
完成GPS信號捕獲以后,得到的載波頻率和C/A碼相位只是對GPS信號的粗略估計。因此,還需要對GPS信號進行進一步跟蹤,來得到更精確的載波頻率和C/A碼相位,并解調出特定衛(wèi)星的導航數(shù)據(jù)。本文的GPS信號跟蹤模塊包括載波跟蹤和碼跟蹤2部分。
2.1 GPS信號載波跟蹤設計
GPS信號中的導航數(shù)據(jù)位在經(jīng)過1個20 ms的周期后存在相位跳變,所以GPS信號的載波跟蹤應該對180°的相位轉換不敏感,而Costas環(huán)很重要的一個特性就是對180°的相位轉換不敏感,因此它對導航數(shù)據(jù)位的跳變也會不敏感,因此本文采用Costas環(huán)來作為載波的跟蹤。圖5是Costas環(huán)的基本原理圖。
圖5 Costas環(huán)原理圖
圖5中Costas環(huán)內包括2個乘法器。一個是本地載波和與C/A碼相乘后的輸入信號相乘形成I支路,一個是經(jīng)過90°相移的本地載波和與C/A碼相乘后的輸入信號相乘形成Q支路。Costas環(huán)通過對載波發(fā)生器加一些反饋來將能量保持在I支路。
2.2 GPS信號碼跟蹤設計
GPS信號碼跟蹤采用非相干延遲鎖定環(huán)DLL來實現(xiàn),其原理框圖如圖6所示。
圖6中,碼跟蹤環(huán)路中相關器的輸出IP和QP作為載波跟蹤環(huán)路中載波環(huán)路鑒別器的輸入,然后載波環(huán)路鑒別器輸出一個反饋因子經(jīng)過環(huán)路濾波器后調整本地載波NCO的輸出。本地載波NCO產(chǎn)生的載波信號和輸入信號相乘產(chǎn)生I支路,經(jīng)過90°相移的本地載波信號和輸入信號相乘產(chǎn)生Q支路。I支路和Q支路然后分別跟本地產(chǎn)生的PRN超前(E)碼、即時(P)碼、滯后(L)碼序列分別進行相關運算。其中超前碼,即時碼和滯后碼分別相差1/2個碼元寬度。經(jīng)過相關運算后的結果輸入到延遲鎖相環(huán)的鑒相器, 鑒相器根據(jù)PRN碼的自相關特性,獲得碼相位誤差,該誤差經(jīng)環(huán)路濾波器后調整本地PRN碼的數(shù)控振蕩器NCO,控制偽碼生成速率。使本地PRN碼保持跟蹤輸入信號中碼相位的變化,實現(xiàn)精確同步。
圖6 GPS碼跟蹤模塊原理框圖
2.3 GPS信號跟蹤結果
其部分跟蹤結果如圖7所示。
圖7 通道1跟蹤21號衛(wèi)星結果
圖7中左上角是I支路和Q支路的離散時間分布圖,從該圖可以看出即時分量IP和QP的大小關系;右上角的圖是解調出的37 s的導航電文;中間部分靠左的圖是載波跟蹤環(huán)路中原始的PLL鑒別器的幅度響應;左下角的圖是載波跟蹤環(huán)路在對信號進行跟蹤后的PLL鑒別器的幅度響應;右下角的2個圖分別是碼跟蹤換路中原始的DLL鑒別器的幅度響應和對信號進行跟蹤后的DLL鑒別器的幅度響應;中間部分靠右的圖是I支路和Q支路中即時、超前和滯后分量即IP和QP,IE和QE,IL和QL的相關結果。從圖4可以看出,由于跟蹤環(huán)路中噪聲的存在,載波跟蹤環(huán)路中原始的PLL鑒別器的幅度響應和碼跟蹤換路中原始的DLL鑒別器的幅度響應都不為零。
3 結 語
(1) 對于GPS信號的捕獲,通過對常用串行搜索捕獲算法和并行頻域搜索捕獲算法的比較和分析,提出了一種新型并行碼相位搜索捕獲算法,提高了GPS軟件接收機的定位速度和定位精度。
(2) 對于GPS信號的跟蹤,提出采用非相干延遲鎖相環(huán)對碼進行跟蹤,該鎖相環(huán)能夠用于不同強度和不同信噪比的信號,當碼元差大于1/2碼元時,依然具有良好的性能,并且能夠保持對噪聲信號的跟蹤;同時采用Costas環(huán)對載波進行跟蹤,避免了導航數(shù)據(jù)位在發(fā)生相位跳變時引起反饋項的變化,保證了載波跟蹤環(huán)路 對信號的正確跟蹤。
參考文獻
[1][ 美] KAPLAN E D. GPS原理與應用[M].寇艷紅,譯.2版.北京:電子工業(yè)出版社,2007.
[2]楊俊,武奇生.GPS基本原理及其Matlab仿真[M].西安:西安電子科學大學出版社,2006.
[3]陳懷琛.數(shù)字信號處理教程 Matlab釋義與實現(xiàn)[M].2版.北京:電子工業(yè)出版社,2008.
[4]徐敏,翟傳潤,戰(zhàn)興群,等.GPS軟件接收機捕獲跟蹤算法研究與仿真[J].微計算機信息,2007,23(10):180-181.
[5]王先毅,孫躍強,劉正延,等.GPS軟件接收機結構與仿真實現(xiàn)[J].科學技術與工程,2007,7(11):2485-2486.
[6]鮑雍榮.軟件GPS接收機的C++/Matlab實現(xiàn)[D].上海:上海交通大學,2007.
[7]張勇,林寶軍,徐志瀚.軟件GPS接收機信號搜索捕獲的仿真實驗研究[J].系統(tǒng)仿真學報,2006,18(9):2646-2649.
[8]CORBIN Anthony J. Design and implementation of a GPS receiver:functional description and complete system block diagram[ M] . [ S.l.] : Soo Ahn,2007.
[9]RINDER Peter, BETELSEN Nicolaj. Design of a single frequency GPS software receiver[ M] . [ S.l.] :Aalborg University, 2004.
[10]HEGARTY C J. Multipath performance of the new GNSS signals[ C] . Proc. of the Institute of Navigation National Technical Meeting. San Diego: [ s.n.] , 2004.