论文部分内容阅读
【摘 要】ADS-B全称是Automatic Dependent Surveillance -Broadcast,即广播式自动相关监视。ADS-B与传统雷达监视技术相比,具有数据精度高、数据更新速度快、使用成本低、监视能力强等明显优点,在民航系统中得到了广泛的应用。例如民航浙江空管分局,目前已安装使用了一套ADS-B三级数据站,及4套ADS-B地面站设备,分别在义乌机场、衢州机场、千岛湖通用机场及杭州萧山机场。目前使用的ADS-B系统下行数据均采用1090ES地空数据链,其中应用层使用的DF-17数据编码,本文重点研究了DF-17报文中对飞机经纬度的压缩位置编码及解码算法的原理,为后端的ADS-B数据采集、融合、处理及显示奠定了基础。
【关键词】广播自动相关监视;数据解析;DF-17数据帧;数据压缩位置编码
一、DF-17数据帧结构
ADS-B 报文通过空空、空地数据链广播式传播,系统广播出的数据包括 8?s 前导脉冲和 112?s的数据脉冲,前导脉冲(应答报头)形状固定,表示ADS-B报文的开始,后面为112?s为数据脉冲,数据通过脉冲位置调制进行编码[1]。数据块部分为双层结构,第一层由5个字段组成:DF,CA,AA,ME,PI。其中DF(Downlink Format)字段表示下行链路格式,用于区分不同应答机发送的数据链格式,占5bit。DF不同此后的3bit子类型意义不同。例如DF=17,表示数据类型是基于二次雷达S模式的ADS-B数据链。
其中33-88bit的ME字段被再次划分,为第二层结构。ME 字段是状态数据字段,包含ADS-B 系统各种实用数据,共占56bit。该字段中可以包含不同类型的状态数据,例如的空中位置信息、地面位置信息和飞行器ID以及类型信息等。最后的PI 字段是奇偶校验字段,采用CRC校验段,用于纠检错处理,共占24bit[2]。
其中类型(TYPE)字段占ME字段的1-5bit,可以编码为32个不同的值,因此ME消息字段总共有32种不同的编码方式。其中有几种已分配的类型分别表示了ADS-B消息中的空中位置信息、地面位置信息、飞机身份与类别信息、空中速度信息、飞行位置、飞机的状态等。不同类型的ME字段拥有相同的帧格式,通过判断ME字段内容,可以分析属于哪种信息,并且得到不同的数据。本文主要对含有经纬度位置信息的空中位置报及地面位置报进行详细描述。
二、空中位置报
空中位置信息中的“ME”字段格式如下所示,每一個分区的内容如下,包含了高度位置信息以及简洁位置编码(CPR)后的经度、纬度数据[3]。
CPR格式字段:占1比特,位于“ME”字段的22比特,用来表示简洁位置编码(CPR)是奇编码还是偶编码。当该位为0时,表示为偶编码,为1时,表示奇编码。奇编码和偶编码的不同采用的是相同的编码方法,只是位置数据获取的时刻不同。当时间位为0时,奇编码和偶编码交替出现,交替频率为0.2秒UTC。
CPR编码纬度:占17比特,“ME”字段的23-39比特,表示进行简洁位置编码后的飞机纬度。CPR编码经度:占17比特,“ME”字段的40-56比特,表示进行简洁位置编码后的飞机经度。
三、地面位置报
地面位置报与空中位置报的格式十分相同,不同的地面位置报描述了目标在地面时的状态与速度大小方向,没有高度位。
其中类型位只能编码为5、6、7、8这四个固定值。53bit-88bit中的时间码、CPR格式码、CPR编码纬度、CPR编码经度与 “空中位置报”中对应的各位编码方式相同,不再做过多的介绍。
四、压缩位置解码算法原理
CPR编码是为提高了ADS-B消息传输效率而设计的位置编码方式,由于飞机在正常飞行情况下,表示经纬度的编码在较长的时间内不会发生很大的变化,这样消息传输的效率就很低。而采用了CPR编码方法,通过对地球进行区域的划分,然后只对划分后的区域进行两种不同方式(奇和偶)的编码,避免了高阶位的重复发送,在接收端通过比较不同类型的编码消息,得出位置信息,如此一来就提高了传输效率。
CPR的编码方式是根据经纬度进行两极划分,首先把全球的纬度划分为奇、偶两种区段(Zone),其次把全球经度也划分为奇、偶两种区段(Zone),最后把划分完成的纬度奇、偶区段和经度奇、偶区段进行二次划分,划分为更小的箱块(Bin),无论是经度区还是纬度区,一个区段内,箱块的个数固定。CPR采用划分后目标所在的箱块中心值来表示实际经纬度位置,箱块的编号就是CPR的编码[4]。
高度就决定了编码的精度。CPR最终的编码结果是用经度与纬度的奇偶编码箱块编号表示,就是和。
下图为CPR编码的详细过程,首先要进行纬度的编码,再根据纬度位置求得经度区个数NL,从而计算得到经度编码。实际情况下获得的奇编码与偶编码位置有一定的相差,若根据奇偶编码纬度计算出的NL不相同,则误差较大舍弃数据。
五、CPR解码算法实现
CPR解码算法分为本地解码(local decoding)和全球解码(global decoding)。本地解码只能限制在区段的范围进行解码,而且还需要一个已经确定的位置作为参考。但是本地解码可以使用任何一个格式的CPR位置编码,而且也没有接收时间的限制。而全球解码则需接收一对奇偶位置编码信息。对于在空中位置的飞机来说,这一对奇偶编码数据接收时间不能超过10s,若在地面位置则间隔为50s。这种方法不需要设置参考点,解码出来的位置信息也是确定的。
通常在目标第一次出现时,使用全球解码计算出一个确定的位置。然后,才切换到本地解码计算后续的更新位置[6]。
(1)全球解码
全球解码原理是:偶区段和奇区段的边界之差与区段序号存在一种线性关系,而偶区段和奇区段边界之差可以通过偶编码和奇编码计算出来。并且,这种线性关系,无论在纬度区段,还是在经度区段,都存在。 如图所示,目标分别位于偶区段P0位置,奇区段P1位置。从区段0开始,奇区段跟偶区段相差一个,以此类推区段2相差。
得到确切的纬度值以后开始进行经度的解码,首先计算出NL。
如果计算出的奇偶区塊数目不相同,则表示两次收到的位置信息不再同一个纬度区域内,这种情况说明飞行器在跨越纬度区域,不能解码,则需等待接收到位置信息中经纬度区域值相等时再解码。如果相等,则可以计算ZO的值:
特殊情况:NL=1时,经度区段的长度为360°此时无需用公式计算,区段编号为0。
因此,全球解码的总流程为:首先获取到ADS-B数据中的CPR位置数据与CPR格式,然后计算出奇、偶编码的纬度区段差,由已知的一个奇、偶纬度区段差ZO可以得到纬度的区段编号j,从而计算出实际的纬度。然后由求出的纬度,计算出在该纬度上的经度区段数NL,判读一致后,进行经度解码,与纬度解码过程相同,最后求出飞机实际位置,具体流程如下图:
(2)本地解码
本地解码需要使用一个参考点,但参考点的选择不是随便的。参考点(Reference Position,RP)和编码位置(Encoded Position,EP)之间的差的绝对值必须在1/2个纬(经)度区块内。本地解码的原理是:以参考点为中心,建立纬度和经度的滑动窗口。滑动窗口的宽度是1个区段的尺寸,这样在滑动窗口内就不会出现重复的箱块编号。保证了解码的唯一性。
纬度的解码过程如下:
设ZI为纬度区段序号,则目标点的纬度区段号为:
左边是编码位置纬度区段序号,右边是参考点纬度区段序号,以及参考点和目标点的纬度区段序号差。由于滑动窗口的大小限制,差值的值只能是 1,-1 或 0。由此可见,目标点的纬度可由参考点纬度以及区段长度得到。
参考点区段编码号计算:
的值可以由参考点与目标点的相对位置关系计算得到。设为比例因子,它表示了位置为P的点,其纬度在所在区段中位置与区段总长度的之比。可以用纬度实际值进行计算,也可以使用CPR编码值进行计算。和就采用了这两种方法。
由上图可知,参考点与目标点的位置关系,大概可以概括为三种:EP与RP同一区段,EP比RP北一个纬度区,EP比RP南一个纬度区。由此,可以总结出公式:
计算后可知:在EP与RP同一个区块内,值为0;EP比RP北一个纬度区,值为1;EP比RP南一个纬度区,值为-1。
把以上公式都带入(4-16)可以得到最终公式:
本地解码完成。
总过程可以描述为,由已知的一点知道确切位置的参考点,与目标点相对比,由参考点的纬度区段号和计算出的参考点比例因子、目标点比例因子可得目标点的区段号,从而解码出飞机位置,具体解码流程如下图:
六、结语
随着杭州地区航班量的飙升和民航空中交通管制事业的快速发展,浙江空管分局的ADS-B系统已于2019年开放使用,有效地解决雷达监视的覆盖问题,提供了更高质量的监控。本文工作主要是从 ADS-B 报文中获取航迹数据,对简洁位置编码(CPR)后的飞机位置进行解码,CPR采取奇编码和偶编码两种方式,截取到同一目标的两种编码后的不同结果,根据计算公式可以得到飞机当前的位置,完成解码。通过飞机ADS-B下行链路DF-17的解析,解析了飞机ADS-B报文中的多种信息。通过获取到的飞行位置参数,可以为其后的飞机航迹显示、飞行数据融合奠定基础,具有一定的应用价值。
参考文献:
[1]宫淑丽.机场场面移动目标监视系统关键技术研究[D].南京航空航天大学,2012.
[2]徐天宇.浅谈 ADS-B 技术在我国民航上的应用和发展[J].江苏航空,2012,12(4):62-64
[3]Dependent Surveillance Broadcast(ADS-B).1140 Connecticut Avenue,NW,Suite 10200Washington,DC 20036-4001,U.S.A. 2000
[4]斯坦利·李普曼,约瑟·拉乔伊,芭芭拉·默,王刚,杨巨峰.C++ Primer中文版(第5版)[J].中国科技信息,2013,20:28.
[5]程擎.中国实施 ADS-B 监视的地面站部署分析[J].电讯技术.2012,52(8):1227-1231
[6]WEN BOLONG,LI YUBAI,LI HUAN,PENG WEI. An Expanded Description of the CPR Algorithm [A].IEEE,2011:4.
作者简介:
邱昕钰(1994—),女,本科,助理工程师。
(作者单位:中国民用航空华东地区空中交通管理局浙江分局)
【关键词】广播自动相关监视;数据解析;DF-17数据帧;数据压缩位置编码
一、DF-17数据帧结构
ADS-B 报文通过空空、空地数据链广播式传播,系统广播出的数据包括 8?s 前导脉冲和 112?s的数据脉冲,前导脉冲(应答报头)形状固定,表示ADS-B报文的开始,后面为112?s为数据脉冲,数据通过脉冲位置调制进行编码[1]。数据块部分为双层结构,第一层由5个字段组成:DF,CA,AA,ME,PI。其中DF(Downlink Format)字段表示下行链路格式,用于区分不同应答机发送的数据链格式,占5bit。DF不同此后的3bit子类型意义不同。例如DF=17,表示数据类型是基于二次雷达S模式的ADS-B数据链。
其中33-88bit的ME字段被再次划分,为第二层结构。ME 字段是状态数据字段,包含ADS-B 系统各种实用数据,共占56bit。该字段中可以包含不同类型的状态数据,例如的空中位置信息、地面位置信息和飞行器ID以及类型信息等。最后的PI 字段是奇偶校验字段,采用CRC校验段,用于纠检错处理,共占24bit[2]。
其中类型(TYPE)字段占ME字段的1-5bit,可以编码为32个不同的值,因此ME消息字段总共有32种不同的编码方式。其中有几种已分配的类型分别表示了ADS-B消息中的空中位置信息、地面位置信息、飞机身份与类别信息、空中速度信息、飞行位置、飞机的状态等。不同类型的ME字段拥有相同的帧格式,通过判断ME字段内容,可以分析属于哪种信息,并且得到不同的数据。本文主要对含有经纬度位置信息的空中位置报及地面位置报进行详细描述。
二、空中位置报
空中位置信息中的“ME”字段格式如下所示,每一個分区的内容如下,包含了高度位置信息以及简洁位置编码(CPR)后的经度、纬度数据[3]。
CPR格式字段:占1比特,位于“ME”字段的22比特,用来表示简洁位置编码(CPR)是奇编码还是偶编码。当该位为0时,表示为偶编码,为1时,表示奇编码。奇编码和偶编码的不同采用的是相同的编码方法,只是位置数据获取的时刻不同。当时间位为0时,奇编码和偶编码交替出现,交替频率为0.2秒UTC。
CPR编码纬度:占17比特,“ME”字段的23-39比特,表示进行简洁位置编码后的飞机纬度。CPR编码经度:占17比特,“ME”字段的40-56比特,表示进行简洁位置编码后的飞机经度。
三、地面位置报
地面位置报与空中位置报的格式十分相同,不同的地面位置报描述了目标在地面时的状态与速度大小方向,没有高度位。
其中类型位只能编码为5、6、7、8这四个固定值。53bit-88bit中的时间码、CPR格式码、CPR编码纬度、CPR编码经度与 “空中位置报”中对应的各位编码方式相同,不再做过多的介绍。
四、压缩位置解码算法原理
CPR编码是为提高了ADS-B消息传输效率而设计的位置编码方式,由于飞机在正常飞行情况下,表示经纬度的编码在较长的时间内不会发生很大的变化,这样消息传输的效率就很低。而采用了CPR编码方法,通过对地球进行区域的划分,然后只对划分后的区域进行两种不同方式(奇和偶)的编码,避免了高阶位的重复发送,在接收端通过比较不同类型的编码消息,得出位置信息,如此一来就提高了传输效率。
CPR的编码方式是根据经纬度进行两极划分,首先把全球的纬度划分为奇、偶两种区段(Zone),其次把全球经度也划分为奇、偶两种区段(Zone),最后把划分完成的纬度奇、偶区段和经度奇、偶区段进行二次划分,划分为更小的箱块(Bin),无论是经度区还是纬度区,一个区段内,箱块的个数固定。CPR采用划分后目标所在的箱块中心值来表示实际经纬度位置,箱块的编号就是CPR的编码[4]。
高度就决定了编码的精度。CPR最终的编码结果是用经度与纬度的奇偶编码箱块编号表示,就是和。
下图为CPR编码的详细过程,首先要进行纬度的编码,再根据纬度位置求得经度区个数NL,从而计算得到经度编码。实际情况下获得的奇编码与偶编码位置有一定的相差,若根据奇偶编码纬度计算出的NL不相同,则误差较大舍弃数据。
五、CPR解码算法实现
CPR解码算法分为本地解码(local decoding)和全球解码(global decoding)。本地解码只能限制在区段的范围进行解码,而且还需要一个已经确定的位置作为参考。但是本地解码可以使用任何一个格式的CPR位置编码,而且也没有接收时间的限制。而全球解码则需接收一对奇偶位置编码信息。对于在空中位置的飞机来说,这一对奇偶编码数据接收时间不能超过10s,若在地面位置则间隔为50s。这种方法不需要设置参考点,解码出来的位置信息也是确定的。
通常在目标第一次出现时,使用全球解码计算出一个确定的位置。然后,才切换到本地解码计算后续的更新位置[6]。
(1)全球解码
全球解码原理是:偶区段和奇区段的边界之差与区段序号存在一种线性关系,而偶区段和奇区段边界之差可以通过偶编码和奇编码计算出来。并且,这种线性关系,无论在纬度区段,还是在经度区段,都存在。 如图所示,目标分别位于偶区段P0位置,奇区段P1位置。从区段0开始,奇区段跟偶区段相差一个,以此类推区段2相差。
得到确切的纬度值以后开始进行经度的解码,首先计算出NL。
如果计算出的奇偶区塊数目不相同,则表示两次收到的位置信息不再同一个纬度区域内,这种情况说明飞行器在跨越纬度区域,不能解码,则需等待接收到位置信息中经纬度区域值相等时再解码。如果相等,则可以计算ZO的值:
特殊情况:NL=1时,经度区段的长度为360°此时无需用公式计算,区段编号为0。
因此,全球解码的总流程为:首先获取到ADS-B数据中的CPR位置数据与CPR格式,然后计算出奇、偶编码的纬度区段差,由已知的一个奇、偶纬度区段差ZO可以得到纬度的区段编号j,从而计算出实际的纬度。然后由求出的纬度,计算出在该纬度上的经度区段数NL,判读一致后,进行经度解码,与纬度解码过程相同,最后求出飞机实际位置,具体流程如下图:
(2)本地解码
本地解码需要使用一个参考点,但参考点的选择不是随便的。参考点(Reference Position,RP)和编码位置(Encoded Position,EP)之间的差的绝对值必须在1/2个纬(经)度区块内。本地解码的原理是:以参考点为中心,建立纬度和经度的滑动窗口。滑动窗口的宽度是1个区段的尺寸,这样在滑动窗口内就不会出现重复的箱块编号。保证了解码的唯一性。
纬度的解码过程如下:
设ZI为纬度区段序号,则目标点的纬度区段号为:
左边是编码位置纬度区段序号,右边是参考点纬度区段序号,以及参考点和目标点的纬度区段序号差。由于滑动窗口的大小限制,差值的值只能是 1,-1 或 0。由此可见,目标点的纬度可由参考点纬度以及区段长度得到。
参考点区段编码号计算:
的值可以由参考点与目标点的相对位置关系计算得到。设为比例因子,它表示了位置为P的点,其纬度在所在区段中位置与区段总长度的之比。可以用纬度实际值进行计算,也可以使用CPR编码值进行计算。和就采用了这两种方法。
由上图可知,参考点与目标点的位置关系,大概可以概括为三种:EP与RP同一区段,EP比RP北一个纬度区,EP比RP南一个纬度区。由此,可以总结出公式:
计算后可知:在EP与RP同一个区块内,值为0;EP比RP北一个纬度区,值为1;EP比RP南一个纬度区,值为-1。
把以上公式都带入(4-16)可以得到最终公式:
本地解码完成。
总过程可以描述为,由已知的一点知道确切位置的参考点,与目标点相对比,由参考点的纬度区段号和计算出的参考点比例因子、目标点比例因子可得目标点的区段号,从而解码出飞机位置,具体解码流程如下图:
六、结语
随着杭州地区航班量的飙升和民航空中交通管制事业的快速发展,浙江空管分局的ADS-B系统已于2019年开放使用,有效地解决雷达监视的覆盖问题,提供了更高质量的监控。本文工作主要是从 ADS-B 报文中获取航迹数据,对简洁位置编码(CPR)后的飞机位置进行解码,CPR采取奇编码和偶编码两种方式,截取到同一目标的两种编码后的不同结果,根据计算公式可以得到飞机当前的位置,完成解码。通过飞机ADS-B下行链路DF-17的解析,解析了飞机ADS-B报文中的多种信息。通过获取到的飞行位置参数,可以为其后的飞机航迹显示、飞行数据融合奠定基础,具有一定的应用价值。
参考文献:
[1]宫淑丽.机场场面移动目标监视系统关键技术研究[D].南京航空航天大学,2012.
[2]徐天宇.浅谈 ADS-B 技术在我国民航上的应用和发展[J].江苏航空,2012,12(4):62-64
[3]Dependent Surveillance Broadcast(ADS-B).1140 Connecticut Avenue,NW,Suite 10200Washington,DC 20036-4001,U.S.A. 2000
[4]斯坦利·李普曼,约瑟·拉乔伊,芭芭拉·默,王刚,杨巨峰.C++ Primer中文版(第5版)[J].中国科技信息,2013,20:28.
[5]程擎.中国实施 ADS-B 监视的地面站部署分析[J].电讯技术.2012,52(8):1227-1231
[6]WEN BOLONG,LI YUBAI,LI HUAN,PENG WEI. An Expanded Description of the CPR Algorithm [A].IEEE,2011:4.
作者简介:
邱昕钰(1994—),女,本科,助理工程师。
(作者单位:中国民用航空华东地区空中交通管理局浙江分局)