袁 進,郭新年,劉 瀏
(宿遷學院 信息工程學院,江蘇 宿遷 223800)
全球導航衛星系統(GNSS)主要包括我國的北斗系統、歐盟的伽利略系統、俄羅斯的格洛納斯系統(GLONASS)和美國的全球定位系統(GPS),由這些系統提供的定位服務已應用到生活中的各個領域。目前,我國的北斗系統已完成全球組網,能夠為全球用戶提供高精度的定位服務。在北斗系統中,B1C信號是應用較早的新體制信號,能否有效對其捕獲,將直接影響著北斗接收機的捕獲性能[1]。B1C信號捕獲方法眾多,各方法均具有各自的優勢,有效解決了B1C信號在捕獲中出現的副峰、捕獲時間長、捕獲精度低等問題,但在捕獲效率、算法硬件實現等方面尚存在改進的空間。針對B1C信號的捕獲問題,文獻[2]提出了一種基于ASPeCT的B1C信號非匹配捕獲算法,該算法能夠有效提高捕獲效率,但犧牲了一定的信噪比,同時,在弱信號環境下的捕獲能力有待研究;文獻[3]圍繞B1C信號的聯合捕獲問題,基于最優相干積分時間的理論,給出了不同信噪比下的捕獲參數設計及聯合捕獲算法選擇的方法;文獻[4]將基于BPSK-like的單邊帶信號捕獲方法和聯合邊帶信號捕獲方法相結合,提出了一種基于預檢測通道的雙通道捕獲方法,有效解決了BOC信號搜索時間與捕獲精度相矛盾的問題,但在硬件實現上,缺少資源有效分配的考慮,實際測試中易出現硬件模塊延遲等問題,造成捕獲性能不佳;文獻[5]針對高動態環境下BOC信號同步問題,提出一種分數階傅里葉變換和離散多項式相位變換相結合的捕獲算法,有效提高信號捕獲概率,縮短捕獲時間,但算法復雜度相對較高。文獻[6]提出了一種基于相關函數的信號無模糊捕獲方法,該方法有效解決了BOC信號在捕獲和跟蹤中出現的模糊問題,但在算法的抗干擾能力上還有進一步提高的空間。
本文主要針對B1C信號捕獲模塊設計中遇到的算法復雜度高、兼容性差、硬件實現難、硬件資源占用大等問題,提出一種基于BPSK-like捕獲的改進方法。該方法僅對B1C信號中的BOC(1,1)信號分量進行捕獲,在單邊帶信號處理上通過加入相干累加與非相干累加運算、FFT模塊并行流水線處理、蝶形運算單元截位處理等方式,實現了一定的優化設計,有效解決上述問題。
B1C信號是北斗三號衛星播發的一種新體制信號,其載波頻率中心為1 575.42 MHz,帶寬為32.736 MHz,B1C信號為復合包絡信號,包含導頻分量(B1C_pilot)和數據分量(B1C_data)兩部分,2個分量的主碼長均為10 230,主碼周期均為10 ms[7]。
B1C信號的調制特性如表1所示,B1C信號的2個分量均采用了二進制偏移載波(BOC)調制方式。數據分量由BOC(1,1)調制而成,該分量的信號功率占總功率的1/4;導頻分量由BOC(1,1)和BOC(6,1)兩種調制方式調制而成,其中,采用BOC(1,1)調制的分量功率占總功率的29/44,采用BOC(6,1)調制的分量功率占總功率的1/11[8]。

表1 B1C信號調制特性Tab.1 Modulation characteristics of B1C signal
為了降低算法設計難度,節約硬件資源,本文在捕獲模塊的設計中,犧牲了互操作信號中的BOC(6,1)調制信號成分,僅捕獲BOC(1,1)調制信號分量。
BOC調制是GNSS現代化進程中的一種新型信號調制方式,其特點是通過某種編碼處理方法,使得信號的頻譜產生一定的偏移。
BOC調制原理如圖1所示。導航電文首先與擴頻碼進行擴頻調制;接著,擴頻調制信號與副載波信號調制成BOC基帶信號;最后,在BOC基帶信號上進行BPSK調制,得到BOC調制信號[9]。

圖1 BOC調制原理Fig.1 Principle of BOC modulation
BPSK調制信號和BOC(1,1)調制信號的自相關函數如圖2所示。由圖2可得,BPSK調制信號只有一個相關峰值,而BOC(1,1)調制信號除了一個主峰,還存在2個副峰。如果直接采用BPSK調制信號的捕獲方法對BOC調制信號進行捕獲,則會出現模糊性問題,影響捕獲的準確性[10-11]。故在捕獲模塊設計中,要采取相應的方法解決副峰值問題。

圖2 BPSK與BOC(1,1)調制信號自相關函數Fig.2 Autocorrelation function of BPSK and BOC (1,1) modulated signals
由于BOC信號的自相關函數存在多個峰值,如果直接采用傳統的BPSK捕獲方法來捕獲BOC信號,難以解決多峰值問題,容易造成誤捕,從而影響接收機的整體性能。BOC信號捕獲算法主要圍繞如何有效消除副峰帶來的影響進行設計。
相較于其他BOC捕獲算法,BPSK-like捕獲算法技術相對成熟,具有算法邏輯簡單、硬件實現方便等優點[12-15]。BPSK-like算法的基本原理為:首先,通過濾波器將BOC信號分為上邊帶和下邊帶2路信號;接著,分別對2路信號采用BPSK信號捕獲方法進行處理;最后,將處理后的2路信號進行累加合并,并進行判決。若合并后的峰值超過設定的閾值,則判定捕獲成功;否則,捕獲不成功,需要重新進行捕獲[15-18]。BPSK-like算法原理框圖如圖3所示。

圖3 BPSK-like算法原理Fig.3 Principle block diagram of BPSK-like algorithm
結合上述對BOC信號的分析及BPSK-like算法的介紹,設計了一種基于BPSK-like算法的改進方法,改進部分主要體現在單邊帶信號處理模塊上。
圖8示出機組綜合供電煤耗降低隨負荷增加而單調增大,隨空冷島散熱面積的增加而單調增大。機組為設計散熱面積時,綜合供電煤耗為343.3 g/kWh。在散熱面積分別增加16.7%、33.3%、50%、66.7%時,機組綜合供電煤耗降低Δbg分別為4.4、7.5、9.7和11.4 g/kWh。隨散熱面積增加,綜合供電煤耗降低Δbg的等差差值分別為4.4、3.1、2.2和1.7 g/kWh。表明隨散熱面積均勻增加,機組綜合供電煤耗降低的邊際效應逐漸變弱。
設計的單邊帶信號處理模塊以并行碼相位捕獲算法為基礎,在FFT模塊設計及信號累加方式上進行了優化設計,算法實現過程為:① 單邊帶信號分量經混頻后,以(i+jq)的形式進行FFT運算;② 經FFT處理后的數據與經FFT處理后的本地偽碼數據進行共軛相乘運算;③ 將共軛相乘運算結果輸入到IFFT模塊進行處理,完成信號的相關運算;④ 對IFFT輸出數據進行相干累加及非相干累加運算,實現信號能量的積聚,同時避免因符號翻轉帶來的影響。單邊帶信號處理模塊的設計框圖如圖4所示。

圖4 單邊帶信號處理模塊設計框圖Fig.4 Design block diagram of single sideband signal processing module
從圖4可以看出,FFT模塊在捕獲算法中具有關鍵作用,故本文在FFT模塊的算法及硬件設計上進行了一定的優化處理。
采用基于頻率抽取的方法對FFT模塊進行設計,主要包括數據緩存單元、蝶形運算單元和自然排序單元等部分。由于B1C信號和L1C信號的主碼長均為10 230,故將FFT點數設置為1 024,通過分段處理的方式提高了捕獲的速度,降低了硬件實現成本。FFT模塊結構如圖5所示。

圖5 FFT模塊結構圖Fig.5 Structure diagram of FFT module
在蝶形運算單元中加入了數據截位運算和原位運算,進一步降低了FFT運算量及硬件資源的占用[19]。另外,考慮到捕獲模塊中涉及到FFT及IFFT運算,故將旋轉因子單獨存儲在存儲單元中,當使用到IFFT模塊時,只需將旋轉因子做相應的改變即可,而不需要重新設計一個IFFT模塊。
在相干累加次數設置方面,考慮到B1C信號主碼周期均為10 ms,且FFT模塊的點數為1 024點,故將兩分量的相干累加時長均設置為10 ms。
在非相干累加次數設置方面,本文使用蒙特卡羅評估方法,對不同非相干累加次數下的檢測概率進行了統計分析。
非相干累加段數與檢測概率的關系圖如圖6所示。由圖6可以看出,對于載噪比為30 dB·Hz的信號,需要進行至少4次非相干累加合并,才能保證信號檢測概率高于95%;而對于載噪比為28 dB·Hz的信號,若想使信號檢測概率達到滿足實際應用需求的95%,則至少需要進行7次非相干累加合并。

圖6 非相干累加段數與檢測概率關系Fig.6 Relationship between the number of incoherent accumulation segments and detection probability
本文以BOC(1,1)上邊帶信號為例,使用Matlab軟件對算法進行了驗證分析。將信號的碼片偏移值設置為312.5,多普勒頻率偏移值設置為667 Hz(算法以667 Hz的多普勒頻率偏移值為步進單元進行掃描),信號功率設置為-125 dBm,非相干累加次數設置為10。
捕獲結果如圖7所示。由圖7可以看出,非相干累加結果中出現了單個明顯的峰值,其對應的碼片偏移值為312.5,相應的載波多普勒頻率偏移值顯示在Matlab界面的命令行窗口,值為667 Hz,與設定值一致,故信號捕獲成功。

圖7 捕獲結果(-125 dBm)Fig.7 Acquisition result (-125 dBm)
在非相干累加次數為10的條件下,不同信號功率下的檢測概率統計如圖8所示。由圖8可以看出,當信號功率低于-136 dBm時,捕獲模塊的檢測概率低于95%,不符合實際應用需求,若想實現對較低信號功率的信號捕獲,則需提高非相干累加次數。

圖8 不同信號功率下的檢測概率Fig.8 Detection probability under different signal power
本文借助verilog語言在Vivado軟件平臺上對算法進行了仿真實現。蝶形運算單元中截位運算模塊的仿真結果如圖9所示。由結果可得,正弦輸入信號(iVal)位寬與輸出信號(oVal)位寬相差7位,但輸入信號和輸出信號包絡未發生改變,僅相差一個時鐘周期,說明截位模塊起到了縮小幅值的作用,減少了運算量,節約了硬件存儲空間。

圖9 截位運算Fig.9 Truncation operation
基2-1 024點FFT模塊的仿真結果如圖10所示。通過分析可得,在連續的正弦輸入信號(RE(in))作用下,得到的輸出波形(RE(out))與正弦信號頻域轉換結果相符(同步脈沖(OSynYnEp)為高電平時,代表一個正弦周期的開始),證明了FFT模塊運算的準確性。由于FFT模塊在算法中需要多次使用,但在硬件實現中僅設置一個FFT模塊,使用時直接調用即可,既減少了數據處理的運算量,也進一步節約了硬件資源。

圖10 FFT仿真結果Fig.10 FFT simulation results
將BOC(1,1)上邊帶信號碼相位偏移量設置為14,多普勒頻率偏移值設置為2 000 Hz,信號功率設置為-135 dBm,非相干累加次數設置為10次,輸入到本文設計的捕獲模塊中進行仿真。信號捕獲結果如圖11所示。分析結果可得,非相干累加結果中(iPowValue)出現了明顯的峰值,其中,第10次非相干累加過程中出現最大峰值,對應的碼相位偏移量(oCd0fsQ)為14,頻點(oFpIdx)為6(對應的多普勒頻率偏移值為2 000 Hz),均與設置值相符,證明了捕獲算法的易實現性及可靠性。

圖11 捕獲結果Fig.11 Acquisition results
圍繞北斗B1C信號的捕獲問題進行研究,針對信號在捕獲過程中遇到的算法復雜度高、兼容性差、捕獲性能不佳和硬件實現難等問題,提出了一種基于BPSK-like的改進方法。該方法犧牲了BOC(6,1)調制成分,僅對BOC(1,1)調制成分進行捕獲。算法首先將BOC信號分離為上、下兩路邊帶信號;接著,將2路信號分別進行處理;最后,將處理后的2路信號進行非相干累加合并,當非相干累加合并峰值高于閾值,則證明捕獲成功。相比于其他BOC信號捕獲算法,本文所設計的算法主要有以下幾個特點:① 算法在考慮B1C信號特點及信號分量功率分配比重的基礎上,從節約設計成本的角度出發,提出了僅捕獲BOC(1,1)調制信號成分的方案;② 在單信號捕獲模塊設計中,本文設計的基2-1 024點FFT模塊中采用了截位、原位等運算,使模塊在運算量、硬件資源占用量等方面得到一定的降低;③ 加入了相干累加與非相干累加運算,提高了接收機捕獲性能,并且,算法中的非相干累加次數可調,可根據實際信號的強弱進行合理設置。
本文對所設計的算法在Matlab平臺及Vivado軟件平臺上進行了驗證,經仿真分析得,本文所提算法能夠有效捕獲B1C信號,捕獲性能滿足實際應用需求,解決了其他算法出現的復雜度高、兼容性差、硬件實現難、硬件資源占用大等問題,具有一定的參考價值及工程應用價值。由于研究時間有限,本文未對算法進行實際環境下的硬件實現及測試,后期將進行相關方面的研究工作。