BDS定位性能的STKX仿真分析

2018-12-03 06:59纪峰明刘瑞华倪育德
导航定位学报 2018年4期
关键词:控件定位精度亚太地区

纪峰明,刘瑞华,倪育德

(中国民航大学 电子信息与自动化学院,天津 300300)

0 引言

北斗卫星导航系统(BeiDou navigation satellite system,BDS)是我国自主研制、独立运营的卫星导航系统,也是在继美国全球定位系统(global positioning system,GPS)和俄罗斯格洛纳斯卫星导航系统(global navigation satellite system,GLONASS)之后的第3个能够正式提供商用服务的全球卫星导航系统(global navigation satellite system,GNSS)。于2012-12-27发布的BDS空间信号接口控制文件[1]——公开服务信号(1.0版),标志着北斗二号正式建成以及BDS的三步走发展战略完成了第二步。根据计划,2018年前后我国将完成18颗卫星发射,率先为“一带一路”沿线国家提供基本服务。

卫星工具箱(satellite tool kit,STK)是由美国AGI (Analytical Graphics INC)公司开发的一款能够快速分析复杂的陆、海、空、天任务的商业化分析软件[2],该软件具有强大的数据分析计算能力以及良好的2维和3维展示功能,能够帮助用户更好的理解场景,加上具有模型精确可靠、开发接口丰富的优势,使之在国内外得到了广泛运用,同时STK也是一款适用于全球卫星导航系统仿真与分析的强大分析软件。

文献[3]利用STK传统开发模式STK/Connect实现了STK与MATLAB的集成,文献[4]在STK软件中通过一一设置BDS卫星的轨道仿真了理想的BDS卫星星座。本文利用STKX组件技术对目前在轨的BDS卫星进行建模,仿真分析了BDS在亚太地区以及亚太主要城市的定位性能,为BDS更好地服务于“一带一路”沿线国家乃至全球提供依据。

1 STKX开发模式

STKX是指由STK软件中提供的一套COM构件和ActiveX控件,可以将STK中的2维、3维可视化和数据分析能力无缝集成到GUI应用程序当中[5]。STKX 克服了传统的 STK/Connect 数据交互技术存在的缺陷,比如不能实现与自定义应用程序之间的有效集成、更加无法控制和响应用户在STK软件中的操作,既增加了应用程序设计的复杂度同时也降低了应用程序的性能等。并且支持多种编程语言和开发工具,例如VS、MATLAB等开发工具。

STKX的基本对象模型包括Application构件、2维Map控件、3维Globe控件以及图形分析控件。Application 构件是应用系统与STK引擎的接口,通过Application提供ExecuteMultipleCommand、ExecuteCommand函数向STK引擎发送连接(Connect)命令,进而完成与STK引擎之间的数据通信,Application提供连接点可以接收引擎的状态通知。Globe控件和Map控件均为图形控件,可以直接插入到GUI界面中,分别为GUI界面提供STK 3维显示功能和2维显示功能。图形分析控件(graphics analysis)为应用软件提供了包括区域分析工具、方位角和海拔分析工具、遮蔽分析工具等在内的图形分析能力[6]。由以上内容分析可得,STKX 的开发模式如图1所示。

2 MATLAB与STKX集成

STK软件提供了可以无缝集成到MATLAB GUI中的ActiveX控件主要有2个,分别为2-D和3-D控件。同时只需要利用2个函数即可实现MATLAB GUI界面与STK引擎之间数据的通信:一是STKX中实例的根对象(stkObjectRoot)提供的函数ExecuteCommand,用户可以根据自身开发需求将相关指令和数据按照STK的命令格式编辑成相应的字符串形式,在调用函数时,将待发送的字符串作为函数参数即可实现向STK引擎发送命令;二是通过利用STK的ActiveX控件提供的消息函数OnAnimUpdate,用户在应用程序中添加该消息函数后,只需要修改该函数的代码即可实现STK中信息的输出[7]。

在不启动STK软件的情况下,MATLAB与 STK服务器的连接使用如下命令,root=actxserver('AgStkObjects11.AgStkObjectRoot')。

通过此指令,实现MATLAB与STK服务器的连接,在MATLAB图形化界面编程中便可根据开发需求编辑指令发送给STK服务器实现任何操作。这样就可以利用STK强大的分析计算能力输出相应的数据。例如使用如下命令新建一个北京地面站,root.ExecuteCommand('New / */ Facility Beijing')。此命令表示通过ExecuteCommand函数发送一条新建北京站点的指令,类型为Facility。具体命令集可参考STK help 搜索查询。

在MATLAB工具中新建一个GUI,通过插入ActiveX控件选择AGI Map Control 11和AGI Global Control 11将STK 2维、3维界面嵌入到GUI界面中,实例效果如图2所示。

3 BDS卫星星座仿真

根据BDS空间信号接口控制文件对BDS卫星轨道的描述,将其分为3种类型:地球静止轨道(geostationary Earth orbit,GEO)、倾斜地球同步轨道(inclined geosynchronous satellite orbit,IGSO)和中圆轨道(medium Earth orbit,MEO),3种轨道类型的卫星构成、轨道高度和轨道平面位置各不相同,具体描述如下:

1)GEO卫星的轨道高度为35 786 km,分别定点于58.75、80、110.5、140和160°E;

2)IGSO卫星的轨道高度为35 786 km,轨道倾角为55°,分布在3个轨道面上,升交点赤经分别相差120°;

3)MEO卫星的轨道高度为21 528 km,轨道倾角为55°。

在应用软件中卫星仿真星座的建立有2种方式:一是通过下载北美防空司令部根据其空间目标检测网获得的跟踪数据产生的2行数据TLE(Two-Line Orbital Element Set Format),通过发送指令将数据加载到STK服务器中,在2维和3维视景中呈现出来;二是利用NovAtel接收机接收在轨BDS卫星的原始数据并提取开普勒轨道6参数进而转换成YUMA格式历书文件,通过发送指令将数据加载到STK服务器中。2种发送给STK服务器的具体指令分别为:

root.ExecuteCommand('ImportTLEFile * " C:UsersEdwardDesktopBDS.tle " AutoPropagate On TimeStep 30.0 StartStop "31 Oct 2017 04:00:00.00" "1 Nov 2017 04:00:00.00" Constellation BDS');

root.ExecuteCommand('ImportAlmanacFile * " C:UsersEdwardDesktopBDS.alm " ID ALL Constellation BDS')。

本次仿真采用第2种方式,此方法可以获得目前能够正常接收到信号的BDS卫星,共计16颗,可靠性较高。仿真得到的BDS卫星星座星下点轨迹和3维轨道分布如图3和图4所示。图3中带有例如beidou14标识的表示为BDS 14号卫星,以此类推,图3中共表识16颗BDS卫星。

4 定位精度因子分析

精度衰减因子(dilution of precision,DOP)描述了卫星的相对位置对精度的削减程度,是表示卫星位置质量的重要参数,DOP直接受卫星和接收机构成的几何形状影响[8]。DOP 可具体分为时间精度衰减因子(time dilution of precision,TDOP)、水平精度衰减因子(horizontal dilution of precision,HDOP)、垂直精度衰减因子(vertical dilution of precision,VDOP)、空间位置精度衰减因子(position dilution of precision,PDOP)、和几何精度衰减因子(geometric dilution of precision,GDOP)[9]。其中 GDOP描述的是卫星的几何形态对3维空间位置和时间测量的综合影响程度,其能够最全面的反映出卫星的空间几何形态。

在卫星导航定位系统中,定位误差主要取决于2个方面,分别为接收机等效测距误差(user equivalent range error,UERE)和精度衰减因子(DOP),其关系可描述为

(1)

式中:cov(dx)表示接收机位置协方差;σUERE表示用户等效测距误差;(HTH)表示从测距方差转换到位置方差的放大因子矩阵,其中矩阵H是用户到可见星方向的余弦矩阵,可描述为

(2)

(3)

则DOP值可以用(HTH)-1中的各分量表示为

(4)

综上所述,可以通过GDOP来衡量接收机的定位精度[10]。根据GDOP值可将定位精度划分为不同等级,如表1所示。

表1 GDOP等级对应的定位精度分布

5 BDS星座覆盖性和可见性分析

在STK软件中,利用覆盖分析模块(Coverage),可以分析单个卫星或整个星座对象对单体目标、全局或者区域的覆盖情况,在覆盖仿真分析时,STK软件不仅可以输出详细的分析报告和图表,还能对覆盖的变化情况进行同步仿真,并且还会充分考虑所有对象的访问约束,减小计算误差[11]。

本文设定的仿真时间为世界标准时(coordinated universal time,UTC)2017-10-31 4时至2017-11-01 4时,共24 h,采样间隔为30 s。仿真区域为亚太区域,按照经纬度为2°×2°的分辨率划分亚太地区,经纬度范围分别为65° S~65° N,70°E~170° E,此外需要对划分的每个网格点进行限制设置,将每个网格点高度截止角设置为5°进行仿真,亚太地区初始时刻GDOP值如图5所示。

BDS在亚太地区的GDOP值随时间、纬度和经度的变化如图6~图8所示。

从图6中可以看出,在仿真时段亚太地区平均GDOP值在3~4之间,总体覆盖效果良好,绝大部分地区能通过BDS获得较好的定位信息,在一天某些时段最大GDOP值出现了较大波动,此时段定位会不稳定,产生较大误差。

从图7~图8中可以看出,在高纬度地区GDOP值比较大,在低纬度地区GDOP值较小,从而可以看出低纬度地区的定位精度高于高纬度地区;85°E~135°E区间,平均GDOP值在3~4之间,在中低纬度范围和此经度范围定位精度较高,有着较好的定位结果。

选取亚太地区14个主要城市作为观测点,进行BDS可见星数以及GDOP值分析,观测点高度截止角为5°,仿真结果值如表2所示。

从表2中可以看出,亚太地区主要城市可见星数均保持在6~16颗卫星,各城市平均GDOP值在3~6之间,根据表1的等级分布,可以看出北斗二号在亚太地区能够提供较高精度的定位服务。

表2 亚太地区主要城市可见星数和GDOP值

续表2

6 结束语

本文利用STKX 构件实现STK与MATLAB的应用软件集成化,通过接收真实BDS轨道数据仿真BDS卫星星座,分析亚太地区GDOP值随时间、纬度和经度的变化,以及亚太地区主要城市的GDOP值和可见星数,可以得出BDS在亚太地区具有较好的导航定位性能,能够为该地区用户提供较好的导航定位服务,此方法具有可视化强、操作便捷等优点。

猜你喜欢
控件定位精度亚太地区
北方海区北斗地基增强系统基站自定位精度研究
小米8手机在城市环境下的单点定位精度研究
基于C++Builder 的电子邮件接收程序设计*
使用“填表单”微信小程序 统计信息很方便
Galileo中断服务前后SPP的精度对比分析
基于.net的用户定义验证控件的应用分析
GPS定位精度研究
GPS定位精度研究
Spreadsheet控件在Delphi数据库系统中的编程与应用
超越未来,亚太地区的文化差异和共处