《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP和FPGA的衛(wèi)星信號(hào)模擬器設(shè)計(jì)與實(shí)現(xiàn)
基于DSP和FPGA的衛(wèi)星信號(hào)模擬器設(shè)計(jì)與實(shí)現(xiàn)
2016年電子技術(shù)應(yīng)用第9期
江燦輝1,2,孫希延1,2,嚴(yán)素清1,2,紀(jì)元法1,2
1.桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林541004;2.廣西精密導(dǎo)航技術(shù)與應(yīng)用重點(diǎn)實(shí)驗(yàn)室,廣西 桂林541004
摘要: 為給衛(wèi)星導(dǎo)航接收機(jī)的測(cè)試提供高穩(wěn)定度、高精度、可復(fù)現(xiàn)的衛(wèi)星信號(hào),設(shè)計(jì)了一款衛(wèi)星信號(hào)模擬器。該系統(tǒng)以DSP+FPGA作為核心芯片,并集成了射頻上變頻電路、高速D/A轉(zhuǎn)換電路、Flash芯片和SDRAM芯片。系統(tǒng)可以實(shí)現(xiàn)GPS L1信號(hào)和BDS B1I、B2I、B3雙模多頻點(diǎn)衛(wèi)星信號(hào)的模擬。利用商業(yè)接收機(jī)對(duì)硬件平臺(tái)生成的衛(wèi)星導(dǎo)航信號(hào)進(jìn)行測(cè)試,定位結(jié)果驗(yàn)證了衛(wèi)星信號(hào)模擬器設(shè)計(jì)的正確性,表明該系統(tǒng)達(dá)到了預(yù)期設(shè)計(jì)要求。
中圖分類號(hào): TN967.1
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.013
中文引用格式: 江燦輝,孫希延,嚴(yán)素清,等. 基于DSP和FPGA的衛(wèi)星信號(hào)模擬器設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016,42(9):51-54.
英文引用格式: Jiang Canhui,Sun Xiyan,Yan Suqing,et al. Design and realizing of satellite signal simulator based on DSP+FPGA[J].Application of Electronic Technique,2016,42(9):51-54.
Design and realizing of satellite signal simulator based on DSP+FPGA
Jiang Canhui1,2,Sun Xiyan1,2,Yan Suqing1,2,Ji Yuanfa1,2
1.School of Information and Communication,Guilin University of Electronic Technology,Guilin 541004,China; 2.Guangxi Key Laboratory of Precision Navigation Technology and Application,Guilin 541004,China
Abstract: In order to provide replicable satellite signal with high precision and stability to the test of satellite navigation receivers, the satellite signal simulator is designed. The system takes DSP+FPGA as the core chip, and integrates RF up-conversion circuit, high speed D/A converter, Flash chip and SDRAM chip. The system could simulate dual-mode and multi-frequency satellite signal, which includes GPS L1, BDS B1I, BDS B2I and BDS B3. The satellite navigation signal generated by the hardware platform has been tested using commercial navigation receivers, and the correctness of the design of satellite signal simulator is verified by the positioning results, which suggests the design requirements are achieved.
Key words : GPS;BDS;satellite signal simulator;FPGA;DSP

0 引言

  隨著我國(guó)北斗衛(wèi)星導(dǎo)航系統(tǒng)的建立和發(fā)展,衛(wèi)星導(dǎo)航在我國(guó)得到廣泛應(yīng)用。衛(wèi)星導(dǎo)航系統(tǒng)已經(jīng)成為一個(gè)國(guó)家國(guó)防力量的重要體現(xiàn),衛(wèi)星導(dǎo)航技術(shù)發(fā)展趨勢(shì)也由單一GPS技術(shù)向多系統(tǒng)兼容、互操作方向發(fā)展。將BDS和GPS組合起來(lái),可以增加接收機(jī)的觀測(cè)量,提高導(dǎo)航定位的精度和服務(wù)質(zhì)量。衛(wèi)星信號(hào)模擬器可以精確生成和復(fù)現(xiàn)不同條件下接收機(jī)射頻前端接收到的衛(wèi)星信號(hào),為導(dǎo)航接收機(jī)的設(shè)計(jì)和研發(fā)提供可靠、準(zhǔn)確和易用的測(cè)試環(huán)境,從而提高接收機(jī)的研發(fā)效率,減少研發(fā)測(cè)試費(fèi)用[1]。在軍事領(lǐng)域,接收機(jī)被安裝在飛機(jī)、導(dǎo)彈和火箭等高動(dòng)態(tài)載體上,需要借助衛(wèi)星信號(hào)模擬器進(jìn)行測(cè)試。

1 系統(tǒng)總體架構(gòu)

  本文所設(shè)計(jì)的衛(wèi)星信號(hào)模擬器主要由DSP信息處理模塊、FPGA信號(hào)生成模塊、D/A轉(zhuǎn)換模塊、射頻上變頻模塊、Flash、SDRAM等模塊組成。系統(tǒng)總體架構(gòu)如圖1所示。

圖像 001.png

圖1  系統(tǒng)總體架構(gòu)圖

  DSP信息處理模塊主要實(shí)現(xiàn)衛(wèi)星導(dǎo)航算法。FPGA信號(hào)生成模塊主要實(shí)現(xiàn)數(shù)字中頻信號(hào)合成,F(xiàn)PGA通過(guò)DSP的外部存儲(chǔ)器接口(EMIF)與DSP相連,F(xiàn)PGA作為DSP外接的異步存儲(chǔ)器與DSP進(jìn)行數(shù)據(jù)交互。D/A轉(zhuǎn)換模塊將FPGA輸出的數(shù)字中頻信號(hào)轉(zhuǎn)換為模擬中頻信號(hào),本設(shè)計(jì)有3路D/A轉(zhuǎn)換模塊,一路D/A生成GPS L1和BDS B1I頻點(diǎn)的模擬中頻信號(hào),另外2路D/A分別輸出BDS B2I和BDS B3頻點(diǎn)的模擬中頻信號(hào)。3路射頻上變頻電路分別將D/A輸出的模擬中頻信號(hào)上變頻至對(duì)應(yīng)頻點(diǎn)的射頻信號(hào)。Flash芯片用于存儲(chǔ)DSP引導(dǎo)裝載所需的代碼和系統(tǒng)初始化時(shí)所需參數(shù)。SDRAM用于存儲(chǔ)DSP程序中占用空間大且使用頻率低的變量和數(shù)組。

2 硬件電路設(shè)計(jì)

  2.1 D/A轉(zhuǎn)換模塊電路設(shè)計(jì)

  為了將生成的BDS、GPS多頻點(diǎn)數(shù)字中頻信號(hào)轉(zhuǎn)換為模擬信號(hào),需要多路D/A轉(zhuǎn)換電路來(lái)完成。本系統(tǒng)選用AD9742實(shí)現(xiàn)中頻信號(hào)的數(shù)模轉(zhuǎn)換。AD9742是ADI公司的一款低功耗、高性能、量化精度為12 bit的D/A轉(zhuǎn)換芯片,其最高采樣速率可達(dá)165 MS/s。本系統(tǒng)采用3片AD9742實(shí)現(xiàn)GPS L1和BDS B1、B2、B3頻點(diǎn)中頻信號(hào)的數(shù)模轉(zhuǎn)換,其中GPS L1和BDS B1I信號(hào)從一路DA輸出。本系統(tǒng)GPS L1和BDS B1、B2、B3信號(hào)的中頻頻率分別為20.42 MHz、6.098 MHz、7.140 MHz和18.520 MHz。D/A轉(zhuǎn)換模塊電路示意圖如圖2所示。

圖像 002.png

圖2  D/A轉(zhuǎn)換模塊電路示意圖

  2.2 射頻上變頻模塊電路設(shè)計(jì)

  射頻上變頻模塊是系統(tǒng)的重要組成部分,上變頻模塊主要實(shí)現(xiàn)信號(hào)調(diào)制、上變頻、功率放大、功率調(diào)節(jié)等功能。本文選用ADRF6755作為上變頻模塊。ADRF6755集成正交調(diào)制器、頻率合成器和可編程衰減器,輸出信號(hào)頻率范圍為100 MHz~2 400 MHz,滿足本設(shè)計(jì)輸出信號(hào)頻率的要求。ADRF6755片內(nèi)集成有一個(gè)數(shù)字控制輸出衰減器,功率調(diào)節(jié)范圍為47 dB,步進(jìn)為1 dB。本設(shè)計(jì)中信號(hào)采用差分方式從I路輸入;通過(guò)SPI接口對(duì)片內(nèi)寄存器進(jìn)行設(shè)置,可以實(shí)現(xiàn)不同頻率的信號(hào)輸出。GPS L1和BDS B1、B2、B3信號(hào)的射頻頻率分別為1 575.42 MHz、

  1 561.098 MHz、1 207.140 MHz和1 268.520 MHz,對(duì)應(yīng)本振頻率分別為1 555 MHz、1 555 MHz、1 200 MHz和1 250 MHz。本設(shè)計(jì)的上變頻模塊電路示意圖如圖3所示。

圖像 003.png

圖3  上變頻模塊電路示意圖

  2.3 DSP與FPGA接口設(shè)計(jì)

  DSP通過(guò)EMIF接口與FPGA進(jìn)行通信,同時(shí),將DSP的外部中斷信號(hào)、多通道緩沖串行口(MCBSP0)信號(hào)與FPGA的I/O引腳相連,以實(shí)現(xiàn)DSP與FPGA之間的靈活控制及通信。DSP與FPGA電路連接示意圖如圖4所示。

圖像 004.png

圖4  DSP與FPGA電路連接示意圖

  圖4中,AOEN、AWEN、TCE信號(hào)為片選和使能信號(hào),用于控制DSP與FPGA之間的讀寫(xiě)時(shí)序;MCBSP0信號(hào)復(fù)位FPGA;EXTINT4和EXTINT5信號(hào)分別觸發(fā)DSP芯片的中斷4和中斷5。

3 軟件結(jié)構(gòu)設(shè)計(jì)

  3.1 DSP信息處理模塊軟件設(shè)計(jì)

  DSP信息處理模塊主要完成系統(tǒng)初始化信息提取、信號(hào)生成參數(shù)計(jì)算和系統(tǒng)控制參數(shù)計(jì)算等功能。首先DSP接收上位機(jī)軟件下發(fā)的場(chǎng)景文件和星歷文件,并提取相關(guān)信息。然后根據(jù)場(chǎng)景文件生成載體運(yùn)動(dòng)軌跡;根據(jù)星歷文件中的星歷參數(shù)計(jì)算所有衛(wèi)星的空間坐標(biāo),判斷衛(wèi)星的可見(jiàn)狀況;實(shí)時(shí)計(jì)算可見(jiàn)衛(wèi)星和載體之間的偽距及偽距變化率,進(jìn)而得到系統(tǒng)仿真起始時(shí)間的信號(hào)初始狀態(tài),并計(jì)算出初始碼相位、初始載波相位、整數(shù)碼片數(shù)、碼頻率控制字和載波頻率控制字。分別對(duì)BDS和GPS進(jìn)行電文編碼,并預(yù)存導(dǎo)航電文。DSP完成系統(tǒng)初始化計(jì)算后,發(fā)送通道狀態(tài)字給FPGA,F(xiàn)PGA開(kāi)始生成信號(hào)。系統(tǒng)啟動(dòng)以后,DSP實(shí)時(shí)更新信號(hào)生成參數(shù),并通過(guò)EMIF與FPGA進(jìn)行數(shù)據(jù)交互。DSP算法流程如圖5所示。

圖像 005.png

圖5  DSP算法流程圖

  本設(shè)計(jì)采用數(shù)控振動(dòng)器合成數(shù)字中頻信號(hào),由于衛(wèi)星和用戶載體存在相對(duì)運(yùn)動(dòng),存在多普勒頻率偏移;同理,測(cè)距碼和導(dǎo)航電文也存在多普勒頻移[2]。當(dāng)用戶處于高動(dòng)態(tài)運(yùn)動(dòng)狀態(tài)時(shí),多普勒頻移將對(duì)接收機(jī)的定位造成很大的影響。為實(shí)時(shí)模擬多普勒頻移,需要實(shí)時(shí)調(diào)整數(shù)控振蕩器的頻率控制字。本文以BDS B1I信號(hào)為例,介紹多普勒效應(yīng)對(duì)模擬器輸出信號(hào)頻率的影響。衛(wèi)星播發(fā)的B1I信號(hào)的頻率為1 561.096 MHz,由于衛(wèi)星和用戶接收設(shè)備存在相對(duì)運(yùn)動(dòng),用戶接收到的B1I信號(hào)的頻率不精確為1 561.096 MHz。模擬器模擬的是接收機(jī)射頻前端接收到的衛(wèi)星信號(hào)[4],因此模擬器輸出的射頻信號(hào)不固定為1 561.096 MHz,NCO頻率控制字K不是固定不變的,K隨中頻信號(hào)頻率變化而變化。假設(shè)衛(wèi)星和用戶接收設(shè)備不存在多普勒效應(yīng),則頻率控制字Kbase的計(jì)算方法為[4]:

   QQ圖片20161110093559.png

  式中,IFB1I為設(shè)定的BDS B1I信號(hào)的中心頻率;fclk為系統(tǒng)時(shí)鐘頻率;N為NCO中相位累加器的位寬。假設(shè)NCO中設(shè)定的頻率控制字的更新間隔為Δt,本地接收機(jī)t時(shí)刻偽距為rt,則t時(shí)刻接收到的衛(wèi)星信號(hào)的發(fā)射時(shí)間ts(t)為:

  QQ圖片20161110093603.png

  本地接收機(jī)t+Δt時(shí)刻偽距為rt+Δt,則t+Δt時(shí)刻接收到的衛(wèi)星信號(hào)的發(fā)射時(shí)間ts(t+Δt)為:

  QQ圖片20161110093607.png

  用戶接收設(shè)備在Δt時(shí)間內(nèi)前后兩次接收到衛(wèi)星信號(hào),而這兩次衛(wèi)星信號(hào)發(fā)射的時(shí)間間隔Δts為:

  QQ圖片20161110093610.png

  由此可得,Δt時(shí)間間隔內(nèi)載波頻率控制字和偽碼頻率控制字分別為:

  QQ圖片20161110093613.png

  式中,Kcarr表示載波頻率控制字,Kcode表示碼頻率控制字,fB1I表示BDS B1I信號(hào)偽碼速率。

  3.2 FPGA信號(hào)生成模塊軟件設(shè)計(jì)

  本設(shè)計(jì)中FPGA模塊主要功能包括偽碼生成、載波生成、偽碼調(diào)制、載波調(diào)制、系統(tǒng)時(shí)序控制和數(shù)字中頻信號(hào)合成。本文研制的衛(wèi)星信號(hào)模擬器FPGA模塊結(jié)構(gòu)框圖如圖6所示。

圖像 006.png

圖6  FPGA模塊結(jié)構(gòu)框圖

  FPGA模塊以通道為基本單元,總共包含48個(gè)信號(hào)通道,1~12號(hào)通道合成GPS L1信號(hào),13~24號(hào)通道合成BDS B1I信號(hào),25~36號(hào)通道合成BDS B2I信號(hào),37~48號(hào)通道合成BDS B3信號(hào)。

  系統(tǒng)初始化階段,F(xiàn)PGA在接收到DSP發(fā)送的載波NCO參數(shù)、碼NCO參數(shù)、導(dǎo)航電文和通道狀態(tài)字后,從通道狀態(tài)字中提取衛(wèi)星號(hào)并選擇對(duì)應(yīng)的信號(hào)通道,然后進(jìn)行導(dǎo)航電文NH調(diào)制、偽碼調(diào)制、載波調(diào)制,合成與衛(wèi)星號(hào)相對(duì)應(yīng)頻段信號(hào)的偽碼和載波,最后將同一個(gè)頻段的多個(gè)多通道信號(hào)進(jìn)行合成,生成數(shù)字中頻信號(hào)。同一個(gè)衛(wèi)星導(dǎo)航系統(tǒng)的FPGA各信號(hào)通道的模塊結(jié)構(gòu)基本相同,BDS系統(tǒng)和GPS系統(tǒng)FPGA信號(hào)通道的差異在于信號(hào)調(diào)制過(guò)程中BDS系統(tǒng)MEO衛(wèi)星信號(hào)需對(duì)導(dǎo)航電文進(jìn)行NH碼調(diào)制,再進(jìn)行偽碼調(diào)制;而GPS L1信號(hào)不需要進(jìn)行NH調(diào)制。FPGA各模塊主要功能為:

  (1)RTC時(shí)序控制模塊。衛(wèi)星信號(hào)模擬器要求時(shí)鐘嚴(yán)格同步,即各個(gè)芯片或者器件都必須同源。該模塊主要功能為協(xié)調(diào)控制系統(tǒng)各模塊之間的工作,給DSP模塊提供中斷信號(hào)。

  (2)載波NCO模塊。FPGA模塊采用數(shù)控振蕩器來(lái)生成衛(wèi)星信號(hào)的數(shù)字載波。本設(shè)計(jì)中將MATLAB軟件生成正余弦的幅值表存入FPGA的ROM核中,然后通過(guò)相位查詢表生成相應(yīng)頻率的載波信號(hào)[5]。

  (3)碼NCO模塊。FPGA模塊采用數(shù)控振蕩器來(lái)生成衛(wèi)星信號(hào)偽碼。BDS和GPS衛(wèi)星的偽碼通過(guò)MATLAB軟件生成,偽碼序列存放在FPGA的 ROM核中,其中GPS系統(tǒng)的每個(gè)信號(hào)通道中的ROM核中都存儲(chǔ)有GPS系統(tǒng)32顆衛(wèi)星的偽碼表。

  (4)信號(hào)調(diào)制合成模塊。信號(hào)調(diào)制的主要功能是實(shí)現(xiàn)各系統(tǒng)導(dǎo)航電文的讀取和同步,完成偽碼、導(dǎo)航電文和載波的調(diào)制,實(shí)現(xiàn)多路信號(hào)的合成,控制通道的狀態(tài)和配置等。本設(shè)計(jì)中選用12 bit的D/A模塊,這要求多個(gè)通道信號(hào)合成后為12 bit,需要對(duì)每個(gè)通道輸出數(shù)字中頻信號(hào)的高位進(jìn)行擴(kuò)展,在合成信號(hào)輸出至D/A模塊時(shí),只綁定合成信號(hào)的高12 bit到D/A模塊的物理引腳。

  (5)數(shù)據(jù)交互模塊。系統(tǒng)采用DSP模塊的EMIF方式實(shí)現(xiàn)數(shù)據(jù)交互。DSP和FPGA交互的數(shù)據(jù)主要包括:載波初始相位、載波頻率控制字、碼初始相位、碼頻率控制字和通道狀態(tài)字等。

4 測(cè)試結(jié)果

  根據(jù)接收機(jī)定位解算的結(jié)果與模擬器預(yù)設(shè)的載體運(yùn)動(dòng)軌跡進(jìn)行比較,根據(jù)接收機(jī)定位誤差的大小來(lái)驗(yàn)證模擬器信號(hào)的正確性。模擬器模擬的載體位置緯度為北緯31°、東經(jīng)121°、海拔高度50 m,測(cè)試采用泰斗微電子科技有限公司生產(chǎn)的基帶、射頻一體化接接收模塊TD3020C,BDS B1I信號(hào)定位結(jié)果如圖7所示。由圖7分析可知,在緯度和經(jīng)度方向的定位誤差大概在2 m之內(nèi),高度方向的定位誤差在5 m之內(nèi)。定位結(jié)果說(shuō)明,本文所設(shè)計(jì)的衛(wèi)星信號(hào)模擬器工作正常,能正確模擬導(dǎo)航衛(wèi)星信號(hào)。

圖像 007.png

圖7  BDS B1I信號(hào)定位結(jié)果

5 結(jié)束語(yǔ)

  為便于接收機(jī)的研發(fā)和測(cè)試,本文設(shè)計(jì)了一種BDS/GPS雙模多頻點(diǎn)衛(wèi)星信號(hào)模擬器,在DSP+FPGA硬件平臺(tái)上實(shí)現(xiàn)了系統(tǒng)功能。對(duì)系統(tǒng)功能進(jìn)行了測(cè)試,測(cè)試結(jié)果表明,系統(tǒng)可以準(zhǔn)確模擬衛(wèi)星信號(hào)。該系統(tǒng)可以應(yīng)用于導(dǎo)航儀、接收機(jī)生產(chǎn)廠商,也可以應(yīng)用于衛(wèi)星導(dǎo)航科研院所等單位。

  參考文獻(xiàn)

  [1] 王海峰,張升康,王宏博,等.GPS/BDS組合導(dǎo)航態(tài)信號(hào)模擬器關(guān)鍵技術(shù)研究[J].宇航計(jì)測(cè)技術(shù),2013,33(3):17-22.

  [2] 于厚鋼.高動(dòng)態(tài)GPS衛(wèi)星信號(hào)模擬器的基帶數(shù)字信號(hào)處理實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2009.

  [3] 李曉敏.GPS/BD雙模衛(wèi)星信號(hào)模擬器的數(shù)字信號(hào)實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2013. 

  [4] 趙軍祥.高動(dòng)態(tài)智能GPS衛(wèi)星信號(hào)模擬器軟件數(shù)學(xué)模型研究[D].北京:北京航空航天大學(xué),2003.

  [5] 保玲,佘世剛,周毅,等.應(yīng)用于數(shù)字鎖相環(huán)的NCO設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,19(14):160-162.

  


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。