劉瑞華 孔月明 蔚保國 邢兆棟
1.中國民航大學電子信息工程學院,天津 300300 2.中國電子科技集團公司第54研究所,石家莊 050081
?
GPS軟件接收機基帶信號處理算法及驗證*
劉瑞華1孔月明1蔚保國2邢兆棟2
1.中國民航大學電子信息工程學院,天津 300300 2.中國電子科技集團公司第54研究所,石家莊 050081

主要研究基于數據塊的GPS軟件接收機基帶信號處理流程和算法,包括對載波和偽碼的捕獲和跟蹤過程,并解調出導航電文數據。利用實際接收到的衛星信號數據,結合MATLAB軟件平臺,對GPS軟件接收機基帶信號處理過程的各個環節進行仿真驗證。結果表明,所研究的基帶信號處理算法能較好的捕獲衛星信號,可準確跟蹤載波信號和偽碼序列,能正確解調出導航數據。同時驗證了該算法在軟件接收機系統中應用的可行性,并為開發實時GPS接收機奠定了基礎。 關鍵詞 GPS軟件接收機;捕獲;跟蹤;仿真驗證;可行性
隨著現代全球導航衛星定位系統的迅速發展,設計并實現能靈活充分利用所有導航衛星信號的下一代GNSS接收機成為一項極具挑戰性的工程[1]。傳統的GNSS接收機主要基于專用集成電路結構,這種接收機設計較為固定,一般不可進行重置,用戶很難改變接收機各類參數以適應不同導航信號處理的需求,同時也給基帶信號處理新算法的實現、測試和分析帶來不便[1-3]。而基于軟件無線電思想的GNSS軟件接收機,將硬件作為無線通信基本平臺,用軟件來實現盡可能多的用戶通信功能,只需進行軟件修改便可對接收機實現升級,且這種更改設置還可以用于處理不同體制的衛星信號。
與傳統的GNSS接收機相比,軟件接收機系統設計簡潔,開發速度快,成本更低,且有高度可配置性,更具方便性和靈活性,對新一代導航接收機的開發有著重要意義[2]。本文以接收處理L1波段C/A碼信號的單頻GPS軟件接收機為例,基于GPS中頻信號采樣實際數據,并對數字中頻GPS信號的捕獲和跟蹤過程及其算法進行了分析研究,同時結合MATLAB軟件,仿真基帶信號數據處理流程,最后解調出導航數據,驗證了捕獲和跟蹤算法的正確性及其在接收機系統中應用的可行性。
接收機的捕獲是一個粗同步過程,能粗略估計出接收信號的 C/A 碼相位和載波頻率,然后傳遞給跟蹤過程,作為跟蹤環路的初始化參數[4-5]。
1.1 GPS信號捕獲算法的原理分析
本文研究的捕獲方法是基于頻域的并行碼相位搜索捕獲算法,通過傅里葉變換實現對C/A碼相位的并行搜索。只需對多個不同的載波頻率點進行捕獲運算,從而將搜索空間消減,加快信號搜索速度[4,6]。并行碼相位搜索捕獲算法的工作原理如圖1所示。

圖1 并行碼相位搜索捕獲算法框圖
采集到包含多顆衛星的信號可表示為:
sr(n)=s1(n)+s2(n)+…+sk(n)+e(n)
(1)
其中,sr(n)是采集到的衛星信號,sk(n)代表當前可見第k顆GPS衛星信號,e(n)是高斯白噪聲。對衛星信號的搜索就是從這一混合信號中確認出可見衛星及其信號的C/A碼初始相位和載波粗頻率。
數字中頻信號表達式為:
sk(n)=Ck(n)Dk(n)cos[(wIF+wd)n+φ]+e(n)
(2)
其中,Ck(n)是第k顆衛星的C/A碼序列,Dk(n) 是導航數據序列,wIF是載波頻率經下變頻后的中頻,wd是載波多普勒頻移,φ是載波初始相位。
輸入的數字中頻信號與本地載波相乘,分別得到I,Q兩路信號:
(3)
(4)
其中,we是輸入信號與本地載波之間的頻率差,ei(n),eq(n)是e(n)與本地載波相乘后進行積分的結果。
由I,Q兩路信號組合得到復信號,進行歸一化可得:
x(n)=I(n)-jQ(n)
(5)
對x(n),C(n)分別進行傅里葉變換,結果為X(k)和C(k),則:
(6)
式中,m=0,1,2,…,N-1,C*(k)是C(k)的復共軛。對z(m)取模可得:

(7)
式(7)可用于得到輸入信號與本地信號之間的相關關系,最后檢測出最大相關值,來判斷衛星信號是否成功捕獲。對某一頻點的碼相位進行并行搜索,只需要完成2次FFT,一次逐點相乘和一次IFFT運算[7]。
1.2GPS信號捕獲算法的仿真驗證
本文使用美國科羅拉多大學利用射頻采集前端獲得的數據進行MATLAB仿真,驗證GPS軟件接收機中的并行碼相位搜索捕獲算法。
實際采得的GPS數據重要參數為:GPS信號帶寬為19.096MHz;采樣頻率為38.192MHz;中頻頻率為9.548MHz;數據時長為37s;以8位的二進制形式存儲。文中采用接收處理L1波段C/A碼信號的單頻GPS軟件接收機:包含8個通道;可捕獲32顆衛星;載波頻率搜索范圍為中頻頻率±7KHz;載波頻率的搜索步長取500Hz;C/A碼相位搜索范圍為0~38192;碼相位的搜索步長取1個采樣點;判決捕獲成功與否的相關峰比值門限設為2.5。
MATLAB軟件仿真得到32顆衛星的捕獲結果如圖2所示。

圖2 所有衛星信號捕獲結果
該GPS軟件接收機捕獲到PRN21,PRN22,PRN15,PRN18,PRN26,PRN06,PRN09和PRN03這8顆衛星的信號,它們的捕獲峰值都大于預設門限2.5,相應的相關峰值小于2.5的衛星信號沒有被捕獲到。捕獲結果包括衛星對應的PRN號、載波頻率、碼相位和多普勒頻移,并按照衛星信號強度列于表1。

表1 8個通道的捕獲結果
結合表1和圖2可以看出PRN21的衛星信號最強,所以選取衛星PRN21為例進行分析研究。圖3和4是使用并行碼相位搜索捕獲算法成功捕獲PRN21衛星信號的結果。

圖3 PRN21衛星二維捕獲結果

圖4 PRN21衛星三維捕獲結果
圖3和圖4分別為PRN21衛星信號的二維和三維捕獲結果。循環互相關運算完成后,成功捕獲到PRN21衛星,其峰值位于頻率9.547MHz和碼相位13404處。
從MATLAB仿真結果可以看出,GPS軟件接收機利用并行碼相位搜索捕獲算法能成功捕獲到實測數據中所包含的8顆衛星信號,并粗略估計出各個衛星信號對應的載波頻率和碼相位參數,這充分驗證了此算法的正確性及其在GPS接收機系統中應用的可行性。
GPS信號捕獲僅提供了對載波頻率和碼相位參數的粗略估計。跟蹤的主要目的是使這些估計值精確化,并保持跟蹤,然后從跟蹤到的衛星信號中提取各觀測量,解調出導航數據[6]。跟蹤的實質就是為了穩定的跟蹤信號而采取的一種對環路參數的動態調整策略。信號跟蹤有2個方面:1)實現對GPS信號中載波分量的跟蹤;2)實現對偽碼分量的跟蹤。
2.1 GPS信號跟蹤算法的原理分析
在GPS軟件接收機內部必須有2個跟蹤環:碼跟蹤環(DLL)和載波跟蹤環(PLL),它們的連接方式如圖5所示,載波跟蹤環中用來剝離C/A碼的本地碼來自碼跟蹤環,碼跟蹤環中用來剝離載波的兩路本地載波信號來自載波跟蹤環[6,8]。

圖5 組合的DLL和PLL跟蹤環框圖
PLL與DLL優化組合的跟蹤環工作原理為:
1)載波跟蹤:采用Costas環實現載波跟蹤環路,這種鎖相環對導航數據引起的相位翻轉不敏感,其目的是將所有的信號能量保留在I支路[9]。本地碼相位精確對齊時,I,Q支路混頻結果分別為:
(8)
(9)
其中,φe是輸入信號與本地載波的相位差。混頻后的信號分別經過低通濾波器輸出結果為:
(10)
(11)
輸入信號與本地載波的相位差可由式(12)求得:
(12)
(13)
相位誤差通過載波環濾波器濾除噪聲后,輸出給數控振蕩器(NCO),調節振蕩器頻率,使其與輸入信號的頻率保持一致。利用該方式,實現對輸入信號載波的本地復現,解調碼跟蹤環的輸出信號,得到導航電文數據。
2)碼跟蹤:碼相位跟蹤的實現通常采用非相干延遲鎖定環,其運行和控制過程與載波環很相似,區別在于DLL需要三路本地偽碼為輸入信號的跟蹤提供延遲依據,用來判斷本地偽碼與輸入信號之間相關結果的最大值。
當碼相位需要調整時,碼相位鑒別器利用E,L支路上的相關結果計算出碼相位誤差,經濾波后輸入到PRN碼發生器,調節本地偽碼的頻率和相位,使其與輸入信號的偽碼保持對齊。碼相位鑒別器通常使用超前-滯后能量差相位鑒別器,鑒別因子D表示為:
(14)
其中,IE,QE,IL和QL為圖5所示的6個相關器中的4個輸出。DLL對載波相位不敏感,當本地載波存在相位誤差時,可同時利用I,Q兩路信號判斷正確的相關輸出,從而保證C/A碼相位的正確跟蹤。
2.2GPS信號跟蹤算法的仿真驗證
采用PLL與DLL優化組合的跟蹤環對實測數據中的衛星信號進行跟蹤處理,跟蹤環路參數選擇為:載波環中,阻尼系數ξ=0.7,噪聲帶寬BL=25Hz;碼環中,阻尼系數ξ=0.7,噪聲帶寬BL=2Hz。MATLAB軟件仿真結果如圖6所示(取PRN21衛星為例)。
圖6反映了PLL和DLL的跟蹤質量。圖中左半部分,PLL鑒別器的輸出經過短暫的牽引過程后,載波相位誤差抖動逐漸變小,這表明載波環路維持在良好的跟蹤狀態。PLL濾波器的輸出隨時間的推移,載波多普勒頻率變化近似呈線性,最終能得到1個穩定的信號用來調節NCO載波發生器,生成與輸入信號載波相一致的本地載波。圖中右半部分,DLL鑒別器輸出的碼相位誤差抖動在零值附近相對穩定,這表明碼跟蹤環路維持在良好的跟蹤狀態。DLL濾波器的輸出隨時間的推移,碼速率變化近似呈線性,最終得到1個穩定的信號用來調節PRN碼發生器,生成與輸入信號偽碼完全對齊的本地偽碼。圖6結果表明PLL與DLL優化組合的跟蹤環能正確、穩定的跟蹤輸入信號的載波頻率和C/A碼相位,完成對輸入信號的解調和解擴。

圖6 PRN21衛星載波環和碼環鑒別器及環路濾波器輸出
圖7為PLL處于鎖定狀態時碼跟蹤環中6個相關器的輸出結果。當信號被正確跟蹤時,可以看出信號能量主要集中在I路,從而驗證了本文所設計的碼跟蹤環不受載波相位影響的優點。

圖7 碼跟蹤環中同相支路和正交支路的6個相關器輸出
圖8所示分別為PRN21衛星經過1s跟蹤積分累加后輸出的Q路和I路分量。Q路輸出為噪聲分量,I路輸出為原始的導航電文數據。在整個GPS信號跟蹤環節,它們反映出信號的跟蹤質量并確定軟件接收機的整體性能。
接收機完成跟蹤后,需要把跟蹤環I路輸出的積分累加值轉換為導航數據,理論上1ms輸出1bit數據。但實際處理的是帶有噪聲的弱信號,導航電文每一比特持續20ms,所以應每 20ms計算1個平均值,輸出1bit數據,并二值化為1和-1[6,10,11]。

圖8 PRN21衛星跟蹤環中Q支路和I支路輸出
在導航數據轉換時,對數據進行簡單的歸一化處理,歸一化公式為:
(15)
根據導航數據位跳變來標記每一導航比特的起始位置,相鄰位跳變時刻之差除以20并四舍五入,得到跳變位之間的比特數。圖9為跟蹤環輸出對應PRN21衛星的以比特為單位的部分導航數據轉換結果。

圖9 PRN21衛星歸一化導航數據
由圖9可以看出,利用PLL與DLL優化組合的跟蹤環形式能準確且穩定的跟蹤GPS衛星信號,最終得到精確的碼相位值和載波頻率值,正確解調出各個衛星對應的導航數據,充分驗證了此跟蹤算法的優越性及其在GPS軟件接收機系統中應用的可行性。
詳細闡述了GPS軟件接收機對數字中頻信號的捕獲、跟蹤及解調過程。主要分析了基于L1波段C/A碼信號的單頻GPS軟件接收機的捕獲和跟蹤算法方案,即在捕獲階段采用基于頻域的并行碼相位搜索捕獲方法,在跟蹤階段采取PLL與DLL優化組合的跟蹤環形式。最后利用MATLAB軟件實現了GPS信號捕獲和跟蹤算法的仿真,解調出導航數據,驗證了信號處理算法在系統中應用的正確性和可行性。
[1]OlivierJulien,BoZheng,LeiDong,GérardLachapelle.ACompleteSoftware-BasedifGNSSSignalGeneratorforSoftwareReceiverDevelopment[C].ProceedingofIONGNSS2004,LongBeach,CA, 2004.
[2]MaC,LachapelleG,CannonME.ImplementationofSoftwareGPSReceiver[C].ProceedingofIONGNSS2004 (SessionA3),LongBeach,CA, 2004.
[3]FalinWu,KefeiZhang,andAkioYasuda.GPSSignalAcquisitionandTrackingUsingSoftwareGPSReceiver
[C]. 8thInternationalSymposiumonSignalProcessingandItsApplications,Sydney, 2005.
[4]AkopianD.FastFFTBasedGPSSatelliteAcquisitionMethods[J].Radar,SonarandNavigation, 2005, 152 (4):277-286.
[5]DineshManandhar,RyosukeShibasaki,HideyukiTorimoto.GPSReflectedSignalAnalysisUsingSoftwareReceiver[J].JournalofGlobalPositioningSystems, 2006, 5 (1-2):29-34.
[6]KaiBorre,DennisMAkos,etal.楊東凱,張飛舟,張波,譯.軟件定義的GPS和伽利略接收機[M].北京:國防工業出版社,2009:63-102. (KaiBorre,DennisMAkos,etal.YangDongkai,ZhangFeizhou,ZhangBo,etal.Translated.ASoftware-DefinedGPSandGalileoReceiver[M].Beijing:NationalDefenseIndustryPress, 2009:63-102.)
[7] 謝剛.GPS原理與接收機設計[M].北京:電子工業出版社,2011:372-374. (XieGang.PrinciplesofGPSandReceiverDesign[M].Beijing:PublishingHouseofElectronicsIndustry, 2011:372-374.)
[8] 易維勇,董緒榮,孟凡玉,郭晶,等.GNSS單頻軟件接收機應用與編程[M].北京:國防工業出版社,2010:190-195.(YiWeiyong,DongXurong,MengFanyu,GuoJing,etal.GNSSSingleFrequenceSoftwareReceiverDevelopmentandApplications[M].Beijing:NationalDefenseIndustryPress, 2010:190-195.)
[9]RonaldE.BestPhase-LockedLoops:Design,Simulation,andApplications[M]. 6ed.NewYork:McGraw-HillProfessional, 2004:364-366.
[10]JamesBao-YenTsui.FundamentalsofGlobalPositioningSystemReceiversASoftwareApproach[M].NewYork:JohnWiley&Sons,Inc, 2000:133-144.
[11] 田炳麗,寧春林,丁風雷,李建輝.GPS軟件接收機導航電文提取的研究[J].通信技術,2009,42(3):212-217.(TianBingli,NingChunlin,DingFenglei,LiJianhui.NavigationDataExtractionBasedonGPSSoftwareReceiver[J].CommunicationsTechnology, 2009, 42 (3):212-217.)
Algorithm and Verification of Baseband Signal Processing for GPS Software Receiver
Liu Ruihua1, Kong Yueming1, Yu Baoguo2, Xing Zhaodong2
1.School of Electronic and Information Engineering, CAUC, Tianjin 300300, China 2.The 54th Research Institute of CETC, Shijiazhuang 050081, China
Inthispaper,thebasebandsignalprocessingflowandalgorithmforGPSsoftwarereceiverbasedonadatablockarestudied,includingtheacquiringandtrackingofcarrierandpseudo-codeaswellasdemodulatingthenavigationdata.TheMATLABsoftwareplatformisusedtosimulateandvalidateeachlinkofthebasebandsignalprocessingforGPSsoftwarereceiverbasedontheactual
satellitesignal.Duringtheexperiment,thesatellitesignalcanbepreferablyacquiredbyusingthisalgorithmresearched,thecarrierandpseudo-codecanbeaccuratelytrackedandthenavigationdatacanbecorrectlydemodulated.Furthermore,thefeasibilityofitsapplicationinthesoftwarereceiversystemisverified,italsocanserveasthereferenceforthedevelopmentofreal-timeGPSsoftwarereceiver.
GPSsoftwarereceiver;Acquisition;Tracking;Simulationandverification;Feasibility
*民航安全能力建設項目“北斗機載設備技術標準規定與應用研究”(AADSA0007);中央高校基本科研業務費中國民航大學專項“基于北斗的通用航空指揮監控系統”(20001006);中電科54所新技術研究高校合作項目“通航機載GNSS終端完好性技術研究”(KX14260033)
2013-03-12
劉瑞華(1965-),男,陜西人,博士,教授, 研究生導師,主要研究方向為衛星導航、 慣性導航和組合導航;孔月明(1989-),女,山東人,碩士,主要研究方向為衛星導航新技術及應用;蔚保國(1966-),男,內蒙古人,博士,研究員,博士生導師,主要研究方向為衛星導航總體技術、航天測控技術、陣列信號處理技術和自動測試系統技術;邢兆棟(1976-),男,山東人,博士,高級工程師,主要研究方向為衛星導航信號處理及航空應用。
TN967.1
A
1006-3242(2016)01-0003-06