摘 要: 為了盡量減少導(dǎo)航電文數(shù)據(jù)比特跳變帶來的影響,在基于FFT的并行碼相位搜索算法的基礎(chǔ)上,采用兩相鄰毫秒數(shù)據(jù)進行捕獲,再利用DFT細化頻率估計,得到C/A碼相位和較精確的載波頻率。利用實際采集的數(shù)據(jù)進行實驗,結(jié)果證實了該方法能快速有效地對C/A碼進行捕獲,為后續(xù)跟蹤環(huán)路提供了良好的初始條件。
關(guān)鍵詞: GPS軟件接收機;C/A碼捕獲;導(dǎo)航數(shù)據(jù)跳變;精頻估計
近年來,隨著軟件無線電技術(shù)的飛速發(fā)展,GPS軟件接收機已經(jīng)成為衛(wèi)星導(dǎo)航定位系統(tǒng)一個新的研究熱點。它將衛(wèi)星中頻信號輸入到PC機中,然后對該信號進行捕獲、跟蹤、解調(diào)、測量和PVT解算,整個信號處理過程通過軟件來完成,這樣就使得軟件接收機較傳統(tǒng)的接收機有更好的靈活性,研究人員可以做較小改動,而不需要改變硬件設(shè)計,就可以適應(yīng)不同信號,能夠迅速分析、仿真、實現(xiàn)各類算法,設(shè)置捕獲、跟蹤的各種參數(shù)和門限,達到研究新的信號處理算法的目的[1-7]。
為了跟蹤GPS信號并進行信息解碼,就必須先用捕獲程序來檢測信號的存在。一旦發(fā)現(xiàn)信號,必須測出C/A碼相位和載波頻率,以協(xié)助啟動信號跟蹤。因此,提高捕獲有效性和捕獲速度就顯得尤為重要。
1 C/A碼捕獲
1.1 導(dǎo)航數(shù)據(jù)跳變的處理
在普通強度GPS信號的捕獲中,剝離C/A碼后,輸入信號變?yōu)檫B續(xù)波,可用快速傅里葉變換得到載波頻率,這個操作稱為相干積分。在所有對GPS信號的捕獲方法中,相干積分都是第一步。
相干積分的長度受導(dǎo)航數(shù)據(jù)的限制,導(dǎo)航數(shù)據(jù)每20 ms會出現(xiàn)一次相位跳變。如果用于捕獲的數(shù)據(jù)段里含有導(dǎo)航數(shù)據(jù)跳變,就會擴展信號的頻譜,使得載波頻率處應(yīng)有的峰值擴散到周邊的頻率中,而產(chǎn)生信噪比損失,使捕獲結(jié)果變差。
為了保證在數(shù)據(jù)段中不包含導(dǎo)航數(shù)據(jù)跳變,采用兩段連續(xù)的1 ms的數(shù)據(jù)進行捕獲,分別計算捕獲相關(guān)值,并比較結(jié)果的信噪比,信噪比較大一段數(shù)據(jù)中肯定沒有導(dǎo)航數(shù)據(jù)跳變,取此相關(guān)值作為最后結(jié)果。
1.2 周期信號的相干積分
針對C/A碼的周期性,采用10 ms的數(shù)據(jù)來進行相干積分。
10 ms的信號下變頻到基帶,然后分成10組,每組包含1 ms的數(shù)據(jù)。由于C/A碼的周期是1 ms,每1 ms數(shù)據(jù)可以與同一個本地C/A碼進行相關(guān)。如此,對于分辨率為1 kHz的多普勒頻移區(qū)間內(nèi)的載波頻率而言,每1 ms都有N個相關(guān)結(jié)果(N為每1 ms的采樣點數(shù))。這10 ms的數(shù)據(jù)組成10組N點輸出的結(jié)果陣。將矩陣的每一列的10個點都分別執(zhí)行FFT,即可得到N列的頻域結(jié)果。矩陣中幅度最大的列序號和行序號分別表示C/A碼的初始相位和分辨率為100 Hz的載波頻率。
要遍歷m個多普勒頻移的區(qū)間,上述過程就要執(zhí)行m次,最終的輸出結(jié)果為10m×N的矩陣。這種方法的好處是,在進行捕獲的同時,頻率分辨率也有所提高,不需要進行額外的精頻確定處理,從而簡化了部分運算。
1.3 并行碼相位搜索捕獲算法
并行碼相位搜索捕獲算法是利用FFT來替代數(shù)字相關(guān)器的相關(guān)運算,將碼相位搜索并行[8],減少了搜索次數(shù),提高了整體速度。將需要搜索的頻率范圍等分成若干個頻率段,在待搜索的每段頻率上只需要搜索一次就可以確定C/A碼初始相位,即將二維搜索轉(zhuǎn)化為一維搜索,其實現(xiàn)方框圖如圖1所示。

2 算法分析與實現(xiàn)步驟
2.1 算法分析
捕獲函數(shù)每隔500 Hz搜索一次GPS信號,在每個頻率搜索階段,同時搜索碼相位。每次搜索之后保存相關(guān)結(jié)果并進入下一頻率單元,由此函數(shù)遍歷所有的頻段,接下來尋找函數(shù)最大相關(guān)值。之后,尋找同一頻率單元中的第二大相關(guān)值,然后計算其比值并作為信號檢測的規(guī)則,該比值用于與接收機中預(yù)設(shè)的門限值的比較。
需要注意的是,在判斷第二峰值時必須排除峰值左右各一個碼片以便除去峰值對周邊值的影響,從而獲得可靠的第二峰值。
如果第一峰值與第二峰值的比值超過門限值,則利用FFT方法找到精確的載波頻率,以協(xié)助跟蹤環(huán)中的PLL啟動信號跟蹤[9]。
捕獲程序流程圖如圖2所示。

2.2 實現(xiàn)步驟
從射頻前端采集到的數(shù)據(jù)中讀取11 ms的信號記為longSignal,從longSignal里截取兩相鄰毫秒的數(shù)據(jù),分別記為s1、s2。

(5)計算本地碼的傅里葉變換,并取其共軛復(fù)數(shù)


從圖3中可以看出明顯的峰值,且比較此顆衛(wèi)星的相關(guān)峰值與第二峰值比率14.617與初始值設(shè)定時的閾值2.5,可以判斷采集到的信號中含有此顆衛(wèi)星的信號。峰值點出現(xiàn)的位置所對應(yīng)的碼相位軸相應(yīng)位置,即捕獲所得到的碼相位的位置;峰值點出現(xiàn)位置對應(yīng)頻率成分軸相應(yīng)位置,即捕獲所得到的頻率成分值。
圖4是對8號衛(wèi)星進行捕獲的相關(guān)結(jié)果圖。圖中看不到明顯的峰值,運行相應(yīng)語句知此顆衛(wèi)星峰值比率1.12小于初始設(shè)定的閾值2.5,所以判定采集到的信號中不含有此顆衛(wèi)星的信號。
3.2 衛(wèi)星列表中衛(wèi)星捕獲情況
圖5從直觀上反映了初始值設(shè)定時選定的32顆衛(wèi)星列表中被捕獲到的衛(wèi)星PRN號及其峰值比率等信息。

表1詳細給出了所捕獲衛(wèi)星的PRN、載波頻率、多普勒頻移和碼相位。捕獲后按照載噪比由高到低進行排列。

本文在并行碼相位搜索算法的基礎(chǔ)上設(shè)計了利用兩相鄰毫秒的數(shù)據(jù)進行捕獲的算法,有效避免了導(dǎo)航數(shù)據(jù)跳變帶來的影響。針對C/A碼的周期性,進行分組相干積分,進行捕獲的同時,載波的頻率分辨率也得到提高,并且減少了部分運算量。理論和實驗結(jié)果證實了該算法能實現(xiàn)對C/A碼有效快速地捕獲。
參考文獻
[1] AGARWAL N,BASCH J,BECKMANN P,et al.Algorithms for GPS operation indoors and downtown[J].GPS Solutions,2000(6):149-160.
[2] LIN D,TSUI J.Comparison of acquisition methods for software GPS receiver[C].ION GPS 2000,Salt Lake City,UT,2000.
[3] KELLEY C,BARNES J,CHENG J.Open source GPS: open source software for learning about GPS[C].ION GPS 2002,Portland,OR,USA,2002.
[4] LACHAPLELLE G.GNSS indoor location technologies[J]. Journal of Global Positioning Systems,2004,3(1/2):2-11.
[5] MA C,JEE G,MAC G G,et al.GPS signal degradation modeling[C].ION GPS 2001,Salt Lake City,UT,2001.
[6] MA C,LACHAPELLE G,CANNON M E.Implementation of a software GPS receiver[C].ION GNSS 2004,Long Beach,CA,2004.
[7] TSUI J.Fundamentals of global positioning system receivers:a software approach[M].2nd ed.New York:John Wiley&Sons,2005.
[8] 謝鋼.GPS原理與接收機設(shè)計[M].北京:電子工業(yè)出版社,2009.
[9] BORRE K,AKOS D M,BERTELSEN N,et al.A software-defined GPS and galileo receiver[M].National Defense Industry Press,2009.
