喻 娜, 廖 雄, 羅正華, 方安成
(1.成都大學 信息科學與工程學院, 四川 成都 610106; 2.電信科學技術研究院 第五研究所, 四川 成都 610021)
基于FPGA的北斗衛星導航信號發生器設計
喻 娜1, 廖 雄1, 羅正華1, 方安成2
(1.成都大學 信息科學與工程學院, 四川 成都 610106; 2.電信科學技術研究院 第五研究所, 四川 成都 610021)
設計了一種基于FPGA的北斗B1頻點信號發生器,通過MATLAB對北斗B1頻點的C/A碼、D碼及其被擴頻后經過QPSK調制的衛星模擬信號分別進行了仿真,使用Verilog HDL描述了信號發生器,并使用ISE對設計進行綜合實現,使用Modelsim對信號發生器內的模塊進行仿真.實驗結果驗證了設計的正確性和可行性,為信號發生器的最終實現提供了強有力的支撐.
北斗衛星導航;FPGA;信號發生器;MATLAB
北斗衛星導航系統(BeiDou Navigation Satellite System,BDS)在現代軍事和民用領域導航系統中起著極為重要的作用,也是我國導航系統未來發展的重要趨勢.為解決傳統北斗硬件信號模擬器的功能固定以及不便于擴展且價格昂貴等缺陷,本研究利用MATLAB軟件實現北斗衛星信號源的模擬仿真,采用FPGA[1]實現北斗衛星信號源的硬件仿真,并與MATLAB的軟件仿真作對比,以此證明設計的正確性和可行性.同時,本研究討論了北斗衛星數據碼(D碼)與擴頻碼[2](C/A碼)的生成、直接序列擴頻(DSSS)與QPSK調制的算法設計,并且用Verilog語言編寫相關應用程序,配置相應的參數及函數,然后根據數據流的順序仿真出北斗衛星B1頻點中頻信號,可通過改變算法產生不同的北斗衛星信號,并分析在仿真環境下的北斗衛星信號的特性,從而完成新型信號發生器的設計,彌補了現有信號發生器的缺陷,其性能更加穩定,功能更加全面,有助于北斗衛星導航系統在定位與導航上有更高的精度與可靠性.
北斗衛星B1頻段數字信號生成首先按照固定的采樣時間間隔,即固定的采樣頻率,加入衛星的初始相位和多普勒頻移,生成中頻載波信號,然后將經過QPSK調制方式調制的測距碼和北斗衛星導航電文調制到載波上疊加.如果是MEO/IGSO的衛星,則需要在導航電文中調制20 bit NH碼.每顆衛星的測距碼和導航電文都不同,因此需對每顆衛星的信號進行疊加,并且對多衛星信號的每顆衛星信號都應添加預設的強度.信號發生器總體框架圖如圖1所示.

圖1 信號發生器總體框架圖
2.1 北斗衛星數據碼的生成實現
數據碼是攜帶一組傳輸速率為50 bit/s的二進制數碼序列的重要導航信息.在北斗衛星信號仿真初始階段,不會涉及到定位解算操作,所以只需將數據碼看成50 Hz的二進制隨機碼,可以不用考慮數據碼本身所攜帶的物理意義[3].
編寫數據碼(D碼)所生成的MATLAB函數為,function [SourceData]=Data-generator(T,fd)其中,T表示總的仿真時間,為0.2 s;fd表示D碼的碼率,為50 Hz;SourceData表示產生的隨機碼.
當碼速率為50 bit/s,仿真時間為0.2 s,則產生10 bit隨機數據碼.本研究采用隨機函數生成的隨機碼代替數據碼,所以每次會產生不同的數據碼.
2.2 C/A碼發生器的實現
對北斗衛星信號模擬的過程中,C/A碼的產生應該滿足以下要求:根據所定的衛星號生成相應C/A碼序列,并且具有更換衛星的功能;能夠對C/A碼的一個歷元周期內的基碼序列號(1~1023)及C/A碼基碼碼片的相位進行初始化控制與設置;換星和選星將產生不同的C/A碼,因為換星和選星是通過一個多路選擇器選擇出G2寄存器2個抽頭的位置來實現控制,所以選星和換星的不同將生成不同的北斗衛星信號.
根據算法流程,編寫C/A碼發生器所生成的MATLAB函數為:
function CAcode=CAsequence(w,T,fca)
其中,w表示衛星的PRN號;T表示總的仿真時間,為0.2 s;fca表示碼片速率,為1.023 MHz;CAcode表示輸出產生的C/A序列.
賦值w=1,則產生1號衛星的C/A碼前10個碼片的仿真結果,前10個碼片為1100100000.
2.3 基于MATLAB的北斗衛星中頻信號的實現
把經過調制的信號采用QPSK方式以同樣的采樣頻率加載到數字化中頻載波上,即生成數字化的北斗衛星中頻信號[4-5],如圖2所示.

圖2 北斗衛星中頻信號頻譜圖
基于FPGA的北斗衛星中頻信號的設計和基于MATLAB北斗衛星中頻信號的設計原理是一樣的,因此本研究只列出相應的仿真結果.其中,采用的芯片是Cyclone系列的FPGA(EP1C3T144C8)芯片,此芯片邏輯資源、速率等性能均能滿足本研究的要求.
3.1 北斗數據碼的設計與實現
基于FPGA北斗衛星數據碼設計的RTL圖如圖3所示,modelsim仿真圖如圖4所示.

圖3 北斗衛星數據碼的RTL圖

圖4 北斗衛星數據碼的modelsim仿真圖
3.2 C/A碼發生器的設計與實現
基于FPGA北斗衛星C/A設計的RTL圖如圖5所示,modelsim仿真圖如圖6所示.

圖5 北斗衛星C/A碼的RTL圖

圖6 北斗衛星C/A碼的modelsim仿真圖
3.3 北斗衛星中頻信號的設計與實現
基于FPGA北斗衛星中頻信號設計的RTL圖如圖7所示,modelsim仿真圖如圖8所示.
本研究討論了北斗衛星導航信號發生器的設計,對采用載波調制及直接序列擴頻調制技術形成的北斗衛星信號進行了深入的分析.同時,通過MATLAB/M編程和FPGA/modelsim仿真平臺,完成了對北斗衛星導航信號發生器的仿真設計.綜合考慮設計過程中的仿真、FPGA內的片級調試及模擬測試,本研究設計的信號發生器可以并行接收多顆衛星的B1頻點信號.在設計最后的硬件模擬測試過程中,顯現出本研究設計的信號發生器有著比較優越的性能.使用該信號發生器的北斗衛星導航系統在高動態環境中,可以給出比較精確的定位測量結果.

圖7 北斗衛星中頻信號的RTL圖

圖8 北斗衛星中頻信號的modelsim仿真圖
另外,由于本研究所設計的信號發生器首次定位時間比較長,如果采用更先進的快速捕獲算法,則北斗衛星導航系統的首次定位時間會更短,性能將更加優越.同時,本信號發生器也是比較靈活的,對相關信號處理通道內的測距碼生成模塊稍作修改即可用于捕獲跟蹤GPS的信號,實現GPS與北斗衛星導航系統雙模導航,進一步提高衛星導航系統的性能.
[1]高明華,王會芹,李林,等.北斗B1I信號碼模塊的FPGA設計與實現[J].河南師范大學學報,2013,41(5):42-47.
[2]張威,張克,徐熙宗.GPS信號C/A碼生成算法設計及仿真學習[J].通信技術,2008,41(11):216-218.
[3]王彬.MATLAB數字信號處理[M].北京:機械工業出版社,2010.
[4]陳文江.基于FPGA的北斗衛星導航系統接收機基帶信號處理器設計[D].南京:南京理工大學,2015.
[5]葉誓.北斗導航衛星系統接收機快速啟動技術研究[D].長沙:中南大學,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.
成都市科技局科技惠民計劃(2015-HM01-00399-SF)資助項目.
喻 娜(1982 — ), 女, 碩士, 高級工程師, 從事衛星通信與信息系統研究.
TN967.1
A