喻 娜, 廖 雄, 羅正華, 方安成
(1.成都大學(xué) 信息科學(xué)與工程學(xué)院, 四川 成都 610106; 2.電信科學(xué)技術(shù)研究院 第五研究所, 四川 成都 610021)
基于FPGA的北斗衛(wèi)星導(dǎo)航信號(hào)發(fā)生器設(shè)計(jì)
喻 娜1, 廖 雄1, 羅正華1, 方安成2
(1.成都大學(xué) 信息科學(xué)與工程學(xué)院, 四川 成都 610106; 2.電信科學(xué)技術(shù)研究院 第五研究所, 四川 成都 610021)
設(shè)計(jì)了一種基于FPGA的北斗B1頻點(diǎn)信號(hào)發(fā)生器,通過MATLAB對(duì)北斗B1頻點(diǎn)的C/A碼、D碼及其被擴(kuò)頻后經(jīng)過QPSK調(diào)制的衛(wèi)星模擬信號(hào)分別進(jìn)行了仿真,使用Verilog HDL描述了信號(hào)發(fā)生器,并使用ISE對(duì)設(shè)計(jì)進(jìn)行綜合實(shí)現(xiàn),使用Modelsim對(duì)信號(hào)發(fā)生器內(nèi)的模塊進(jìn)行仿真.實(shí)驗(yàn)結(jié)果驗(yàn)證了設(shè)計(jì)的正確性和可行性,為信號(hào)發(fā)生器的最終實(shí)現(xiàn)提供了強(qiáng)有力的支撐.
北斗衛(wèi)星導(dǎo)航;FPGA;信號(hào)發(fā)生器;MATLAB
北斗衛(wèi)星導(dǎo)航系統(tǒng)(BeiDou Navigation Satellite System,BDS)在現(xiàn)代軍事和民用領(lǐng)域?qū)Ш较到y(tǒng)中起著極為重要的作用,也是我國(guó)導(dǎo)航系統(tǒng)未來發(fā)展的重要趨勢(shì).為解決傳統(tǒng)北斗硬件信號(hào)模擬器的功能固定以及不便于擴(kuò)展且價(jià)格昂貴等缺陷,本研究利用MATLAB軟件實(shí)現(xiàn)北斗衛(wèi)星信號(hào)源的模擬仿真,采用FPGA[1]實(shí)現(xiàn)北斗衛(wèi)星信號(hào)源的硬件仿真,并與MATLAB的軟件仿真作對(duì)比,以此證明設(shè)計(jì)的正確性和可行性.同時(shí),本研究討論了北斗衛(wèi)星數(shù)據(jù)碼(D碼)與擴(kuò)頻碼[2](C/A碼)的生成、直接序列擴(kuò)頻(DSSS)與QPSK調(diào)制的算法設(shè)計(jì),并且用Verilog語(yǔ)言編寫相關(guān)應(yīng)用程序,配置相應(yīng)的參數(shù)及函數(shù),然后根據(jù)數(shù)據(jù)流的順序仿真出北斗衛(wèi)星B1頻點(diǎn)中頻信號(hào),可通過改變算法產(chǎn)生不同的北斗衛(wèi)星信號(hào),并分析在仿真環(huán)境下的北斗衛(wèi)星信號(hào)的特性,從而完成新型信號(hào)發(fā)生器的設(shè)計(jì),彌補(bǔ)了現(xiàn)有信號(hào)發(fā)生器的缺陷,其性能更加穩(wěn)定,功能更加全面,有助于北斗衛(wèi)星導(dǎo)航系統(tǒng)在定位與導(dǎo)航上有更高的精度與可靠性.
北斗衛(wèi)星B1頻段數(shù)字信號(hào)生成首先按照固定的采樣時(shí)間間隔,即固定的采樣頻率,加入衛(wèi)星的初始相位和多普勒頻移,生成中頻載波信號(hào),然后將經(jīng)過QPSK調(diào)制方式調(diào)制的測(cè)距碼和北斗衛(wèi)星導(dǎo)航電文調(diào)制到載波上疊加.如果是MEO/IGSO的衛(wèi)星,則需要在導(dǎo)航電文中調(diào)制20 bit NH碼.每顆衛(wèi)星的測(cè)距碼和導(dǎo)航電文都不同,因此需對(duì)每顆衛(wèi)星的信號(hào)進(jìn)行疊加,并且對(duì)多衛(wèi)星信號(hào)的每顆衛(wèi)星信號(hào)都應(yīng)添加預(yù)設(shè)的強(qiáng)度.信號(hào)發(fā)生器總體框架圖如圖1所示.
圖1 信號(hào)發(fā)生器總體框架圖
2.1 北斗衛(wèi)星數(shù)據(jù)碼的生成實(shí)現(xiàn)
數(shù)據(jù)碼是攜帶一組傳輸速率為50 bit/s的二進(jìn)制數(shù)碼序列的重要導(dǎo)航信息.在北斗衛(wèi)星信號(hào)仿真初始階段,不會(huì)涉及到定位解算操作,所以只需將數(shù)據(jù)碼看成50 Hz的二進(jìn)制隨機(jī)碼,可以不用考慮數(shù)據(jù)碼本身所攜帶的物理意義[3].
編寫數(shù)據(jù)碼(D碼)所生成的MATLAB函數(shù)為,function [SourceData]=Data-generator(T,fd)其中,T表示總的仿真時(shí)間,為0.2 s;fd表示D碼的碼率,為50 Hz;SourceData表示產(chǎn)生的隨機(jī)碼.
當(dāng)碼速率為50 bit/s,仿真時(shí)間為0.2 s,則產(chǎn)生10 bit隨機(jī)數(shù)據(jù)碼.本研究采用隨機(jī)函數(shù)生成的隨機(jī)碼代替數(shù)據(jù)碼,所以每次會(huì)產(chǎn)生不同的數(shù)據(jù)碼.
2.2 C/A碼發(fā)生器的實(shí)現(xiàn)
對(duì)北斗衛(wèi)星信號(hào)模擬的過程中,C/A碼的產(chǎn)生應(yīng)該滿足以下要求:根據(jù)所定的衛(wèi)星號(hào)生成相應(yīng)C/A碼序列,并且具有更換衛(wèi)星的功能;能夠?qū)/A碼的一個(gè)歷元周期內(nèi)的基碼序列號(hào)(1~1023)及C/A碼基碼碼片的相位進(jìn)行初始化控制與設(shè)置;換星和選星將產(chǎn)生不同的C/A碼,因?yàn)閾Q星和選星是通過一個(gè)多路選擇器選擇出G2寄存器2個(gè)抽頭的位置來實(shí)現(xiàn)控制,所以選星和換星的不同將生成不同的北斗衛(wèi)星信號(hào).
根據(jù)算法流程,編寫C/A碼發(fā)生器所生成的MATLAB函數(shù)為:
function CAcode=CAsequence(w,T,fca)
其中,w表示衛(wèi)星的PRN號(hào);T表示總的仿真時(shí)間,為0.2 s;fca表示碼片速率,為1.023 MHz;CAcode表示輸出產(chǎn)生的C/A序列.
賦值w=1,則產(chǎn)生1號(hào)衛(wèi)星的C/A碼前10個(gè)碼片的仿真結(jié)果,前10個(gè)碼片為1100100000.
2.3 基于MATLAB的北斗衛(wèi)星中頻信號(hào)的實(shí)現(xiàn)
把經(jīng)過調(diào)制的信號(hào)采用QPSK方式以同樣的采樣頻率加載到數(shù)字化中頻載波上,即生成數(shù)字化的北斗衛(wèi)星中頻信號(hào)[4-5],如圖2所示.
圖2 北斗衛(wèi)星中頻信號(hào)頻譜圖
基于FPGA的北斗衛(wèi)星中頻信號(hào)的設(shè)計(jì)和基于MATLAB北斗衛(wèi)星中頻信號(hào)的設(shè)計(jì)原理是一樣的,因此本研究只列出相應(yīng)的仿真結(jié)果.其中,采用的芯片是Cyclone系列的FPGA(EP1C3T144C8)芯片,此芯片邏輯資源、速率等性能均能滿足本研究的要求.
3.1 北斗數(shù)據(jù)碼的設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA北斗衛(wèi)星數(shù)據(jù)碼設(shè)計(jì)的RTL圖如圖3所示,modelsim仿真圖如圖4所示.
圖3 北斗衛(wèi)星數(shù)據(jù)碼的RTL圖
圖4 北斗衛(wèi)星數(shù)據(jù)碼的modelsim仿真圖
3.2 C/A碼發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA北斗衛(wèi)星C/A設(shè)計(jì)的RTL圖如圖5所示,modelsim仿真圖如圖6所示.
圖5 北斗衛(wèi)星C/A碼的RTL圖
圖6 北斗衛(wèi)星C/A碼的modelsim仿真圖
3.3 北斗衛(wèi)星中頻信號(hào)的設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA北斗衛(wèi)星中頻信號(hào)設(shè)計(jì)的RTL圖如圖7所示,modelsim仿真圖如圖8所示.
本研究討論了北斗衛(wèi)星導(dǎo)航信號(hào)發(fā)生器的設(shè)計(jì),對(duì)采用載波調(diào)制及直接序列擴(kuò)頻調(diào)制技術(shù)形成的北斗衛(wèi)星信號(hào)進(jìn)行了深入的分析.同時(shí),通過MATLAB/M編程和FPGA/modelsim仿真平臺(tái),完成了對(duì)北斗衛(wèi)星導(dǎo)航信號(hào)發(fā)生器的仿真設(shè)計(jì).綜合考慮設(shè)計(jì)過程中的仿真、FPGA內(nèi)的片級(jí)調(diào)試及模擬測(cè)試,本研究設(shè)計(jì)的信號(hào)發(fā)生器可以并行接收多顆衛(wèi)星的B1頻點(diǎn)信號(hào).在設(shè)計(jì)最后的硬件模擬測(cè)試過程中,顯現(xiàn)出本研究設(shè)計(jì)的信號(hào)發(fā)生器有著比較優(yōu)越的性能.使用該信號(hào)發(fā)生器的北斗衛(wèi)星導(dǎo)航系統(tǒng)在高動(dòng)態(tài)環(huán)境中,可以給出比較精確的定位測(cè)量結(jié)果.
圖7 北斗衛(wèi)星中頻信號(hào)的RTL圖
圖8 北斗衛(wèi)星中頻信號(hào)的modelsim仿真圖
另外,由于本研究所設(shè)計(jì)的信號(hào)發(fā)生器首次定位時(shí)間比較長(zhǎng),如果采用更先進(jìn)的快速捕獲算法,則北斗衛(wèi)星導(dǎo)航系統(tǒng)的首次定位時(shí)間會(huì)更短,性能將更加優(yōu)越.同時(shí),本信號(hào)發(fā)生器也是比較靈活的,對(duì)相關(guān)信號(hào)處理通道內(nèi)的測(cè)距碼生成模塊稍作修改即可用于捕獲跟蹤GPS的信號(hào),實(shí)現(xiàn)GPS與北斗衛(wèi)星導(dǎo)航系統(tǒng)雙模導(dǎo)航,進(jìn)一步提高衛(wèi)星導(dǎo)航系統(tǒng)的性能.
[1]高明華,王會(huì)芹,李林,等.北斗B1I信號(hào)碼模塊的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].河南師范大學(xué)學(xué)報(bào),2013,41(5):42-47.
[2]張威,張克,徐熙宗.GPS信號(hào)C/A碼生成算法設(shè)計(jì)及仿真學(xué)習(xí)[J].通信技術(shù),2008,41(11):216-218.
[3]王彬.MATLAB數(shù)字信號(hào)處理[M].北京:機(jī)械工業(yè)出版社,2010.
[4]陳文江.基于FPGA的北斗衛(wèi)星導(dǎo)航系統(tǒng)接收機(jī)基帶信號(hào)處理器設(shè)計(jì)[D].南京:南京理工大學(xué),2015.
[5]葉誓.北斗導(dǎo)航衛(wèi)星系統(tǒng)接收機(jī)快速啟動(dòng)技術(shù)研究[D].長(zhǎng)沙:中南大學(xué),2013.
Design of Beidou Satellite Navigation Signal Generator Based on FPGA
YUNa1,LIAOXiong1,LUOZhenghua1,FANGAncheng2
(1.School of Information Science and Engineering, Chengdu University, Chengdu 610106, China; 2.Fifth Institute, Telecommunications Science and Technology Research Institute, Chengdu 610021, China)
The paper is about the design of a signal generator suitable for the signal emission of Beidou on FPGA.A signal generator at Beidou B1 frequency point based on FPGA is designed.The C/A code and D code of the Beidou B1 frequency point by MATLAB and the satellite simulation signals modulated by QPSK after their spreading spectrum are simulated respectively.Verilog HDL is used to describe signal generator and ISE is used to realize the implementation of the whole design.Modelsim is used for the simulation of the modules in the signal generator.The experimental results verify the correctness and feasibility of the design, providing a strong support for the ultimate realization of signal generator.
Beidou satellite navigation system;FPGA;signal generator;MATLAB
1004-5422(2017)01-0073-03
2016-11-28.
成都市科技局科技惠民計(jì)劃(2015-HM01-00399-SF)資助項(xiàng)目.
喻 娜(1982 — ), 女, 碩士, 高級(jí)工程師, 從事衛(wèi)星通信與信息系統(tǒng)研究.
TN967.1
A