曹 單 汪 澎 周建紅
(電子科技大學 成都 611731)
全球衛星定位系統(global position system,GPS)因其高精度、全天候、全球覆蓋、方便靈活和質優價廉的特點而被廣泛應用于導航、定位、授時等領域。GPS接收機接收同步地球衛星發射的衛星信號,包括載波信號、測距碼和導航電文。GPS信號的捕獲是一個包括碼相位和多普勒頻率的二維搜索過程,主要有時域串行搜索和頻域并行搜索兩種方式。時域串行搜索花費的時間通常比較長,在高動態和弱信號的情況下常用頻域FFT方法可有效的節約捕獲的時間。
本文主要針對L1波段上C/A碼的捕獲,介紹了一種可縮減多普勒頻率搜索次數的方法,并通過平均采樣相關技術降低了計算的復雜度,整個捕獲算法仿真由Matlab編程實現。

經過A/D采樣輸出后某一顆衛星的信號形式為:式中,A(k)是發射信號的幅度;G(k)表示衛星發射的偽隨機噪聲碼;D(k)表示信號上調制的導航信息;wc表示載波的中頻頻率,wd,s表示載波的多普勒頻移;φ0表示初始相位。
時域捕獲的過程就是不斷調整本地碼相位和載波頻率進行相關的過程,其原理可由圖1所示框圖表示。接收信號與本地產生的載波信號相乘得到I支路信號,與90°相移后的載波相乘后得到Q支路信號,再將I支路和Q支路信號與偏移后的本地C/A碼相乘:
可得到此時I、Q兩路信號為:

I1(k)和Q1(k)包含高頻和低頻分量,由信號系統的理論可知后面的累加器相當于截止頻率為1/T的低通濾波器(T=1ms,為一個C/A碼周期長度),所以只有低頻分量可通過累加,忽略高頻分量后I、Q支路信號可表示為:

當接收信號和本地產生的C/A碼、載波都一致時,將在累加平方之后出現一個峰值,且大于設定的閾值。這時就可以判斷捕獲到一顆衛星信號。對于搜索的多普勒頻移范圍為[-10k,10k],搜索步長為0.5k,需要調整本地載波頻率41次。
與傳統的時域搜索算法所不同的是產生的本地信號不一樣,其信號格式為:

與分析的一樣,I1(k)和Q1(k)中的高頻分量將被過濾掉,忽略高頻部分后I1(k)和Q1(k)的信號為:


由上述兩式可知:無論 wd≈ wd,s還是 wd≈ -wd,s,I1(k)和Q1(k)中都將有一直流信號通過累加器,當接收信號和本地信號的載波、C/A碼一致時將會捕獲到一顆衛星的信號。因此,一個多普勒頻移點就對應了兩個載波頻率的搜索,可以減少大約一半的多普勒頻率搜索范圍。其原理如圖2所示。

圖2 改進的時域捕獲算法框圖
頻域搜索的方法就是將時域大量的相關運算變換到頻域作簡單的乘法運算,然后通過逆離散傅里葉變換得到時域相關的運算結果,可以極大的減少運算量,提高捕獲的速度。信號x(n)和y(n)的互相關運算在時域和頻域的表達式為:


圖3 傳統頻域捕獲算法框圖
這個關系式可以作為GPS信號與本地產生信號的互相關,這樣捕獲過程可表示為:

本文采用GP2015射頻模塊接收到的中頻信號作為信號源,其理論中頻為1.405MHz,采樣頻率為5.714MHz,輸出的數字信號為兩位。表1為中頻信號的編碼,圖2為中頻信號的頻譜圖。設定搜索的多普勒頻率范圍±10k,步長為0.5k,由第2.3節中的改進方法可知只需在0~10k范圍內搜索21個多普勒頻點。由于在1ms的時間內可能出現數據位的跳變而影響相關的結果,所以取2ms的中頻信號分為兩段,并對每段1ms數據分別做相關,那么至少有一段的的信號不會出現數據位的跳變,最后取兩段中峰值最大的那一段信號作分析。編寫Matlab程序得到捕獲第7號衛星的仿真結果,如圖5所示。當碼相位偏移為5140,多普勒偏移為1kHz時,相關結果出現峰值。

表1 中頻信號的編碼

圖4 中頻信號的頻譜圖
對于采樣頻率為5.714MHz的中頻信號,每個C/A碼周期(1ms)會有5714個采樣數據,由于5714點的FFT和IFFT計算量大,而且不是基2和基4的結構,就會增加計算復雜度從而影響處理的速度。所以考慮將5714點數據下采樣到1024點以節省硬件成本和處理時間。其基本原理是將每5個或6個中頻采樣數據累加成1024點中的一個采樣點,這樣就需要完成594次連續6點平均成一個數據的操作,430次連續5點平均成一個數據的操作。由于不知道本地C/A碼和接收到的碼序列的相對位移,就需要得到6個1024點序列,其中必定有一個能與接收信號有很好的近似。相對來說6次1024點FFT仍然要比一次5714點FFT簡單。對于本地C/A碼采用同樣的方法將其平均采樣到1024點。令k=1、2、3、4、5、6 表示 6 個1024 點序列的序列號,平均采樣后碼相位的計算公式為:

其中,n為相關結果中峰值所對應的位置,k為6個1024點序列的序列號,經過round誤差后,可以精確到1/5個碼片周期。圖6為平均采樣示意圖,圖7為該算法的實現框圖。


按照圖7所示流程用Matlab語言實現,可以捕獲到7、8、24、26、28、29、31 號衛星的信號,圖 8 為 k=1時第7號衛星的仿真結果。表2為6個序列的仿真結果。



表2 平均采樣捕獲算法仿真的結果
當k=1時,峰值為最大,所以捕獲的第7號衛星的碼相位偏移應為5139,多普勒頻移為1kHz,與3.2中的仿真結果基本一致,說明該方法可以成功捕獲到GPS衛星信號。
本文就GPS信號在時域和頻域捕獲原理進行分析的基礎上,介紹了一種可實現快速捕獲的方法,相比傳統的方法能節約一半的時間。通過平均采樣技術將FFT和IFFT的點數由非基2的5714點降到了1024點,不僅減少了計算的時間,也降低了接收機硬件實現的難度和成本。
[1]魯郁.GPS全球定位接收機-原理與軟件實現[M].北京:電子工業出版社,2009.
[2]J.A.Starzyk.Z.Zhu.Averaging Correlation for C/A Code Acquisition and Tracking in Frequency Domain[C].MWSCS.Fairborn,Ohio.2001:905-908.
[3]汪宿梁,毛志剛,謝憬.基于GPS預捕獲的算法研究及硬件實現[J].微電子學與計算機,2009,6.
[4]Kou Wei,Wen Zhiping,Zhang Yongxue,BI Bo.New Compress Sampling Algorithm for GPS Signal Acquisition in Frequency Domain[C].WCECS,2007.
[5]David Akopian,Sos Agaian.A Fast Matched Filter in Time domain[C].0-7803-8416-4/04.IEEE,2004.
[6]宋華.瞬時GPS信號仿真及導航算法仿真[D].中科院研究生院博士論文,2008.
[7]Alaqeeli A,Starzyk A,Van Grass F.Real time acquisition and tracking for GPS receiver[C].IEEE In Symposium on Circuits and Systems.Bangkok,Thailand,2003:500-.
[8]J.Z.LEE.Research on fast acquisition of GPS signal[J].Navigation Electron.Lett.,2006,37(2):1-5.