GPS 信號模擬源在GPS 接收機研發生產和測試中具有重要的作用。見諸文獻的最早的衛星導航信號仿真系統是1977 年報道的Texas Instruments 公司開發的GPS 模擬器[1]。從那時開始, 伴隨著GPS 衛星星座的建立、GPS 體制的更新、GLONASS 系統的出現, 衛星導航信號精密模擬源也從單通道發展到多通道, 模擬合成發展到數字合成, 從中頻數字合成發展到基帶數字合成, 由單一系統仿真發展到多系統混合仿真, 由專用向通用方向發展, 由系統仿真向片上(onchip)仿真發展[2]。
第一代衛星導航信號模擬器以模擬技術為主,采用射頻合成的技術方案, 即把每顆星的信號獨立調制到射頻然后進行合成[3]。隨著數字技術的發展,以及對模擬器信號精度和通道一致性要求的提高,導航信號模擬器開始應用數字技術, 并在中頻進行模擬信號合成。目前國外市場上最新的GPS 仿真系統均不同程度地采用了大規模DSP/FPGA 技術, 在數字域進行直接信號合成, 把多顆衛星的數字合成信號用一個射頻通道輸出, 以提高其信號精度和通道間的一致性。英國、美國、瑞典、挪威、德國等,都已經有比較成熟的產品[4-5]。其中, Spirent 公司、Aeroflex 公司等公司生產的GPS 模擬器最具代表性。
GPS 信號模擬器目前主要用于GPS 接收機的生產廠家和研究單位。對于大多數需求單位而言, 對于信號模擬的要求并不高, 需要一種能產生固定的GPS 射頻信號的設備, 在這個固定的模擬信號里,星座已知, 用戶軌跡已知, 不需要長時間連續運行。然而市場上的GPS 信號模擬器功能全面, 可設置衛星的星座、電離層參數、用戶軌跡可設置。需要采用上位機+下位機結構, 結構復雜, 導致GPS 信號模擬源價格昂貴, 不能為廠家接受。
文獻[6]提出了一種嵌入式的GPS 模擬信號源的結構, 采用ARM 作為控制單元, 原始電文保存在ARM 存儲器中, 采用FPGA 用于偽碼產生和擴頻處理, 采用AD9854 作為DDS 芯片。文獻[7]提出了一種十二通道GPS信號模擬器方案, 采用了PC機+PCI板卡技術, 采用雙口RAM 作為PC 機和DSP 的數據緩沖區, DSP 實現參數讀入, 產生C/A 碼并擴頻調制。碼延遲、數字載波調制及數字增益控制由FPGA控制。這些方法都采用了上位機+下位機的實現方式。
提出了一種簡易的GPS 信號模擬方法, 將GPS導航電文和觀測數據按一定的格式存儲為文件, 通過讀取文件產生GPS 信號。在單片FPGA 上實現了GPS 信號基帶處理的所有過程, 采用正交射頻調制方法直接產生L1 頻點信號。采用不同的文件實現不同的測試場景, 利用該方法構建的GPS 信號模擬源成本低、體積小, 可滿足大部分GPS 接收機的測試需求。
GPS 信號模擬源的系統設計指標
根據廠家的需求, 確定GPS 信號模擬源的技術指標如下:
仿真衛星總星數: 12 顆
連續輸出模擬信號時間: 2 h
偽距控制精度: 0.027 m
偽距變化率精度: 優于0.05 m/s
用戶動態范圍: 速度: 0~5 000 m/s; 速度分辨率: 10 mm/s
通道間一致性: <1 m(碼) <0.005 m(載波)
載波與偽碼相干性: <1 度(包含隨機抖動和不確定性)
I、Q 相位正交性: <1°
GPS 信號模擬源的總體方案
由于只需產生固定場景的GPS 信號, 因此GPS導航電文是固定的, 采用離線產生即可。此外還需要觀測數據文件, 觀測數據主要描述了偽距的變化情況, 模擬器根據觀測數據文件對導航電文進行處理。為了描述偽距的連續變化, 觀測數據中還包含了偽距的一階、二階變化率, 這樣通過插值就可獲得高密度的偽距變化值。
真實的 GPS 衛星射頻信號產生流程如下: 偽碼發生器產生1.023 MHz 的C/A偽隨機碼, GPS 的導航電文速率為50 bps, 導航電文首先與該C/A 碼疊加,產生了基帶信號; 在GPS 衛星上, 基帶信號被調制到L1 載頻, 然后通過天線釋放。接收機接收到的射頻信號與衛星發送的射頻信號對比, 其接收到的信號是經過傳輸延遲的信號; 此外由于衛星的運動,衛星與接收機之間具有相對運動, 由于多普勒效應,接收機接收到的射頻信號頻率產生了變化。
射頻信號模擬過程中關鍵的環節就是模擬信號的傳輸延遲和多普勒效應。其傳輸延遲用偽距來表示, 考慮到偽距的連續性, 觀測數據中包含偽距的速度、加速度, 利用差補的方法可獲得高精度的連續的偽距變化。獲得采用延遲濾波器的方法實現基帶信號的延遲, 采用多階數字濾波器的方法, 利用高性能數字信號處理芯片實現, 可獲得精度為ns 級的延遲精度; 同樣采用數字信號處理的方法對基帶信號實現多普勒處理, 可獲得1Hz 的頻率分辨率。
單顆 GPS 衛星信號仿真流程如圖3 所示, 數學仿真產生的觀測數據包括偽距和一階、二階量。數學仿真產生的導航電文以50 bps 的速率被I 路偽碼調制。調制后的信號則為數字基帶信號, 該信號經過多階延遲濾波器進行延遲處理, 模擬GPS 信號在空間的傳遞時間; 經過基帶處理的信號通過正交調制變為L1 載頻的信號。
真實的多顆 GPS 衛星信號在空間合成, 而模擬的GPS 衛星信號在數字域實現疊加合成。采用地址發生器產生12 顆衛星的特征碼, 分別與對應的導航電文進行疊加, 合成的基帶信號通過正交射頻調制,調制為L1 頻點1.575 GHz 的射頻信號。
而 GPS 衛星信號模擬源采用圖2 所示方案。采用SD 卡存儲導航電文和觀測數據文件。在系統工作時, FPGA 讀取SD 卡的數據, 按圖1 所示的流程產生衛星的基帶信號, 多顆星的基帶信號經數字合成后,送至DA 變為模擬信號, 再進行正交射頻調制獲得L1 頻點的射頻信號。
?
?
當系統需要更新數仿文件時, 則通過TCP/IP 接口對SD 卡進行讀寫操作, 實現SD 卡中的文件更新。
數據文件格式
GPS 信號模擬的目的是使GPS 接收機通過接收模擬的信號正常工作, 實現定位解算。而GPS 信號是由多顆不斷運行的GPS 衛星實時發射產生的。為了實現GPS 信號模擬, 首先需要設定用戶軌跡、建立GPS 衛星軌道模型和信號傳輸模型, 運算量較大。因此采用離線運算的方法, 先在高性能計算機上進行仿真計算, 再將計算得到文件保存下來。GPS 模擬器通過讀取該文件, 實現GPS 信號的仿真。這種方法的好處在于為模擬器節省了大量的資源, 有利于降低成本和體積。
為了讓接收機實現定位, 必須要提供4 顆以上的GPS 衛星信號; 仿真了12 顆GPS 衛星的數據, 仿真數據主要包括導航電文和觀測數據。導航電文格式為300 bit, 占40 字節, 剩余20 bit 空; 觀測數據則根據設定的位置和衛星星歷產生, 模擬固定位置接收機產生的偽距變換, 20 ms 更新一次, 為了實現偽距的連續變化, 觀測數據中還包含偽距速度和加速度, 便于信號產生過程中的插值。
GPS 導航電文速率為50 bps, 300 bit 為一子幀, 一子幀為6 s。一幀包含5 子幀, 共1 500 bit, 歷時30 s。一超幀則包含25 幀, 37.5 k, 歷時12.5 min。由于GPS 電文每兩小時更新一次, 則2 h 需存儲的導航電文約為 375 k; 12 顆星的導航電文為4.5 M。
觀測數據則為20 ms 更新一次, 單顆星的觀測數據為40 個字節, 一個觀測數據包有12 顆星, 共4 288 bit; 則2 h 的數據量為4 288×50×7 200=1 543680 000 bit, 約1.5 G。因此, 采用2 G 的SD 卡可完成上述數據容量的要求。
硬件設計
GPS 信號模擬源的設計采用高速基帶數字合成技術和正交中頻、射頻調制技術。多顆衛星信號以數字形式在高性能軟件無線電處理平臺上計算并合成, 有效提高系統通道間的一致性, 消除了衛星通道間的誤差, 也消除了內部時間誤差, 確保了高精度。該方案與射頻合成方案相比增加了軟件無線電數字部分設計的難度, 使得偽距控制精度、多普勒變化和幅度等均在數字部分計算, 簡化了射頻設計,避免了由射頻群時延不一致產生的通道間誤差和衛星間的鐘差, 且數值計算、鐘差可控, 有效保證了系統的設計指標。信號模擬源方案原理如圖4 所示。GPS信號模擬源采用基帶加射頻的單元模塊化結構設計。
?
?
GPS 信號模擬算法對數據處理率有較高的要求,然而通過分析延時算法, 這樣龐大的計算量實際上只是簡單的乘累加(MAC) 的流水操作, 其算法結構中并無復雜的數學運算(如正余弦、指數、對數等) ,可以說其運算結構是相對比較簡單的, 所以考慮采用FPGA 芯片。而目前FPGA 的功能也日益增強, 內嵌于FPGA 的硬核與基本邏輯構建的軟核也不斷增強了FPGA 作為通用信號處理芯片的能力。通過綜合考慮, 最終選擇了用XILINX 公司的XC4VSX35作為主處理芯片。該芯片是XILINX 公司2005 推出的一款專門為數字信號處理而設計的高端FPGA, 其可編程數字信號處理模塊XtremeDSP48 在?12 的速度等級上最高性能為500 MHz。
基帶單元設計采用1 片Xilinx 高性能FPGAXC4VSX35 來完成。XC4VSX35 主要完成以下任務:1) 從SD 卡讀入導航電文和觀測數據; 2) 多星數據的分配; 3) 多星信號的精密延遲和動態特性控制;4) 多星信號的數字合成。設計上可完成12 顆星I 路的導航信號產生。
軟件設計
系統上電后首先讀取所有12 通道的電文數據,由于GPS電文為2 小時更新一次。一個超幀25 幀, 每幀300 bit, 合計7 500 bit。12 顆星的導航電文總數據量為90 k。系統讀取電文數據后, 放入電文數組, 寫入緩沖; 讀取兩幀觀測數據, 寫入緩沖; 由于觀測數據更新頻率為20 ms 一次, 因此每20 ms 讀1 幀觀測數據, 輸出信號。信號處理流程如圖4 所示。
?
實驗與分析
采用Trimble 公司生產的Resolution-T 型GPS接收機對設計的GPS 信號模擬源進行測試。將Resolution-T 型GPS 接收機串口輸出與電腦相連, 通過DSPMon_V1-46 軟件, 觀察P-T 星卡解調出的射頻模擬信號時間及位置是否正確, 誤差大小是否符合性能要求等, 模擬輸出的衛星數是否能達到四顆可以上, 結果如圖5 所示, 可見達到了設計要求。
?
結論
本文介紹了一種基于數據文件讀取的GPS 信號模擬器, 采用離線計算獲取數據文件, 避免了實時計算需要的大量硬件資源, 從而降低了GPS 信號模擬源的成本。通過更換文件可以改變信號模擬的場景設置, 具有一定的靈活性。這種方法能滿足部分GPS接收機生產廠家的測試需求。
評論