郭靜,武曉明(通訊作者),武華,劉洋,2,張波
(1.山東交通學院信息科學與電氣工程學院,山東濟南,250357;2.中國民航管理干部學院 民航通用航空運行重點實驗室,北京,100102;3.東南大學儀器科學與工程學院,江蘇南京,210096)
偽衛星(PL,Pseuolite)是用于測試驗證和增強GNSS定位性能的無線電導航定位設備,能發射出類GNSS無線電導航信號,通常安裝于大型室內環境、地下空間等GNSS衛星導航信號遮蔽的區域,提供實時定位導航服務。偽衛星信號發射機一般有以下幾種實現方式:(1)大多數實驗室中研究學者通常采用多射頻通道GNSS信號模擬器進行替代[1,2],其成本過高,信號體制改進比較困難[3];(2)利用FPGA、SoC等硬件平臺進行定制化實現,其技術實現門檻較高,硬件實現繁瑣[4-7];(3)利用軟件無線電平臺實現偽衛星信號的收發[8]。
GNU Radio是一個開源的軟件無線電開發工具包,USRP是功能強大的通用軟件無線電平臺。本文采用的GNURadio和USRP軟件無線電平臺實現了偽衛星信號的產生與發射,利用GNURadio框架實現偽衛星信號的模擬與產生,同時調用USRP射頻前端實現了偽衛星信號的發射[9]。經實驗測試驗證,該發射機發出的信號可作為偽衛星定位系統使用。
偽衛星導航信號從結構上劃分,通常分為數據碼、擴頻碼和信號載波。信號載波用來調制偽碼和數據碼,然后經射頻前端發射出去;擴頻碼是實現衛星信號碼分多址的基礎,其碼間自相關與互相關特性直接決定信號的跟蹤與捕獲能力。擴頻碼是一組固定序列碼,只能作為區分偽衛星信號編號的標識,而不能攜帶其他信息;數據碼用來攜帶偽衛星自身導航信息的,偽衛星的數據碼指的是偽衛星的導航電文數據。
本文設計的偽衛星向用戶發送的信號為GPS-L1信號,圖1完整的展示了偽衛星信號的具體調制過程。其第i顆衛星信號的發射信號模型的數學模型為[11]:

其中,Ac為載波L1的振幅;Ci(t)、Di(t)分別為第i顆衛星的C/A碼以及D碼;ω1分別為L1頻段的角頻率;為L1的初始相位值。

圖1 偽衛星信號調制過程

圖2 偽衛星信號發射機原理圖
由于偽衛星信號屬于類GPS信號,可以參考GPS L1頻段信號的發射機結構來設計偽衛星信號發射機。偽衛星信號發射機主要包括偽衛星基帶信號產生單元、偽衛星信號發射單元兩個部分[12]。偽衛星基帶信號產生單元主要功能是產生偽衛星中頻及基帶信號,包括D碼生成模塊、C/A碼生成模塊、調制模塊等;偽衛星信號發射單元主要利用USRP實現偽衛星信號的上變頻發射功能。偽衛星信號發射機原理如圖2所示。
GNURadio是一個通用的軟件無線電設計工具,提供了用于設計、模擬和部署真實高效的無線電系統的通用流程框架和實現方法,在無線電系統設計領域內已經被廣泛應用。本文設計的偽衛星信號發射系統采用GNURadio+USRP-B210軟件無線電平臺來實現。其中PC軟件部分主要利用GNURadio軟件框架實現了偽衛星基帶信號生成功能軟件,如圖3所示;然后再利用USRP硬件射頻前端進行上變頻和信號發射。
偽衛星基帶信號生成軟件主要包括載波生成模塊、C/A碼生成模塊、數據碼生成模塊、擴頻碼生成模塊、BPSK調制模塊、UHDSink模塊等。整個軟件的采樣頻率設定為16.369MHz,中頻載波頻率為7.161MHz,偽衛星L1信號頻率為1575.42MHz,信號帶寬設定為2MHz,增益設定為可調增益,默認設定為50dB。如圖所示,該偽衛星基帶信號生成軟件可以同時產生兩路偽衛星信號PL1和PL2,分別設定PRN為1號衛星和2號衛星,以PL1為例其工作流程如下:

圖3 偽衛星基帶信號生成單元GRC流程圖
S0:設定變量,以下介紹的整個流程圖的數據流的采樣頻率為16.369MHz(sample_rate)。
S1:導航電文模塊(PL_NavData)根據星歷文件產生50 bit/s的導航電文數據流;
S2:由C/A碼生成模塊(Cacode)產生1.023Mcps的C/A碼數據流,該C/A碼是識別衛星號的偽隨機數據碼;
S3:中頻載波生成模塊(Carrierif)生成7.161MHz的兩路同頻但相位相差90度的同向(I)路和正交(Q)路中頻載波數據流;
S4:擴頻碼生成模塊(Modadd)實現了模二加運算,將輸入的導航電文數據流與C/A碼數據流進行模二加運算生成擴頻碼數據流;
S5:BPSK調制模塊(Multiply)實現了乘法運算,將S4產生的擴頻碼數據流與S3產生的I路數據進行乘法運算,實現BPSK調制的目的,產生中頻調制I路信號數據流;
S6:IQ數據生成模塊(FloatTo Complex),將S5產生的中頻調制信號I路信號與S3產生的中頻載波Q路載波信號進行合并,組成復數信號。
S7:UHDSink模塊,將S6中產生的中頻IQ數據送入到UHD Sink模塊中,調用USRP進行上變頻到L1頻段,然后發射到天線進行信號發射。
偽衛星發射機的測試包括了模塊的功能測試和整體效果的測試。模塊功能測試測試基帶信號波形是否正確;利用頻譜分析儀測試產生信號的頻譜是否符合要求,并利用接收機測試信號的接收效果。
偽衛星基帶信號都是由GNURadio軟件產生的,因此在GNURadio中添加一些信號測試模塊即可對各個模塊產生的波形進行仿真測試。由圖4所示偽衛星信號擴頻碼與載波的BPSK調制過程波形圖,其中藍色虛線為組合擴頻碼序列,紅色曲線表示經過BPSK調制后的已調信號。由波形效果可以看出擴頻碼與載波進行BPSK調制后發生相位翻轉的現象。
針對由USRP發出的偽衛星射頻信號,利用頻譜分析儀對偽衛星產生的信號進行測試,如圖5所示。由偽衛星軟件發射機產生的偽衛星信號能快速被頻譜分析儀捕獲到,信號頻譜分布在中心頻率1.57542GHz左右,符合GPS-L1偽衛星信號的分布規律。

圖4 BPSK調制過程波形圖

圖5 頻譜分析儀測量偽衛星信號的頻譜圖
將偽衛星軟件發射機發出的信號接入到ubloxZED-F9P接收機中,利用接收機對信號進行接收測試,由u-center軟件觀測測試結果如圖6所示,可見偽衛星產生的信號可以被接收機接收并識別,觀測量數據也可以有效得到。

圖6 接收機接收偽衛星信號測試結果
本文采用GNU Radio和USRP軟件無線電平臺實現了偽衛星信號的產生與發射,利用GNU Radio框架實現偽衛星信號的模擬與產生,同時調用USRP射頻前端實現了偽衛星信號的發射。經實驗測試驗證,該發射機發出的信號可作為偽衛星定位系統使用,有效降低偽衛星算法驗證和硬件實驗環境部署過程難度。