第21卷第18期系统仿真学报©Vol.21No.182009年9月JournalofSystemSimulationSep.,2009•5692•基于MATLAB的卫星导航信号仿真和验证平台罗显志,杨滕,魏海涛,李隽,蔚保国(中国电子科技集团第54研究所,河北省卫星导航技术与装备工程技术研究中心,石家庄050081)摘要:提出了一种GPS/Galileo卫星导航信号仿真和验证平台的软件实现方法,给出了基于MATLAB软件的GPS/Galileo卫星导航信号仿真和验证平台的体系架构,详细描述了卫星导航信号仿真和验证平台主要模块的功能,并给出了实现方法。仿真结果和接收机定位结果验证了基于MATLAB的GPS/Galileo卫星导航信号仿真和验证平台的有效性。关键词:卫星导航;信号仿真;全球定位系统;伽利略中图分类号:TN967.1文献标识码:A文章编号:1004-731X(2009)18-5692-07SatelliteNavigationSignalSimulationandValidationPlatformBasedonMATLABSoftwareLUOXian-zhi,YANGTeng,WEIHai-tao,LIJun,YUBao-guo(HebeiSatelliteNavigationTechnologyandEquipmentEngineerTechnologyCenter,The54thResearchInstituteofCETC,Shijiazhuang050081,China)Abstract:Asoftware-basedimplementationapproachforGPS/Galileosatellitenavigationsignalsimulationandvalidationplatformwasproposed.Thetestbed’sarchitecturewasintroduced.Mainmodelsandtheirfunctionsofthisplatformweredescribeddetailedly.Theirimplementationmethodswereproposed,either.SimulationresultsandreceiverpositionresultsshowtheavailabilityofthisGPS/GalileosatellitesignalsimulationandvalidationplatformwhichisbasedonMATLABsoftware.Keywords:satellitenavigation;signalsimulation;GPS;Galileo引言卫星导航信号模拟器能够为导航接收机的设计、验证、测试提供输入信号源,是卫星导航接收机研发和卫星导航信号体制设计必备的基本设备。目前市场上出现的信号模拟器和接收机大多基于硬件实现。软件信号仿真和验证平台基于各种商用开发软件(例如VC++,MATLAB),不需要设计专用的信号处理平台,成本较低。不仅可以根据接收机要求配置前端参数(中心频率、带宽、采样率、分辨率等等),而且提供一系列从简单到复杂的信号产生环境,特别适合对某些硬件模拟器无法提供的信号调制方式进行测试。同一小组的研究人员可以使用多套软件平台测试自己的接收机开发状况,不用多人使用一部硬件模拟器,节约了硬件成本和人力成本。基于MATLAB的GPS/Galileo卫星导航信号仿真和验证平台是从事卫星导航信号体制研究和多模卫星导航接收机算法开发的理想工具。国内目前已经出现了基于软件的卫星导航信号模拟器或仿真平台[1,2],但这些平台只是简单实现了单通道信号的发射和接收,没有实现真正意义上的多卫星、多模卫星导航信号模拟(产生多通道信号,而且信号之间有严格的同步关系)和接收机定位。国外研究者也研发出了基于软件的卫星收稿日期:2008-04-26;修回日期:2008-07-23基金项目:国防导航基金资助课题(9140A24010808HK01)作者简介:罗显志(1976-),男,博士,信号与信息处理专业,研究方向为卫星导航、室内定位和阵列信号处理。导航信号产生器[3,4],但由于技术封锁和保密的原因,从文献资料中很难得到信号仿真平台的实现细节和平台的详细架构,更无法得到可供使用的软件平台。本文分析了卫星导航系统信号模拟的各个环节,在WindowsXP操作系统下使用MATLAB软件开发出一个GPS/Galileo卫星导航信号仿真和验证平台,实现了GPS/Galileo卫星导航系统端到端信号的仿真和接收机定位。1仿真平台总体架构GPS/Galileo卫星导航信号仿真和验证平台总体架构如图1所示,主要包括信源、信道和接收机的建模和仿真。信源模块包括卫星轨道仿真、接收机动态、信号参数产生、卫星基带信号产生和射频链路的非线性仿真;信道模块主要完成对基带信号幅度、频率、相位、衰落的控制,并根据仿真条件加入噪声和干扰信号;接收机模块主要完成射频信号的基带信号产生射频链路非线性电离层对流层多径噪声和干扰射频链路量化捕获跟踪位置解算信号合路通道1通道2通道N人机接口接收机动态轨道仿真信源信道接收机多普勒信号参数产生信号信号参数图1GPS/Galileo卫星导航信号仿真和验证平台总体结构图第21卷第18期Vol.21No.182009年9月罗显志,等:基于MATLAB的卫星导航信号仿真和验证平台Sep.,2009•5693•滤波和下变频、基带信号的量化、伪码和载波的捕获和跟踪、接收机位置解算等任务。人机接口模块实现星座定义、信号定义、仿真时间控制、信号采样定义、图形显示等功能。GPS卫星同时发射L1、L2、L5三种卫星导航信号[5,6],载频分别为1575.42MHz、1227.60MHz、1176.45MHz,Galileo卫星也同时发射E1、E5、E6三种导航信号[7],载频分别为1575.42MHz、1191.795MHz、1176.45MHz。调制在这些载频上的基带信号有BPSK(n)、BOC(n,m)、MBOC(n,m)等各种伪随机码和副载波。为了描述方便,本文只给出了GPS-L1信号(BPSK(n)调制)和Galileo-E1信号(BOC(1,1)调制)的仿真和验证。采用类似的方法可以实现所有GPS/Galileo信号的仿真。该仿真平台使用MATLAB仿真软件开发,灵活可重构的仿真模型结合MATLAB强大的数据处理能力和图形显示功能为导航接收机算法开发者和导航信号体制研究者提供了一个功能完善、配置灵活、性价比高的多模卫星导航信号仿真和验证平台。基于软件实现的信号仿真平台采用不同与目前市面上硬件模拟器的算法和架构,完全采用软件方法实现,这些算法可以被方便地移植到通用信号处理平台(例如多SHARC信号处理平台)上,从而可在最短时间内开发出实时卫星导航模拟器。2仿真平台的工程实现2.1仿真原理基于MATLAB的GPS/Galileo双模卫星导航信号仿真和验证平台的仿真原理图如图2所示。主要包括人机接口及仿真数据库、轨道仿真和信号参数产生模块、信号产生和控制模块、软件接收机等四部分组成。人机接口模块根据仿真场景设定仿真时间、星座、信号、大气环境、接收机环境(多径)和动态等必要的参数。轨道仿真和信号参数产生模块根据人机界面设定的仿真场景仿真卫星星座动态,并计算卫星星座和接收机观测量,向信号产生模块输出卫星——接收机几何参数、伪码相位时延参数、载波频率和相位参数、信号增益参数、卫星发射机高功率放大器(HPA)的非线性模型参数等数据。信号产生模块根据这些参数产生可见卫星的基带信号,并将各路信号合成,最后将信号调制在一定的中频或射频载波上。软件接收机完成信号的下变频、比特量化、信号载波和伪码的捕获、信号载波和伪码的跟踪、接收机位置解算等功能,输出定位结果,并与人机接口设定的仿真场景进行比较,实现导航信号和算法的闭环验证。2.2人机接口和仿真数据库人机接口模块根据仿真场景设置仿真时间、星座、信号、大气环境、接收机环境(多径)和动态等必要的参数。主要包括仿真时间控制参数、轨道参数和模型、卫星信号发射机高功率放大器参数、仿真信号参数、卫星天线方向图参数、信道参数、卫星可见性参数、多径模型和参数、接收机动态、接收机天线方向图、仿真数据可视化控件和结果验证等。仿真数据库包含仿真中可能用到的数据库,例如GPS星历数据库、JPLDE-405行星星历数据库、时间转换参数数据库、电离层数据库、地球引力数据库、地球自转数据库。仿真时间控制参数用于设定仿真开始时间,仿真结束时间,仿真时间间隔。卫星轨道仿真一般采用考虑各种摄动力的高精度卫星轨道动力学模型。在精度要求不高的情况下,为了加快仿真软件接收机信号参数产生信号合成+白噪声上变频星座模拟器(卫星轨道动力学仿真)卫星位置和速度接收机位置和速度卫星可见性俯仰角方位角卫星接收机距离伪距Doppler信号自由空间损失信号强度大气层衰减信号相位超前(电离层引起)多径(径数、衰减、反射系数)几何时延频率和相位强度多径电离层延迟对流层延迟星钟延迟相对论延迟发射天线增益信号产生伪随机码产生副载波调制基带调制码相位控制伪距控制数据调制信号强度控制信号相位控制HPA模拟多径模拟信号产生伪随机码产生副载波调制基带调制码相位控制伪距控制数据调制信号强度控制信号相位控制HPA模拟多径模拟信号产生伪随机码产生副载波调制基带调制码相位控制伪距控制数据调制信号强度控制信号相位控制HPA模拟多径模拟下变频量化信号捕获跟踪位置解算数据库GPS星历数据库JPL行星星历数据库地球自转参数时间转换参数引力模型数据库电离层数据库人机接口接收机轨迹仿真控制参数截止高度角多径参数轨道参数卫星HPA参数卫星天线方向图接收机天线方向图卫星信号参数信道参数结果验证卫星高功率放大器(HPA)非线性非线性图2GPS/Galileo卫星导航信号仿真和验证平台仿真原理图第21卷第18期Vol.21No.182009年9月系统仿真学报Sep.,2009•5694•速度,卫星轨道仿真可以采用只考虑二阶带谐系数的非球形摄动模型。可以有两种方法输入轨道参数,一种方法是直接输入开普勒轨道根数,另一种方法是通过装载星历数据库,通过星历拟合得到卫星轨道根数。卫星信号发射机的功率放大器(HPA)会导致输出信号幅度和相位的非线性变化,信号产生模块将根据用户输入的HPA参数对基带信号的幅度和相位进行控制,从而实现信号的HPA非线性模拟。仿真平台通过加载AM/AM和AM/PM参数文件实现参数输入。仿真信号参数主要定义GPS和Galileo卫星导航系统的输出信号和伪随机码。GPS卫星导航系统可以输出L1信号和L2信号,Galileo卫星导航系统可以输出E1信号、E5信号。其中L1信号上调制有C/A码和P码,L2信号调制有P码;E1信号上调制有E1B码和E1C码,E5信号上调制有E5aI码、E5aQ码、E5bI码、E5bQ码。卫星天线方向图参数定义了信号在卫星天线不同方向上的增益,这些增益的不同会导致不同方向上信号功率的变化。信道参数包括电离层、对流层、大气温度和湿度等特性,以及仿真所选用的电离层、对流层误差模型。卫星可见性参数定义了卫星可见仰角。多径参数主要包括仿真所选用的多径模型,衰落模型,信号多径的路径数,信号衰落的强度等等。接收机动态是指接收机的各种典型的运动状态,例如:静止、直线运动、转弯、环形运动、直线加速运动、俯冲、爬升等各种运动状态。这些运动状态通过接收机在不同仿真时刻的位置和速度来描述。接收机天线方向图与卫星天线方向图类似,反映了信号在不同方向上增益变化。仿真过程中的中间数据和最后的仿真结果可以通过仿真数据可视化控件来显示。卫星轨道动力学仿真可能需要JPLDE-405行星星历数据计算太阳、月球、地球和卫星的相对位置,需要引力模型数据计算卫星的摄动力,需要时间转换数据实现动力学时间与UTC时间的转换,需要地球自转数据实现天球坐标到地球坐标系的转换。所以这些数据库也是轨道仿真所必须