基于MATLABSimulink的GPS卫星导航仿真器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLABSimulink的GPS卫星导航仿真器设计摘要:本文首先介绍了GPS卫星定位的原理和算法,然后给出了GPS仿真器的Simulink建模实现方法,并对其定位精度进行了误差分析,仿真结果表明该仿真器定位精度与实际接收机相当,可以用来模拟真实的卫星定位,为综合导航系统的研制工作带来了便利。
关键词:GPS卫星导航Simulink建模动态仿真
1 引言
现代飞行器对导航系统有着越来越高的要求,尤其是长航时飞机对导航设备的精度、可靠性以及连续性都提出了全面的要求。每种导航系统都有其固有的局限性,因此仅靠单一系统的导航设备独立使用难以完全满足这些要求。于是,使用多种导航技术的综合导航系统逐渐进入人们的视线,并受到广泛关注。由于飞行实验费用大,对于综合导航系统最初的算法验证和实验测试,往往无法进行飞行器搭载实验,因此国内外均采用实验室半物理仿真系统进行初期实验研究。
Simulink是一种针对动态系统进行建模、仿真和分析的工具,它被广泛应用于线性系统、非线性系统的建模和仿真,支持连续系统、离散系统或者两种混合的系统和多速率系统。本文介绍了“大飞机”综合导航仿真系统中,基于MATLAB/Simulink开发的GPS仿真器的原理和设计过程。
2 仿真器的应用环境
如图1所示,综合导航仿真系统由飞行、惯导、卫星导航、天文导航、大气数据仿真、无线电高度表、地形匹配导航等分系统仿真器加上显控系统构成。
本文述及的工作主要集中于综合导航仿真系统中卫星导航仿真器的设计及其Simulink建模实现。飞行仿真器有手动操作和自动飞行两种控制模式,自动飞行模式下仿真器根据预设航线输出飞机实时位置、速度、加速度、姿态等参数;手动模式下通过外置手柄来模拟操作飞机完成起飞、爬升、平飞、姿态改变和降落等全过程,飞行仿真器根据手柄传感器的输出信息仿真计算输出飞机的飞行数据。卫星导航仿真器接收来自飞行仿真器的输出作为飞机当前实际位置,进行定位解算。
3 GPS定位算法原理
GPS仿真器由两部分组成:仿真卫星星座(根据卫星轨道动力学和星历基本参数确定)和仿真接收机的解算过程。
3.1 卫星星座仿真
卫星星座仿真是指已知某一初始时刻GPS系统中卫星的星历数据,据此递推得到后续时刻卫星的位置和速度。卫星在空间的运动遵循开普勒三定律,卫星轨道的确定可近似等效为一个二体问题的求解。GPS卫星位置和速度的解算可以通过初始时刻导航电文中的轨道根数直接递推得出,这方面内容在一般介绍卫星导航原理的书籍、文献中都有介绍,这里不再述及。
3.3 仿真接收机的解算
GPS接收机定位采用伪距观测量的绝对定位方法。根据GPS定位原理,用户的三维位置加上接收机钟差一共4个未知量,所以必须有4颗可见星建立方程组:
4 仿真器的模型实现
GPS仿真器的数据处理流程:仿真器首先完成星历加载,可以手动加载星历文件也可以用接收机接收导航电文获取实时星历,然后根据星历信息计算GPS卫星位置,结合飞行仿真器送来的载体当前位置选择可见卫星,完成伪距仿真之后进行定位解算,最后将GPS仿真器输出的载体位置、速度等信息转换到地理坐标系(ENU)后送到综合导航计算机完成数据融合,送往显控系统。
建GPS仿真器的Simulink顶层模型。为了保证模型具有良好的
可测试性和便于集成,建模过程充分采用了自顶向下、模块化的设计思想。顶层模型由按功能划分的特定子系统组成,各功能子系统具有相对明确的输入、输出信号,便于测试分析。这些子系统内部又嵌套了下一级子系统,将相关联的运算模块封装在一起。整个模型仅在最底层的子系统中出现基本运算模块。这样,对模型中某个子系统内部进行修改不会影响到其它子系统,在各子系统设计完成通过性能测试之后,只要各子系统之间信号流接口格式正确,就可以很容易地将各子系统集成为完整的系统级仿真模型。在仿真器的核心部分——定位解算子系统,由于可见卫星数目的不确定性引起参与定位解算各矩阵的规模和结构发生变化,因此不便采用基本模块搭建固定结构的模型,而是采用C语言编写的S函数来灵活的完成该部分计算,然后将其整体封装成S-Function功能模块加以使用。GPS仿真器顶层模型读入的星历文件、飞行仿真器输出的飞机当前位置和时间等信息依次经过卫星位置计算、可见星预测、伪距仿真、定位解算等功能子系统处理,最后由模型最右端输出仿真器定位结果、卫星位置、可见性数目及编号、伪距、伪距率等仿真结果。
5 仿真结果分析
GPS仿真器的仿真步长选为1,保存了1000组定位结果,以飞行仿真器输出的位置信息为基准对仿真器定位精度进行了误差分析。
从以上误差曲线可以看出,仿真器的定位结果围绕真值上下波动,水平方向定位精度大约在10m左右,高程方向定位精度在20m
以内。仿真器的输出结果与实际卫星导航接收机的性能基本一致。
6 结语
该GPS仿真器操作简单、功能强大,输出信息丰富,除了给出定位结果等数据外,还可以输出卫星位置、速度,可见卫星数目、编号,伪距及伪距率等信息,并将仿真结果以固定格式保存于文件中。该仿真器以合理的算法作为开发基础,从使用效果来看,其定位精度与实际接收机相当。从2008年交付使用至今工作稳定,性能良好。为“大飞机”综合导航系统的开发带来了便利,降低了开发成本,并缩短了研制周期。
参考文献
[1]边少锋、李文魁. 卫星导航系统概论[M]. 北京:电子工业出版社,2005.
[2]寇艳红. GPS原理与应用[M]. 北京:电子工业出版社,2007.
[3]宋彦辉、吴勇、张建东、闫浩. GPS仿真器设计[D]. 航空计算技术,2007,第6期.