周彬,宋茂忠,熊駿,李增紅
(1.南京航空航天大學(xué) 江蘇省物聯(lián)網(wǎng)與控制重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210016;2.中國(guó)電子科技集團(tuán)第41研究所山東 青島 266555)
基于FPGA和DDR2的北斗導(dǎo)航信號(hào)模擬
周彬1,宋茂忠1,熊駿1,李增紅2
(1.南京航空航天大學(xué) 江蘇省物聯(lián)網(wǎng)與控制重點(diǎn)實(shí)驗(yàn)室,江蘇 南京210016;2.中國(guó)電子科技集團(tuán)第41研究所山東 青島266555)
北斗衛(wèi)星導(dǎo)航信號(hào)模擬是接收機(jī)開(kāi)發(fā)與復(fù)雜環(huán)境下性能評(píng)估的關(guān)鍵技術(shù)。給出一種基于文件產(chǎn)生與播放的簡(jiǎn)易模擬產(chǎn)生方法。文件產(chǎn)生部分提出了一種對(duì)不同衛(wèi)星建立信號(hào)采樣時(shí)間與衛(wèi)星發(fā)射時(shí)間的時(shí)間壓擴(kuò)算法,實(shí)現(xiàn)了時(shí)變多普勒和偽距的模擬,生成了衛(wèi)星導(dǎo)航接收機(jī)處的復(fù)雜信號(hào)。播放硬件以FPGA和DDR2為基礎(chǔ),通過(guò)PCI將信號(hào)文件傳入DDR2,在FPGA中實(shí)現(xiàn)了數(shù)據(jù)的連續(xù)讀取,經(jīng)插值濾波和數(shù)模轉(zhuǎn)換后形成中頻信號(hào),再經(jīng)射頻調(diào)制輸出。通過(guò)北斗接收機(jī)的測(cè)試,證明了信號(hào)產(chǎn)生和播放硬件方案的可行性。
北斗;信號(hào)模擬;時(shí)變多普勒;時(shí)間壓擴(kuò);DDR2
在北斗高性能接收機(jī)的開(kāi)發(fā)研制與性能評(píng)估過(guò)程中,能夠產(chǎn)生各種復(fù)雜環(huán)境下衛(wèi)星導(dǎo)航信號(hào)的模擬源系統(tǒng)必不可少,它可以在實(shí)驗(yàn)室等室內(nèi)環(huán)境下為導(dǎo)航終端的性能測(cè)試提供高精度仿真信號(hào)。目前北斗衛(wèi)星導(dǎo)航信號(hào)模擬技術(shù)以國(guó)內(nèi)為主[1]。文獻(xiàn)[2]通過(guò)衛(wèi)星星歷近似計(jì)算載波多普勒與信號(hào)延遲,進(jìn)而在計(jì)算機(jī)上模擬衛(wèi)星中頻信號(hào);文獻(xiàn)[3]基于衛(wèi)星航跡、載噪比等參數(shù)從軟件方面建立了對(duì)北斗B1中頻信號(hào)的仿真系統(tǒng);文獻(xiàn)[4]則在SIMULINK平臺(tái)上仿真了多普勒可控的北斗信號(hào);但以上都未提及信號(hào)的硬件實(shí)現(xiàn)。而國(guó)內(nèi)科研單位如國(guó)防科大、華力創(chuàng)通等均研制出可模擬多顆可見(jiàn)星的北斗信號(hào)源,但都針對(duì)實(shí)時(shí)信號(hào)仿真模式,硬件環(huán)境復(fù)雜、成本較高且可移植性不好。
文獻(xiàn)[5]以USB為數(shù)據(jù)傳輸媒介,通過(guò)采集與回放的方式模擬衛(wèi)星導(dǎo)航信號(hào)。但采集信號(hào)受實(shí)際接收機(jī)條件的限制,可模擬的環(huán)境復(fù)雜度不高,也不利于單環(huán)境因素影響評(píng)估。
文中利用通用計(jì)算平臺(tái)的信號(hào)文件產(chǎn)生,以任意波播放儀器平臺(tái)為基礎(chǔ),實(shí)現(xiàn)一種便于向信號(hào)發(fā)生器儀器移植的北斗信號(hào)模擬方法。
在不考慮多徑誤差及其他信號(hào)干擾的情況下,以fs為采樣率,即每隔 Ts采一個(gè)點(diǎn),第i顆衛(wèi)星B1I支路中頻數(shù)字信號(hào)可表示為:
其中,A為測(cè)距碼振幅;Di為導(dǎo)航數(shù)據(jù) (對(duì)于MEO、IGSO為經(jīng)NH碼調(diào)制后的導(dǎo)航數(shù)據(jù));CI為測(cè)距碼;φI為載波初始相位;Rnoise為噪聲信號(hào)。
根據(jù)文獻(xiàn)[6],多普勒變化可以通過(guò)時(shí)間壓擴(kuò)關(guān)系表示:
τcode,τcarri為第i顆北斗衛(wèi)星信號(hào)在傳播過(guò)程中的偽碼延時(shí)和載波延時(shí),包含了電離層延時(shí)、對(duì)流層延時(shí)和鐘差,可以通過(guò)下面的形式求?。?/p>
于是式(1)可以表示為:
其中τ0、τ1、τ2、τ3為相繼間隔Δt的4個(gè)時(shí)間點(diǎn)傳播時(shí)延,其初始值可以通過(guò)收斂的迭代算法計(jì)算出[7]。υτ、aτ、a′τ是傳播時(shí)延的一階變化率以及二階、三階導(dǎo)數(shù),Nt是將進(jìn)行均勻抽樣后的時(shí)間序列。因此N顆衛(wèi)星的中頻信號(hào)數(shù)學(xué)模型可以表示為:
根據(jù)式(5),分別生成含有時(shí)變偽碼相位與載波相位的測(cè)距碼、載波和導(dǎo)航數(shù)據(jù),將計(jì)算得到的所有可見(jiàn)星疊加得到多顆星的復(fù)合信號(hào)。然后將多顆星復(fù)合信號(hào)進(jìn)行2bit量化,最終得到北斗信號(hào)中頻數(shù)據(jù)文件。時(shí)間壓擴(kuò)模型在時(shí)間上建立了時(shí)變多普勒和偽距變化之間的關(guān)系,即碼傳播時(shí)延和載波時(shí)延,通過(guò)獲得準(zhǔn)確時(shí)間關(guān)系就可得到時(shí)變的多普勒和偽距。而碼傳播時(shí)延和載波時(shí)延僅在電離層時(shí)延符號(hào)上不同,因此該模型為北斗中頻信號(hào)模擬提供了一種簡(jiǎn)單的算法。
文中衛(wèi)星導(dǎo)航信號(hào)生成方案采用FPGA+DDR2的讀寫(xiě)式結(jié)構(gòu),即由FPGA控制DDR2中導(dǎo)航數(shù)據(jù)的讀寫(xiě),將導(dǎo)航數(shù)據(jù)按照一定的格式緩存于DDR2中,然后將導(dǎo)航數(shù)據(jù)讀取后進(jìn)行相應(yīng)的數(shù)字信號(hào)處理。系統(tǒng)的總體結(jié)構(gòu)由工控機(jī)組件、用于數(shù)據(jù)存儲(chǔ)的DDR2模塊、PCI模塊、由FPGA實(shí)現(xiàn)的數(shù)據(jù)處理模塊、射頻模塊以及一些其他外圍器件模塊組成,具體結(jié)構(gòu)如圖1所示。
圖1 模擬源系統(tǒng)結(jié)構(gòu)圖
2.1DDR2 SDRAM讀寫(xiě)設(shè)計(jì)
在北斗模擬源系統(tǒng)的設(shè)計(jì)中,要實(shí)現(xiàn)導(dǎo)航信號(hào)的長(zhǎng)時(shí)間連續(xù)播發(fā),無(wú)疑會(huì)積累大量的導(dǎo)航數(shù)據(jù)。這一特點(diǎn)對(duì)內(nèi)存的容量和速率提出了較高要求,由于FPGA片內(nèi)RAM資源有限,所以在基帶信號(hào)生成模塊的設(shè)計(jì)中就必須增加片外存儲(chǔ)單元[8]。在選擇片外存儲(chǔ)器時(shí)需注意帶寬與速率、數(shù)據(jù)存儲(chǔ)容量、成本、延時(shí)以及功率消耗等參數(shù),在綜合考慮各方面因素后本文選擇DDR2作為數(shù)據(jù)存儲(chǔ)單元。
在用戶(hù)接口模塊的設(shè)計(jì)中采用深度為1024的FIFO對(duì)地址/命令和數(shù)據(jù)的讀/寫(xiě)進(jìn)行緩沖和同步,以防止DDR2控制器在對(duì)DDR2刷新時(shí)或者用戶(hù)數(shù)據(jù)讀寫(xiě)速率過(guò)快而造成的數(shù)據(jù)丟失或地址錯(cuò)位。用戶(hù)接口模塊主要包括讀命令FIFO、讀/寫(xiě)地址FIFO和讀/寫(xiě)數(shù)據(jù)FIFO。內(nèi)存條用戶(hù)接口控制模塊中數(shù)據(jù)讀寫(xiě)控制流程圖如圖2所示。在寫(xiě)過(guò)程中,由于PCI地址總線(xiàn)最大只能分配4GByte的地址空間,為了以后存儲(chǔ)容量的擴(kuò)充,在程序的編寫(xiě)中給PCI分配了一定的偏移地址用于擴(kuò)充讀寫(xiě)存儲(chǔ)空間。首先由PCI數(shù)據(jù)總線(xiàn)將數(shù)據(jù)送入寫(xiě)數(shù)據(jù)FIFO中緩存,在DDR2準(zhǔn)備就緒后,偏移地址同PCI總線(xiàn)地址構(gòu)筑成新的地址值同數(shù)據(jù)一起分別送入DDR2的地址端口和數(shù)據(jù)端口,使數(shù)據(jù)按照一定的地址順序依次寫(xiě)入DDR2中。
讀取過(guò)程同DDR2的寫(xiě)入過(guò)程類(lèi)似,在DDR2就緒后,按照讀地址FIFO緩存的寄存器地址值從低到高依次從DDR2中讀取相應(yīng)位寬的數(shù)據(jù)。由于本設(shè)計(jì)中DDR2從刷新到數(shù)據(jù)的讀取需要大約65個(gè)時(shí)鐘周期,即大約300 ns的時(shí)間,所以在數(shù)據(jù)的讀取時(shí)應(yīng)在觸發(fā)后延遲300 ns再發(fā)送讀取命令。
2.2數(shù)據(jù)處理模塊
對(duì)于模擬源回放系統(tǒng)來(lái)說(shuō),數(shù)據(jù)處理模塊必不可少,該模塊的主要作用是生成導(dǎo)航中頻信號(hào)。從DDR2讀取數(shù)據(jù)的位寬高于原始數(shù)據(jù)量化位寬,且DAC工作時(shí)鐘高于數(shù)據(jù)采樣時(shí)鐘,所以需要對(duì)讀出的數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換和增采樣處理,以保證數(shù)據(jù)是按照原始數(shù)據(jù)的采樣點(diǎn)連續(xù)發(fā)出。并/串轉(zhuǎn)換模塊主要是通過(guò)異步FIFO與硬件語(yǔ)言生成的并轉(zhuǎn)串結(jié)構(gòu)來(lái)實(shí)現(xiàn)。
圖2 DDR2用戶(hù)端口讀寫(xiě)控制流程圖
對(duì)于北斗導(dǎo)航數(shù)據(jù)的增采樣處理,本文采用FARROW結(jié)構(gòu)建立的分?jǐn)?shù)重采樣濾波器來(lái)實(shí)現(xiàn)[10]。采用了一個(gè)256抽頭的插值低通濾波器,采樣率fs=200 MHz,通帶衰減頻率為fp=6.5 MHz。
3.1軟件接收機(jī)捕獲分析
根據(jù)本文建立的北斗信號(hào)中頻數(shù)學(xué)模型,生成了一組北斗導(dǎo)航數(shù)據(jù),數(shù)據(jù)參數(shù)設(shè)置如下:1)載波中頻為3.996 875 MHz;2)信號(hào)采樣率為16.369 MHz;3)用戶(hù)坐標(biāo)為北緯32.0402°和東經(jīng)118.8154°;4)用戶(hù)時(shí)間為2015年5月13日。此時(shí)的可見(jiàn)星判斷為1、3、4、7、8、10、11、12號(hào)星。將生成的數(shù)據(jù)直接送入軟件接收機(jī)進(jìn)行分析,捕獲結(jié)果如圖3所示。從圖中可以看出8顆星全被捕獲到。
圖3 捕獲結(jié)果分析
從捕獲結(jié)果圖可看出,捕獲到的載波頻率與預(yù)先設(shè)定的中頻頻率有一定偏差,差值為其多普勒頻率。比如就8號(hào)星來(lái)說(shuō),捕獲載波頻率為3998241.6667 Hz,與中頻之差為1367 Hz即捕獲到的多普勒頻偏。
3.2硬件接收機(jī)的測(cè)試驗(yàn)證
北斗中頻數(shù)據(jù)經(jīng)過(guò)基帶板處理和射頻端上變頻,由天線(xiàn)發(fā)出射頻信號(hào)后,需對(duì)其進(jìn)行接收機(jī)測(cè)試。本次測(cè)試所采用的接收機(jī)為通用GPS/BD雙模接收機(jī)。圖4為解算后的衛(wèi)星星座圖,由該圖可知,8顆星都被解算出并得出了各顆星的方位信息。具體的定位結(jié)果如圖5所示,經(jīng)緯度信息與預(yù)先設(shè)定的值基本一致,存在微小偏差且在合理范圍之內(nèi)。
圖4 衛(wèi)星星座圖
圖5 接收機(jī)定位結(jié)果
通過(guò)上述分析可知,硬件接收機(jī)的測(cè)試結(jié)果與軟件接收機(jī)驗(yàn)證結(jié)果基本一致,根據(jù)本文提出的方法所生產(chǎn)的北斗中頻信號(hào)符合北斗信號(hào)特征,且北斗模擬源回放系統(tǒng)可以較好的完成導(dǎo)航數(shù)據(jù)的回放,從而進(jìn)一步說(shuō)明了該設(shè)計(jì)的實(shí)用性。
將時(shí)變多普勒和偽距變化之間的關(guān)系反映在時(shí)間上,并在此基礎(chǔ)上建立了北斗信號(hào)中頻數(shù)學(xué)模型,該模型為北斗中頻信號(hào)模擬提供了一種簡(jiǎn)單、實(shí)用的算法。系統(tǒng)實(shí)現(xiàn)中結(jié)合DDR2內(nèi)存條的讀寫(xiě)控制以及PCI寄存器配置等,設(shè)計(jì)了北斗模擬源回放系統(tǒng),可以精確回放出真實(shí)場(chǎng)景下的北斗衛(wèi)星信號(hào)。文中對(duì)系統(tǒng)的總體結(jié)構(gòu)、DDR2的讀寫(xiě)控制以及數(shù)字信號(hào)處理等進(jìn)行了詳細(xì)分析,并通過(guò)軟、硬件接收機(jī)對(duì)北斗模擬源進(jìn)行了充分驗(yàn)證。實(shí)踐驗(yàn)證,本文設(shè)計(jì)的北斗模擬源回放系統(tǒng)可以連續(xù)穩(wěn)定的模擬真實(shí)環(huán)境下的北斗衛(wèi)星導(dǎo)航信號(hào),具有較強(qiáng)的實(shí)用性。
[1]謝金石.北斗導(dǎo)航信號(hào)源發(fā)展現(xiàn)狀分析[J].全球定位系統(tǒng),2012(5):52-55.
[2]郭際明,汪偉,巢佰崇.GPS IF信號(hào)的計(jì)算機(jī)模擬和實(shí)現(xiàn)[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2008,33(5):472-474.
[3]徐昭,李榮冰,謝非,等.北斗B1頻點(diǎn)中頻信號(hào)仿真系統(tǒng)設(shè)計(jì)[J].系統(tǒng)仿真技術(shù),2013,9(3):229-235.
[4]劉天旻,茅旭初.北斗二代系統(tǒng)B1頻段中頻信號(hào)的生成方法[J].計(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]劉旻,吳嗣亮.實(shí)時(shí)高動(dòng)態(tài)GNSS信號(hào)模擬器高精度偽距生成方法[J].北京理工大學(xué)學(xué)報(bào),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é)報(bào):信息科學(xué)版,2009(5):548-551.
[11]馮凌,魏東,周華勇,等.電子式互感器模擬輸出量用校驗(yàn)儀的研制[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稿件編號(hào):201510129
國(guó)家重大科學(xué)儀器設(shè)備開(kāi)發(fā)專(zhuān)項(xiàng)子任務(wù)(2013YQ20060707);江蘇高校優(yōu)勢(shì)學(xué)科建設(shè)工程資助項(xiàng)目
周彬(1988—),男,江蘇沛縣人,碩士研究生。研究方向:衛(wèi)星導(dǎo)航。