新一代卫星导航系统的多信号接收软件
2017-05-11朱威强
隋 涛,朱威强,冯 川
(沈阳理工大学 a.自动化与电气工程学院;b.信息科学与工程学院,沈阳 110159)
新一代卫星导航系统的多信号接收软件
隋 涛a,朱威强b,冯 川b
(沈阳理工大学 a.自动化与电气工程学院;b.信息科学与工程学院,沈阳 110159)
随着全球卫星导航系统的发展,卫星导航接收信号向多元化方向迈进,为此对接收机接收信号的多样性及其兼容性提出了更高的要求。设计了一种新一代卫星导航系统的多信号接收软件,该接收软件采用对接收信号在导航系统类型、信号调制方式和信号频段进行模块化处理的方式,实现了在不同的环境下对特定信号同步接收。同时,该接收机利用VC平台丰富的界面显示效果和Matlab平台强大的数学计算能力的特性,既能保持传统硬件接收机高效的处理速率,又能发挥软件接收机参数可变、快速灵活的特点。
全球卫星导航;多信号软件接收机;VC;Matlab
全球卫星导航系统 GNSS(Global Navigation Satellite System)是上个世纪中叶发展起来的一种新型导航系统。如今,全世界的卫星导航系统主要有美国的 GPS、俄罗斯的 GLONASS、欧盟的 Galileo和中国的BDS[1]。由于各种卫星导航系统的接收频段可能在设置上出现重叠,以及不同信号在调制方式上的多样性,使得GNSS接收机在接收信号方式上必须实现多模态特性[2]。传统的GNSS接收机大部分是基于硬件设计,虽然接收灵敏度高,处理速度快,但灵活性较差,而且造价高。近些年来,国内也出现了一些基于软件实现的GNSS接收机,但大多数平台都只是实现了针对单个信号或者单一调制方式的信号。
Matlab是一款具有强大运算能力的数学软件,它拥有信号处理、数值分析、矩阵运算、图形绘制等功能,但由Matlab设计的软件GUI可视性效果差。VC拥有可视化应用程序开发平台,利用VC开发的软件相较于Matlab的GUI具有明显的界面友好性。但由于C++语言的逻辑复杂性,其对数据的运算能力远不及Matlab。
综合以上情况,通过分析卫星导航系统在频段和调制方式上的多模特性[3],同时结合Matlab和VC两种工具,利用Matlab强大的数学计算特点以及VC优良的可视化GUI特性,设计了一种基于软件的GNSS接收机[4]。该接收机既有硬件接收机的快速灵活的处理速率,又能实现软件接收机参数可变性的特点,达到多种卫星导航信号端到端的接收的目的[5]。同时,其简洁的界面能够适用于不同用户的操作习惯。
1 多信号卫星接收机仿真模型
多信号卫星接收机总体由启动端、信号接收端、同步控制端和同步反馈端四部分组成[6]。
启动端:分为冷启动和热启动两种方式。冷启动在启动前需要清空接收机原有的星历信息;热启动则需要预先输入需要的星历信息。
信号接收端:GNSS信号主要由GPS、Galileo、GLONASS及BDS四种卫星系统的信号组成。接收机需对接收的信号属于哪种卫星系统及该信号的调制方式、频段等进行侦别[7]。
同步控制端:根据用户对信号接收的不同需求,如同步速度、同步复杂度、同步精度等对接收的参数进行调整,以达到最佳的接收效果。
同步反馈端:接收机对捕获的信号进行门限判决,如果未达到门限阈值,则对捕获信号实施可重构策略,并将此信息反馈给用户,用户调整参数,对信号重新捕获。图1为接收机仿真模型。
图1 接收机仿真模型
根据多信号卫星接收机的特性,在满足用户需求与适应卫星信号类别的前提下,将该接收机在同步算法上做细化处理。可将同步算法拆分成多模块、多步骤、多过程的形式。图2为GNSS信号同步算法流程图。
各模块的实现顺序及功能:
Step1 选择控制是对接收信号进行频段检测,从而判断其处于哪个接收频段。
Step2 针对不同频段的不同调制方式,有BPSK、TDDM、BOC等调制方式。
Step3 对信息符号进行搜索,搜索到起始状态“0状态”,依次判断下一状态。
Step4 确定信号的参数类型,例如,载波频率、副载波频率、伪码速率、信噪比等。
Step5 根据用户的需求和当前选择信号的类型确定同步算法,相应的同步算法有边带处理算法、子载波消除法、ASPeCT算法、BPSK-like算法等。
Step6 将最大比例峰值与门限判决,如果其值大于门限,则捕获成功;否则返回重新捕获。
Step7 捕获成功,确定信号的码偏偏移、多普勒补偿、捕获时间、载波相位等参数。
图2 GNSS信号同步算法流程图
2 基于VC和Matlab多信号卫星接收仿真平台的实现
2.1 Matcom方法及开发环境配置
仿真平台开发在VC下调用Matlab实现。用Matlab调用Matcom的方法,该方法通过自身的编译器将Matlab下的.m文件通过编译器翻译成VC环境能识别的C++语言,这样能够去掉通过Matlab动态链接库生成DLL的繁琐过程,减少程序的编译时间。具体开发环境配置如下:
1) 在VC对话框文件添加Matcom相关组件
打开对话框程序的文件夹“C:VS2010ProjectSatelliteSatellite”,在其中添加ago4501.dll、matlib.h、v4501v.dll、v4501v.lib四个Matcom相关组件。
2) Matcom静态库导入
打开VS2010菜单中的“Project”,选取“Opinion”中的“Configuration Opinion”选项,在“Connector”选项卡中找到“Addittional dependency”添加v4501v.lib库文件。
3) 在VC对话框程序中添加“matlib.h”头文件。
2.2 VC结合Matlab编写仿真平台程序
通过分析多信号卫星接收机的结构,分析其包含的功能如表1所示。
表1 多信号卫星导航接收机功能设计
该程序在VS2010环境下,通过调用Matlab7.1生成的.m文件结合MFC生成的动态界面共同编译完成。具体编译过程如下:
1) 打开VS2010,点击“File”->“New File”->“Project”,选择“Visual C++”->“MFC”应用程序,命名为Satellite。
2) 在SatelliteDlg.cpp文件首部添加Matlab.h、Satellite.h、matrix.h等头文件,并将SatelliteDlg类里OnInitDialog()函数中的静态变量初始化。
3) 打开“Resource view”->“Dialog”中的“IDD_SATELLITE_DIALOG”对话框程序,添加相关按钮及资源相应控件。
3 仿真结果
3.1 GPS卫星导航信号仿真结果
运行VC程序,接收来自GPS卫星导航系统的信号,选择的频段为L1,调制方式为BPSK。其中信号处理的中心频率40.92MHz,采样频率163.68MHz,载波、扩频伪码、数据码等分量都是在基本始时钟频率1.023MHz控制下产生的,伪码偏移830,信噪比为15dB,积累时间3ms,判决门限为11,点击“仿真”按钮开始仿真。图3 为GPS卫星导航信号仿真图。
图3 GPS卫星导航信号仿真图
图3上方是信号接收端显示界面,分别依照卫星导航、频段类型、调制方式选择不同类型的接收信号。中上部为同步控制端,接收机根据用户对卫星导航类型、频段类型和调制方式的要求选择相应的捕获算法。右侧是同步反馈端的相关参数界面,该参数包含接收信号相关参数和信号捕获后的特征参数值。中部是信号同步算法的实现过程,其中包括从信号接收开始,到信号最终捕获的具体流程。下方是同步算法运行过程中各个时期信号的Matlab仿真图,由此可以清晰地看出信号在捕获后码偏、多普勒偏移等具体参数。
3.2 BDS卫星导航信号仿真结果
运行VC程序,接收来自BDS卫星导航系统的信号,选择的频段为B2,调制方式为BPSK。其中信号处理的中心频率40.92MHz,采样频率327.36MHz,载波、扩频伪码、数据码等分量都是在基本始时钟频率1.023MHz控制下产生的,伪码偏移900,信噪比为20dB,积累时间3ms,判决门限为11,点击“仿真”按钮开始仿真。图4为 BDS卫星导航信号仿真图。
图4 BDS卫星导航信号仿真图
图4中各部分功能及参数参见图3说明。
3.3 Galileo卫星导航信号仿真结果
运行VC程序,接收来自Galileo卫星导航系统的信号,选择的频段为E1,调制方式为BPSK。其中信号处理的中心频率40.92MHz,采样频率163.68MHz,载波、扩频伪码、数据码等分量都是在基本始时钟频率1.023MHz控制下产生的,伪码偏移100,信噪比为15dB,积累时间3ms,判决门限为11,点击“仿真”按钮开始仿真。图5 为Galileo卫星导航信号仿真图。
图5 Galileo卫星导航信号仿真图
图5中各部分功能及参数参见图3说明。
4 结论
通过对全球卫星导航信号多元化特点的深入分析,得出了一种将接收信号在导航系统类型、信号调制方式和信号频段这三部分进行模块化处理的方法。针对不同信号自动选择最优的捕获算法,同时,结合VC和Matlab这两种编程和图形图像工具,实现了在不同的环境下对特定信号的同步接收。仿真结果表明,该多信号卫星接收机可有效判别出不同接收信号的卫星导航类型、频段类型及调制方式,选取针对该接收信号的同步方法,同时对该同步方法下的捕获特征参数进行有效提取。
[1]康向阳.中国的GPS-北斗导航系统[J].天津航海,2007,5(2):61-63.
[2]B Zahidu,H Salomon.Performance analysis of a multi-GNSS receiver in the presence of a commercial jammer [J].IEEE International Association of Institutes of Navigation World Congress,2015,32(15):215-218.
[3]Liu W,Du G Zhan.Assessment of Radio Frequency Compatibility Relevant to the Galileo E1/E6 and Compass B1/B3 Bands[J].The Journal of Navigation,2010,63(3):419-434.
[4]L Markus,T Gert F.Multi GNSS constellation deeply coupled GNSS/INS integration for automotive application using a software defined GNSS receiver [J].IEEE PLANS,Location and Navigation Symposium,2012,8(2):228-232.
[5]魏敬法.GNSS软件接收机算法验证平台设计与实现[J].通信技术,2013,5(3):333-337.
[6]姚宜斌,谢鸣宇,牛文周.多模多频卫星导航系统组合研究[J].全球定位系统,2010,7(2):157-160.
[7]吴娜.GNSS接收机捕获算法的研究及实现[D].北京:北京邮电大学,2010.
(责任编辑:马金发)
A Multi-signal Software Receiver for New Satellite Navigation System
SUI Tao,ZHU Weiqiang,FENG Chuan
(Shenyang Ligong University,Shenyang 110159,China)
With the development of global satellite navigation system,satellite navigation signals gradually develop into diversification,which has higher requirements for the receiver with its compatibility with multi-signal.A multi-signal software receiver is designed for new satellite navigation system.The software receiver uses a variety of methods to improve the reception signal like a modular processing of navigation type system,the modulation of signals and the band of signals,which meets the requirement of receiving particular signal in different circumstances.Meanwhile,abundant display effects of VC are adopted and Matlab’s powerful ability is applied in mathematical calculation.The software receiver can not only work like traditional hardware receiver with efficient processing rate,but also contain variable and flexible features of parameter.
global satellite navigation;multi-signal software receiver;VC;Matlab
2016-07-14
隋涛(1978—),男,副教授,研究方向:新体制通信技术。
1003-1251(2017)02-0044-05
TP967
A