ADSB综合课程设计报告_第1页
ADSB综合课程设计报告_第2页
ADSB综合课程设计报告_第3页
ADSB综合课程设计报告_第4页
ADSB综合课程设计报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳航空航天大学综 合 课 程 设 计 ADS-B报文数据的解析研究班 级 学 号 学 生 姓 名 指 导 教 师 课 程 设 计 任 务 书课程设计的内容及要求:1、 设计说明 对接收到的ADS-B数据进行解析,就是要对航空报文有较多了解,根据编码协议对报文进行解码,从里面提取出有用信息,能让人直观理解报文信息2、 设计要求 根据链路协议及编码协议,对报文解析,要实现: 1.能够解析出速度,高度,经纬度等重要信息; 2.界面尽量友好,误差要小; 3.数据能够实时更新3、 实验要求用VC+实现编程和解析四、推荐参考资料五、按照要求撰写课程设计报告成绩评定表评语、建议或需要说明的问题:指导教师签

2、字: 日期:成 绩一、概述 空中交通管理的根本目的是使航线上的飞机安全、有效和有计划地在空域中飞行, 管制员需要对管制空域内飞机的飞行动态进行实时监视。传统的雷达监视手段采用询问/ 应答方式对目标探测。从长远来看, 雷达系统自身具有很多局限性: 雷达波束的直线传播形成了大量雷达盲区; 无法覆盖海洋和荒漠等地区; 雷达旋转周期限制了数据更新率的提高, 从而限制了监视精度的提高; 无法获得飞机的计划航路、速度等态势数据, 限制了跟踪精度的提高和短期冲突告警STCA ( Short TermConflict Alert ) 的能力。因此, 需要发展新的监视手段。广播式自动相关监视ADS- B( Au

3、tomatic DependentSurveillance- Broadcast ) 即航空器自动广播由机载星基导航和定位系统生成的精确定位信息, 地面设备和其他航空器通过航空数据链接收此信息, 卫星系统、飞机以及地基系统通过高速数据链进行空天地一体化协同监视。ADS- B 的精度和数据更新率比雷达高, 除位置信息外,ADS- B 还提供其他信息, 包括速度和飞行意向等, 尤其适合于山区、荒漠、边远机场等不宜建设雷达的区域, 也适合于高密度机场的监视, 是未来监视系统的重要组成部分和发展方向。目前,ICAO(International Civil Aviation Organization,国

4、际民用航空组织)高度重视ADSB 的发展与应用,并制订了相关的技术标准和发展规划,并一直在努力倡导在全球统一部署相同标准 ADSB 体系,实现全球范围内的飞行监控与数据共享。 我国的民用航空业目前正处于成长期,飞机的数量、飞行的规模和空域的范围都在不断扩大,需要引进并吸收 ADSB 技术,以丰富和改进我们自己的空中交通管制系统和体系,并实现与国际最新技术的接轨。在 ADSB 技术的吸收和应用中,需要不断地研究其基本原理,掌握其技术核心,促进实现国际先进技术与中国本地情况的不断融合。 导航卫星发送发送相互发送接收数据 飞机B 飞机A 地面基站 图1 ADS-B技术在航空中的应用示意图2、 ADS

5、-B 系统工作原理ADS-B OUT 系统中,主要的功能由 S 模式应答机实现,在其正常工作期间,周期性的将 DF17 格式的扩展断续振荡信号广播出去,为飞机和地面站提供相关信息包括飞机的经纬度信息、高度信息、航行速度信息等。在系统正常工作时,应答机接收来自GPS 接收机的导航消息,通过对数据的分析,提取有有用的信息部分组合成为使用于 S模式传输的报文格式,然后以特定的速率通过应答机天线发送出去,当地面站和其他飞机接收到这些信息后,通过对信息的解码、检错、纠错、报文生成过程获取这架飞机的飞行参数,高度速度等有效的信息,这些信息将非常有效的帮助完成空中管理以及飞机间的相关监视过程。 与应答机应答

6、二次雷达的询问一样,DF17 格式的扩展断续振荡信号用一个1090MHz 的载波频率进行调制并以 1Mbps 数据速率广播脉冲位置,扩展断续振荡脉冲的长度为 112 比特。 ADS-B消息结构 Bit 1-5 6-8 9-32 33-88 89-112 DF=17DF=10001 CA AA(ICAO) ME字段 PI 图2 ADS-B消息结构在接收的数据部分中,以 DF17 格式的扩展断续振荡信号为例,共有 5 个主要的飞行任务字段。其中,第一个字段为 DF 位格式字段,长度为 5 比特,主要作用在于识别扩展断续振荡的内容,此字段设置为固定值 17(十进制数),本项目工作的研究也主要针对此类

7、信号。接下来则是 3 比特的应答机能力(CA)字段,该字段描述了飞机的 S 模式数据链通信能力,如是否装载了 ADS 系统等。广播地址(AA)字段是消息中最重要的一个字段,该字段唯一的识别了每个飞机独一无二的 24 比特的 S 模式地址,用来表明飞机的身份。接下来是机载设备采集整合的信息 ME 字段,56 比特的扩展型断续振荡报文是主要的 ADS-B 消息,该消息主要包括飞机的参数信息如高度、速度、经度、纬度等信息,它为飞机参数如 GPS 位置和速度提供报文有效信息。最后,24 比特的奇偶性(PI)字段,该字段为前 88 位数据信息的 CRC 校验余数,用于实现 CRC 检错纠错。三 相关技术

8、11090 ES 数据链 1090 ES(Extended Squitter,扩展电文)的命名中包含两层含义。1090 指的是该数据链的下行传输频带是 1090MHz。ES 指的是对原有 ADS-B 报文长度的扩展。原有的报文长度一般为 56-112 比特。 1090 ES 是由 ICAO 推荐的、唯一一个可以在全球范围内使用的数据链技术,得到了美国、欧洲、亚洲等大部分国家的承认和应用。在第 11 次国际航空会议上,已经将1090 ES 作为 ADS-B 主要数据链技术,并制定了相关的协议和标准。 1090 ES 是一种 S 模式的数据链,支持一对一的询问-应答机制。S 是Selective

9、的意思,指的是可以对航空器进行选择通信。 1090 ES 采用 PPM(脉冲位置调制)编码。2. ADS-B IN 设备报文 系统采用的 ADS-B IN 设备,在收到 ADS-B 报文后,对 ADS-B 报文进行了二次封装,增加了报文头,将 ADS-B 报文作为它的载荷。封装后的报文被 ADS-B IN 设备通过网络转发给其它设备。除此之外,ADS-B IN 设备还发送一些状报文,描述设备时间和位置等信息。 ADS-B IN 设备可以发出的报文一共有三类: 1)Message Report 2)Time Report 3)Position Report 我们用的接收设备是SBS-3接收机,主

10、要分析Message Report,即DF17数据,所以其他两种 Report不多做介绍。 表1 Message report的格式 字段 长度(字节) 含义 STX 1报文头标识,其固定值为0x20 LEN 1报文长度,不包括报文头标识和结尾标识 type 1报文类型,用于区分三种类型 time 6报文到达的时间message 14报文内容flags 1报文标识 amp 1信号强度 crc 2CRC校验值,从 LEN到 amp ETX 1报文结尾标识 Message Report 的报文长度共 28 个字节。一些关键字段的说明如下: <type>字段,取值范围是 0-4,0-3

11、代表 Message Report 或 Time Report,两者的区分可以通过<message>字段的内容来辨别。0-3 的不同之处在于<time>时间标准的不同。0是本地时间,1 是 NOT COUPLED 类型的 UTC 时间,2 是 COASTING 类型的 UTC 时间,3 是 COUPLED 类型的 UTC 时间。4 代表 Position Report。 <flag>字段是一个按位解析的字段,第 0 位指示了接收的天线,其值为 0 表示从 A天线接收;值为 1 表示从 B 天线接收。第 3 位指示了<amp>字段的单位和范围,其值

12、为0 表示信号强度的单位是 ADC 的 LSB,范围是 0 到 255;值为 1 表示信号强度的单位是d Bm,范围是-127 到 127。其它位目前都没有使用,缺省设置为 0。3. ADS-B 基本报文 ADS-B 报文由业务数据和附加数据两部分组成。ADS-B 基本报文指的是从宏观的角度,将业务数据作为一个整体而不考虑其细节,所展现出来的 ADS-B 报文。ADS-B 基本报文对 ADS-B 业务数据进行了封装,作为 ADS-B 基本报文的一个独立字段存在。在ADS-B 的业务数据中,包含了不同类型的业务数据,它们具有不同的结构。本节将这些不同格式的业务数据称之为 ADS-B 业务报文。

13、ADS-B 报文的长度共 112 位,是按位进行格式设计的结构。下表是 1090ES 的报文结构定义,ADS-B 的报文基本结构包含在其中 表2 1090ES报文结构Bits 1-5Bits 6-8Bits 9-32Bits 33-88Bits8 9-112DF=17 CA AA ICAO地址 ADS-B ME字段 PIDF=18CF=0 AA ICAO地址ADS-B ME字段 PICF=1 AA 非 ICAO地址ADS-B ME字段 PICF=2 to 3 AATIS-B ME字段 PICF=4TIS-B和ADS-B管理报文 PICF=5AATIS-B ME字段 PI四信息处理 ADS-B数

14、据的信息处理包括数据的接收与解析两大部分,其中包括循环冗余校验, LSB 与 MSB,数据的打包与解包 ,多线程操作,CPR解码算法等技术,由于侧重点不同,这里主要讲一下数据的发送和接收及解析算法。1. 数据的发送和接收ADS-B 报文从发送从网络上接收最初始的数据,到转换成 ME 报文,其过程如下图所示。IP网络数据链ADS-BOUT设备机载设备数据采集设备ADS-BIN设备Message ReportMessage ReportADS-B报文ADS-B业务数据ADS-B报文ADS-B报文ADS-B报文ME报文 图3 收发,解析数据示意图数据的发送和接收遵循TCP通信协议,按照协议编码就行,

15、这里不再赘述。2. 数据的解析 数据的解析是重中之重,这是决定你能否得到想要的结果的至关重要的一步,也是本次课设所重点研究的方面。数据的编码与解析是按照协议进行的,对飞机的身份,编号,高度,速度,经纬度等信息进行编码,其中除了经纬度,其他信息大多按照进制数进行编码,不需要太复杂的算法,因此,这里只讲经纬度的算法解析。CPR解码分为全球解码和本地解码两种情况。 如果同时接收到奇编码和偶编码两个消息,那么进行全球解码。 如果只接收到一个奇编码或偶编码消息,那么进行本地解码。 不论是全球解码还是本地解码,又分为空中位置和地面位置两类情况全球明确的空中位置和地面位置的解码步骤为:1) 计算纬度Zone

16、 的尺寸DlatiDlati = 360°/( 4NL - i) 空中位置 i = 0(偶编码) 90°/( 4NL - i) 地面位置 i = 0(偶编码)2) 计算纬度索引jj = floor( 59 × YZ0 - 60 × YZ1 )/217 + 1/2)当j0 时, j = 偶纬度Zone 的编号- 60, j = 奇纬度Zone 的编号- 59;当j0 时, j= 偶纬度Zone 的编号,j = 奇纬度Zone 的编号。3)计算偶形式的纬度Rlat0和奇形式的纬度Rlat1Rlati = Dlati × MOD( j,60 - i)

17、 + YZi /217 若求出的纬度绝对值大于90°,则应减去360°。因为纬度的取值范围为-90°+90°。4) 计算纬度数NL( Rlat0) 和NL( Rlat1) 。判断NL( Rlat0) 是否与NL( Rlat1) 相等。若相等,则计算经度Zone 的尺寸Dloni。否则,继续等待下一个位置消息。5) 计算经度Zone 的尺寸Dloni。根据刚接收到的空中位置消息是偶编码( i = 0) 还是奇编码( i = 1) ,按式( 12) 计算Dloni = 360°/ni空中位置 i = 0(偶编码) 90°/ni地面位置 i

18、 = 1(奇编码)式中ni = maxNL( Rlati) - i,1。6) 采用纬度数NL,计算经度索引mm =floor XZ0×( NL( Rlati) - 1) - XZ1 ×NL( Rlati)/217 +12当m0 时,m = 偶纬度Zone 的编号- n0,m = 奇纬度Zone 的编号- n1; 当m0 时,m = 偶纬度Zone 的编号,m = 奇纬度Zone 的编号。7) 计算全球的经度Rlon0和Rlon1。根据接收到的ADS- B 位置消息是偶编码( i = 0)还是奇编码( i = 1) ,按式 计算Rloni = Dloni × MOD

19、( m,ni) + XZi /2 若求出的经度绝对值大于180°, 则应减去360°。因为经度的取值范围为-180° +180°。如何实现飞机的经度和纬度消息的CPR 格式的编码和解码, 是1090ES ADS- B 系统中有效提高ADS- B 位置消息传输效率的关键。本文针对全球位置和本地位置两种情况,阐明了飞机在空中位置和地面位置时经度和纬度的编解码算法的基本原理和详细的实现步骤, 有助于从事ADS- B 技术的科技人员掌握CPR 编解码的原理和进行相关的软件开发。ADS-B消息提取提取CPR数据否是奇编码存储CPR编码数据,设置Target_TTL

20、,ODD_TTL存储CPR编码数据,设置Target_TTL,EVEN_TTL否否是ODD_TTL为0EVEN_TTL为0计算NL(Rlat0)和NL(Rlat1计算NL(Rlat0)和NL(Rlat1)NL(Rlat1)否否是否相等是否相等是是提取其他信息计算Rlat0计算Rlat1存储解码位置信息存储解码位置信息信息 结束 结束 图 4 CPR 消息解码流程图 图4 解析数据界面 四.课程设计体会 不知不觉这次课程已经结束,这个学期接触了它我了解了很多。从刚开始的一无所知到逐渐熟悉,这个过程是令人充实的。每做一个实验,我感觉我收获不少。做实验是让我们对平时的理论知识与实际操作相结合,在理论

21、和实验中更进一步去掌握自己学到的知识比加以掌握和提高,学会将知识应用与实际的方法,提高分析和解决问题的能力。在实验过程中,我感到自己的实力有限。有些东西没见过,不是在我的能力范围内。经过我自己慢慢的学习与探讨我终于有了些眉目。通过这次的课程设计,我充分认识到理论与实际相结合的重要性,理论知识再丰富,没有实际的操作经验,自身的能力是不会有所提高的。我认为,在学习中要学以致用,不能过分的盲目的学习理论知识,我们必须要将理论与实践结合。应该侧重于基本方法和使用实例。从软件的应用环境和特点来看,培养一定的应用系统的分析能力和初步设计能力而为以后的学习以及设计才是最终目的。社会的竞争是激烈的,我们应该把

22、握大学学习的时间,充分利用好自己的价值,充实自己,完善自我,全面发展,做一名优秀的大学生,努力做好自己的事,让自己成为有用之才。卫星导航行业是一个朝阳行业,我国的北斗导航目前正处于全球组网的快速发展时期,我这次的课设乃至以后的毕设正是这方面的研究,我相信经过课设和毕设,我的水平一定会再上一个台阶,为今后的工作和生活提供不小的助力。 参考文献: 1 顾春平.空中交通管制新技术监视新技术简介J.现代雷达,2010,32(9): 1-7. 2 1090 兆赫扩展电文广播式自动相关监视地面站(接收)设备测试要求S.民航局空管局技术中心(0207 版),2011. 3吕小平. ADSB 应用中 UAT

23、技术介绍J, 空中交通管理, 2007,(8), 19-21 4 丁立平. 基于 VDL-4 技术的机场场面车辆管理系统研究J. 指挥信息系统与技术, 2010, (6), 55-60 5 邱伟杰. ADSB 广播式自动相关监视系统多数据链路融合方案探索J. 6 肖飞; 余子寒; 隋天宇; 刘文. LTE 中 CRC 算法的研究与实现J. 电子测量技术. 2014, (7), 36-397 李耀.基于模式 S 的 ADS-B 系统研究D.武汉:电子科技大学硕士论文,20088 李自俊.ADS-B 广播式自动关监视原理及未来的发展和应用J中国民航飞行学院学报,2008(5):11-14.9 苏英

24、振.积极推进空中交通管制一体化建设J国防,2008(6):59-6010 中国民航科学技术研究指南(2005-2010) M.中国民航总局,2005.11 ICAO. Comparative Analysis of ADS-B data LinksR.AN-Conf/11-IP/1 2.Montreal,CANADA:ICAO,2003.CPR部分算法#include "stdio.h"#include "stdlib.h"#include <math.h>#include "cpr.h"# define#define L

25、ATZ 15#define MAX(x, y) (x) > (y) ? (x) : (y)int nz(int type) return 4 * LATZ - type;float nl(float lat) if (abs(lat) >= 87.0) return 1.0; return floor( (2.0 * M_PI) * pow(acos(1.0 - (1.0 - cos(M_PI / (2.0 * LATZ) / pow(cos(M_PI / 180.0) * abs(lat), 2), -1) );float dlat(int type, int surface)

26、float res = surface ? 90.0 : 360.0; int nz_val = nz(type); if (nz_val) return res / nz_val; else return res;float dlng(float dec_lat, int type, int surface) float res = surface ? 90.0 : 360.0; float nl_val = MAX(nl(dec_lat) - type, 1); return res / nl_val;float decode_lat(int enc_lat, int type, int

27、surface, float recv_lat) float t1 = dlat(type, surface); float t2 = (float) enc_lat) / pow(2, 17); float j = floor(recv_lat / t1) + floor(0.5 + (fmod(recv_lat, t1) / t1) - t2); return t1 * (j + t2);float decode_lng(float dec_lat, int enc_lon, int type, int surface, float recv_lng) float t1 = dlng(de

28、c_lat, type, surface); float t2 = (float) enc_lon) / pow(2, 17); float m = floor(recv_lng / t1) + floor(0.5 + (fmod(recv_lng, t1) / t1) - t2); return t1 * (m + t2);struct dec_location *cpr_resolve_local(struct dec_location *recv, struct enc_location *loc, int type, int surface) float dec_lat = decod

29、e_lat(loc->lat, type, surface, recv->lat); float dec_lng = decode_lng(dec_lat, loc->lng, type, surface, recv->lng); struct dec_location *dec_loc = (dec_location *)malloc(sizeof(*dec_loc); dec_loc->lat = dec_lat; dec_loc->lng = dec_lng; return dec_loc;struct dec_location *cpr_resolv

30、e_global(struct enc_location *even, struct enc_location *odd, struct dec_location *recv, int recent_type, int surface) float dlat_even = dlat(0, surface); float dlat_odd = dlat(1, surface); float even_lat = (float) even->lat; float even_lng = (float) even->lng; float odd_lat = (float) odd->lat; float odd_lng = (float) odd->lng; /* latitude index */ float j = floor(nz(1) * even_lat - nz(0) * odd_lat) / pow(2,17) + 0.5); float rlat_even = dl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论