发明内容
为解决上述现有技术中存在的技术问题,本发明提供了一种航班ADS-B数据模拟方法。具体技术方案如下:
一种航班ADS-B数据模拟方法,所述方法包括:
S1,采集全球真实航班数据,根据航班数据,计算飞机的飞行轨迹、飞行速度和飞行高度;
S2,更新仿真时间,计算当前仿真时间飞机和卫星的位置,飞机的航向,计算当前仿真时间卫星覆盖范围,统计卫星覆盖范围内的飞机信息;
S3,根据卫星覆盖范围内的飞机信息生成ADS-B报文数据;
S4,将卫星覆盖范围内的报文数据发送至该卫星;
S5,重复步骤S2-S4直至仿真结束。
在一种可能的设计中,真实航班数据包括动态航班数据和静态航班数据,动态航班数据包括:航班号、起点、起点位置、终点、终点位置、起飞时刻和降落时刻,静态航班数据包括以下信息:ICAO地址、纬度值、经度值和初始航向值;根据动态航班数据获得以下飞机信息:航班号、时刻、飞行状态、飞机位置、航向和航速;根据静态航班数据获得以下飞机信息:飞机位置和初始航向。
在一种可能的设计中,飞行状态根据起飞时刻、降落时刻和当前时刻确定;
飞机位置根据起点位置、终点位置和当前时刻确定;
航向通过当前位置和终点位置确定;
航速通过起点位置、终点位置、起飞时刻和降落时刻确定;
飞行高度在民航合法飞行高度范围内随机确定。
在一种可能的设计中,确定卫星覆盖飞机范围,包括:
通过卫星轨道文件,确定星下点经纬度(Lo,Lα)、幅角α、卫星高度h、地球半径R,经纬度及幅角单位为度,高度及半径单位为米;
计算中心角
给定某飞机位置P点坐标(Po,Pα,h),计算P点与星下点形成的球心角距离,并转化为角度制:
判断θ与β大小关系,当0≤θ≤β,认为P点在该卫星覆盖域内。
在一种可能的设计中,ADS-B报文长度为112bit,通用格式如下:
其中,DF=17格式用于S模式应答机发射的ADS-B消息,此格式下,CA字段表征了S模式应答机的能力;AA字段为应答机24个比特ICAO地址;ME字段包含ADS-B消息的主体;PI字段为奇偶校验位;
DF=18格式用于非S模式应答机发射的ADS-B消息或TIS-B消息,此格式下,CF字段表明ME字段是含有ADS-B消息或者TIS-B消息,当CF=0或1时,此格式传输的是ADS-B消息。
在一种可能的设计中,CA字段编码含义如下表所示:
在一种可能的设计中,ME字段前5个比特包含TYPE Code子字段,对于TYPE Code子字段某个值,紧接着的3个比特包含相应的SUBTYPE Code子字段,TYPE Code子字段与SUBTYPECode子字段共同决定ME字段剩余部分传送的ADS-B或TIS-B消息内容,如下表所示:
在一种可能的设计中,空中位置信息ME字段的含义如下:
其中,类型TYPE Code子字段编码对应值为9~18;
监视状态子字段编码含义如下:
单天线子字段用于表明ADS-B发射子***是否运行时采用了单个天线,单天线子字段编码值为0,表示双天线通道运行,单天线子字段编码值为1,表示仅单天线通道运行;
高度子字段表示ADS-B发射子***的高度,高度子字段对高度数据进行编码,如下表所示:
MSG比特位 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
ME比特位 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
码元比特位 |
C1 |
A1 |
C2 |
A2 |
C4 |
A4 |
B1 |
“Q” |
B2 |
D2 |
B4 |
D4 |
比特位16被指定为Q比特,Q=0时,增量为100英尺,高度组合顺序为D2D4A1A2A4B1B2B4 C1C2C4,D2~B4为格雷码编码,最小递增单位500英尺,C组码为5周期循环码,递增单位为100英尺,以-1200英尺为起点;Q=1时,增量为25英尺,组合顺序为C1A1 C2A2 C4A4B1B2 D2 B4D4,C1~D4为格雷码编码,递增单位为25英尺;
时间子字段表示位置数据中适用时间是否与准确的0.2秒UTC时间点同步;
CPR格式子字段用于指出紧凑式位置报告(CPR)格式类型(“偶”或“奇”)对经度与纬度数据进行编码。
在一种可能的设计中,地表位置信息ME字段的含义如下:
其中,类型TYPE Code子字段编码对应值为5~8;
运行子字段编码的含义如下,并取运行编码=0:
编码(十进制) |
含义 |
量化 |
0 |
无可用运行信息 |
|
1 |
飞机停止(地面速度<0.2315km/h(0.125哩/h)) |
|
2-8 |
0.2315km/h(0.125哩/h)<地面速度<1.852km/h(1哩/h) |
0.2315km/h(0.125哩/h))步长 |
9-12 |
1.852km/h(1哩/h)<地面速度<3.704km/h(2哩/h) |
0.463km/h(0.25哩/h))步长 |
13-38 |
3.704km/h(2哩/h)<地面速度<27.78km/h(15哩/h) |
0.926km/h(0.50哩/h))步长 |
39-93 |
27.78km/h(15哩/h)<地面速度<129.64km/h(70哩/h) |
1.852km/h(1哩/h))步长 |
94-108 |
129.64km/h(70哩/h)<地面速度<185.2km/h(100哩/h) |
3.704km/h(2哩/h))步长 |
109-123 |
185.2km/h(100哩/h)<地面速度<324.1km/h(175哩/h) |
9.26km/h(5哩/h))步长 |
124 |
324.1km/h(175哩/h)<地面速度 |
0.2315km/h(0.125哩/h))步长 |
125 |
为飞机减速预留 |
|
126 |
为飞机加速预留 |
|
127 |
为飞机转向预留 |
|
航向/地面航迹状态子字段的编码含义如下:
编码 |
含义 |
0 |
航向/地面航迹数据无效 |
1 |
航向/地面航迹数据有效 |
航向/地面航迹子字段用于报告航向,或者自北开始顺时针方向(航向符号标志位=0)ADS-B发射子***的运动,航向/地面航迹子字段的编码含义如下:
在一种可能的设计中,空中速度信息ME字段的含义如下:
其中,类型TYPE Code子字段编码对应值为19;
子类型子字段编码值为1;
意图不变标志子字段、IFR能力标志子字段、导航不确定度子字段编码值均为0;
东/西向标志位子字段表示速度在东/西向的速度矢量,编码值为0时表示东向,编码值为1时表示西向;
东/西速度子字段中编码值的含义如下:
北/南向标志位子字段表示速度在北/南向的速度矢量,编码值为0时表示北向,编码值为1时表示南向;
北/南速度子字段中编码值的含义如下:
本发明技术方案的主要优点如下:
本发明的航班ADS-B数据模拟方法,可以实现全球航班ADS-B数据模拟生成并发送,成功模拟星间组网和数据实时传输过程,通过对ADS-B数据进行接收及分析,可以在无实物条件下完成星间网络研究,指导星间网络设计,保证有效的航班监控。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明实施例提供的技术方案。
本发明实施例提供了一种航班ADS-B数据模拟方法,该方法包括:
S1,采集全球真实航班数据,并根据航班数据,计算飞机的飞行轨迹、飞行速度和飞行高度。其中,航班数据可以包括起飞机场、目的机场、起飞时间和降落时间等。
S2,更新仿真时间,获取当前仿真时间飞机和卫星的位置,飞机的航向,计算当前仿真时间卫星覆盖,统计卫星覆盖范围内的飞机。
S3,根据卫星覆盖范围内的飞机信息生成ADS-B报文数据。其中,飞机信息可以包括飞机的飞行轨迹、飞行速度和飞行高度以及位置和航向等,其可由航班数据经过计算获得。
S4,将卫星覆盖范围内的报文数据发送至该卫星。
S5,重复步骤S2-S4直至仿真结束。
本发明实施例提供的航班ADS-B数据模拟方法,可以实现全球航班ADS-B数据模拟生成并发送,成功模拟星间组网和数据实时传输过程,通过对ADS-B数据进行接收及分析,可以在无实物条件下完成星间网络研究,指导星间网络设计,保证有效的航班监控。
具体地,以下对本发明实施例提供的航班ADS-B数据模拟方法的各步骤进行详细阐述:
步骤S1中,全球真实航班数据分为动态航班数据和静态航班数据,动态航班数据为在预设统计时限内发生飞行的飞机的数据,静态航班数据为在预设统计时限内一直处于静止状态的飞机的数据,其数据统计与处理方法如下:
(a)动态航班数据
当前通过数据采集,已收集到全球超过1000个主要机场的超过170万条航班信息。每条动态航班数据包含以下内容:
各信息字段含义如下:
航班号No:航班的标识信息,与原始数据库包含信息一致,生成全球航班飞行数据库前根据航班号去重,与ADS-B中ICAO地址一一对应。
时刻t:仿真历元,本发明实施例中时间更新步长设置为1s。
飞行状态flag:表示飞行是否处于飞行状态,根据该航班起飞、降落时刻与当前时刻判断;当TSrc<t<TDst,flag=1,表示当前时刻飞机处于飞行状态,否则flag=0,表示飞机处于未飞行状态,假设飞机停泊于起点,且不发出ADS-B信号。
飞机位置(纬度lat,经度lon,高度h),
对于处在飞行状态的飞机,起点、终点坐标分别为(Latsrc,Lonsrc)和(Latdst,Londst),其在时刻t的位置为(Lat(t),Lon(t)),计算方法如下:
先将起点、终点的经纬度转换成弧度制,以下计算都采用弧度角度计算,两点经纬度差分别为,ΔLon=Londst-Lonsrc,ΔLat=Latdst-Latsrc。
a=sin2(Δlat/2)+cos(Latsrc)cos(Latdst)sin2(ΔLon/2)
两点间地心角为:
笛卡尔单位向量:
v1=[cos(Lonsrc)cos(Latsrc)sin(Lonsrc)cos(Latsrc)sin(Latsrc)]
v2=[cos(Londst)cos(Latdst)sin(Londst)cos(Latdst)sin(Latdst)]
求单位正切向量:
n1=v1×v2(其中×为向量叉乘运算)
t1=n1×v1(其中×为向量叉乘运算)
将t1单位化,可得
则t时刻的飞机所在经纬度Lon(t)和Lat(t)为:
Lon(t)=arctan(p2(t)/p1(t))
注意判断反正切函数角度象限:
Lat(t)=arcsin(p3(t))
再将Lon(t)和Lat(t)换算成角度制输出。
由于高度信息对仿真影响不大,因此假设所有飞机处于6000~1200km范围内飞行,赋予随机值。
航向Az:
航向方位角Az取值范围为0~360°,由起点终点连线确定方向,并假设保持恒定。
假设t时刻飞机从起点A(Latsrc,Lonsrc)朝向终点B(Latdst,Londst)飞行,则通过下式可得到A和B点夹角c的正弦值。
cos(c)=cos(π/2-Latdst)*cos(π/2-Latsrc)+sin(π/2-Latdst)*sin(π/2-Latsrc)*cos(Londst-Lonsrc)
因此方位角正弦值为:
利用反三角函数求解Az时,会出现象限问题。由于方位角是以正北为0度起点,由东向南向西顺时针旋转360度。因此,若A点固定于原点,则将Az转化为0~360°范围时,有如下判断:
航速v:
根据飞机起点和终点的经纬度坐标,以(Latsrc,Lonsrc)和(Latdst,Londst)标记为某航班飞行的起点和终点的经纬度。Re为地球平均半径,取6371km,计算过程中均用弧度表示。根据以下公式可以计算出起点与终点的距离d:
d=REarccos(cos(Latsrc)cos(Latdst)cos(Londst-Lonsrc)+sin(Latsrc)sin(Latdst))
忽略飞机起飞、降落过程,假设该飞机作匀速运动,则其飞行速度大小为v:
各方向分量为:
(b)静态航班数据
静态数据来源于天拓三号ADS-B数据库中的地表面数据信息,目前地表面信息数据为25998条。每条静态航班数据包含内容如下:
由于该数据为地表面信息数据,则设定该飞机的飞行高度、航速均为0。
根据静态航班数据,可以直接获得处于静止状态的飞机的位置和初始航向。
步骤S2中,确定卫星覆盖飞机范围的过程如下:
通过卫星轨道文件,已知星下点经纬度(Lo,Lα)、幅角α、卫星高度h、地球半径R,经纬度及幅角单位为度,高度及半径单位为米。
中心角
如果波束与地面有交点,则上式求解出的β值一定在[0,pi/2]内,则不用判断象限。
给定某飞机位置P点坐标(Po,Pα,h),计算P点与星下点形成的球心角距离,并转化为角度制:
上式cos的取值范围为[0,pi]。
判断θ与β大小关系,当0≤θ≤β,认为P点在该卫星覆盖域内。
步骤S3,ADS-B报文生成
ADS-B报文长度为112bit,通用格式如下:
其中,DF=17格式用于S模式应答机发射的ADS-B消息,此格式下,CA字段表征了S模式应答机的能力;AA字段为应答机24个比特ICAO地址;ME字段包含ADS-B消息的主体;PI字段为奇偶校验位。
DF=18格式用于非S模式应答机发射的ADS-B消息或TIS-B消息,此格式下,CF字段表明ME字段是含有ADS-B消息或者TIS-B消息,当CF=0或1时,此格式传输的是ADS-B消息。
本发明实施例中假设只含有S模式应答机,因此设DF=17。
CA代码:
CA字段编码含义如下表所示:
本发明实施例中由于模拟的数据源是民航飞机,因此CA部分只选取4种场景CA=4、5、6、7。
上表中A通信表示地对空通信,B通信表示空对地通信。
ICAO地址:
ICAO地址为24位二进制码,是分配给S模式应答机的编码,是飞机在ICAO注册的唯一识别代码。为简化设计方案,本发明实施例中ICAO号与后续航班号一一对应。
ICAO号全为0或者1代表发射器通告发射失败。
ADS-B消息主体ME字段:
ME字段前5个比特包含TYPE Code子字段。对于TYPE Code子字段某个值,紧接着的3个比特包含相应的SUBTYPE Code子字段。TYPE Code子字段与SUBTYPECode子字段(若存在该子字段)共同决定了ME字段剩余部分传送的ADS-B或TIS-B消息内容。
ADS-B消息类型的确定
其余值同样有各自类型,但出于简化仿真的角度而删去,本发明实施例中只发送地表位置消息、空中位置消息及空中速度消息。
(a)空中位置信息ME字段的含义如下:
其中,类型TYPE Code子字段编码对应值为9~18。本发明实施例中采用统一值为9。
监视状态子字段编码含义如下:
单天线子字段用于表明ADS-B发射子***是否运行时采用了单个天线,单天线子字段编码值为0,表示双天线通道运行,单天线子字段编码值为1,表示仅单天线通道运行。
高度子字段表示ADS-B发射子***的高度,高度子字段对高度数据进行编码,如下表所示:
MSG比特位 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
ME比特位 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
码元比特位 |
C1 |
A1 |
C2 |
A2 |
C4 |
A4 |
B1 |
“Q” |
B2 |
D2 |
B4 |
D4 |
比特位16被指定为Q比特,Q=0时,增量为100英尺,高度组合顺序为D2D4A1A2A4B1B2B4 C1C2C4,D2~B4为格雷码编码,最小递增单位500英尺,C组码为5周期循环码,递增单位为100英尺,以-1200英尺为起点;Q=1时,增量为25英尺,组合顺序为C1A1 C2A2 C4A4B1B2 D2 B4D4,C1~D4为格雷码编码,递增单位为25英尺。
时间子字段表示位置数据中适用时间是否与准确的0.2秒UTC时间点同步。
CPR格式子字段用于指出紧凑式位置报告(CPR)格式类型(“偶”或“奇”)对经度与纬度数据进行编码,编码规则参照《ADS-B_1090MHz_ES标准.pdf》。
编码纬度子字段中的空中纬度位置数据应按照《Minimum OperationalPerformance Standards(MOPS)for 1090MHz Automatic Dependent Surveillance-Broadcast(ADS-B)》进行编码。
编码经度子字段中的空中经度位置数据应按照《Minimum OperationalPerformance Standards(MOPS)for 1090MHz Automatic Dependent Surveillance-Broadcast(ADS-B)》进行编码。
(b)地表位置信息ME字段的含义如下:
其中,类型TYPE Code子字段编码对应值为5~8,本发明实施例中采用统一值为5。
运行子字段编码的含义如下:
编码(十进制) |
含义 |
量化 |
0 |
无可用运行信息 |
|
1 |
飞机停止(地面速度<0.2315km/h(0.125哩/h)) |
|
2-8 |
0.2315km/h(0.125哩/h)<地面速度<1.852km/h(1哩/h) |
0.2315km/h(0.125哩/h))步长 |
9-12 |
1.852km/h(1哩/h)<地面速度<3.704km/h(2哩/h) |
0.463km/h(0.25哩/h))步长 |
13-38 |
3.704km/h(2哩/h)<地面速度<27.78km/h(15哩/h) |
0.926km/h(0.50哩/h))步长 |
39-93 |
27.78km/h(15哩/h)<地面速度<129.64km/h(70哩/h) |
1.852km/h(1哩/h))步长 |
94-108 |
129.64km/h(70哩/h)<地面速度<185.2km/h(100哩/h) |
3.704km/h(2哩/h))步长 |
109-123 |
185.2km/h(100哩/h)<地面速度<324.1km/h(175哩/h) |
9.26km/h(5哩/h))步长 |
124 |
324.1km/h(175哩/h)<地面速度 |
0.2315km/h(0.125哩/h))步长 |
125 |
为飞机减速预留 |
|
126 |
为飞机加速预留 |
|
127 |
为飞机转向预留 |
|
本发明实施例中运行子字段的编码值取0,无情景信息。
航向/地面航迹状态子字段的编码含义如下:
编码 |
含义 |
0 |
航向/地面航迹数据无效 |
1 |
航向/地面航迹数据有效 |
本发明实施例中取航向/地面航迹状态子字段的编码值为1。
航向/地面航迹子字段用于报告航向,或者自北开始顺时针方向(航向符号标志位=0)ADS-B发射子***的运动,航向/地面航迹子字段的编码含义如下:
其他子字段与空中位置信息定义一致,经纬度解码时消息编码Nb=19,参见《ADS-B_1090MHz_ES标准.pdf》。
(c)空中速度信息ME字段含义如下:
其中,类型TYPE Code子字段编码对应值为19;
子类型子字段编码值为1。
意图不变标志子字段、IFR能力标志子字段、导航不确定度子字段编码值均为0。
东/西向标志位子字段表示速度在东/西向的速度矢量,编码值为0时表示东向,编码值为1时表示西向。
东/西速度子字段中编码值的含义如下:
北/南向标志位子字段表示速度在北/南向的速度矢量,编码值为0时表示北向,编码值为1时表示南向。
北/南速度子字段中编码值的含义如下:
其余子字段的取值为0。
基于上述,本发明实施例提供的航班ADS-B数据模拟方法可以分为动态航班数据发送和静态航班数据发送,分别参见附图4和5。
利用本发明实施例提供的航班ADS-B数据模拟方法进行星间网络设计的研究时,可以假定卫星网络模型,并建立相应地卫星轨道文件,确定每个卫星的星下点位置和覆盖范围等,覆盖范围内飞机发出的ADS-B报文可由ADS-B数据接收软件进行接收并分析,确定卫星网络模型的可行性。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。此外,本文中“前”、“后”、“左”、“右”、“上”、“下”均以附图中表示的放置状态为参照。
最后应说明的是:以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。