一种ADS-B信号覆盖计算系统的设计与实现
2020-08-26牛一波
牛一波
(中国民用航空总局河南空中交通管理分局,郑州 451162)
0 引言
ADS-B(Automatic Dependent Surveillance-broadcast)是中国空管近年大力推行的空中交通监视技术,相对传统的二次雷达,ADS-B 具有投资小、数据丰富、更新率快等特点[1-3],是未来空管监视技术发展的主角。但是在实际工作中由于发射功率和工作方式等因素影响,ADS-B 的威力范围却不如二次雷达,因此一个特定的空域需要更多的ADS-B 地面站才能完成完整的信号覆盖。信号覆盖分析是ADS-B 地面站组网运行的关键[4],目前,ADS-B 信号的覆盖仿真研究是业内研究的热点,但是多数研究只停留于理论研究,实际针对覆盖分析的应用研究较少[5],无法大面推广应用。本文从实际出发,分析ADS-B 信号覆盖影响的因素,设计一种基于GIS 的ADS-B 信号覆盖分析计算软件,该系统通过C#实现,能够为ADS-B 地面站的建设和ADS-B 应用的数据故障分析提供技术支持。
1 ADS-B信号覆盖影响因素
当前主流的研究提出影响ADS-B信号覆盖的因素主要有以下几方面[6]。
(1)地空通信中地形的影响。目标是否能被ADS-B地面站探测到取决于其与ADS-B地面站之间的直线范围是否有障碍物遮挡,故要求软件设计计算时必须考虑由地形遮蔽引起的视线截止距离。
(2)反射物反射造成的影响。由于ADS-B的发射频率为超短波,绕射能力较弱,实际应用中容易被反射物反射,造成信号干扰,这也是覆盖计算必须考虑的问题。
(3)天线性能的影响。信号的接收和发射需要经过馈线系统,天线的性能也会影响到信号的覆盖范围。
由于ADS-B地面站的天线性能主要取决于设备厂家的设计和工艺,因此此处只考虑前两者的影响。
通常ADS-B的视线截止距离可以由下式得出:
式中:θ为遮蔽角,为天线中心点和该点所在水平面向上算起的点播信号被地形遮挡垂直张角,是某个方向上能够发现目标的最高低角。当然,实际软件设计中需要考虑电磁波绕射问题对遮蔽角进行修正,将其绕射因素为1时所对应的电波射线的仰角作为修正后的遮蔽角,主要考虑ADS-B地面工作波长和遮蔽角对应的斜距。
对于反射问题,系统需要考虑地球曲率的影响推导接地点合成场强。航空器与地面站通信过程中,收发两点在视距传播范围内是在地面站接收信号和反射信号的合成,如图1所示。
图1 实际信号传输
图中A为反射点;ht和hr分别是飞行高度和地面站天线高度;ht′和hr′分别为飞行高度和地面站天线高度;d1和d2分别为飞机和地面站投影点于反射点之间的距离。根据电磁波的工作原理,考虑地球曲率的影响,最大视距dmax为:
设地球半径为R0,等效高度分别为:
则接收点的功率和场强分别为:
式中:Gt为机载天线增益;Pt为机载发射机的功率;Df为地球球面扩展因子(由另外公式计算);λ为ADS-B 工作波长。
2 系统的设计与实现
基于上述原因分析,系统设计主要分为以下几个模块:信息输入模块、地形分析模块、地图显示模块、可见分析模块和覆盖分析模块。其中,信息输入模块主要用于通过USGS DEM/SRTM/等高线/机场分析工具地形等格式文件导入文件,该类文件可以标注ADS-B 地面站的站点名称、站点类型、海拔高度以及大地经纬度等信息;地形信息模块则用于分析DEM 格式的矢量地图,提取相应的障碍物信息;地图显示模块用于地图显示处理,提供了WGS-84坐标和笛卡尔坐标之间的转换,并有经纬度网格可选;可见和覆盖分析模块主要根据上述的影响因素进行软件的计算并给出覆盖图。
2.1 系统控件设计及操纵
系统基于GIS实现数据的导入导出,通过GPS获取精确坐标位置、高程点和障碍物高度进行地形分析,最终生成DEM地形数据[7-8]。为了后续分析的需要,系统将突出分为机场空域和航路空域两类。在机场区域范围数据的处理精度可以小于1 m,航路区域范围数据的处理精度可以小于100 m。地图功能包含放大、缩小、移动和测距等基本操作。本系统开发主要采用C#和ArcEngine 结合进行,ArcEngine 可以提供GIS嵌入式软件应用开发功能,为GIS的开发提供了便捷。通过控件的拉入及属性设置可以快速实现系统功能,在窗体中依次添加以下控件:(1)ArcGIS Windows Forms 的ToolbarControl;(2)菜单和工具栏的StatusStrip;(3)容器的SplitContainer;(4) TabControl 中的SplitContainer 和TabPages;(5) DataGrid-View 和地图的 MapControl;(6) 图层的 TOCControl 等。以上控件设置相应的控件属性,如Dock 设置为Fill 或Top,Aligment属性设置为Bottom等。
以上步骤添加的控件还只是单独存在,而程序需要各控件间协同工作,因此要进行控件绑定,分别设置ToolbarControl、TOCControl 控件的 Buddy 属性设置为 axMapControl1,实现工具条和图层控件与地图控件的关联。地图处理方面可以采用ArcGIS 的鹰眼控件。程序将所有地图图层添加到鹰眼控件中。
for(int i = 1;i <= this.axMapControlATC1.LayerCount;i++)
{
this.axMapControlATC.AddLayer(this.axMapControlATC1.get_Layer(this.axMapControlATC1.LayerCount-i));
}
设置MapControl 显示范围至数据的全局范围并刷新鹰眼控件地图,为鹰眼控件MapControl1 添加OnExtentUpdated 事件,此事件是在主Map 控件的显示范围改变时响应,从而相应更新鹰眼控件中的矩形框。最后,为鹰眼控件添加相应的鼠标事件函数,实现鹰眼与主Map 控件互动。
2.2 系统的覆盖分析
GIS 生成的DEM 文件是系统分析的数据基础,为了降低系统的运行开销,系统设计计算范围为空管自动化系统(ADS-B信号接入的主要应用系统)的管制范围外扩50 km的范围,并且提供用户接口针对当前管制单位关注的具体机场、航路进行设置,在航路左右40 km内和机场半径50 km内考虑系统分析。如此而来,针对当地的管制ADS-B信号覆盖分析可以降低系统计算量。DEM提供了计算范围内的所有地形数据,结合用户输入的ADS-B地面站经纬度,系统可以直接生成ADS-B地面站的具体高程,按照ADS-B地面站厂家给出的地面站威力范围和计算范围的结合计算系统将得出具体的信号覆盖计算范围。
考虑覆盖范围内的障碍物影响,应用式(1)~(5),系统将得出当前ADS-B地面站的具体覆盖范围数据集。针对数据集,系统通过图形绘制将信号覆盖分析显示在MAP 控件中。对于多个地面站的组网,系统提供了ADS-B地面站群的自动选址功能。基于上述计算数据集,系统将在选择范围内提供相应的数据集列表,只需要计算列表内部数据集重复最小的组合即可,该组合将直接给出具体的ADS-B地面站部署方案。
为了验证系统分析性能,系统在现场运行的ADS-B数据站中接入ADS-B 数据,并提供ADS-B 信号解析显示功能。ADS-B 数据是基于UDP 组播的网络数据,系统通过C#实现UDP 数据接收并根据ADS-B CAT021 数据格式进行解析,所有ADS-B目标数据将被加入具体站点标识,在C#中通过数据列表加入,显示只需要遍历列表,并根据不同站点标识采用不同颜色显示(与该站点的信号覆盖显示颜色一致)即可。实验表明,信号覆盖分析的计算与实际ADS-B数据接收基本一致,重叠率高达95%。
3 结束语
本文从实际出发,提出一种基于C#和ArcEngine 的ADS-B 信号覆盖分析系统,系统通过操纵C#和GIS 控件实现对地形分析和数据处理,最终系统基于论文分析的ADS-B信号影响原因实现了对ADS-B信号覆盖的分析功能。系统运行稳定、高效,目前已为相关ADS-B地面站建设提供服务,能够提高ADS-B组网建设的准确性和可行性。