Tag: SDR
-
ACARS电报采集尝试
这个学期初,随着adsb.im镜像更新引入了ACARS电报模块,加之实验室供电问题,本人将校内一个ADSB设备撤掉,将其硬件用来尝试电报的接收。这是因为接收电报并非在ADSB的1090MHz频率,而是在以131.450MHz为主(也有126.475和136.975备用频率供频道拥挤时使用)的频率上,因此需要一个独立的SDR来接收。在树莓派上用电视棒接收,还面临着USB接口无法直接连接多个设备的问题。虽然有四个USB接口,但是距离太近且电视棒尺寸过大,所以为了不影响已有的ADSB接收,还需要一根USB延长线。软件层面上,默认的数据写入路径在/run/acars_data/messages.db,且为七天滚动覆盖,因此在不作额外配置的情况下纯手工拷贝该文件还会受到太忙忘记带来的丢失和拷贝太频繁导致的重复问题。 概况 经整理,自9月19日以来,到1月2日,本人保存下来的数据只覆盖在97个UTC日历天,未经合并有26万余条,经过初步合并去除因拷贝带来的重复条目后有181552条。之所以说是初步去重,是因为有些电文在发送时也会重复多次发送,现阶段尚未考虑此类重复。这18万条消息中,包含了约8万条在校内接收的消息。由于ACARS消息在不同飞行阶段有较大差异,因此这两部分数据的数量、类型、内容因为接收地点不同而差异很大。所谓数量,在校内北向只接收了105小时,主要集中在10月14到15日、17到20日这几天,而数据量却占了总数的将近一半。 这部分数据中,总共有来自96个航司的2842个航班号、来自35个国家的2898个不同注册号。这两个数字的接近并非意味着不同的航空器担当不同的航班号,而是一架飞机担当一个航班链上的多个航班号,同时一个航班号在不同日期由不同飞机担当。这97个日历天当中,最稳定的一条是由B-5288在10月27日换季后到12月25日期间担当的8L9643(38天)、8L9679(36天)、8L9680(35天)、8L9644(32天)。相反,以出现天数最多的川航B-8680来说,它在90个日历天中执行了96个不同的航班号,其中只有3U3901/2 (24天)、3U6581/2 (11天)较为集中,超过了10次。 主要报文标签 随ACARS电报一同发送的有一个标签,是一个根据内容进行分类的标志,但由于缺乏统一的标准,飞机与航司间的电报标签比较混乱。最多的标签是36%表示内容为空(No Information to Transmit)的_d,其次是32%包含多种不同内容和性质的Message From/To Terminal (H1),再次7%的Q0与空内容类似,但其类似于握手消息,用于链路测试(ACARS Link Test)。标签14紧随其后,占据了4%的报文,虽然是General Aviation Free Text,但在国内航司以位置报和OOOI报为主,且格式各不相同。其中,位置状态报以3N01 POSRPT开头的来自山东航空(SC),以PRESENT POSITION REPORT开头的来自川航,以POS\n开头的来自众多不同航司;OOOI报有南航(CZ)、俄航(SU)的滑入,东航(MU)、联航(KN)的离地;唯有个别航司用来发送自由文本,如青岛航空(QW)用来发送舱单请求。 另外一些位置报则放在16标签(General Aviation Weather Request)下,与一些EN01(或02、03)开头的川航舱单混在一起。这些位置报的风格仍有不同,有些简洁、有些丰富。涉及的航司以成都(EU)、华夏(G5)、多彩贵州(GY)、青岛(QW)为主,还有九元(AQ)、奥凯(BK)、瑞利(DR)及诸多国内外航司。还有一些位置报放在11标签(In Range Arrival Report)下,主要来自东航(MU)和春秋(9C),与一些青岛航空(QW)的OOOI报文混合。另有以南航(CZ)为主、兼有重庆航(OQ)、中州航(I9)的以POX开头的位置报,与泰国国际(TG)的不同格式的位置报、山东航的回复收到报、东航的NOTAM请求报混合在18标签(General Aviation Weather Report)下。国航的位置(开头POS)和OOOI报(还包含CHK, CLD, DIV, ETA, RTN等特殊状态及EDP REPORT)全都混合在一个没有定义的10标签下,与国泰(CX)包含METAR和舱单的上行自由文本混合。 其他报文标签 与位置相关但不同的还有5054条(2.8%)气象报文,应当是航空气象相关机构规定的AIREP体系要求的。可由开头的02A 02D 02E区分爬升、下降、巡航阶段,因为不同阶段所规定的报告频率不同。随后的文本则表示日期、起讫点、观测坐标及高度,以及具体的气象参数。响应并参与该报告制度较多的有川航(3U)、厦航(MF)、河北航(NS)。 再次有信息价值但重复较多的是4477条A9标签的D-ATIS通播报文,其中国内航班的服务基本均由北京(BJSATYA)提供。对于国际地区航班,最多的是香港(HKGATYA)向香港和美国飞机提供香港机场服务,河内(HANATXA)、仁川(ICNDLXA)、福冈(FUKDLYA)、新加坡(SINCAYA)提供各自国家的D-ATIS,个别航司如川航、春秋、国航也设有自行提供的泰国机场的服务(ATS3UXA, ATS9CXA, ATSCAXA)。与之对应的是1463条B9标签的请求报文,格式为/XXXX.TI2/nnnXXXXDffff,其中XXXX为机场四字代码,TI2表示服务类型和版本,nnn表示每行的字符数,与航电设备的型号尺寸有关,D是方向,可以取进场或离场,最后ffff是由前边报文内容得出的四位校验值,相同请求报文的值也相同。 单报文标签分类到此还没有完全,仅将相对较多的类型进行记录。后续还会继续更新其他报文标签和格式,以便最终实现位置类信息的提取和地图可视化、信息类(AIREP、METAR、D-ATIS等气象报文)和事件类(OOOI、PDC等重要事件)报文的地图及时序可视化。