收藏 分销(赏)

ADS-B综合课程设计报告.doc

上传人:快乐****生活 文档编号:4364264 上传时间:2024-09-13 格式:DOC 页数:12 大小:108.50KB
下载 相关 举报
ADS-B综合课程设计报告.doc_第1页
第1页 / 共12页
ADS-B综合课程设计报告.doc_第2页
第2页 / 共12页
ADS-B综合课程设计报告.doc_第3页
第3页 / 共12页
ADS-B综合课程设计报告.doc_第4页
第4页 / 共12页
ADS-B综合课程设计报告.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

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

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

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

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

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

6、问一样,DF17 格式得扩展断续振荡信号用一个1090MHz 得载波频率进行调制并以 1Mbps 数据速率广播脉冲位置,扩展断续振荡脉冲得长度为 112 比特。 ADSB消息结构 Bit 15 68 932 3388 89112 DF=17DF=10001 CA AA(ICAO) ME字段 PI 图2 ADSB消息结构在接收得数据部分中,以 DF17 格式得扩展断续振荡信号为例,共有 5 个主要得飞行任务字段。其中,第一个字段为 DF 位格式字段,长度为 5 比特,主要作用在于识别扩展断续振荡得内容,此字段设置为固定值 17(十进制数),本项目工作得研究也主要针对此类信号。接下来则就是 3 比

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

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

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

10、port,即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 个字节。一些关键字段得说明如下: 字段,取值范围就是 04,03 代表 Message Report 或 Time R

11、eport,两者得区分可以通过字段得内容来辨别。03 得不同之处在于时间标准得不同。0就是本地时间,1 就是 NOT COUPLED 类型得 UTC 时间,2 就是 COASTING 类型得 UTC 时间,3 就是 COUPLED 类型得 UTC 时间。4 代表 Position Report。 字段就是一个按位解析得字段,第 0 位指示了接收得天线,其值为 0 表示从 A天线接收;值为 1 表示从 B 天线接收。第 3 位指示了字段得单位与范围,其值为0 表示信号强度得单位就是 ADC 得 LSB,范围就是 0 到 255;值为 1 表示信号强度得单位就是d Bm,范围就是127 到 127

12、。其它位目前都没有使用,缺省设置为 0。字段得计算采用了常用得 CRC16,其生成多项式就是 X16+X15+X2+1,对应得二进制位列为 1 1000 0000 00000101,因为其 MSB 必然为 1,可以省略 MSB,简写为10101。3、 ADSB 基本报文 ADSB 报文由业务数据与附加数据两部分组成。ADSB 基本报文指得就是从宏观得角度,将业务数据作为一个整体而不考虑其细节,所展现出来得 ADSB 报文。ADSB 基本报文对 ADSB 业务数据进行了封装,作为 ADSB 基本报文得一个独立字段存在。在ADSB 得业务数据中,包含了不同类型得业务数据,它们具有不同得结构。本节将

13、这些不同格式得业务数据称之为 ADSB 业务报文。 ADSB 报文得长度共 112 位,就是按位进行格式设计得结构。下表就是 1090ES 得报文结构定义,ADSB 得报文基本结构包含在其中 表2 1090ES报文结构Bits 15Bits 68Bits 932Bits 3388Bits8 9112DF=17 CA AA ICAO地址 ADSB ME字段 PIDF=18CF=0 AA ICAO地址ADSB ME字段 PICF=1 AA 非 ICAO地址ADSB ME字段 PICF=2 to 3 AATISB ME字段 PICF=4TISB与ADSB管理报文 PICF=5AATISB ME字段

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

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

16、:1) 计算纬度Zone 得尺寸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) + YZi /217 若求出得纬度绝对值大于90,则应减去3

17、60。因为纬度得取值范围为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 = 1(奇编码)式中ni = maxNL( Rlati) i,1。6) 采用纬度数NL,计算经度索引mm =floor XZ0(

18、 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( m,ni) + XZi /2 若求出得经度绝对值大于180, 则应减去360。因为经度得取值范围为180 +180。如何实现飞机得经度与纬度消息得CPR 格式得编码与解码, 就是

19、1090ES ADS B 系统中有效提高ADS B 位置消息传输效率得关键。本文针对全球位置与本地位置两种情况,阐明了飞机在空中位置与地面位置时经度与纬度得编解码算法得基本原理与详细得实现步骤, 有助于从事ADS B 技术得科技人员掌握CPR 编解码得原理与进行相关得软件开发。ADSB消息提取提取CPR数据否就是奇编码存储CPR编码数据,设置Target_TTL,ODD_TTL存储CPR编码数据,设置Target_TTL,EVEN_TTL否否就是ODD_TTL为0EVEN_TTL为0计算NL(Rlat0)与NL(Rlat1计算NL(Rlat0)与NL(Rlat1)NL(Rlat1)否否就是否相

20、等就是否相等就是就是提取其她信息计算Rlat0计算Rlat1存储解码位置信息存储解码位置信息信息 结束 结束 图 4 CPR 消息解码流程图 图4 解析数据界面四、课程设计体会 不知不觉这次课程已经结束,这个学期接触了它我了解了很多。从刚开始得一无所知到逐渐熟悉,这个过程就是令人充实得。每做一个实验,我感觉我收获不少。做实验就是让我们对平时得理论知识与实际操作相结合,在理论与实验中更进一步去掌握自己学到得知识比加以掌握与提高,学会将知识应用与实际得方法,提高分析与解决问题得能力。在实验过程中,我感到自己得实力有限。有些东西没见过,不就是在我得能力范围内。经过我自己慢慢得学习与探讨我终于有了些眉

21、目。通过这次得课程设计,我充分认识到理论与实际相结合得重要性,理论知识再丰富,没有实际得操作经验,自身得能力就是不会有所提高得。我认为,在学习中要学以致用,不能过分得盲目得学习理论知识,我们必须要将理论与实践结合。应该侧重于基本方法与使用实例。从软件得应用环境与特点来瞧,培养一定得应用系统得分析能力与初步设计能力而为以后得学习以及设计才就是最终目得。社会得竞争就是激烈得,我们应该把握大学学习得时间,充分利用好自己得价值,充实自己,完善自我,全面发展,做一名优秀得大学生,努力做好自己得事,让自己成为有用之才。卫星导航行业就是一个朝阳行业,我国得北斗导航目前正处于全球组网得快速发展时期,我这次得课

22、设乃至以后得毕设正就是这方面得研究,我相信经过课设与毕设,我得水平一定会再上一个台阶,为今后得工作与生活提供不小得助力。 参考文献: 1 顾春平、空中交通管制新技术监视新技术简介J、现代雷达,2010,32(9): 17、 2 1090 兆赫扩展电文广播式自动相关监视地面站(接收)设备测试要求S、民航局空管局技术中心(0207 版),2011、 3吕小平、 ADSB 应用中 UAT 技术介绍J, 空中交通管理, 2007,(8), 1921 4 丁立平、 基于 VDL4 技术得机场场面车辆管理系统研究J、 指挥信息系统与技术, 2010, (6), 5560 5 邱伟杰、 ADSB 广播式自动

23、相关监视系统多数据链路融合方案探索J、 6 肖飞; 余子寒; 隋天宇; 刘文、 LTE 中 CRC 算法得研究与实现J、 电子测量技术、 2014, (7), 36397 李耀、基于模式 S 得 ADSB 系统研究D、武汉:电子科技大学硕士论文,20088 李自俊、ADSB 广播式自动关监视原理及未来得发展与应用J.中国民航飞行学院学报,2008(5):1114、9 苏英振、积极推进空中交通管制一体化建设J.国防,2008(6):596010 中国民航科学技术研究指南(20052010) M、中国民航总局,2005、11 ICAO、 parative Analysis of ADSB data

24、 LinksR、ANConf/11IP/1 2、Montreal,CANADA:ICAO,2003、CPR部分算法#include stdio、h#include stdlib、h#include #include cpr、h# define M_PI 3、149323846#define LATZ 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

25、* 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) 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 =

26、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 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) t

27、2); return t1 * (j + t2);float decode_lng(float dec_lat, int enc_lon, int type, int surface, float recv_lng) float t1 = dlng(dec_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_

28、location *cpr_resolve_local(struct dec_location *recv, struct enc_location *loc, int type, int surface) float dec_lat = decode_lat(loclat, type, surface, recvlat); float dec_lng = decode_lng(dec_lat, loclng, type, surface, recvlng); struct dec_location *dec_loc = (dec_location *)malloc(sizeof(*dec_l

29、oc); dec_loclat = dec_lat; dec_loclng = dec_lng; return dec_loc;struct dec_location *cpr_resolve_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

30、= (float) evenlat; float even_lng = (float) evenlng; float odd_lat = (float) oddlat; float odd_lng = (float) oddlng; /* latitude index */ float j = floor(nz(1) * even_lat nz(0) * odd_lat) / pow(2,17) + 0、5); float rlat_even = dlat_even * (fmod(j, nz(0) + even_lat / pow(2,17); float rlat_odd = dlat_o

31、dd * (fmod(j, nz(1) + odd_lat / pow(2,17); if (rlat_even 270、0) rlat_even = 360、0; if (rlat_odd 270、0) rlat_odd = 360、0; if (nl(rlat_even) != nl(rlat_odd) return 0; float rlat = recent_type ? rlat_odd : rlat_even; if (surface & recvlat lng; if (wat 180) rlng = 360、0; struct dec_location *dec_loc = (dec_location *)malloc(sizeof(*dec_loc); dec_loclat = rlat; dec_loclng = rlng; return dec_loc;void main

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服