周彬,宋茂忠,熊駿,李增紅
(1.南京航空航天大學(xué) 江蘇省物聯(lián)網(wǎng)與控制重點(diǎn)實驗室,江蘇 南京 210016;2.中國電子科技集團(tuán)第41研究所山東 青島 266555)
基于FPGA和DDR2的北斗導(dǎo)航信號模擬
周彬1,宋茂忠1,熊駿1,李增紅2
(1.南京航空航天大學(xué) 江蘇省物聯(lián)網(wǎng)與控制重點(diǎn)實驗室,江蘇 南京210016;2.中國電子科技集團(tuán)第41研究所山東 青島266555)
北斗衛(wèi)星導(dǎo)航信號模擬是接收機(jī)開發(fā)與復(fù)雜環(huán)境下性能評估的關(guān)鍵技術(shù)。給出一種基于文件產(chǎn)生與播放的簡易模擬產(chǎn)生方法。文件產(chǎn)生部分提出了一種對不同衛(wèi)星建立信號采樣時間與衛(wèi)星發(fā)射時間的時間壓擴(kuò)算法,實現(xiàn)了時變多普勒和偽距的模擬,生成了衛(wèi)星導(dǎo)航接收機(jī)處的復(fù)雜信號。播放硬件以FPGA和DDR2為基礎(chǔ),通過PCI將信號文件傳入DDR2,在FPGA中實現(xiàn)了數(shù)據(jù)的連續(xù)讀取,經(jīng)插值濾波和數(shù)模轉(zhuǎn)換后形成中頻信號,再經(jīng)射頻調(diào)制輸出。通過北斗接收機(jī)的測試,證明了信號產(chǎn)生和播放硬件方案的可行性。
北斗;信號模擬;時變多普勒;時間壓擴(kuò);DDR2
在北斗高性能接收機(jī)的開發(fā)研制與性能評估過程中,能夠產(chǎn)生各種復(fù)雜環(huán)境下衛(wèi)星導(dǎo)航信號的模擬源系統(tǒng)必不可少,它可以在實驗室等室內(nèi)環(huán)境下為導(dǎo)航終端的性能測試提供高精度仿真信號。目前北斗衛(wèi)星導(dǎo)航信號模擬技術(shù)以國內(nèi)為主[1]。文獻(xiàn)[2]通過衛(wèi)星星歷近似計算載波多普勒與信號延遲,進(jìn)而在計算機(jī)上模擬衛(wèi)星中頻信號;文獻(xiàn)[3]基于衛(wèi)星航跡、載噪比等參數(shù)從軟件方面建立了對北斗B1中頻信號的仿真系統(tǒng);文獻(xiàn)[4]則在SIMULINK平臺上仿真了多普勒可控的北斗信號;但以上都未提及信號的硬件實現(xiàn)。而國內(nèi)科研單位如國防科大、華力創(chuàng)通等均研制出可模擬多顆可見星的北斗信號源,但都針對實時信號仿真模式,硬件環(huán)境復(fù)雜、成本較高且可移植性不好。
文獻(xiàn)[5]以USB為數(shù)據(jù)傳輸媒介,通過采集與回放的方式模擬衛(wèi)星導(dǎo)航信號。但采集信號受實際接收機(jī)條件的限制,可模擬的環(huán)境復(fù)雜度不高,也不利于單環(huán)境因素影響評估。
文中利用通用計算平臺的信號文件產(chǎn)生,以任意波播放儀器平臺為基礎(chǔ),實現(xiàn)一種便于向信號發(fā)生器儀器移植的北斗信號模擬方法。
在不考慮多徑誤差及其他信號干擾的情況下,以fs為采樣率,即每隔 Ts采一個點(diǎn),第i顆衛(wèi)星B1I支路中頻數(shù)字信號可表示為:
其中,A為測距碼振幅;Di為導(dǎo)航數(shù)據(jù) (對于MEO、IGSO為經(jīng)NH碼調(diào)制后的導(dǎo)航數(shù)據(jù));CI為測距碼;φI為載波初始相位;Rnoise為噪聲信號。
根據(jù)文獻(xiàn)[6],多普勒變化可以通過時間壓擴(kuò)關(guān)系表示:
τcode,τcarri為第i顆北斗衛(wèi)星信號在傳播過程中的偽碼延時和載波延時,包含了電離層延時、對流層延時和鐘差,可以通過下面的形式求?。?/p>
于是式(1)可以表示為:
其中τ0、τ1、τ2、τ3為相繼間隔Δt的4個時間點(diǎn)傳播時延,其初始值可以通過收斂的迭代算法計算出[7]。υτ、aτ、a′τ是傳播時延的一階變化率以及二階、三階導(dǎo)數(shù),Nt是將進(jìn)行均勻抽樣后的時間序列。因此N顆衛(wèi)星的中頻信號數(shù)學(xué)模型可以表示為:
根據(jù)式(5),分別生成含有時變偽碼相位與載波相位的測距碼、載波和導(dǎo)航數(shù)據(jù),將計算得到的所有可見星疊加得到多顆星的復(fù)合信號。然后將多顆星復(fù)合信號進(jìn)行2bit量化,最終得到北斗信號中頻數(shù)據(jù)文件。時間壓擴(kuò)模型在時間上建立了時變多普勒和偽距變化之間的關(guān)系,即碼傳播時延和載波時延,通過獲得準(zhǔn)確時間關(guān)系就可得到時變的多普勒和偽距。而碼傳播時延和載波時延僅在電離層時延符號上不同,因此該模型為北斗中頻信號模擬提供了一種簡單的算法。
文中衛(wèi)星導(dǎo)航信號生成方案采用FPGA+DDR2的讀寫式結(jié)構(gòu),即由FPGA控制DDR2中導(dǎo)航數(shù)據(jù)的讀寫,將導(dǎo)航數(shù)據(jù)按照一定的格式緩存于DDR2中,然后將導(dǎo)航數(shù)據(jù)讀取后進(jìn)行相應(yīng)的數(shù)字信號處理。系統(tǒng)的總體結(jié)構(gòu)由工控機(jī)組件、用于數(shù)據(jù)存儲的DDR2模塊、PCI模塊、由FPGA實現(xiàn)的數(shù)據(jù)處理模塊、射頻模塊以及一些其他外圍器件模塊組成,具體結(jié)構(gòu)如圖1所示。
圖1 模擬源系統(tǒng)結(jié)構(gòu)圖
2.1DDR2 SDRAM讀寫設(shè)計
在北斗模擬源系統(tǒng)的設(shè)計中,要實現(xiàn)導(dǎo)航信號的長時間連續(xù)播發(fā),無疑會積累大量的導(dǎo)航數(shù)據(jù)。這一特點(diǎn)對內(nèi)存的容量和速率提出了較高要求,由于FPGA片內(nèi)RAM資源有限,所以在基帶信號生成模塊的設(shè)計中就必須增加片外存儲單元[8]。在選擇片外存儲器時需注意帶寬與速率、數(shù)據(jù)存儲容量、成本、延時以及功率消耗等參數(shù),在綜合考慮各方面因素后本文選擇DDR2作為數(shù)據(jù)存儲單元。
在用戶接口模塊的設(shè)計中采用深度為1024的FIFO對地址/命令和數(shù)據(jù)的讀/寫進(jìn)行緩沖和同步,以防止DDR2控制器在對DDR2刷新時或者用戶數(shù)據(jù)讀寫速率過快而造成的數(shù)據(jù)丟失或地址錯位。用戶接口模塊主要包括讀命令FIFO、讀/寫地址FIFO和讀/寫數(shù)據(jù)FIFO。內(nèi)存條用戶接口控制模塊中數(shù)據(jù)讀寫控制流程圖如圖2所示。在寫過程中,由于PCI地址總線最大只能分配4GByte的地址空間,為了以后存儲容量的擴(kuò)充,在程序的編寫中給PCI分配了一定的偏移地址用于擴(kuò)充讀寫存儲空間。首先由PCI數(shù)據(jù)總線將數(shù)據(jù)送入寫數(shù)據(jù)FIFO中緩存,在DDR2準(zhǔn)備就緒后,偏移地址同PCI總線地址構(gòu)筑成新的地址值同數(shù)據(jù)一起分別送入DDR2的地址端口和數(shù)據(jù)端口,使數(shù)據(jù)按照一定的地址順序依次寫入DDR2中。
讀取過程同DDR2的寫入過程類似,在DDR2就緒后,按照讀地址FIFO緩存的寄存器地址值從低到高依次從DDR2中讀取相應(yīng)位寬的數(shù)據(jù)。由于本設(shè)計中DDR2從刷新到數(shù)據(jù)的讀取需要大約65個時鐘周期,即大約300 ns的時間,所以在數(shù)據(jù)的讀取時應(yīng)在觸發(fā)后延遲300 ns再發(fā)送讀取命令。
2.2數(shù)據(jù)處理模塊
對于模擬源回放系統(tǒng)來說,數(shù)據(jù)處理模塊必不可少,該模塊的主要作用是生成導(dǎo)航中頻信號。從DDR2讀取數(shù)據(jù)的位寬高于原始數(shù)據(jù)量化位寬,且DAC工作時鐘高于數(shù)據(jù)采樣時鐘,所以需要對讀出的數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換和增采樣處理,以保證數(shù)據(jù)是按照原始數(shù)據(jù)的采樣點(diǎn)連續(xù)發(fā)出。并/串轉(zhuǎn)換模塊主要是通過異步FIFO與硬件語言生成的并轉(zhuǎn)串結(jié)構(gòu)來實現(xiàn)。
圖2 DDR2用戶端口讀寫控制流程圖
對于北斗導(dǎo)航數(shù)據(jù)的增采樣處理,本文采用FARROW結(jié)構(gòu)建立的分?jǐn)?shù)重采樣濾波器來實現(xiàn)[10]。采用了一個256抽頭的插值低通濾波器,采樣率fs=200 MHz,通帶衰減頻率為fp=6.5 MHz。
3.1軟件接收機(jī)捕獲分析
根據(jù)本文建立的北斗信號中頻數(shù)學(xué)模型,生成了一組北斗導(dǎo)航數(shù)據(jù),數(shù)據(jù)參數(shù)設(shè)置如下:1)載波中頻為3.996 875 MHz;2)信號采樣率為16.369 MHz;3)用戶坐標(biāo)為北緯32.0402°和東經(jīng)118.8154°;4)用戶時間為2015年5月13日。此時的可見星判斷為1、3、4、7、8、10、11、12號星。將生成的數(shù)據(jù)直接送入軟件接收機(jī)進(jìn)行分析,捕獲結(jié)果如圖3所示。從圖中可以看出8顆星全被捕獲到。
圖3 捕獲結(jié)果分析
從捕獲結(jié)果圖可看出,捕獲到的載波頻率與預(yù)先設(shè)定的中頻頻率有一定偏差,差值為其多普勒頻率。比如就8號星來說,捕獲載波頻率為3998241.6667 Hz,與中頻之差為1367 Hz即捕獲到的多普勒頻偏。
3.2硬件接收機(jī)的測試驗證
北斗中頻數(shù)據(jù)經(jīng)過基帶板處理和射頻端上變頻,由天線發(fā)出射頻信號后,需對其進(jìn)行接收機(jī)測試。本次測試所采用的接收機(jī)為通用GPS/BD雙模接收機(jī)。圖4為解算后的衛(wèi)星星座圖,由該圖可知,8顆星都被解算出并得出了各顆星的方位信息。具體的定位結(jié)果如圖5所示,經(jīng)緯度信息與預(yù)先設(shè)定的值基本一致,存在微小偏差且在合理范圍之內(nèi)。
圖4 衛(wèi)星星座圖
圖5 接收機(jī)定位結(jié)果
通過上述分析可知,硬件接收機(jī)的測試結(jié)果與軟件接收機(jī)驗證結(jié)果基本一致,根據(jù)本文提出的方法所生產(chǎn)的北斗中頻信號符合北斗信號特征,且北斗模擬源回放系統(tǒng)可以較好的完成導(dǎo)航數(shù)據(jù)的回放,從而進(jìn)一步說明了該設(shè)計的實用性。
將時變多普勒和偽距變化之間的關(guān)系反映在時間上,并在此基礎(chǔ)上建立了北斗信號中頻數(shù)學(xué)模型,該模型為北斗中頻信號模擬提供了一種簡單、實用的算法。系統(tǒng)實現(xiàn)中結(jié)合DDR2內(nèi)存條的讀寫控制以及PCI寄存器配置等,設(shè)計了北斗模擬源回放系統(tǒng),可以精確回放出真實場景下的北斗衛(wèi)星信號。文中對系統(tǒng)的總體結(jié)構(gòu)、DDR2的讀寫控制以及數(shù)字信號處理等進(jìn)行了詳細(xì)分析,并通過軟、硬件接收機(jī)對北斗模擬源進(jìn)行了充分驗證。實踐驗證,本文設(shè)計的北斗模擬源回放系統(tǒng)可以連續(xù)穩(wěn)定的模擬真實環(huán)境下的北斗衛(wèi)星導(dǎo)航信號,具有較強(qiáng)的實用性。
[1]謝金石.北斗導(dǎo)航信號源發(fā)展現(xiàn)狀分析[J].全球定位系統(tǒng),2012(5):52-55.
[2]郭際明,汪偉,巢佰崇.GPS IF信號的計算機(jī)模擬和實現(xiàn)[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2008,33(5):472-474.
[3]徐昭,李榮冰,謝非,等.北斗B1頻點(diǎn)中頻信號仿真系統(tǒng)設(shè)計[J].系統(tǒng)仿真技術(shù),2013,9(3):229-235.
[4]劉天旻,茅旭初.北斗二代系統(tǒng)B1頻段中頻信號的生成方法[J].計算機(jī)仿真,2013,30(9):70-73.
[5]Yan K,Zheng J,Zhang T,et al.GPS IF Data Record and ReplaySystemBasedonFPGA[C]//ChinaSatellite Navigation Conference(CSNC)2012 Proceedings.Springer Berlin Heidelberg,2012:187-197.
[6]Dong L.IF GPS signal simulator development and verification[J].UCGE Reports,2003.
[7]劉旻,吳嗣亮.實時高動態(tài)GNSS信號模擬器高精度偽距生成方法[J].北京理工大學(xué)學(xué)報,2011,31(9):1053-1057.
[8]Wang L,Wang J,Zhang Q.Design and implementation of DDRSDRAMcontrollerbasedonFPGAinsatellite navigation system[C]//Signal Processing(ICSP),2012 IEEE 11th International Conference on.IEEE,2012(1):456-460.
[9]Hussain T,Palomar O,Unsal O,et al.Advanced Pattern based Memory Controller for FPGA based HPC applications [C]//High Performance Computing&Simulation(HPCS),2014 International Conference on.IEEE,2014:287-294.
[10]江鵬,施闖,吳曼青.北斗衛(wèi)星導(dǎo)航中基于Farrow插值的聯(lián)合碼環(huán)載波環(huán)的仿真研究[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2009(5):548-551.
[11]馮凌,魏東,周華勇,等.電子式互感器模擬輸出量用校驗儀的研制[J].供用電,2012(6):70-72,82.
[12]Mike Toutloff.事故模擬預(yù)防重大事故[J].供用電,2014 (7):66-69,4.
Simulator of BeiDou navigation signal based on FPGA and DDR2
ZHOU Bin1,SONG Mao-zhong1,XIONG Jun1,LI Zeng-hong2
(1.JiangSu Province Internet of Things Key Library,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China;2.The 41 Research Institute of China Electronics Technology Group,Qingdao 266555,China)
BeiDou satellite navigation signal simulation is a key technology of receiver development and performance evaluation under complicated environment.A simple simulation method based on files generation and replay is given.In file generating section,time companding algorithm establishing signal sampling time and satellite launch time of different satellite is proposed.The simulation of time-varying Doppler and pseudorange is achieved,and generating complex satellite navigation signal in receiver.Signal file read in a row which is launched into DDR2 through PCI is realized in the hardware based on FPGA and DDR2.The solution of signal generation and playback hardware is proved feasibility through intermediate frequency signal which is formed after interpolation filter and digital to analog conversion transmitted through radio frequency modulation and tested by BeiDou receiver.
BeiDou;signal simulation;time-varying Doppler;companding;DDR2
TN967.1
A
1674-6236(2016)06-0138-04
2015-10-20稿件編號:201510129
國家重大科學(xué)儀器設(shè)備開發(fā)專項子任務(wù)(2013YQ20060707);江蘇高校優(yōu)勢學(xué)科建設(shè)工程資助項目
周彬(1988—),男,江蘇沛縣人,碩士研究生。研究方向:衛(wèi)星導(dǎo)航。