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