APP下载

基于FPGA的北斗卫星导航信号发生器设计

2017-04-14罗正华方安成

关键词:导航系统北斗卫星

喻 娜, 廖 雄, 罗正华, 方安成

(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

0 引 言

北斗卫星导航系统(BeiDou Navigation Satellite System,BDS)在现代军事和民用领域导航系统中起着极为重要的作用,也是我国导航系统未来发展的重要趋势.为解决传统北斗硬件信号模拟器的功能固定以及不便于扩展且价格昂贵等缺陷,本研究利用MATLAB软件实现北斗卫星信号源的模拟仿真,采用FPGA[1]实现北斗卫星信号源的硬件仿真,并与MATLAB的软件仿真作对比,以此证明设计的正确性和可行性.同时,本研究讨论了北斗卫星数据码(D码)与扩频码[2](C/A码)的生成、直接序列扩频(DSSS)与QPSK调制的算法设计,并且用Verilog语言编写相关应用程序,配置相应的参数及函数,然后根据数据流的顺序仿真出北斗卫星B1频点中频信号,可通过改变算法产生不同的北斗卫星信号,并分析在仿真环境下的北斗卫星信号的特性,从而完成新型信号发生器的设计,弥补了现有信号发生器的缺陷,其性能更加稳定,功能更加全面,有助于北斗卫星导航系统在定位与导航上有更高的精度与可靠性.

1 整体结构设计

北斗卫星B1频段数字信号生成首先按照固定的采样时间间隔,即固定的采样频率,加入卫星的初始相位和多普勒频移,生成中频载波信号,然后将经过QPSK调制方式调制的测距码和北斗卫星导航电文调制到载波上叠加.如果是MEO/IGSO的卫星,则需要在导航电文中调制20 bit NH码.每颗卫星的测距码和导航电文都不同,因此需对每颗卫星的信号进行叠加,并且对多卫星信号的每颗卫星信号都应添加预设的强度.信号发生器总体框架图如图1所示.

图1 信号发生器总体框架图

2 北斗卫星中频信号的生成算法与实现

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 北斗卫星中频信号频谱图

3 北斗卫星中频信号的设计与实现

基于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所示.

4 结 语

本研究讨论了北斗卫星导航信号发生器的设计,对采用载波调制及直接序列扩频调制技术形成的北斗卫星信号进行了深入的分析.同时,通过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

猜你喜欢

导航系统北斗卫星
北斗和它的N种变身
北斗时钟盘
miniSAR遥感卫星
说说“北斗导航系统”
“北斗”离我们有多远
静止卫星派
“北斗”导航系统是怎样炼成的
一种GNSS/SINS容错深组合导航系统设计
解读全球第四大导航系统
Puma" suede shoes with a focus on the Product variables