雷张华 李方军 邱 天 朱永杰
(西安电子工程研究所 西安 710100)
根据某用户国的作战使用要求,需在原雷达终端已实现的自定义通信接口基础之上,采用通用化、标准化、结构化、可扩展化的ASTERIX协议替代现有接口,以适应搜索雷达信息与用户国的上级通信系统可以使用标准的信息传输格式完成通信互连,以保证数据的可靠描述与数据交换。雷达终端分系统软件包含数据处理软件、操控管理软件、显示控制软件。
ASTERIX(All Purpose Structured Euro-control Radar Information Exchange)[1]是欧管组织为监视、协同合作时定义的通用信息交换数据格式标准,而且美国雷神雷达、法国 Thales 雷达、比利时的 Indra 雷达,意大利的 Alenia 雷达,以及近年来新兴的广播式自动相关监视ADS-B (Automatic Dependent Surveillance-BroadCast)和多点定位技术[2],均采用了ASTERIX标准。上世纪八十年代末,发表了ASTERIX用户手册,它描述了框架和数据项(data item),包括单雷达、气象雷达等设备。自九十年代末期开始,由欧管组织不断更新ASTERIX标准里的不同记录类型CAT的版本。ASTERIX标准是一种应用层/表示层协议,在定义了基础数据项基础之上,也支持用户自定义,以满足数据的传输和交换,它的目的在于允许两个应用之间使用彼此认可的数据交换表示方法,进行有效的信息传输。ASTERIX 共定义了 256 种数据类别,用于区分不同的应用场景,CAT000-CAT127类用于标准的民用和军用监视信息交换,CAT128-CAT240 类用于特殊民用和军用监视信息交换,CAT241-CAT 255 用于非标准民用和军用信息交换。常用的类别如表1所示。
表1 常见的数据类别
每个类别CAT由众多数据项(DATA ITEM)组成[3],数据项是数据类别的最小信息单位。每个数据项有唯一的标志号、编码规则、数据项参考序号(FRN, Field Reference Number)、长度、数据项的出现条件。用户自定义配置好的报文从内容上来看,是按照一定顺序排列起来的数据项,而从形式上这样的排列被称为用户应用程序框架UAP (User Application Profile),UAP是某标准数据类别的子集,即通过UAP实现数据项和数据字段之间的标准化,确定好每个数据项必须出现或者可能出现的条件,以便能够成功实现数据传输的灵活配置。各生产厂家并不会按某数据类别的标准顺序定义UAP格式,因此在软件设计时,每种雷达数据类型有自己的UAP,应注意严格遵循甲方定义的 UAP 顺序和格式,组成新的数据帧。UAP 用于控制目标数据区选择了哪些Data Item数据项,即选择后的数据项在 FSPEC 里的具体位置,并定义了编码和解码的标准化信息,即每个数据项最小最大长度等信息。表中每个数据项具体含义和注意事项,可查阅接口控制文件ICD(Interface Control Document接口控制文件)。一般在工程应用中,点迹对应一个 UAP,航迹对应另一个 UAP。
如表2所示,数据帧结构由为数据类别(CAT)、帧的总长(LEN)、数据项说明索引(FSPEC, Field Specification)、目标数据区(DATA FIELD)四个部分组成,且具体描述如下。
表2 数据帧结构
1)CAT表示数据类别,说明后续数据属于哪个数据类别。当CAT为0x30时,表示为CAT048。
2)LEN表示数据帧的总长,其计算方法如下:
帧的总长(LEN)=CAT长度(1byte)+LEN长度(2byte)+FSPEC长度+目标数据区长度。
3)FSPEC表示 UAP 表的数据索引,可由用户配置,且FSPEC本身长度可变。FSPEC中各个位上的0或1,0 表示不选,1 表示选取,即它的每一个bit位与UAP表中的数据项按顺序对应,1表示选择了该数据项。0表示没有选择该数据项。在FSPEC的每个byte的最后一位(即第8位)是域扩展指示位(FX, Field Extension Indicator),且当FX为0时,表示FSPEC字段结束;当FX为1时,表示其后仍有FSPEC段。通过这种可选择、可扩展的机制,在终端软件中对传输的数据实现进行灵活配置,满足用户的实际需要。
4)目标数据区,即是在FSPEC后面的byte内容,且依次为选取号的数据项,数据项数量可变,长度可变。
对输出点迹的格式,可定义两种UAP 来描述,分别为一次点迹目标UAP和二次点迹目标UAP;对于输出航迹的格式,可采用两种 UAP进行描述,分别为航迹点UAP、航迹取消UAP。由于CAT048为目标报告的标准结构,不仅可以兼容CAT001服务报告,而且可以兼容常规一次雷达、常规二次雷达、单脉冲雷达和MTD雷达的目标报告[4],因此本文选用CAT048作为具体讲解航迹UAP的解析过程。参考20194.3.4发布的CAT048.1.24版本,预先制定一个航迹目标UAP如表3所示,由于字长可扩展,占用字长结合基础长度进行描述。
表3 CAT048航迹目标UAP
按CAT048协议制定,如表4所示以接收到的航迹数据为例进行解析,且表内数据是接收数据流信息,且为16进制,分析流程如图1所示。
表4 按CAT048协议接收的数据包
图1 ASTERIX协议解析处理流程图
1)第1个byte 0x30,转化成十进制是48,表示CAT048;
2)第2、3个byte 00 22表示数据帧的总长为34;
3)从第4个byte开始,F1 13 88表示数据项说明索引,转化成二进制为11110001 0001111 10001000,且根据扩展位判断此索引所占的byte为3;1表示选中对应的数据项,0表示没选中,参考表3,即分别选择了数据项010、140、020、040、161、042、200、170、210、110;
4)第7、8个byte对应数据源识别符,转化为十进制是22和1,22是规定的中国SAC(System Area Code)码,1是SIC码(System Identification Code)雷达的编码,每个雷达都有唯一的SIC码;
5)第9、10、11个byte表示当前时刻384000,转化成十进制是3686400,即UTC(Coordinated Universal Time)时间,再考虑单位3686400/128为28800 s,对应的时间即为8∶00∶00;
6)第12个byte表示目标报告描述符,具体含义如表5所示,20换算成二进制为0010 0000;
表5 目标报告描述符的具体含义
①Type为000表示没有检测,为001表示一次雷达单目标检测,为010表示二次雷达单目标检测,为011表示一次加二次雷达目标检测,为100表示S模式全呼,为101表示S模式选呼,为110表示S模式全呼加一次雷达,为111表示S模式选呼加一次雷达;
②SIM为0表示真实目标报告,为1表示仿真目标报告;
③RDP为0表示目标来自于雷达的数据处理器1,为1表示目标来自于雷达的数据处理器2;
④SPI(Special Position Identification特殊位置识别) 为0表示缺少SPI,为1表示有SPI,且若是S模式SPI信息在数据项I048/230中有更进一步的描述;
⑤RAB为0表示是从飞机的应答机得到的应答信号,为1表示是现场监测器(固定的应答机)得到的应答信号;
⑥FX是扩展位,为0表示该数据项结束,为1表示继续扩展该字段;
7)第13到第16个byte表示在极坐标系下目标的位置,即距离01 00,方位07 1C,结合单位求取距离为256/256NM=1NM=1.852 km,方位为1820×360°/(216)=9.998°;
8)第17、18个byte表示航迹批号,占两个byte,01 64转化成十进制表示航迹号为100,当雷达站输出航迹信息时此航迹批号是必须要被发送的数据项;
9)第19到22个byte表示笛卡尔坐标系下的位置信息,00FC代表x轴的坐标,002C代表y轴的坐标。结合单位求取分别为1823 m和318.3 m;
若在输出目标位置信息时,包含在点迹/航迹中的测量位置一般用极坐标位置(RHO,THETA)表示,以雷达站位置作为系统的坐标原点,方位角参照本地地理正北方向(如北东地,满足右手螺旋准则)。解码后的雷达数据其位置信息通常以雷达头位置为原点坐标,用x、y轴的平面坐标有两种计算方法:
一种是以雷达平面的坐标表达高斯投影算法的转换公式为
(1)
另一种输出位置使用 WGS-84 椭球模型[5]在雷达头位置的切平面的二维笛卡尔坐标位置,并使用测量高度或系统默认高度进行空间坐标的投影变换。目前GPS所采用的坐标系统,其定位结果是 WGS-84 下的定位坐标。如图2所示,空间目标所处的空间位置P1点,用(B1,L1,H1)表示,其中B1、L1、H1分别代表目标点的纬度、经度、高度,同理雷达所在位置P0点,用(B0,L0,H0)表示。在实际工程中还有如式(2)的估算公式,可以直接将目标机的经纬高转到以雷达为原点的北东地坐标系,则其北向、东向、地向坐标可以表示为
(2)
其中,经线每分代表1853.2 m;
图2 WGS-84坐标示意图
10)第23到第26个byte表示极坐标下的航迹速度信息,航迹的速度为06 66,结合单位求取速度为1638×2-14=99.975 NM/s=185.2 m/s,航迹的航向角为07 1C,结合单位求取航向角为1820×360°/(216)=9.998°;
11)第27、28个byte表示航迹状态,具体含义如表6、表7所示,23换算成二进制为0010 0011 0000 0000;
表6 目标报告描述符的具体含义
①CNF为0表示确定的航迹,为1表示暂时的航迹;
②RAD为00表示联合航迹,为01表示一次雷达的航迹,为10表示二次雷达S模式下的航迹,为11表示无效的航迹;当数据项020里的TYP发生改变后,此航迹状态里的RAD也跟着改变;
③DOU为0表示正常置信度,为1表示低置信度;
④MAH为0表示没有水平感应机动检测,为1表示有水平感应机动检测;
⑤CDM为00表示维持上升或下降模式的现状,为01表示上升模式,为10表示下降模式,为11表示未知模式;
⑥FX是扩展位,为0表示该数据项结束,为1表示继续扩展该字段;
表7 目标报告描述符扩展位的具体含义
①TRE表示航迹结束的标识,为0表示航迹依然存在,为1表示航迹结束,即标记航迹最后一次的报告;
②GHO为0表示真实目标航迹,为1表示备份目标航迹;
③SUP为0表示航迹维持不是从临近的传输信号杂波或网络获取的航迹信息,为0表示相反情况;
④TCC表示画坐标转换结构的方式,为0表示雷达水平坐标系;为1表示雷达位置坐标系;
⑤FX,表示继续扩展位,为0表示结束,为1表示继续扩展;
12)第29到第32个byte表示航迹质量,占用4个byte,分别表示在本地栅格坐标系下的水平方向、垂直方向、地速、航向角的标准差,结合单位求取水平方向的标准差为100/128=0.78,垂直方向的标准差为33/128=0.26,地速的标准差为4×2-14=0.00024 NM/s=0.45 m/s,航向角的标准差为3×360°/(216)=0.0165°,且水平、垂直方向的标准差范围为0到2 NM,地速的标准差范围为0到56.25 Kt(1 Kt=1 n mail/h),航向角的标准差范围为0°到22.5°;
13)第33、34个byte表示3D雷达的测量高度,且该高度以海平面高度为0参考高度,01 90占用2个byte,结合单位求测量高度为400×25=10000ft=3048m。
本文以ASTERIX协议的CAT048类别为例,重点讲述了基本概念和协议解析方法,每个数据项的编码规则只有可选与必须出现两种情况,而制定的UAP给出了每个数据项必须出现或者可出现的条件,将原协议的可选情况细节化,灵活制定自己的系统规则,再参考相关接口控制文件,同理可以解析其他类别的协议。在实际应用中,协议解析是该项目后续开展的重要依托,结合甲方的需求定制UAP,且将解析到的数据显示在雷达终端界面上并转发给相关分机或上报给指挥系统,对于解决实际工程问题有很大的帮助。与此同时可参考这种可扩展方式的标准,重新定义并不断丰富我方雷达的数据结构规范。