郭靜,武曉明(通訊作者),武華,劉洋,2,張波
(1.山東交通學(xué)院信息科學(xué)與電氣工程學(xué)院,山東濟(jì)南,250357;2.中國(guó)民航管理干部學(xué)院 民航通用航空運(yùn)行重點(diǎn)實(shí)驗(yàn)室,北京,100102;3.東南大學(xué)儀器科學(xué)與工程學(xué)院,江蘇南京,210096)
偽衛(wèi)星(PL,Pseuolite)是用于測(cè)試驗(yàn)證和增強(qiáng)GNSS定位性能的無(wú)線電導(dǎo)航定位設(shè)備,能發(fā)射出類GNSS無(wú)線電導(dǎo)航信號(hào),通常安裝于大型室內(nèi)環(huán)境、地下空間等GNSS衛(wèi)星導(dǎo)航信號(hào)遮蔽的區(qū)域,提供實(shí)時(shí)定位導(dǎo)航服務(wù)。偽衛(wèi)星信號(hào)發(fā)射機(jī)一般有以下幾種實(shí)現(xiàn)方式:(1)大多數(shù)實(shí)驗(yàn)室中研究學(xué)者通常采用多射頻通道GNSS信號(hào)模擬器進(jìn)行替代[1,2],其成本過(guò)高,信號(hào)體制改進(jìn)比較困難[3];(2)利用FPGA、SoC等硬件平臺(tái)進(jìn)行定制化實(shí)現(xiàn),其技術(shù)實(shí)現(xiàn)門檻較高,硬件實(shí)現(xiàn)繁瑣[4-7];(3)利用軟件無(wú)線電平臺(tái)實(shí)現(xiàn)偽衛(wèi)星信號(hào)的收發(fā)[8]。
GNU Radio是一個(gè)開(kāi)源的軟件無(wú)線電開(kāi)發(fā)工具包,USRP是功能強(qiáng)大的通用軟件無(wú)線電平臺(tái)。本文采用的GNURadio和USRP軟件無(wú)線電平臺(tái)實(shí)現(xiàn)了偽衛(wèi)星信號(hào)的產(chǎn)生與發(fā)射,利用GNURadio框架實(shí)現(xiàn)偽衛(wèi)星信號(hào)的模擬與產(chǎn)生,同時(shí)調(diào)用USRP射頻前端實(shí)現(xiàn)了偽衛(wèi)星信號(hào)的發(fā)射[9]。經(jīng)實(shí)驗(yàn)測(cè)試驗(yàn)證,該發(fā)射機(jī)發(fā)出的信號(hào)可作為偽衛(wèi)星定位系統(tǒng)使用。
偽衛(wèi)星導(dǎo)航信號(hào)從結(jié)構(gòu)上劃分,通常分為數(shù)據(jù)碼、擴(kuò)頻碼和信號(hào)載波。信號(hào)載波用來(lái)調(diào)制偽碼和數(shù)據(jù)碼,然后經(jīng)射頻前端發(fā)射出去;擴(kuò)頻碼是實(shí)現(xiàn)衛(wèi)星信號(hào)碼分多址的基礎(chǔ),其碼間自相關(guān)與互相關(guān)特性直接決定信號(hào)的跟蹤與捕獲能力。擴(kuò)頻碼是一組固定序列碼,只能作為區(qū)分偽衛(wèi)星信號(hào)編號(hào)的標(biāo)識(shí),而不能攜帶其他信息;數(shù)據(jù)碼用來(lái)攜帶偽衛(wèi)星自身導(dǎo)航信息的,偽衛(wèi)星的數(shù)據(jù)碼指的是偽衛(wèi)星的導(dǎo)航電文數(shù)據(jù)。
本文設(shè)計(jì)的偽衛(wèi)星向用戶發(fā)送的信號(hào)為GPS-L1信號(hào),圖1完整的展示了偽衛(wèi)星信號(hào)的具體調(diào)制過(guò)程。其第i顆衛(wèi)星信號(hào)的發(fā)射信號(hào)模型的數(shù)學(xué)模型為[11]:
其中,Ac為載波L1的振幅;Ci(t)、Di(t)分別為第i顆衛(wèi)星的C/A碼以及D碼;ω1分別為L(zhǎng)1頻段的角頻率;為L(zhǎng)1的初始相位值。
圖1 偽衛(wèi)星信號(hào)調(diào)制過(guò)程
圖2 偽衛(wèi)星信號(hào)發(fā)射機(jī)原理圖
由于偽衛(wèi)星信號(hào)屬于類GPS信號(hào),可以參考GPS L1頻段信號(hào)的發(fā)射機(jī)結(jié)構(gòu)來(lái)設(shè)計(jì)偽衛(wèi)星信號(hào)發(fā)射機(jī)。偽衛(wèi)星信號(hào)發(fā)射機(jī)主要包括偽衛(wèi)星基帶信號(hào)產(chǎn)生單元、偽衛(wèi)星信號(hào)發(fā)射單元兩個(gè)部分[12]。偽衛(wèi)星基帶信號(hào)產(chǎn)生單元主要功能是產(chǎn)生偽衛(wèi)星中頻及基帶信號(hào),包括D碼生成模塊、C/A碼生成模塊、調(diào)制模塊等;偽衛(wèi)星信號(hào)發(fā)射單元主要利用USRP實(shí)現(xiàn)偽衛(wèi)星信號(hào)的上變頻發(fā)射功能。偽衛(wèi)星信號(hào)發(fā)射機(jī)原理如圖2所示。
GNURadio是一個(gè)通用的軟件無(wú)線電設(shè)計(jì)工具,提供了用于設(shè)計(jì)、模擬和部署真實(shí)高效的無(wú)線電系統(tǒng)的通用流程框架和實(shí)現(xiàn)方法,在無(wú)線電系統(tǒng)設(shè)計(jì)領(lǐng)域內(nèi)已經(jīng)被廣泛應(yīng)用。本文設(shè)計(jì)的偽衛(wèi)星信號(hào)發(fā)射系統(tǒng)采用GNURadio+USRP-B210軟件無(wú)線電平臺(tái)來(lái)實(shí)現(xiàn)。其中PC軟件部分主要利用GNURadio軟件框架實(shí)現(xiàn)了偽衛(wèi)星基帶信號(hào)生成功能軟件,如圖3所示;然后再利用USRP硬件射頻前端進(jìn)行上變頻和信號(hào)發(fā)射。
偽衛(wèi)星基帶信號(hào)生成軟件主要包括載波生成模塊、C/A碼生成模塊、數(shù)據(jù)碼生成模塊、擴(kuò)頻碼生成模塊、BPSK調(diào)制模塊、UHDSink模塊等。整個(gè)軟件的采樣頻率設(shè)定為16.369MHz,中頻載波頻率為7.161MHz,偽衛(wèi)星L1信號(hào)頻率為1575.42MHz,信號(hào)帶寬設(shè)定為2MHz,增益設(shè)定為可調(diào)增益,默認(rèn)設(shè)定為50dB。如圖所示,該偽衛(wèi)星基帶信號(hào)生成軟件可以同時(shí)產(chǎn)生兩路偽衛(wèi)星信號(hào)PL1和PL2,分別設(shè)定PRN為1號(hào)衛(wèi)星和2號(hào)衛(wèi)星,以PL1為例其工作流程如下:
圖3 偽衛(wèi)星基帶信號(hào)生成單元GRC流程圖
S0:設(shè)定變量,以下介紹的整個(gè)流程圖的數(shù)據(jù)流的采樣頻率為16.369MHz(sample_rate)。
S1:導(dǎo)航電文模塊(PL_NavData)根據(jù)星歷文件產(chǎn)生50 bit/s的導(dǎo)航電文數(shù)據(jù)流;
S2:由C/A碼生成模塊(Cacode)產(chǎn)生1.023Mcps的C/A碼數(shù)據(jù)流,該C/A碼是識(shí)別衛(wèi)星號(hào)的偽隨機(jī)數(shù)據(jù)碼;
S3:中頻載波生成模塊(Carrierif)生成7.161MHz的兩路同頻但相位相差90度的同向(I)路和正交(Q)路中頻載波數(shù)據(jù)流;
S4:擴(kuò)頻碼生成模塊(Modadd)實(shí)現(xiàn)了模二加運(yùn)算,將輸入的導(dǎo)航電文數(shù)據(jù)流與C/A碼數(shù)據(jù)流進(jìn)行模二加運(yùn)算生成擴(kuò)頻碼數(shù)據(jù)流;
S5:BPSK調(diào)制模塊(Multiply)實(shí)現(xiàn)了乘法運(yùn)算,將S4產(chǎn)生的擴(kuò)頻碼數(shù)據(jù)流與S3產(chǎn)生的I路數(shù)據(jù)進(jìn)行乘法運(yùn)算,實(shí)現(xiàn)BPSK調(diào)制的目的,產(chǎn)生中頻調(diào)制I路信號(hào)數(shù)據(jù)流;
S6:IQ數(shù)據(jù)生成模塊(FloatTo Complex),將S5產(chǎn)生的中頻調(diào)制信號(hào)I路信號(hào)與S3產(chǎn)生的中頻載波Q路載波信號(hào)進(jìn)行合并,組成復(fù)數(shù)信號(hào)。
S7:UHDSink模塊,將S6中產(chǎn)生的中頻IQ數(shù)據(jù)送入到UHD Sink模塊中,調(diào)用USRP進(jìn)行上變頻到L1頻段,然后發(fā)射到天線進(jìn)行信號(hào)發(fā)射。
偽衛(wèi)星發(fā)射機(jī)的測(cè)試包括了模塊的功能測(cè)試和整體效果的測(cè)試。模塊功能測(cè)試測(cè)試基帶信號(hào)波形是否正確;利用頻譜分析儀測(cè)試產(chǎn)生信號(hào)的頻譜是否符合要求,并利用接收機(jī)測(cè)試信號(hào)的接收效果。
偽衛(wèi)星基帶信號(hào)都是由GNURadio軟件產(chǎn)生的,因此在GNURadio中添加一些信號(hào)測(cè)試模塊即可對(duì)各個(gè)模塊產(chǎn)生的波形進(jìn)行仿真測(cè)試。由圖4所示偽衛(wèi)星信號(hào)擴(kuò)頻碼與載波的BPSK調(diào)制過(guò)程波形圖,其中藍(lán)色虛線為組合擴(kuò)頻碼序列,紅色曲線表示經(jīng)過(guò)BPSK調(diào)制后的已調(diào)信號(hào)。由波形效果可以看出擴(kuò)頻碼與載波進(jìn)行BPSK調(diào)制后發(fā)生相位翻轉(zhuǎn)的現(xiàn)象。
針對(duì)由USRP發(fā)出的偽衛(wèi)星射頻信號(hào),利用頻譜分析儀對(duì)偽衛(wèi)星產(chǎn)生的信號(hào)進(jìn)行測(cè)試,如圖5所示。由偽衛(wèi)星軟件發(fā)射機(jī)產(chǎn)生的偽衛(wèi)星信號(hào)能快速被頻譜分析儀捕獲到,信號(hào)頻譜分布在中心頻率1.57542GHz左右,符合GPS-L1偽衛(wèi)星信號(hào)的分布規(guī)律。
圖4 BPSK調(diào)制過(guò)程波形圖
圖5 頻譜分析儀測(cè)量偽衛(wèi)星信號(hào)的頻譜圖
將偽衛(wèi)星軟件發(fā)射機(jī)發(fā)出的信號(hào)接入到ubloxZED-F9P接收機(jī)中,利用接收機(jī)對(duì)信號(hào)進(jìn)行接收測(cè)試,由u-center軟件觀測(cè)測(cè)試結(jié)果如圖6所示,可見(jiàn)偽衛(wèi)星產(chǎn)生的信號(hào)可以被接收機(jī)接收并識(shí)別,觀測(cè)量數(shù)據(jù)也可以有效得到。
圖6 接收機(jī)接收偽衛(wèi)星信號(hào)測(cè)試結(jié)果
本文采用GNU Radio和USRP軟件無(wú)線電平臺(tái)實(shí)現(xiàn)了偽衛(wèi)星信號(hào)的產(chǎn)生與發(fā)射,利用GNU Radio框架實(shí)現(xiàn)偽衛(wèi)星信號(hào)的模擬與產(chǎn)生,同時(shí)調(diào)用USRP射頻前端實(shí)現(xiàn)了偽衛(wèi)星信號(hào)的發(fā)射。經(jīng)實(shí)驗(yàn)測(cè)試驗(yàn)證,該發(fā)射機(jī)發(fā)出的信號(hào)可作為偽衛(wèi)星定位系統(tǒng)使用,有效降低偽衛(wèi)星算法驗(yàn)證和硬件實(shí)驗(yàn)環(huán)境部署過(guò)程難度。