謝 杰,張 博,侯 博,姚志成,劉光斌
(第二炮兵工程大學(xué),西安 710025)
導(dǎo)航衛(wèi)星信號(hào)仿真的關(guān)鍵技術(shù)之一是在FPGA中按數(shù)學(xué)計(jì)算所得控制字合成中頻信號(hào),而Galileo E1-B/C信號(hào)測(cè)距碼序列沒有固定的生成多項(xiàng)式且長(zhǎng)度是GPS測(cè)距碼的4倍,傳統(tǒng)的移位寄存器生成方式不適用,同時(shí)受片內(nèi)存儲(chǔ)空間的限制,已有ROM式生成方法不利于多通道集成。再者,實(shí)現(xiàn)Galileo系統(tǒng)CBOC(6,1,1/11)[1]調(diào)制與功率控制需進(jìn)行多次硬件乘法操作,對(duì)一般的低功耗FPGA而言,片內(nèi)乘法器資源有限,如何優(yōu)化設(shè)計(jì)以滿足信號(hào)合成通道的大規(guī)模集成是目前的技術(shù)難題。本文針對(duì)上述兩個(gè)難題,提出可重載查表式測(cè)距碼生成方法和功率控制的優(yōu)化方法,實(shí)現(xiàn)Galileo E1-B/C信號(hào)合成通道設(shè)計(jì),并通過仿真實(shí)驗(yàn)驗(yàn)證合成通道設(shè)計(jì)的正確性。
Galileo系統(tǒng)E1-B/C信號(hào)測(cè)距碼采用主碼加第二序列相結(jié)合的層狀結(jié)構(gòu),主碼[2]碼長(zhǎng)4 092,碼速率1.023 Mchip/s,同時(shí)用于E1-B和E1-C通道,第二序列為25碼片存儲(chǔ)碼,只用于E1-C導(dǎo)頻通道,是在主碼基礎(chǔ)上對(duì)信號(hào)的二次調(diào)制。
在導(dǎo)航衛(wèi)星信號(hào)仿真中,測(cè)距碼的生成主要有兩種方式:一是根據(jù)生成多項(xiàng)式,通過狀態(tài)反饋移位寄存器產(chǎn)生[3];二是選擇需要的測(cè)距碼序列存儲(chǔ)于存儲(chǔ)器中,通過尋址產(chǎn)生。但Galileo系統(tǒng)E1-B/C測(cè)距碼固定,沒有固定的生成多項(xiàng)式,因此,需采用第二種方法產(chǎn)生測(cè)距碼序列。
因每個(gè)仿真信號(hào)合成通道均需要支持任意可觀測(cè)衛(wèi)星導(dǎo)航信號(hào)的合成,因此,每個(gè)Galileo E1信號(hào)合成通道需要409 200 bit的存儲(chǔ)空間。若采用ROM式測(cè)距碼序列生成器,每個(gè)Galileo E1信號(hào)合成通道在Xilinx的FPGA中實(shí)現(xiàn),至少需要使用24個(gè)Block RAM來存儲(chǔ)相應(yīng)的測(cè)距碼表。相對(duì)而言,一般規(guī)模的Xilinx FPGA單片內(nèi)僅包含數(shù)十個(gè)至百余個(gè)Block RAM,故這種設(shè)計(jì)方案不利于Galileo仿真信號(hào)合成通道的大規(guī)模集成。為了在硬件資源限制下,在單片F(xiàn)PGA內(nèi)集成多個(gè)仿真衛(wèi)星可任意配置的仿真導(dǎo)航信號(hào)合成通道,本文設(shè)計(jì)了一種可重載查表式E1測(cè)距碼生成器,其結(jié)構(gòu)如圖1所示。
圖1 可重載查表式E1測(cè)距碼碼表Fig.1 Look-up E1 PRN code table
根據(jù)仿真需求,每個(gè)用于測(cè)距碼生成的雙口RAM具體設(shè)計(jì)如下:
(1)兩個(gè)端口分別配置為測(cè)距碼加載端口(只寫)和測(cè)距碼序列生成端口(只讀);
(2)為了提高測(cè)距碼加載端口的數(shù)據(jù)帶寬,端口設(shè)計(jì)為32 bit端口,單個(gè)Galileo測(cè)距碼表加載僅需要128次總線操作,而每個(gè)Galileo通道包含B、C兩個(gè)測(cè)距碼表,總共需要256次總線操作,需要8 bit地址線進(jìn)行尋址;
(3)測(cè)距碼序列生成端口設(shè)計(jì)為1 bit端口,但是由于每個(gè)通道的B、C測(cè)距碼表需要同時(shí)尋址,因此需要12 bit地址線尋址;
(4)每個(gè)通道的狀態(tài)機(jī)保證作為測(cè)距碼表的雙口RAM避免在工作時(shí)發(fā)生讀寫沖突;
(5)測(cè)距碼表有效位數(shù)為4 096 bit,由原序列最后補(bǔ)上該序列首4 bit構(gòu)成。
根據(jù)以上設(shè)計(jì)方案,碼表加載時(shí)序仿真波形如圖2所示。其中的3個(gè)主信號(hào)為iCodeWrEn,Galileo E1信號(hào)合成通道測(cè)距碼表加載使能;iCodeAddr[7:0],Galileo E1信號(hào)合成通道測(cè)距碼表加載地址;iCodeData[31:0],Galileo E1信號(hào)合成通道測(cè)距碼加載端口。
圖2 碼表加載時(shí)序波形仿真Fig.2 Timing simulation of PRN code table
E1-B/C信號(hào)是由6.138 MHz二值子載波、1.023MHz二值子載波、E1-B測(cè)距碼序列、E1-C主測(cè)距碼序列、E1-B調(diào)制的I/NAV導(dǎo)航數(shù)據(jù)流、E1-C調(diào)制的CS25第二序列以及1 575.42 MHz三角函數(shù)載波相互調(diào)制而成,故需同時(shí)產(chǎn)生BOC(6,1)和BOC(1,1)的副載波,且必須使BOC(6,1)、BOC(1,1)、測(cè)距碼和電文嚴(yán)格對(duì)齊[4]。一種方案是采用3個(gè)NCO分別產(chǎn)生BOC(6,1)、BOC(1,1)以及測(cè)距碼,但各NCO間存在同步誤差,難以確保碼片嚴(yán)格對(duì)齊;另一種方案是將測(cè)距碼或副載波的1個(gè)低電平或高電平均作為1個(gè)碼片,利用副載波與測(cè)距碼間的倍數(shù)關(guān)系產(chǎn)生所需的信號(hào)。因此,選取NCO自然合成周期為1/12.276 MHz,通過整周計(jì)數(shù)產(chǎn)生相應(yīng)信號(hào)。NCO、整周計(jì)數(shù)器組的設(shè)計(jì)如圖3所示,其中13位計(jì)數(shù)器的最低位產(chǎn)生1.023MHz子載波信號(hào),而測(cè)距碼主碼索引信號(hào)由高12位產(chǎn)生。
圖3 E1-B/C測(cè)距碼相位計(jì)數(shù)器結(jié)構(gòu)Fig.3 Phase counter structure of E1-B/C PRN code
同時(shí),由于E1-B/C一個(gè)測(cè)距碼整周(4 ms)對(duì)應(yīng)一個(gè)導(dǎo)航數(shù)據(jù)位,因此,圖3中沒有主碼整周計(jì)數(shù)器,而是直接將測(cè)距碼碼片計(jì)數(shù)器溢出輸入導(dǎo)航數(shù)據(jù)位計(jì)數(shù)器。對(duì)應(yīng)的碼NCO相位量化字長(zhǎng)WCode與信號(hào)合成精度的關(guān)系為
式中,pr為期望的偽距仿真精度,c表示真空中光速,nCS為導(dǎo)航衛(wèi)星系統(tǒng)仿真中數(shù)學(xué)仿真周期與信號(hào)合成采樣周期之比。
為確保測(cè)距碼相位和載波相位滿足理想同步關(guān)系,必須保證測(cè)距碼支路和載波支路處理管線長(zhǎng)度的一次性[5]。本文采用硬延時(shí)法,即根據(jù)處理管線級(jí)數(shù)之差,加入相應(yīng)數(shù)量寄存環(huán)節(jié)[6],將超前支路(延時(shí)較短的支路)的狀態(tài)緩存若干處理周期,使超前支路的處理管線長(zhǎng)度加長(zhǎng)。該處理方法簡(jiǎn)單,只需增加狀態(tài)寄存器即可。
因載波支路除實(shí)現(xiàn)載波觀測(cè)時(shí)間合成和載波相位變換外,還需完成相位-幅值變換和信號(hào)幅度控制。因此,載波支路處理管線長(zhǎng)度為 3級(jí),相對(duì)Galileo E1-B/C測(cè)距碼相位計(jì)數(shù)器(圖3)管線長(zhǎng)度多一級(jí),故需在測(cè)距碼相位計(jì)數(shù)器中增加一個(gè)串聯(lián)寄存環(huán)節(jié)。同時(shí),圖3中,BOC載波、測(cè)距碼、導(dǎo)航數(shù)據(jù)、第二序列之間的相對(duì)處理管線長(zhǎng)度不同,為保證相互間的時(shí)間同步,可在信號(hào)傳遞支路中加入相應(yīng)寄存環(huán)節(jié),人為增加信號(hào)處理的管線長(zhǎng)度,確保處理管線長(zhǎng)度的一致性。
目前,導(dǎo)航衛(wèi)星仿真信號(hào)功率控制是通過對(duì)合成載波調(diào)幅實(shí)現(xiàn),即在硬件實(shí)現(xiàn)中直接將載波幅值(有符號(hào)定點(diǎn)數(shù))與一無符號(hào)定點(diǎn)數(shù)(量化的信號(hào)相對(duì)幅度)相乘,這樣在信號(hào)合成通路中將增加一個(gè)乘法器,耗費(fèi)了更多資源。但對(duì)調(diào)幅來說是一種標(biāo)量乘法,故無論在調(diào)制前或調(diào)制后進(jìn)行,其結(jié)果是相同的,根據(jù)Galileo E1-B/C信號(hào)采用CBOC(6,1,1/11)的特性,提出利用軟件功率控制的優(yōu)化方法。
該方法是根據(jù)Galileo信號(hào)COBC調(diào)制的特點(diǎn)和標(biāo)量乘法的規(guī)律,將功率大小歸一化換算為副載波BOC(6,1)和BOC(1,1)的比例因子 α、β的相對(duì)值,并將 α、β的乘法處理移至仿真軟件執(zhí)行,這樣COBC調(diào)制和功率控制可用一個(gè)乘法器實(shí)現(xiàn),減少了硬件資源的消耗。表1給出了基于Xilinx XC6SLX45設(shè)計(jì)的8通道信號(hào)合成器優(yōu)化前后兩種方案分別消耗的硬件資源對(duì)比。
表1 信號(hào)合成通道優(yōu)化前后占用硬件資源對(duì)比Table 1 Resource consumption before and after optimization
從表1可以看出,制約單顆Xilinx XC6SLX45芯片信號(hào)合成通道的主要資源為DSP48,片內(nèi)DSP48共有64個(gè),優(yōu)化后的方法可支持32通道設(shè)計(jì)需要,而優(yōu)化前方案只能支持16通道,相對(duì)增加了50%。其它資源如Slice Register、4 input LUT等,雖然優(yōu)化后的耗費(fèi)率提高了,但其片內(nèi)可用數(shù)量充足,完全可滿足設(shè)計(jì)32通道信號(hào)合成器的需求。
某次仿真中,仿真場(chǎng)景設(shè)置為:初始時(shí)刻為2011 年7 月 24 日,仿真位置為東經(jīng) 116°24′26.69″,北 緯 39°30′00.55″,高 程 48 m,中 頻 頻 率 為15.42MHz,將通過上述信號(hào)合成通道優(yōu)化設(shè)計(jì)輸出的Galileo E1-B/C中頻信號(hào)直接輸入頻譜儀,信號(hào)頻譜如圖4所示,圖5示出了理想CBOC(6,1,1/11)調(diào)制信號(hào)頻譜。
圖4 合成信號(hào)頻譜Fig.4 Spectrum of synthesis signal
圖5 理想CBOC(6,1,1/11)調(diào)制信號(hào)頻譜Fig.5 Spectrum of ideal CBOC signal
對(duì)比圖4和圖5可以看出,仿真生成的Galileo E1-B/C信號(hào)頻譜具有理想CBOC調(diào)制信號(hào)頻譜特征,即在中心頻率±6MHz處有功率增強(qiáng),此即是BOC(6,1)對(duì)信號(hào)的貢獻(xiàn),說明了上述信號(hào)合成通道設(shè)計(jì)方法的正確性。同時(shí),為驗(yàn)證合成信號(hào)的正確有效性,采集合成的數(shù)字信號(hào),利用軟件接收機(jī)的處理結(jié)果如圖6所示。
圖6 軟件接收機(jī)對(duì)仿真信號(hào)的處理結(jié)果Fig.6 Results of software receiver
圖6中,加粗十字表示軟件接收機(jī)的定位位置,其坐標(biāo)為東經(jīng) 116°24′26.69″E,北緯 39°30′00.55″N,高程52.4 m,與仿真設(shè)置一致,說明了仿真信號(hào)的正確有效性,進(jìn)一步表明了合成通道設(shè)計(jì)的正確性。
信號(hào)的合成是導(dǎo)航衛(wèi)星信號(hào)仿真的必要步驟,目的是為生成導(dǎo)航終端可觀測(cè)的規(guī)定制式信號(hào)。文中所提出的方法相對(duì)傳統(tǒng)方法具有以下主要優(yōu)點(diǎn)。
(1)節(jié)約了數(shù)倍內(nèi)存空間
可重載查表式E1測(cè)距碼主碼生成器中,每個(gè)Galileo E1-B/C信號(hào)合成通道分別只需1個(gè)存儲(chǔ)E1-B/C測(cè)距碼碼表RAM、1個(gè)存儲(chǔ)E1-C第二序列碼表RAM和1個(gè)存儲(chǔ)三角函數(shù)表的RAM,而傳統(tǒng)ROM式測(cè)距碼生成法每通道需要至少24個(gè)RAM,相對(duì)而言節(jié)約了87%的內(nèi)存空間,為信號(hào)合成通道的大規(guī)模集成奠定了基礎(chǔ)。
(2)50%的相對(duì)硬件乘法優(yōu)化率
針對(duì)E1-B/C信號(hào)調(diào)制和功率控制在硬件實(shí)現(xiàn)中所需乘法運(yùn)算次數(shù)較多,根據(jù)CBOC調(diào)制的特點(diǎn)和乘法定理,將信號(hào)功率強(qiáng)度由二值子載波的相對(duì)能量來表示,通過調(diào)節(jié)比例因子 α、β的相對(duì)值,在軟件中實(shí)現(xiàn)功率控制,在不使用硬件乘法器資源的條件下實(shí)現(xiàn)了CBOC調(diào)制和信號(hào)功率控制。
最后應(yīng)用上述方法設(shè)計(jì)了硬件信號(hào)合成器,頻譜特征對(duì)比與接收機(jī)處理結(jié)果說明:該方法應(yīng)用于Galileo E1-B/C信號(hào)合成通道設(shè)計(jì)是完全可行的,解決了Galileo E1-B/C信號(hào)仿真器硬件實(shí)現(xiàn)的關(guān)鍵技術(shù)之一。將來,GPS現(xiàn)代化以及“北斗”系統(tǒng)的信號(hào)制式改進(jìn)方向均與Galileo系統(tǒng)信號(hào)體制一致,本文所提出的方法對(duì)以后的GNSS系統(tǒng)仿真具有實(shí)際的指導(dǎo)意義。同時(shí),論文只研究了E1頻點(diǎn)信號(hào)的生成,下一步可針對(duì)多頻點(diǎn)信號(hào)合成通道集成的問題展開深入研究。
[1]周艷玲,王代萍.CBOC調(diào)制方式及其性能分析[J].電訊技術(shù),2010,50(7):21-25.ZHOU Yan-ling,WANG Dai-ping.CBOC Modulation and its Performance Analysis[J].Telecommunication Engineering,2010,50(2):21-25.(in Chinese)
[2]European Union and European Space Agency.European GNSS(Galileo)Open Service Signal In Space Interface Control Document[R].2010.
[3]Kai Borre,DennisM Akos,Nicolaj Bertelsen,et al.A Software-Defined GPS and Galileo Receiver[M].Boston:Birkh?user,2007.
[4]孫樹杰,寇艷紅,周鴻偉.衛(wèi)星信號(hào)模擬器CBOC中頻信號(hào)設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010,26(3-1):110-112.SUN Shu-jie,KOU Yan-hong,ZHOU Hong-wei.Design and Implementation of COBC IF Signal of Satellite Signal Simulator[J].Microcomputer Information,2010,26(3-1):110-112.(in Chinese)
[5]張博.衛(wèi)星導(dǎo)航仿真的高動(dòng)態(tài)與多觀測(cè)信號(hào)聯(lián)合合成[D].西安:第二炮兵工程學(xué)院,2011.ZHANG Bo.The Joint Synthesis of High-dynamic and Multi-surveying Signal on Satellite Navigation Simulation[D].Xi′an:The Second Artillery Engineering College of PLA,2011.(in Chinese)
[6]張博,李釗,盧紅彬,等.DDS在衛(wèi)星導(dǎo)航信號(hào)仿真中的應(yīng)用[J].無線電工程,2009,39(12):10-12,64.ZHANG Bo,LI Zhao,LU Hong-bin,et al.Direct Digital SynthesisApplied in GNSS Signal Simulation[J].Radio Engineering,2009,39(12):10-12,64.(in Chinese)