魏文龍
基于ZYNQ芯片實現(xiàn)衛(wèi)星導航接收機跟蹤軟件化
魏文龍
(中國電子科技集團公司第二十研究所,西安 710068)
隨著衛(wèi)星導航系統(tǒng)的不斷發(fā)展,各導航系統(tǒng)的信號逐漸增加,衛(wèi)星接收機的通道數(shù)不足成為一個普遍問題。以北斗衛(wèi)星導航系統(tǒng)為例,為解決衛(wèi)星接收機通道數(shù)不足的問題,對原有的衛(wèi)星接收機軟件架構進行調整,基于ZYNQ芯片實現(xiàn)接收機的跟蹤軟件化。
衛(wèi)星導航系統(tǒng);衛(wèi)星接收機;跟蹤軟件化
隨著衛(wèi)星導航系統(tǒng)技術不斷發(fā)展進步,各導航系統(tǒng)的信號也在不斷增加。以北斗衛(wèi)星導航系統(tǒng)為例,隨著北斗三號的建成運行,其信號包括了B1I、B1C、B2a、B2b、B3I公開服務信號以及授權信號。北斗二號衛(wèi)星接收機在接收B1I和B3I的基礎上一般會兼容GPS系統(tǒng)L1頻點和GLONASS衛(wèi)星信號。對于北斗三號衛(wèi)星接收機而言,需要在原來的基礎上增加北斗系統(tǒng)的新信號B1C、B2a和B2b[1],由于北斗三號衛(wèi)星也在播發(fā)B1I和B3I信號導致的二代信號可視衛(wèi)星數(shù)增加也需要考慮。
衛(wèi)星接收機通道數(shù)的增加必然導致FPGA硬件資源使用率提高,但是北斗二號衛(wèi)星接收機硬件資源使用情況表明在原有接收機架構下通道數(shù)無法滿足新的需求。在硬件資源一定的情況下,要想滿足北斗三號衛(wèi)星接收通道數(shù)的要求就必須減少每個通道使用的硬件資源量。原有衛(wèi)星接收機采用DSP+FPGA架構,F(xiàn)PGA完成信號捕獲、信號跟蹤、位同步、幀同步和電文提取等功能[2],可從信號跟蹤開始將原來FPGA中后續(xù)功能分離到軟件當中實現(xiàn),來減少接收機通道對FPGA硬件資源的需要[2]。
衛(wèi)星接收機接收信號的增加導致軟件運算量增加,如果再增加,原來在FPGA實現(xiàn)的功能可能會導致軟件處理能力不足。如果基于Xilink的ZYNQ 7000系列芯片設計衛(wèi)星接收機,可以使用PL完成信號捕獲、信號跟蹤部分功能,使用雙核ARM中的一個來實現(xiàn)原來FPGA中的信號跟蹤部分功能、位同步、幀同步、電文提取,再加上原來DSP軟件中的捕獲調度、捕獲結果處理等部分功能完成衛(wèi)星信號的捕獲、跟蹤、同步、電文提取。
衛(wèi)星接收機架構調整之后由兩個軟件加一個FPGA組成,其中跟蹤軟件和FPGA配合完成衛(wèi)星信號的捕獲跟蹤[3],跟蹤軟件單獨完成位同步和幀同步,而定位結算軟件完成衛(wèi)星接收機定位、測速、授時等功能,本文主要對跟蹤軟件實現(xiàn)中的信號跟蹤模塊、信號同步模塊、電文提取模塊的設計進行說明。衛(wèi)星接收機整體架構如圖1所示。
圖1 衛(wèi)星接收機架構圖
衛(wèi)星接收機中跟蹤軟件調度FPGA中的捕獲模塊完成衛(wèi)星信號捕獲,同時根據(jù)捕獲結果調整捕獲通道和衛(wèi)星號;如果捕獲成功,F(xiàn)PGA開始轉跟蹤,F(xiàn)PGA中的信號跟蹤模塊只負責衛(wèi)星信號與本地碼的相關計算,軟件中的信號跟蹤模塊實現(xiàn)環(huán)路濾波以及跟蹤狀態(tài)判斷[4];當跟蹤軟件判定信號捕獲轉跟蹤成功后進入信號同步,信號同步首先進行位同步,位同步成功之后再進行幀同步;當跟蹤軟件完成同步之后對衛(wèi)星電文進行提取并發(fā)送給定位解算軟件。
跟蹤軟件以FPGA中斷信號為觸發(fā)條件進行信號跟蹤處理,F(xiàn)PGA完成相關運算之后產(chǎn)生到軟件的中斷信號。跟蹤軟件收到中斷信號之后從FPGA中斷讀取I、Q支路的即時、超前、滯后信號相關值,將信號相關值經(jīng)過相應的積分—清除器之后的值送給鑒別器,由鑒別器估算出本地信號和輸入信號的相位差異,并經(jīng)環(huán)路濾波器的濾波后作為數(shù)控振蕩器的輸入由軟件回寫給FPGA。FPGA根據(jù)軟件輸入的調整參數(shù)不斷調整本地信號的產(chǎn)生。
跟蹤軟件回寫完載波、碼NCO之后對環(huán)路鎖定狀態(tài)進行檢測。跟蹤環(huán)路存在跟蹤門限或者以載噪比C/0來衡量接收機跟蹤衛(wèi)星信號的跟蹤情況。若載噪比大于某個門限值,則鎖定檢測器認為信號跟蹤情況良好,否則認為信號失鎖。信號跟蹤模塊工作流程圖如圖2所示。
信號同步模塊分為位同步和幀同步。如果載波環(huán)相干積分時間為1 ms,隨著載波運行將輸出一串碼率為1000 Hz的數(shù)據(jù)流,當信號比特位寬為20 ms時位同步過程就是將1 000 Hz的數(shù)據(jù)流變成正常的50 Hz,也就是將每20個1 ms寬的數(shù)據(jù)合并起來組成一個正常的20 ms寬的正常數(shù)據(jù)比特。
本文位同步方法選擇直方圖統(tǒng)計法,首先將載波環(huán)輸出的1ms寬數(shù)據(jù)比特流用1~20循環(huán)編號,其中編號為1的首個數(shù)據(jù)比特是任意選定;然后逐個統(tǒng)計相鄰兩個毫秒之間的數(shù)據(jù)跳變情況。如果第個數(shù)據(jù)發(fā)生了跳變,則第+1個直方的計數(shù)器值加1,否則計數(shù)器值保持不變。在統(tǒng)計一定時間之后對直方統(tǒng)計結果進行查看,如有一個直方的計數(shù)值達到門限1,則認為位同步已經(jīng)成功,如圖3所示。圖3表明比特邊沿偏差為3 ms,第1~2 ms屬于一個比特,第3~20 ms加上后面相鄰的第1~2 ms組成一個完成比特。如果最終統(tǒng)計結果至少有兩個計數(shù)器值達到門限2或者所有計數(shù)器沒有超過門限2,說明信號太弱或者環(huán)路失鎖需要重新進行位同步。
幀同步在位同步成功后開始,幀同步的目的是為了確定衛(wèi)星信號的子幀邊緣,將比特流劃分為正確的子幀。幀同步首先進行幀頭匹配,幀頭匹配完成后可以對后續(xù)子幀號、周內秒等數(shù)據(jù)進行有效性判斷,最后根據(jù)電文校驗方式進行校驗。為了保證幀同步的準確性使用兩幀校驗的方法,即第一幀進行幀頭、數(shù)據(jù)有效性、校驗判斷;第二幀只進行幀頭和數(shù)據(jù)有效性判斷,具體過程如圖4所示。
圖4 幀同步過程
電文提取實際可分為兩部分,一部分是電文翻轉判斷,一部分是電文截取。跟蹤軟件完成幀同步之后,每當一個比特數(shù)據(jù)接收完成后對已接收的長度和電文子幀長度對比,如果子幀接收完畢進行電文翻轉判斷,否則計數(shù)器值加1。電文翻轉根據(jù)幀頭是否發(fā)生翻轉就可判定,如果電文發(fā)生翻轉需要在電文發(fā)送時將電文翻轉后再發(fā)送,同時將比特計數(shù)器清零。電文提取過程如圖5所示。
圖5 電文提取邏輯
衛(wèi)星接收機完成改進需要對功能、性能進行驗證,以B3I頻點為例對接收機定位結果分析。測試條件為靜態(tài)測試,測試信號為真實衛(wèi)星信號,統(tǒng)計點數(shù)為500,高程定位精度如圖6所示,水平定位精度如圖7所示。從圖6和圖7可以看出接收機改進后高程定位誤差最大為9 m,水平定位誤差最大為6m,接收機改進后定位精度仍然滿足單點定位的精度要求。
改進后的接收機由三部分組成[5]:PL邏輯部分、PS信號跟蹤部分、PS定位解算部分。從功能劃分來看更加合理:邏輯部分主要實現(xiàn)信號捕獲和信號相關[6],功能更加單一,不同應用場景變動比較??;PS信號跟蹤部分更加靈活,跟蹤階段不同場景下可修改環(huán)路參數(shù)、結構,實際應用過程中可以動態(tài)地改變積分時間,做到動態(tài)和性能之間的兼顧,邏輯規(guī)模減小,接收機通道上限增加100;PS定位解算部分沿用以前代碼設計,變動較小,縮短了開發(fā)周期。
[1] 范晶. 北斗衛(wèi)星導航接收機中信號的捕獲與跟蹤實現(xiàn)[D]. 西安:西安電子科技大學,2017.
[2] 薛濤,趙偉,李榮冰,等.北斗導航接收機的硬件設計與實現(xiàn)[J]. 航天控制,2015,33(1):94-98.
[3] 譚雨蒙. 北斗三代B2a頻點軟件接收機的設計[D]. 西安:西安理工大學,2019.
[4] 王瑞京. 北斗導航接收機的硬件設計與實現(xiàn)研究[D]. 北京:北京郵電大學,2011.
[5] 萬勇. 基于Zynq的北斗擴展系統(tǒng)的研究與實現(xiàn)[D]. 西安:西安電子科技大學,2018.
[6] 鄭世超. 北斗基帶信號并行捕獲算法研究及FPGA實現(xiàn)[D]. 哈爾濱:哈爾濱理工大學,2018.
Realizing Tracking Software of Satellite Navigation Receiver Based on ZYNQ Chip
WEI Wenlong
With the continuous development of satellite navigation system, the signal of each navigation system increase gradually, and the insufficient channel number of satellite receiver becomes a common problem. Taking Beidou navigation satellite system as an example, in order to solve the problem of insufficient channel number of satellite receiver, the original of software architecture of satellite receiver is adjusted and the tracking software of receiver is realized based on ZYNQ chip.
Satellite Navigation System; Satellite Receiver; Tracking Software-Based
TN967
A
1674-7976-(2022)-01-012-04
2021-05-12。
魏文龍(1993.04—),甘肅武山人,碩士,主要研究方向為衛(wèi)星導航。