賈曉輝,克兢,王雪,張志敏
(1.中國科學院國家授時中心,西安 710600;2.中國科學院精密導航定位與授時技術重點實驗室,西安 710600;3.中國科學院大學,北京 100049;4.西安電子科技大學,西安 710071)
全球導航衛星系統(GNSS)已經廣泛應用于商業、生活、軍事等方面.北斗三號(BDS-3)融合了新的信號體質,在導航系統的建設過程中,需要對信號體制進行測試,并針對信號體制對衛星導航信號接收機進行研發.軟件信號模擬源能為接收機的算法改進、驗證和測試提供信號輸入.
目前信號模擬源大多基于硬件,硬件模擬源成本高昂、靈活性弱,軟件信號模擬源靈活性強,可以根據接收機要求自主設置參數.針對專用場景進行設計,模擬各式信號產生環境,進行更加有效的仿真,并結合數據回放系統來實現更優的性能.現條件下的GPU 和高性能運算,能夠滿足實時運算.軟件信號模擬源是導航信號體制研究和接收機算法改進的有效工具,能夠避免繁瑣的現場采集,縮減研發周期,提高研發效率.
文獻[1]應用軌道仿真軟件對北斗衛星導航系統(BDS)進行覆蓋性和定位精度分析.文獻[2-3]基于FPGA 設計了GNSS 信號硬件模擬器.利用上位機軟件計算導航信號,再把數據下載到硬件板卡,實現信號模擬.文獻[4]基于軌道仿真軟件研究信號模擬器導航電文的生成給出了時間參數產生的重要指標.文獻[5]基于DSP 和FPGA 實現了衛星導航信號模擬器,但沒有模擬北斗系統的信號體制.文獻[6]基于Simulink 平臺實現了北斗信號模擬器,但沒有融合BDS-3 新的信號體制.
本文分析了信號模擬的一系列環節并將其模塊化,基于MATLAB 平臺上開發了BDS-3 B1 頻點信號軟件模擬源.保證了多層結構的對齊,分段生成數據再疊加,優化了模擬源的運行效率.實現了導航電文的參數外推和編碼和真實模擬多顆衛星疊加后的復雜信號,最后利用軟件接收機對產生信號的可靠性進行了系統驗證.
BDS-3 B1 頻點信號由導航電文或二次碼、偽隨機噪聲碼、子載波和載波組成[7-8],分為B1I、B1C 和B1A 三種類型的信號.
B1I 信號為單一支路信號,使用二進制相移鍵控(BPSK)調制,調制有導航電文信息.B1C 信號為復合信號,信號由數據分量和導頻分量兩部分組成,使用QMBOC(6,1,4/33)調制;數據分量由導航電文和測距碼經子載波調制產生,導頻分量無導航電文有二次碼.B1A 信號作為軍用信號,使用BOC(14,2)調制[9].具體組成如表1 所示.
B1I 導航信號使用BPSK(2)調制,由導航電文、PRN 碼和載波調制組成.其信號表達式為
調制過程如圖1 所示.

圖1 B1I 信號調制過程
其中,AB1I代表B1I 信號幅度,CB1I代表B1I 信號測距碼,DB1I代表B1I 信號導航電文,fB1I代表B1I 信號載波頻率,φB1I代表B1I 載波相位.
B1C 信號由數據分量B1C_data 和導頻分量B1C_pilot 組成,其功率比為3∶1.B1C_data 通過導航電文、PRN 碼和子載波調制.B1C_pilot 通過二次碼、PRN 碼和子載波調制[9].載波調制采用正交相移鍵控(QPSK)調制方式,將B1C_data 和B1C_pilot 調制在I、Q 支路上.B1C 復包絡信號表達式為

DB1C_data(t)代表信號的導航電文;CB1C_data(t)和CB1C_pilot(t)分別代表信號的數據和導頻分量測距碼;scB1C_data(t)和scB1C_pilot(t)分別代表信號的數據和導頻分量子載波.子載波的具體表達式如下:


式中:fsc_B1C_a為1.023 MHz;fsc_B1C_b為6.138 MHz.
B1C 信號一個包含三個實分量

其調制過程如圖2 所示.

圖2 B1C 信號調制過程
B1 頻點各信號之間采用查表法,實現信號間的多路復用.B1A 作為軍用信號,暫未公布其具體調制流程.
BDS B1 頻點中頻信號建模需要分析BDS 信號的傳播過程.BDS 向地球發射射頻信號,經大氣層傳播的射頻信號被接收機射頻前端天線接收并轉化為電信號,射頻前端對電信號進行功率放大、下變頻、濾波、AD 采樣、量化處理[10],最終得到數字中頻信號.接收機射頻前端處理過程如圖3 所示.

圖3 信號傳播及射頻前端處理流程
整個過程中產生了各種誤差,包括衛星鐘差誤差、接收端信號傳輸延遲、電離層和對流層造成的傳輸延遲和環境噪聲的影響.根據上述影響,以B1I 信號為例,接收到的信號表達式如下:

式中:t′為改正后的信號發射時刻;Noise為信號傳輸過程中的噪聲影響;t為原信號發射時刻;Tp為信號傳輸過程中的延時;Δtinno為電離層延時;Δttrop為對流層延時;Δtsv為衛星星鐘誤差,單位均為s.
信號傳輸過程中的延時Tp可通過衛星和接收機的位置計算獲得

上文所述信號模型是射頻信號模型,但發射頻率過高接收機難于處理,所以在射頻前端會對信號進行下變頻,使用本振信號和射頻信號進行混頻,將射頻信號下降到合適的中頻,方便后續處理.本振信號表達式為

式中:flocal為本地振蕩頻率;Δtr為接收機鐘差;本振信號和射頻信號進行下變頻后的函數表達式為

式中時間修正量td表達式為

接收機會同時接收多顆衛星的信號,因此衛星信號時疊加在一起的,接收機接收的中頻信號表達式為

式中:n為接收到的衛星數目,取值范圍為1~63;i為衛星PRN 號.
基于MATLAB 平臺搭建了信號仿真軟件,仿真生成BDS B1 頻點信號.首先,軟件通過讀取界面設置參數:信號類型、載波頻率、采樣率、分段時長、生成信號總時長、PRN 號和電文等.根據分段時長和采樣率設計采樣時刻軸,由設置參數生成測距碼、二次碼、子載波、電文、載波分量.利用采樣時刻軸對各層結構統一采樣并進行對齊校驗;將碼與載波進行采樣一致性校驗,復合成中頻信號;最后信號通過加噪、濾波模塊,仿真生成導航信號.同時對信號特性畫圖展示在GUI 界面.軟件界面圖和架構框圖如圖4~5 所示.

圖4 信號生成軟件界面圖
導航電文的正確性直接影響數據的定位精度.導航電文數據模塊是在原始數據的基礎上,將計算得出的新參數覆蓋在解碼后的原始電文上,最后重新校驗編碼.通過原始采集的數據結合軌道仿真軟件可外推任意時刻的電文參數,保證模擬源的靈活性.導航電文模塊界面圖及具體設計流程圖如圖6 所示.

圖6 導航電文模塊設計流程圖
參數外推是信號模擬源、自主發射式欺騙干擾以及偽衛星發射等技術的重要基礎.導航電文需要的外推參數主要包括時間參數、軌道參數和數據齡期,歷書數據塊主要是歷書有效性參數.
2.2.1 時間參數
需要外推的時間參數:星期數與周內秒(SOW)、星歷參數參考時刻toe、鐘差參數toc、a0、a1和a2.時間參數的外推方法如圖7 所示.

圖7 時間參數外推方法
由于BDS 模擬源各通道衛星的信號都由同一頻鐘產生,因此模擬源各衛星發布的星鐘參數為同一組參數.定期與高精度原子鐘進行頻率比對[11]得到最新的鐘差參數a1、a2,反推在toc時刻鐘差參數,并以該組參數代替原導航電文中的鐘差參數.在模擬源時鐘穩定后,以t0作為參考時刻(BDS 時為tBDS0),設a0(tBDS0)=0,a1(tBDS0)=a1,a2(tBDS0)=a2,toc時刻的鐘差參數如下式:


圖5 信號生成軟件架構框圖
將toc時的鐘差參數覆蓋原有參數.
子幀中的時間參數是衛星發射數據的時間,BDS 的時間系統是地面端的主原子鐘的時間,故兩者之間存在測距碼相位時間偏差 Δtsv,公式為

Δtr是相對論校正項,單位為s,其值為

式中:e為衛星軌道偏心率;為衛星軌道長半軸的開方;Ek為衛星軌道偏近點角,以上參數都由本衛星星歷參數計算得到.
其中:F==-4.442 807 633×;μ=3.986 004 418×1014m3/s2
為地球引力常數;c=2.997 924 58×108m/s 為真空中的光速.
通過上文求得的測距碼相位時間偏差,能夠計算發射時刻的北斗時

式中:t為信號發射時刻的北斗時;tsv為信號發射時刻的衛星測距碼相位時間,單位均為s.
2.2.2 星歷參數
衛星星歷參數在子幀2 和子幀3 中.BDS 導航電文中采用15 個參數來描述軌道參數,其中6 個開普勒軌道參數:軌道升交點赤經 Ω0、軌道傾角i0、近地點角距ω、平近點角M0,單位均為π;軌道長半徑,單位為;偏心率es無單位.剩下的軌道攝動9 參數于直接或間接對6 個開普勒軌道參數進行校正.
將NASA 官網的公布的星歷數據導入MATLAB,通過建立MATLAB 和軌道仿真軟件的通信,利用軟件對BDS 衛星軌道進行模擬[12].
目前在軌BDS 衛星存在44 顆,將衛星星歷數據導入軌道仿真軟件,Prapagator 選擇為HPOP 高精度模型,時間系統選擇J2000,得到BDS 衛星軌道的三維圖形和二維圖形,如圖8~9 所示,通過對比北斗官網給出的星下點軌跡,驗證了仿真的正確性.

圖8 BDS 衛星軌道三維圖形
通過軌道仿真軟件輸出外推時間星歷參數的值,并將其導入MATLAB 供生成導航電文使用.星歷參數隨時間變化曲線如圖10 所示.

圖9 BDS 衛星軌道二維圖形

圖10 星歷參數變化曲線圖
通過外推的星歷參數能夠確定衛星任意時刻的坐標和衛星速度.該數據可用于驗證最終生成信號定位的正確性.衛星坐標和速度變化如下圖11 所示.

圖11 衛星坐標和速度變化圖
通過軌道仿真軟件建立地面站,將地面站和衛星進行連接,可直觀看到外推時刻地面站的可見衛星數目,如圖12~14 所示.并將可見性信息導入MATLAB供生成導航電文使用.

圖12 三維衛星可見數目變化圖

圖13 二維衛星可見數目變化圖

圖14 衛星可見時刻軸
接收機接收到的BDS 信號是非常弱的,大部分信號被淹沒在噪聲里.所以信號信噪比的設置對捕獲跟蹤算法的研究影響較大.可在完成碼和載波的調制之后,設置加入適當功率的高斯白噪聲,來模擬不同強度干擾下的信號.高斯白噪聲均值接近于零,公式為

信噪比公式為

式中:Ac表示載波幅度;An表示噪聲幅度;Pc表示載波功率;Pn表示噪聲功率;N0表示噪聲平均功率密度;Bn表示濾波器帶寬.
以B1I 信號為例.接收機能夠接收到的B1I 信號的最小功率電平為–163 dBw.一般情況下,BDS 信號接收機接收到的信號C/N0為34 dB/Hz 以上,34 dB/Hz以下的信號就屬于弱信號范疇.B1I 信號帶寬為4.092 MHz,噪聲幅度和載噪比的表達式為

可以通過在軟模擬源中設置不同載噪比的信號,來優化軟件接收機的捕獲跟蹤算法.如圖15 為無噪聲下的信號頻譜和功率譜.

圖15 信號頻譜和功率譜圖(無噪聲)
當載噪比下降到34 dB/Hz 時,信號已經淹沒在噪聲中.軟件接收機到達捕獲、跟蹤閾值;前段數據載波環和碼環沒有鎖定,后段數據逐漸鎖定.分析結果如圖16 所示.


圖16 軟件接收機跟蹤圖
采用數字濾波器對加入噪聲的信號進行帶通濾波處理.帶通濾波器模塊內置巴特沃夫、切比雪夫I 型、切比雪夫II 型濾波器,可自行設置參數對模擬中頻信號進行濾波處理,也可在界面調用MATLAB自帶的FDA-tool 工具自行設計FIR 線性相位帶通濾波器.使用FDA-tool 設計濾波器對信號濾波,信號中頻在20 MHz,B1I 信號帶寬4.092 MHz.帶通濾波器參數設置為中心頻率20 MHz 帶寬4.092 MHz 的帶通濾波器.其頻率響應如圖17 所示.

圖17 帶通濾波器的頻率響應圖
在實際使用軟件過程中,如果生成時長過長、采樣率過高,數據量過大,會導致內存溢出、軟件運行變慢.所以在采樣時刻軸設計中采用分段采樣生成信號再拼接的形式.分段生成導航信號架構,需要保證導航信號采樣的連續性.以BOC(1,1)信號為例,如圖18 所示,若生成的導航信號無法連續采樣,則會導致軟件接收機跟蹤的抖動,進而影響接收機跟蹤結果.

圖18 軟件接收機相關結果圖
為保證信號連續,需確保信號各層結構采樣率相同.當信號分段時長為采樣率倒數的整數倍時,分段信號之間可直接首尾拼接.當采樣率過低、信號分段時長不是采樣率倒數的整數倍時,直接拼接會導致采樣的中斷.在軟件算法設計中,對信號采樣時刻軸進行連續性校驗,確保生成導航信號各層結構采樣對齊以及生成導航信號連續采樣[9].
如圖19 所示,信號分段時長沒有和采樣時刻軸嚴格對齊,不是采樣率倒數的整數倍.需對分段信號的末位采樣點進行時間累積,在下一段起始時刻進行補償,保證分段信號拼接后采樣間隔一致,確保整體連續性.

圖19 信號采樣時刻軸示意圖(非整數倍)
圖20 在碼的采樣過程中,當信號分段時長沒有和采樣時刻軸嚴格對齊,不是PRN 碼、子載波或載波周期的整數倍.需對分段信號的末位采樣點進行時間累積并保存碼相位信息,在下一段起始采樣點進行時間補償和相位拼接,保證分段信號之間采樣間隔一致性和碼相位的連續性,確保整體采樣連續.

圖20 碼采樣時刻軸示意圖(非整數倍)
由圖20 可知,若生成的導航信號能夠保證連續采樣,接收機跟蹤過程會更加穩定,結果如圖21 所示.

圖21 BOC(1,1)信號跟蹤結果(連續)
根據修正處理,保證了多層次復合結構導航信號的采樣連續性,可為后續導航信號質量評估系統提供模擬信號,便于后續信號處理和分析各個各環節誤差影響.
在上述設計的軟件信號模擬源中,通過設置不同參數,可根據不同需求對中頻信號進行靈活有效的仿真.為模擬真實B1I 信號,設置采樣率為250 MHz,中頻頻率為20 MHz,對不同衛星設置不同的載噪比.利用軟件接收機處理信號,模擬信號捕獲圖和自相關函數圖如圖22~23 所示.

圖22 模擬信號捕獲圖

圖23 模擬信號自相關函數圖
通過自相關函數圖可以看出中頻模擬信號自相關性能良好,互相關性能差;通過功率譜圖可以看出功率譜集中在中頻20 MHz 附近,信號受高斯白噪聲影響頻域淹沒在噪聲中.
圖24~25 為對中頻模擬信號進行捕獲、跟蹤處理,能夠正常解算出電文信息.

圖24 模擬信號功率譜圖
對模擬的中頻信號使用軟件接收機進行定位解算,通過定位結果來更進一步確認模擬的正確性.通過分析在通用橫向墨卡托網格(UTM)系統中的坐標變化、在UTM 系統中的定位經緯度和衛星的星座圖來確定定位精度,如圖26~28 所示.

圖25 模擬信號跟蹤結果圖

圖26 UTM 系統中的坐標變化
通過軟件接收機定位結果表明:σE=2.363 5、σN=3.690 0、σU=24.862 7、σH=4.382 0.真實信號和模擬信號在UTM 系統中的各個變量波動范圍基本一致,衛星星座圖基本一致.水平誤差基本在20 m 內,高程誤差在60 m 內,證明了模擬信號的有效性.

圖27 衛星星座圖

圖28 UTM 系統中的定位結果
本文模塊化介紹了BDS-3 B1 頻點中頻模擬信號的生成方法和流程,通過軟件接收機驗證了模擬信號的可用性.模擬信號靈活性強,可模擬多種不同場景下的信號,能夠對參數進行更加有效、通透的仿真,并結合數據回放來實現更優的性能.模擬信號源能夠為信號驗證和算法分析提供可靠的輸入.隨著BDS-3 的全面應用,信號模擬源將會有更廣的實用性和應用前景.