动态编码

2024-11-28

动态编码(精选5篇)

动态编码 篇1

0 引言

随着电网快速发展和规模不断扩大,电力系统应用日益复杂,使得电力系统实时通信交互的数据种类增多,形式变得复杂多样,迫切需要制定灵活、高效、通用的通信服务协议,采用服务的模式规范数据通信,实现系统和应用间快速互操作和高效的数据共享,方便系统调试和业务扩展[1]。

IEC 61850是国际电 工委员会 第57工作组 (IEC TC57)制定的关于变电站自动化系统结构和数据通信的一个国际标准,目的是使变电站内不同厂家的智能电子设备(IED)之间通过一种标准协议实现互操作和信息共享,实现“一个世界、一种技术、一个标准”的目的[2,3]。在IEC 61850中,与制造报文规范(MMS)映射时采用抽象语法标记(ASN.1) 编码进行通信[4,5,6,7]。

在电网运行控制过程中,普遍存在需长期保持的同质结构的海量数据传输需求,采用ASN.1编码每次 发送消息 都包含消 息的类型 和结构信 息[8,9,10],增加了发送的数据量,迫切需要一种能够灵活、高效地描述电力系统模型和数据的方法。本文提出了电力系统动态消息编码(简称“M编码”)。

1 动态消息编码概述

电力行业的应用通信数据发送量大,数据发送频繁,要求每个数据包尽可能小,才能保证信息通信的及时性;变电站和电厂数量庞大,数据变化快,需要大量的维护工作。

M编码结合电力系统典型应用需求,在ASN.1基础上定义了通信时数据传输的结构特性,在数据通信过程中可只传输一次,解决频繁小规模数据传送的问题,同时可以适应数据成员的动态变化。

采用ASN.1编码所需发送的数据总量为:

式中:MH为消息类型和结构信息的数据量;MB为消息中数据的信息量;F为数据发送的次数。

采用M编码规范所需发送的数据总量为:

式(1)与式(2)相减,得到

由式 (3)的对比可 以明显看 出,M编码比ASN.1发送的数据量要小,发送次数越多,M编码节省的数据量越大。

2 M编码研究

2.1 编码结构

1)M编码区域

一块完整采用M编码的存储区域称为M编码区域,应由M编码头部和M编码数据组成,编码头部为1个或多个字节,其中第1个字节用于区分所采用的编码方式。编码区域示意图如图1所示。

2)M编码头部

M编码中用于区分各类编码方式的顶层数据称为M编码头部,是所有M编码方式公用的数据结构。编码头部的第1个字节用于区分所有的编码方式,也称为类型码,其中编码类型(CT)、高位标志 (H)是必选的。类型码的定义如图2所示。图中: EF表示扩展标志。

高位标志表示发送方的位序,大端点机器设置为1,小端点机器设置为0。在实际使用中,由发送方设置本机的位序,接收方收到数据后,需与本机位序进行比较,如果一致,可以直接使用数据;如果不一致,则需要对数据进行位序的转换。

编码类型用于区分编码的方式,采用编码头部中的两位表示,按编码类型值的不同分成四种编码方式,如表1所示。

扩展标志用于对类描述和头部扩展进行分类, 在M2,M3时有效,其扩展意义描述 如表2所示。M0,M1不进行头部扩展,类描述采用短描述。

2.2 数据类型定义

M编码直接采 用ASN.1定义的基 本数据类 型,并进行相应扩充。在M编码中当数据类型字段的第6,7位不置位时,0~5位表示这些基本数据类型和用于扩充的类型,基本数据类型的编号和说明见附录A。基本数据和扩充类型的编码规则如下: 基本数据类型范围为0(000000)~47(101111);用户扩充类型范围为48(110000)~63(111111),当用户需要更多的类型时,可使用这个范围的类型编号。

关于指针和泛型的定义采用如下方案:第6位置1表示指针,即由第0至第5位定义的类型的指针;第7位置1表示泛型any,后面的7位表示实际的数据类型。

2.3 M编码类型

M编码定义 了四种编 码方式,如表1所示。M0用于兼容ASN.1;M1在ASN.1的基础上加入名字选项;M2扩展编码头部,编码效率高;M3扩展编码头部,描述类信息。

2.3.1 M0编码方式

M0编码方式采用ASN.1定义的基本编码规则,用于MMS,TASE.2,IEC 61850等的数据结构的描述[8],编码结构如图3所示。图中:T表示类型,L表示长度,V表示值。M0编码方式在ASN.1编码数据的开始加入1个字节的编码头部,实现对ASN.1编码的兼容。在实时环境中应用时,可进行适当简化,包括不支 持缺省值 (Default)、可选项 (Optional)、序列和集合的自动排序等动态特性。

2.3.2 M1编码方式

M1编码方式采用类似于ASN.1的编码规则, 编码结构如图4所示,图中:N表示名字。在TLV编码方式的基础上加入名字一项,变为N-TLV,其中名字以自然内存零()结束,从而与其他数据分开。M1可用于IEC 61850短结构描述、IEC 61970属性名传递等。

2.3.3 M2编码方式

1)编码规则

M2编码方式采用类似CORBA中的通用数据表示(CDR)[11]的编码规则,为静态对象消息编码, 用于DL 476—1992和IEC 60870-5-104等传输协议的数据结构的描述,编码结构 如图5所示。M2编码方式需要扩展编码头部,增加类标识(CI)、对象尺寸(OS)(尺寸为lOS)、对象个数(OC)(总个数为nOC)。类标识(无符号数值型)用于标识对象的类别,对象尺寸(无符号数值型)用于标识对象的长度, 对象个数(无符号数值型)用于标识对象的总个数。

首次通信若接收方不知道类结构,发送方定义类标识,使用M3通知接收方类结构;后续使用M2通信时可直接使用类标识来标识所属数据类型。

2)头部扩展

头部扩展分成两种:4个字节扩展和8个字节扩展,由类型码 (CH)定义中扩 展标志 (EF)的第6位决定(即CH.EF.6),为0时扩展为4个字节, 为1时扩展为8个字节,其扩展方式如图6所示。4个字节扩展方式扩展为类型码1个字节、类标识1个字节、对象尺寸1个字节、对象个数1个字节;8个字节扩展方式扩展为类型码1个字节、保留(未使用)1个字节、类标识2个字节、对象尺寸2个字节、对象个 数2个字节,其中所有的2个字节数据采用 小端点位序排放,即低位在前、高位在后的排放方 式。对象1至对象nOC为描述的对象,所有对象的类型、长度一致。类型由扩展头部中的类标识决定, 长度由扩展头部中的对象尺寸决定,个数由扩展头部中的对象个数决定。

2.3.4 M3编码方式

1)编码规则

M3编码方式为动态编码规则,用于通信双方协商通信内容,适用于IEC 61970,IEC 61968,IEC 61850等标准的数据结构的描述[11,12,13,14]。M3编码方式需要扩展编码头部,其扩展方式与M2使用的头部扩展方式相似,类标识用于表示类描述的种类,将其中的对象尺寸换成类长度(CS),用于接收方在类展开时进行校验,将图6中的对象个数换成类描述长度(DL)(总长为lDL),用于标识类描述的总长度, 编码结构见图7。头部扩展后是类名字,以自然内存零()结尾,类名字后对类的属性用类描述项依次进行描述,将其中的复合类型展开为简单类型。

2)类描述项

类描述项采用与N-TLV(M1编码方式 中使用)相仿的描述方式,去掉其中的V项,成为N-TL方式,用于描述类属性信息。类描述项的长度分两种:短描述和长描述,由类型码中扩展标志的第5位 (即CH.EF.5)决定,为0时表示短描述方式,长度用1个字节;为1时表示长描述方式,长度用2个字节,类描述项的示意图如图8所示。

类内部结构的描述是根据C/C++数据结构定义,需将各种复合数据结构,如结构、数组及数组和结构的组合、嵌套,依次展开,直至形成系统支持的简单数据类型的一维列表。其中一维和多维数组按下标依次展开为元素,直至成为基本数据类型。

2.4 使用说明

根据接收方是否知道类结构,M编码使用时分为两种情况,下面分别进行介绍。

1)接收方知道类结构

如果接收方知道类结构的定义,使用M2编码方式进行数据交换。接收方接收到报文后,对比报文编码头部中的大小端字节序标识与本地大小端, 如果报文与本地大小端信息相同,根据类标识调用相应的类结构对后续报文进行解析;如果不同,需对数据进行相应的字节序转换,然后对报文进行解析。

2)接收方不知道类结构

如果接收方不知道相应的类结构定义,发送方需要首先通过M3编码方式发送类结构定义报文, 通知接收方类结构定义,其后的数据报文可以使用M2编码格式进行发送。

如果接收方程序可以停止运行,首先根据接收到的M3报文解析出类结构并形成类结构定义文件,然后停止程序,进行相应的修改编译,之后可以通过M2编码方式直接进行数据通信。

如果接收方程序不能停止运行,需要动态处理M3和M2编码,接收到M3编码报文后需对其进行分析,将类描述中的域名、长度、类型保存下来,并根据结构体的特性计算出每个域的偏移量,然后根据偏移量对后续接收到的M2编码报文进行解析,同时考虑大小端字节序的问题。

在使用中需要按简单类型的自然边界对齐原始数据,编码后的对象数据与C/C++相应数据结构编译后在内存中的存储方式相同,在使用M3编码对M2传输的数据进行动态解析时,需要考虑由于内存对齐产生的空洞。同时为减少对齐空洞,应精心设计数据结构,选择合适的数据类型,调整各数据项的前后顺序,使尺寸较 大的数据 项在第8或第4个字节位置对齐。

3 M编码的应用

3.1 电力系统通用服务协议

在M编码基础上,梳理形成涵盖控制中心、发电厂、变电站内部及相互间的数据交互的电力系统通用服务协议。

通用服务协议针对电力系统数据传输的需求, 总结形成关联、服务管理、类管理、数据、数据集、事件、时间同步、文件、数据库、图形、模型等服务接口。通过对服务数据的总结,形成了参数、对象、数据集、类描述、流数据单元等五类数据传输要求,采用M编码进行数据通信。

通过在M编码前增加应用协议控制信息的方式实现电力系统通用服务协议,应用协议控制信息具体包含控制码、服务码和数据单元长度。控制码用来说明是否是报文的最后一帧,服务调用是否响应成功,是否是无效服务以及数据单元使用的协议类型。服务码用于标识应用服务数据单元内容的服务类型。数据单元支持的最大长度为65 531个字节,字节序为低字节在前、高字节在后。当定义电力系统基本服务协议的数据单元时,必须标识出数据单元长度。

3.2 应用间数据交互

目前的潮流计算一般都是使用状态估计生成的E文件作为输入数据,每次程序运行都需要读入状态估计E文件[15],然后解析E文件,生成节点导纳矩阵,迭代计算求解,最后计算潮流结果。

使用M编码对流程进行改造,由状态估计形成节点导纳矩阵并按照M2编码方式进行编码,输出到二进制文件。由于使用M2编码,潮流计算时只需要直接读取该二进制文件就可以得到节点导纳矩阵(包含节点导纳矩阵非零元素列号数据、节点电导、节点电纳、行号纵向链、位置纵向链等),节省读取数据并处理、生成节点导纳矩阵和潮流计算的时间,提升了潮流计算的性能。同时使用M编码也减少了状态估计与潮流计算交互的文件大小。该M编码文件也可应用于暂态稳定、静态安全分析、电压稳定分析等,节省这些应用的计算时间。

潮流计算使用M编码前后的耗时对比见图9。

从图9中可以看 出:使用M编码前,耗时在1 400~1 600 ms之间;使用M编码后,耗时在400~600ms之间,降低耗时60%左右,大大减少了潮流计算的时间。

4 结语

为了动态、高效地交换模型和数据,本文提出了M编码技术,该编码技术共有四种编码方式。M编码既利用了ASN.1可以传送 动态变化 数据的特 性,降低了相关应用的维护工作,又能够有效降低传送数据包的大小,提高传输和处理效率。

附录见本 刊网络版 (http://www.aeps-info. com/aeps/ch/index.aspx)。

摘要:为方便通信双方在未协商通信内容情况下动态、高效地交换模型和数据,提出了电力系统动态消息编码技术。该编码技术采用二进制自描述方式描述大型电力系统模型和数据,共有四种编码方式:M0用于兼容抽象语法标记(ASN.1);M1在ASN.1的基础上加入名字选项,用于少量数据的结构化描述;M2扩展编码头部,编码效率高;M3扩展编码头部,描述类信息。实际使用中,首次通信时使用M3发送类型和结构信息,其后通信使用M2发送数据;当类型和结构发生变化时,再次发送类型和结构信息,有效地解决了数据量和维护的矛盾问题。

关键词:动态消息编码,二进制,自描述,抽象语法标记

一种基于间隔因子的动态编码方案 篇2

编码机制的好坏关系到XML数据查询的高效与否。为了避免在查询结点时遍历整棵XML文档树, 需要通过XML编码对树中的结点赋予唯一编码, 并且通过编码快速确定结点之间的关系 (父子关系、祖先关系、兄弟关系) 。传统的编码机制主要有区间编码和路径编码。典型的区间编码有Dietz编码、Li-Moon编码和Zhang编码, 区间编码赋予每个结点代表其在整棵树中遍历顺序的两个整数, 通过这两个整数所代表的区间和别的区间的覆盖关系, 从而确定结点之间的结构关系。路径编码也称前缀编码, 典型的路径编码有Dewey编码, 前缀编码利用XML文档中元素之间相互嵌套层次关系, 父结点的编码是子结点的前缀。区间编码和前缀编码根据其结构都拥有各自的优点, 如区间编码判断结构关系明确, 前缀编码的编码时间短, 但当文档大量更新时, 这些编码机制都需要对整个文档的结点进行重新编码。在更新操作频繁的文档中, 这种代价是无法接受的。因此, 高效的编码机制应遵循以下几个标准:

(1) 唯一性:文档树中的每个结点拥有唯一的XML编码。

(2) 确定性:能够通过编码快速地确定两个结点之间的结构关系 (XPath轴中所定义的) 。

(3) 动态性:在数据频繁更新的情况下不需要改变已有结点的编码。

(4) 简洁性:编码不宜过于复杂使空间消耗增大。

本文在FPES编码方案的基础上提出了一种基于间隔因子的分数前缀编码IFPL, 通过分数之间可以无限插入新的分数使得编码支持动态更新, 又利用间隔因子和字母编码结合的方式解决了字母空间耗尽的问题, 通过字母前缀判断结点之间结构关系提高查询效率。IFPL综合了前缀编码和区间编码的优点, 改善了FPES最左插入和中间插入中的不足, 达到了对XML文档更新操作的完全支持, 二次编码率为零, 尤其是随着XML文档新插入结点增加, 这种优势会更加明显。

1相关研究

针对XML编码在文档更新时需要重新编码的问题, 不少学者提出了自己的动态编码, 以下是几种典型的动态编码方法:

(1) 浮点数编码方法。由Amagasa等人提出, 它是一种区域编码, 由浮点数来表示区间, 因为浮点数之间可以插入很多浮点数, 但是这种方法可能会导致编码溢出, 需要重新编码, 所以浮点数编码不能完全支持动态更新。

(2) Ord Path编码方法。由0’Neil P等人提出, 它是一种前缀编码, 在未更新时用奇数编码, 插入时用偶数编码, 但是它存在最左插入的问题, 需要进行二次编码, 而且也降低了结点之间结构判断效率, 也不能完全支持动态更新。

(3) 素数编码方法。由Wu X等人提出, 它既不是区域编码也不是前缀编码, 在这种编码方法中每个结点都拥有自己的唯一素数, 结点编码由这个素数和父亲结点编码相乘获得。素数编码中结点的顺序需要通过SC值来判断, 而SC值是剩余定理中的同余值。素数编码的缺点是SC值计算很复杂, 编码压缩比低, 而且在特殊情况下也需要重新编码。

(4) FPES编码方法。由刘先锋等人提出, 该方法综合了分数编码和前缀编码的优点, 利用两个分数之间可以无限插入新的分数, 前缀编码可以快速判断结点之间结构关系, 从而提高查询效率。在保证高效查询的前提下, 支持动态更新。但FPES存在两个问题:①最左插入字母用完需要重新编码;②两结点之间插入字母用完需要重新编码;例如在a.a和a.ba之间无法再插入。但FPES并不需要对整个文档重新编码, 而是对这种特殊情况下结点父结点所在子树进行重新编码, 所以二次编码率比前面的方法来得低, 仍不能使二次编码率为零。

上述方法都是利用编码预留空间进行插入, 在预留空间用完的情况下就需要重新编码, 所以不能完全支持动态更新。本文提出一种IFPL编码方案, 利用间隔因子解决预留空间用完的问题, 在任何情况下插入新的结点都不需要改变原有结点的编码, 使得二次编码率为零。

2 IFPL编码方案

2.1基本定义

定义1 (前缀码) 前缀码pre是字母或者字符串, 用于表示其父结点的字母编码, 长度没有限制。如A结点的字母编码是abbb.a, 那么A结点所有儿子结点的前缀码都是abbba。

定义2 (顺序码) 顺序码x也是字母或者字符串, 表示该结点在其父结点的儿子中的顺序, 如某结点A的3个儿子结点的顺序码分别为a, b, c。两个结点之间可以插入新结点, 如字母a和字母b之间可以插入ab, ac, aca, acb, acc…acz, ad, ae…az。

定义3 (分数码) 分数码是一个分数, numer代表该结点在文档树中前序遍历的顺序, demon在初始状态下为1。

定义4 (间隔因子) 间隔因子order_interval中order是结点所在的层数, interval初始状态下为1。

定义5 (字典序)

Last (x) :

取x的最后一个字母;

S1≡S2:字符串S1与S2完全相同;

S1∈S2:字符串S1是S2的子串;

S1=S2:S2的内容复制给S1。

2.2静态IFPL编码

对于XML文档中的每个结点用IFPL编码方案唯一的确定一个IFPL编码, 它是一个由前缀码、分数码、间隔因子组成的三元组, 初始状态下所有分数码分母为1。文档树第一层的第一个结点编码是。利用该规则对以下XML文档dbpl.xml片段进行编码, 结果如图1所示。其中science Course的第三个子结点courseTime的编码为, 它是第三个子结点, 是这棵树中第十个前序遍历的结点, 该结点在树的第三层。

2.3动态IFPL编码

分数编码的优点是可以在两个分数之间插入无数个分数。

这个定理给出了一种在两个分数中间插入一个分数的方法。

插入一个新结点主要有以下六种特殊处理:

(1) 没有兄弟。那么新结点的前缀码是父结点的前缀加顺序码, 分数码只需在父结点的分子加上1, 间隔因子中表示层数的order加1, 其余部分不变, 图2在C下面添加E, E的编码应该是

(2) 最左插入, 右兄弟的最后一个字母不是a。那么新结点前缀码与右兄弟一样, 顺序码是右兄弟减1, 分数码是父结点和右兄弟的分子分母各自相加, 间隔因子与右兄弟一样, 图2在C旁边加F, F的编码应该是

(3) 最左插入, 且右兄弟的最后一个字母是a。那么新结点前缀码和顺序码与右兄弟一样, 分数码是父结点和右兄弟的分子分母各自相加, 间隔因子的order与右兄弟一样, 但interval是右兄弟的interval加1, 图2在F旁边加G, G的编码应该是

(4) 最右插入。顺序码是左兄弟的顺序码加1, 分数码是左兄弟与父结点的右兄弟的分子分母相加, 间隔因子与左兄弟一样, 图2在C旁边加H, H的编码应该是

(5) 两结点之间插入, 且右兄弟的最后一个字母是a。顺序码与右兄弟相同, 分数码为左右兄弟相加, 间隔因子order不变, interval由左右兄弟相加得到。图2在G和F之间插入I, I的编码应该是

(6) 两结点之间插入, 且右兄弟的最后一个字母不是a, 分数码为左右兄弟相加, 间隔因子order不变。图2在C和H之间插入J, J的编码应该是

算法IFPL动态编码算法

Input:n:inserted node

n的父结点pnode, r表示右结点, l表示左结点。

Output:新插入及经重新编码后结点的编码值code代表pre.x, fraction代表numer/demon。

该算法的时间复杂度为O (log N) , 完全支持XML树结点的动态更新, 并可以在常数步骤内判断结点的结构关系, 下文介绍如何判断结点之间的结构关系。

3结构关系的判断

3.1父子关系的判断

结点A (pre A.x A, numer A/demon A, order A_interval A) 是结点B (pre B.x B, numer B/demon B, order B_interval B) 的父结点当且仅当:

pre B≡pre A+x A, Order B=Order A+1

比如图1中是结点的父结点。

3.2祖先后裔关系的判断

结点A (pre A.x A, numer A/demon A, order A_interval A) 是结点B (pre B.x B, numer B/demon B, order B_interval B) 的祖先当且仅当:

pre Ax A∈pre B, numer A/demon A是结点的父结点。

3.3左右兄弟关系的判断

结点A (pre A.x A, numer A/demon A, order A_interval A) 是结点B (pre B.x B, numer B/demon B, order B_interval B) 的兄弟, 当且仅当:

pre A≡pre B, order A=order B

例如图1中是兄弟结点。

4实验

4.1实验环境

本文实验的核心算法采用Java编程语言实现, 版本为JDK1.6, 硬件为Intel酷睿2双核CPU, 内存2G, 硬盘250G, 操作系统为Windows XP Professional。实验中的测试数据由XMark生成, 参数选择0.0018、0.004、0.009、0.018、0.035, 生成大小分别是0.2MB、0.5MB、1MB、2MB、4MB的XML文档, 相关参数如表1所示。

4.2静态性能分析

编码方案的静态性能评价主要看初始状态下文档所需要的编码时间以及编码长度。用IPFL、FPES、浮点数编码方案分别对表1中的测试文档进行编码。如图3 (a) 所示, IFPL、FPES方案的编码时间要短于浮点数编码方案。这是因为浮点数是一种区域编码, 每个结点需要遍历两次;而IFPL和FPES只要遍历一次, 时间上花销小。图3 (b) 中FPES的平均编码长度最短, 这是因为浮点数编码需要两个浮点数来表示区域中的start和end值, 当文档规模比较大时, 这种编码方案显然比字母编码的空间消耗大;而IFPL由于间隔因子的存在, 相对于FPES来说编码长度稍长。

4.3动态性能分析

考虑三种编码方案在数据更新时的动态性能, 本文试验采取XMark5作为参考样本, 分别插入1、10、100、500、1000个结点, 观察动态编码时间。动态性能对比结果如图4所示。

IFPL编码速度明显快于FPES、浮点数两种编码方案, 这是因为浮点数编码的特点在于增加了编码长度, 一旦有溢出就需要对整个文档重新编码, 不能真正完全支持编码动态更新。而FPES最左插入和两点间插入时可能出现字母用完的现象, 虽然不需要对整棵树进行重新编码, 二次编码率得到一定的降低, 但仍不为零。IFPL编码利用了间隔因子, 用少量空间代价换取了对动态更新的完全支持, 二次编码率为零, 特别是当插入的结点越多, IFPL编码优越性越明显。因此, IFPL编码方式在有新结点插入时表现的时间性能最为突出。

5结束语

为避免XML文档树结点的二次编码, 减少更新代价, 本文提出一种完全支持动态更新的编码机制IFPL, 利用间隔因子解决了普通动态编码在特殊情况下需要重新编码的问题。与FPES编码相比, 本文编码方法解决了其最左插入和中间多次插入时的导致重新编码的不足, 做到了支持任意结点的更新, 二次编码率为零。但是如何减少IFPL在空间存储上的消耗, 以及如何在IFPL基础上建立相应的索引机制, 是未来需要考虑的问题。

摘要:传统的前缀编码和区间编码在XML数据更新时都需要重新编码, 当文档更新频繁时这种消耗是无法承受的, 已有的动态编码大多不能完全支持动态更新。在FPES编码方法基础上采用一种基于间隔因子的分数前缀编码方案 (Interval Fraction Prefix Labeling Scheme, IFPL) , 利用间隔因子解决预留空间用完的问题, 使得其在特殊情况下也不需要重新编码, 二次编码率为零。实验表明, 相对于FPES文中的IFPL方案以一定的空间消耗换取了对文档动态更新的完全支持, 特别是在文档规模越大时优势越明显。

关键词:间隔因子,分数编码,前缀编码,动态更新

参考文献

[1]Dietz P F.Maintaining Order in a Linked List[C].Proceedings of the 14th Annual ACM Symposium on Theory of Computing (STOC’82) .1982:122-127.

[2]Li Q, Moon B.Indexing and Querying XML Date for Regular Path Expressions[C]//Apers P M G et al Eds.Proceedings of the 27th VLDB International Conference on Very Large Databases.Rome, Italy.Sept.11-14, 2001.San Francisco:Morgan kaufmann Publishers, 2001:361-370.

[3]ZHANG C, NAUGHTON J, DEWITT D, et al.On supporting containment queries in relational database management systems[C]//Proceedings of the 2001 ACM SIGMOD International Conference on Management of Data.NewYork:ACM Press, 2001:425-436

[4]TARNOV I, VIGLAS S D, BERYER K, et al.Storing and querying ordered XML using a relational database system[C]//Proceeding of the 2002 ACM SIGMOD International Conference on Management of Data.New York:ACM Press, 2002:204-215.

[5]Amagasa T, Yoshikawa M, Uemura S.QRS:A robust numbering scheme for XML documents[C]//Proceedings of the 19th International Conference on Data Engineering (ICDE2003) , 2003:705-707.

[6]O’NeilP, O’Neil E, PalS, et a1.ORDPATHS:Insert-Friendly XML Node Labels[C]//Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data.Paris, France.Jun.13-18ACM (Press) , 2004:903-908.

[7]Wu X, Lee M L, Hsu W.A Prime number labeling scheme for dynamic ordered ML Tees[C]//Proceedings of the 20 International Conference on Data Engineering (ICDE2004) , 2004:66-78.

[8]刘先锋, 周舟, 刘萍, 等.一种分数前缀XML编码方案[J].计算机工程, 2012, 38 (12) :29-31.

动态编码 篇3

Huffman编码自提出后就 被广泛地 应用于图 像视频的 压缩。Huffman编码主要包含以下几个步骤: 统计各个符号出现的概率; 构造Huffman编码树; 创建Huffman码表 ; 编码输出。其结果是在数据流中, 出现频率较高的符号被赋予较短的码字, 出现频率较低的符号被赋予较长的码字, 这样就可以实现压缩效果。

视频编码 标准中 , 如Motion Jpeg, 采用范氏Huffman编码。范氏Huffman编码通过一些约束, 使得在保证压缩率不变的情况下, 建表和解码过程都比较简单。范氏Huffman编码的实现需要两个Huffman说明表, 一个是符号的码长表, 一个是符号的值表。对于Motion Jpeg, 这两个表格被存放在每一帧头部的DHT字段中, 当解码器获取到该字段时, 可以构造出对应的Huffman树用于解码。

由于实现简单, 绝大部分编码器编码时使用的都是固定的Huffman说明表 , 压缩效果并不理想 ; 部分编码器采用同一帧两次扫描的方式, 第一次扫描用于统计各符号出现概率, 生成Huffman表 , 第二次扫描使用新的Huffman说明表进行实际的编码, 这种方法可以准确地构造出最优的Huffman说明表, 但由于需要两次扫描, 系统开销非常巨大, 通常得不到实际应用。

2 基于帧间动态 Huffman 的 Motion Jpeg 编码方法

视频序列中, 相邻两帧的数据具有很强的相关性, 而且纹理有很多的重复, 所以相邻两帧的编码符号概率也有一定的相似性; 基于此因素, 提出了基于帧间的动态Huffman表的思路, 每一帧在编码的同时, 基于当前帧中编码符号的出现概率生成新的Huffman说明表, 供下一帧编码时使用, 同时更新下一帧头部DHT信息段, 以便解码器正确解码该帧。

更进一步创建Huffman说明表, 需要构造Huffman树、做码长长度限制等操作, 涉及到的表格比较多, 过程中还存在较多地判断/跳转逻辑, 若采用硬件逻辑来实现, 成本较高,所以一般采用软件建表; 而软件创建Huffman说明表的性能依赖于CPU的性能。在一款主频为160MHz的32比特CPU上运行的程序, 针对一幅1280x720的图像, 创建Huffman说明表, 约需要3毫秒, 如果运行30帧, 则需要90ms, 也就是说,编码一个帧率为30帧/秒的视频, 需要90ms的建表时间, 比较可观; 如果要求统计完上一帧的符号信息, 再创建Huffman说明表, 那么在CPU创建Huffman说明表的过程中, Jpeg编码器是无法工作的, 因为下一帧的编码需要等待新的Huffman说明表; 所以, 系统的延迟较大; 也就是说, 在Jpeg编码设备原有的编码效率无法最大程度地发挥。

Huffman说明表的建立基于符号出现的概率, 而符号出现的概率在一幅图像中的分布有一定的规律, 往往只统计一部分的符号概率, 即可作为整幅图像的符号概率的近似; 基于这个思路,在Jpeg编码模块未完成编码之前, 提前输出统计结果, 使得CPU建表和Jpeg编码过程可以并行运算, 从而发挥Jpeg编码设备最大的编码效率。大部分应用中, Jpeg编码器是按照压缩1帧30毫秒来进行设计的, Jpeg编码设备的压缩时间要大于CPU创建Huffman说明表的时间 (3毫秒)。所以, 该方法是可行的。

具体实现步骤如下:

(1) 对输入视频序列中的第一帧采用ITU推荐的Huffman表进行编码。

(2) 获取当前系统负载和编码目标 , 设置Huffman符号统计的比例。

(3) 对当前帧进行编码 , 同时 , 统计编码过程中的Huffman符号出现的概率。

(4) 完成符号统计, 将统计信息写入存储设备, 并通知CPU。

(5) CPU从存储设备中获取到当前帧的统计信息 , 创建新的Huffman说明表。

(6) CPU检查Jpeg编码器是否完成上一帧的编码 , 若未完成, 等待Jpeg编码器完成上一帧编码。

(7) 如果当前帧并非视频序列的最后一帧 , 更新Huffman说明表, 开始新的一帧编码, 即重复步骤2到步骤7, 直到视频序列的最后一帧编码结束。

3 实验

实验中采用的视频序列来源于车载摄像头, 分辨率分为1920x1080和1280x720两组 , 每一组有若干个视频序列 , 每个序列总 帧数为200帧。采用 运行频率 为160MHz的32bitRISC作为CPU, FPGA实现Jpeg编码器和Huffman符号统计 ,软件实时监测系统负载并控制压缩率, 设置合适的参数给ASIC Jpeg编码器。分别通过统计上一帧图像中前60%, 前80%以及100%的符号作为Huffman说明表的数据来源, 进而进行Motion Jpeg编码 , 最后比较编码输出比特流的大小 , 两组数据的平均结果如表1所示。

由表1中可以看到, 使用动态Huffman表的效果要优于使用固定的ITU推荐的Huffman表, 而只统计前一帧60%或者80%的符号概率 , 就可以很好地近似整幅图的Huffman符号概率, 为下一帧的编码提供很好的建表依据。

4 结语

动态编码 篇4

关键词:动态纹理分类,慢特征分析,深度学习,堆栈降噪自动编码网络模型

0 引言

动态纹理是指具有空间重复性、并随时间变化的视觉模式,这种模式形成了一系列在时间域上具有某种不变性的图像序列[1]。不同的动态纹理可能具有相似的外观,但是却具有不同的运动形式,所以表观和运动是动态纹理特征的两大方面。在目前的动态视频分析系统中,最关键的步骤是如何提取有效的动态纹理特征描述符。在过去几十年里,对纹理的研究大部分都集中在静态纹理特征的研究,动态纹理的研究相对静态纹理而言起步要晚的多。动态纹理的研究最早始于20世纪90年代初,由Nelson和Polana采用建立线性系统模型的方法对其进行研究[2],并且将视觉运动划分为三类[3]:行为、运动事件以及动态纹理。随后,Szummer和Picard提出采用时空自回归模型(Spatio-Temporal Auto Regressive,STAR)[4]对动态纹理序列进行建模。基于光流的识别法是目前比较流行的动态纹理识别法,因为其计算效率高,并且以一种很直观的方式来描述图像的局部动态纹理特征,Fazekas和Chetverikov总结出,正则性(Regulated)全局流与普通流(Normal Flow)相比,普通流可以同时包含动态特性和形状特性[5]。基于LBP的动态纹理方法是最近几年才提出的一种有效算法,典型的是Zhao等人提出的两种时空域上的描述子:时空局部二值模式(Volume Local Binary Pattern,VLBP)[6]和三正交面局部二值模式(Local Binary Pattern from Three Orthogonal Planes,LBP-TOP)[7],有效地结合“运动”和“外观”特征。2007—2008年是动态纹理研究最多的两年,各大期刊杂志连续刊登有关动态纹理的研究文章。

本文试图解决动态自然场景的分类问题(例如:烟火、河流、风暴、海洋、雪花等)。在计算机视觉领域,过去采用较多的是手动提取特征来表示物体运动信息(例如:HOF、基于STIP的HOG算法等),实验表明该类方法对人体行为识别非常有效。但是由于自然环境比较复杂,动态纹理表现不稳定,易受光照、遮挡等影响,而手动选取特征非常费力,需要大量的时间进行调节,所以该类方法并不适用于动态场景分类。Theriault等人提出利用慢特征分析的方法来提取动态视频序列的特征[8]。该方法虽然能有效表示动态纹理特征,但是其提取的特征维数较高。深度学习是机器学习研究中一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,近几年深度学习网络模型在大尺度图像分类问题中成功应用使得其得到越来越多人的重视。卷积神经网络、深度置信网络和堆栈自编码网络是三种典型的深度学习网络模型,而堆栈自编码网络模型不仅对高维数据有很好的表示,而且采用非监督的学习模式对输入数据进行特征提取,这对于传统的手动提取特征。利用堆栈自编码网络模型对慢特征进行进一步学习,不仅能降低数据维度,而且还能提取出数据更有效的特征表示。

1 基于堆栈自编码网络模型的慢特征分析法

1.1 慢特征分析法

文献[9,10]中提到,慢特征分析算法的目标是从不断变化的输入信号中学习不变量,即除了无意义的常值信号外,最具不变性质的信息,其实质也就是从快速变化的信号中提取缓慢变化的信号特征,这种特征是从混合信号中提取出来的源信号的高级表示,表征信号源的某些固有属性[11]。

实验证明,慢特征分析法在人体行为识别中有很好的描述作用,这为动态纹理分类提供了一个很好的选择。慢特征分析算法的核心思想是相关矩阵的特征值分解,其本质是在经过非线性扩展特征空间对目标函数进行优化,寻找最优解的线性组合。

给定一个时域输入信号序列:

目标就是学习一组映射函数:

使得输出信号y(t)=[y1(t),y2(t),⋯,yM(t)]T的各个分量yj=Sj(v(t))的变化尽可能缓慢,而且仍然保留相关的重要信息。选用时域信号一阶导数的均方值来衡量输出信号个分量的变化率:

且满足以下条件:

其中:<y>t是y的时域平均值;yj∙是yj的时域一阶导数。这三个约束条件保证慢特征分析的输出信号的各分量的变化率尽可能小,其中条件1和条件2确保输出没有无意义的常信号值,条件3确保输出各分量之间是非相关的,且不同慢特征承载着不同信息。值得注意的是,函数S(v)是输入信号的瞬时函数,所以输出结果不能看成是通过低通滤波器的结果,慢特征处理速度要比低通滤波器快很多。如图1所示。

输出信号各分量按照变化率从小到大排列,且互不相关,其最优解问题可以看成以下公式的解特征值问题:

求解得到的特征值按从小到大的顺序排列,即λ1λ2⋅⋅⋅λM,输出信号的慢特征和最小特征值息息相关。输入信号v(t)可以是多种模式的图像特征(例如色彩,梯度,SIFT特征,HOG特征)。

这里采用的是v1特征[12-13],该特征对图像有很好的表示,确保预先学习到的慢特征能达到最优。

1.2 堆栈自动编码模型

自动编码器模型是深度学习网络模型之一,其尽可能复现输入信号,捕捉代表输入信号的主要成分。

如图2所示,对于给定输入信号x,根据式(2)得到输出y,此过程为编码过程:

式中:;W是d′×d维权重矩阵;b是偏移向量。

为了验证输出y是否准确表达原输入信号,利用式(2)对其进行重构,得到重构信号z。此过程为解码/重构过程:

从输入到输出的权值记为θ=(W,b),从输出到输入的权值记为θ′=(W′,b′)。逐层进行参数θ和θ′的优化,式(5)为其目标函数:

调整参数,使得重构误差达到最小,因此可以得到x的第一层表示。

降噪自动编码器(Denoising Auto Encoder,Dae)是在自动编码器的基础上给训练数据加入噪声,编码器需要学习去除噪声而获得没有被噪声污染的输入信号,因此获得输入信号更加鲁棒的表达。堆栈自动编码模型(Sda)是将多个Dae堆叠起来形成的一种深度网络模型。利用优化后的参数θ得到当前层的输出y(即下一层的输入),将得到的y作为新一层的输入数据,逐层进行降噪自动编码的过程,直到到达多层神经网络中间隐层的最后一层为止,算出该层输出,即为输出特征,如图3所示。

1.3 基于Sda的慢特征分析法

基于Sda的慢特征分析方法利用慢特征分析法预先学习动态视频序列的慢特征,将该特征作为模型输入,进行多层降噪自动编码网络模型参数的学习,最后使用SVM分类器对该模型的输出特征进行分类,具体步骤如图4所示。

2 实验

2.1 实验数据集与评估准则

实验所用数据由10类动态场景构成(包括海滩,电梯,森林烟火,高速公路,闪电,海洋,铁路,河流,云,街道),且每一个类别由30个250×370 pixels大小的彩色视频序列构成。这些视频序列全部来自于加拿大约克大学计算机视觉实验室于2012年发布的YUPENN动态场景数据集[14],该数据库主要强调的是对象和表层在短时间内场景的实时信息。如图5所示。

将所有彩色视频序列进行尺度缩放,分别放大和缩小1.2倍,1.4倍,1.6倍,并且在每一个尺度上进行旋转,旋转角度分别为2°,4°,6°,-2°,-4°,-6°。所以样本总数为(10×30)×(6×6)=10 800个。实验性能使用混淆矩阵(Confusion Matrix)进行衡量。混淆矩阵是多分类问题中常用的衡量准则,它使得分类结果一目了然并能指出错误预测的影响。分类矩阵通过确定预测值是否与实际值匹配,将模型中的所有事例分为不同的类别。然后会对每个类别中的所有事例进行计数,并在矩阵中显示总计。实验中一共有14个类别的数据集,所以最后会产生一个大小为14×14的混淆矩阵。

2.2 实验结果与分析

实验选用线性SVM分类器,采用Leave-One-Out分析法进行分类。所有视频序列全部转换成灰度视频进行慢特征分析,输出大小为4 032维的慢特征向量作为Sda网络模型的输入数据。

2.2.1 Sda网络模型大小

堆栈降噪自动编码器网络层数以及每一层的大小对输出特征的鲁棒性和SVM分类结果有重要的影响。当网络层数不一样时,模型学习到的特征也就不一样,网络层数过低,学习力度可能不够,特征达不到最佳表示效果,网络层数太高,可能会出现过拟合现象,隐层的大小和最后的分类结果也息息相关,所以选取不同网络层数和隐层大小分别进行实验,如图6所示,选取网络层数分别为1,2,3,隐层大小分别为500,1 000,2 000。由图6可知,当隐层大小为500时的分类得分显然比1 000和2 000时高很多;在隐层大小为500时,随着网络层数不断增加,实验结果不断提升,当网络层数由2层上升到3层时,实验结果已经非常接近(网络层数为2时score=95.9%,网络层数为3时score=96.3%)。可以得知,随着网络层数不断增加,分类的效果逐渐提高,当网络层数为3时,分类结果已非常接近。

2.2.2 噪声

Sdae对每一层的输入加入噪声,编码器自动学习如何去除噪声而获得更加鲁棒的动态纹理特征,因此每一层所加入的噪声的大小对提取的特征有很大的影响。因此,选取不同大小的噪声分别进行实验,如图7所示,选取噪声大小分别为10%,15%,20%,25%,30%,35%,40%,45%,50%,固定网络层大小为[500,500,500];由图可知,加入噪声对分类得分的影响呈类似抛物线形状,对每一层输入数据加入25%的噪声时score=0.964为最大值。

2.2.3 混淆矩阵以及实验与现有方法的比较

图8为实验最优参数所计算出的混淆矩阵,由图可知,海滩、电梯、高速公路以及海洋的分类效果达到100%,喷泉(Fountain)的分类效果虽然最差,但也已经达到83%左右,其容易被误分成森林火灾(17%错误分类)。由该混淆矩阵可以得知,实验所用方法能够达到将近96.4%平均得分。表1是本文所用方法与现有几个比较常用的动态纹理特征提取方法的比较,分别有HOF[15],GIST[16],Chaos[17],SFA[8]。由表格可以得知,SFA是几个方法中效果最好的,可以达到76.7%的分类效果,而本文所用方法SFA+Sda比SFA方法提高了将近20%的分类得分,并且在每一个动态场景中分类效果总是优于其他几种方法。

3 结语

动态编码 篇5

关键词:二次雷达编码,共享,跨区码,分配

引言

二次雷达是民航空管的主用监视雷达。近年来由于航班量的快速增长, 二次雷达编码资源愈发紧张, 导致自动化系统中经常出现二次雷达重码告警和航班信息关联错误等情况, 给管制指挥与航班运行带来困扰和安全隐患。在无法增加应答机编码的前提下, 优化应答机编码管理技术显得尤为重要。有的研究针对编码再分配的有关研究提出了SSR编码按流量比例分配、区内码共享等策略, 提出要打破区内码、跨区码的使用界限, 建立全国二次编码统一分配的新机制, 以解决编码紧缺的现状[1], 只是未对编码再分配提出具体的方案。文章依据各地的编码实际需求量、我国的情报区划设和各管制区编码分配的应用情况, 提出了二次雷达跨区码按需求动态分配的优化算法, 提高编码的利用率, 减轻编码不足造成的管制压力, 缓解管制区内的重码问题, 给航班运行安全提供保障。

1 现行二次雷达应答机跨区编码分配使用情况

(1) 中国大陆直接管辖九大飞行情报区, 分别为沈阳、北京、上海、武汉、广州、三亚、昆明、兰州、乌鲁木齐飞行情报区。经2014年5月全国空管区域优化后, 大陆上空划设高空管制区 (兼中低空管制区) 8个, 分别为北京管制区、上海管制区、广州管制区、成都管制区、沈阳管制区、西安管制区、三亚管制区和乌鲁木齐管制区, 中南地区 (武汉、广州、三亚) 编码分配由广州飞行情报区统一安排。

(2) 我国民航的应答机编码通常有情报区内使用的区内码和情报区外使用的跨区码两类。目前各地编码的分配数量及区内码和跨区码比例基本还是按照民航局空管局在2000年下发实行的方案分配的[3], 各地编码的分配数量及区内码与跨区码比例长期固定, 而近年来各地航班量也出现了大幅增长, 特别是跨区飞行航班量的激增, 加之原先区内码和跨区码的分配比例没有按照新时期航班流量更新, 导致两者单次循环使用的时间差距较大;另一方面, 同一情报区对编码的需求量在不同的时段有高峰量也有低峰量, 且不同情报区和不同机场的高低峰时段也不同, 各个地区固定的编码分配模式导致编码分配缺乏灵活性, 原来的分配方案对编码的利用效率很有限, 采用资源动态调配的方式调动跨区编码可有效地解决编码紧缺的问题。

2 应答机跨区编码动态分配使用策略

针对需求量最大、造成空管雷达编码重码告警主要原因的跨区编码, 应当加强地区间编码流动、充分调动全局编码资源, 在保证管制安全的前提下, 实现跨区编码利用的最大化。

由于跨区码是在不同的飞行情报区使用, 不同的情报区使用相同的跨区码存在很大安全隐患, 因此文章提出一种基于各情报区跨区编码盈亏程度来调整情报区间跨区编码分配数量的算法。针对各地应答机编码使用情况, 文章采用整体解决与部分解决统一实施的思想, 利用“回退式”算法思想对跨区编码进行动态调度。根据供需平衡的原理实现全局的跨区码供需平衡, 若不可解决全部地区的需求, 我们利用算法回退, 抛开权重最小地区的需求, 优先解决重点地区跨区码的紧缺问题, 进而实现调度的优化。

2.1 跨区编码优先级的确定

分配编码需要遵循优先保障的顺序。首先确定北京、上海、广州、沈阳、昆明、兰州、乌鲁木齐飞七大行情报区的跨区编码需求的重要程度。根据民航局空管局在2000年下发实行的分配方案及近年来各地区航班量, 基本确定长期处于编码不足状态的飞行情报区有北京、上海、广州三地。北京作为中华人民共和国首都、直辖市, 是中国的政治、文化和国际交往中心, 要客飞行任务繁重。根据民航相关规定, 通常情况下, 应当允许执行紧急或者重要任务的航空器、定期航班或速度大的航空器优先起飞[4]。同时, 北京首都国际机场是世界规模最大的国际机场, 旅客吞吐量在2014年达到8612.8万人次, 连续五年位居全球第二[5], 故将其优先权排在第一位;上海是中国的经济、交通、科技、工业、金融、会展和航运中心之一。上海的航空旅客吞吐量排名世界城市第七, 特别是浦东机场货邮吞吐量自2003年以来一直位居国内首位, 比首都、白云和深圳三家总和都多[6]。此外, 目前上海情报区内包含了三个国内吞吐量前十的机场, 故上海飞行情报区优先权排第二;广州飞行情报区, 相较于前两者尚有回旋余地, 所以编码分配优先权为第三。优先权的先后顺序为:北京>上海>广州。

2.2 跨区编码盈缺情况的确定及动态分配

首先对各地编码的需求情况进行分析:选取某时间段内北京、上海、广州、沈阳、昆明、兰州、乌鲁木齐各区已有的跨区编码量记为a, 该情报区跨区编码需求量记为b, 按照a减b做差依次得到各地区编码盈亏数量ci。

判断跨区编码亏缺地区需求总量及编码整体盈余情况:ci若为正值, 则表明该地区 (i地区) 跨区编码富余, ci若为负值则表明该地区 (i地区) 跨区编码短缺。分别记录正负值对应的跨区码富裕的地区和跨区码短缺的地区作为之后调配跨区码的依据。对ci为正的富余量求和, 得出全局跨区码富余总量。总余量再与所有ci为负的各地亏缺量相加判断其和值的正负:若和值为正, 则表明各地区相互借调就可以解决全部编码紧缺问题;和值若为负, 则表明可以解决部分地区编码紧缺的问题, 将一个或两个地区跨区码短缺的问题暂时搁置, 待到下个时隙解决。

优先解决重要地区编码紧缺问题:根据优先权排序, 对排序最后的地区编码紧缺问题暂时搁置, 等待后续的时隙解决, 不参与全局优化过程。再将剩余地区编码盈亏数量ci求和, 判断和值正负。若和值仍为负, 则继续搁置优先权靠后的地区, 依次类推, 直至最终和值为非负数为止。这样就实现了采用“回退式”的策略解决了部分地区跨区码短缺的问题。

在全局优化结束后输出。在下个时隙, 已优化的地区不参与全局分配, 搁置地区按照优先级采用上述流程继续优化, 这样就实现了动态分配跨区码的目标。

2.3 跨区编码动态分配方案的验证试验

根据二次雷达常见的“假警”、“虚警”问题, 以及常见的管制区间协议常用规则, 编码分配时要遵循以下几个原则:

(1) 优先选择距离编码短缺区较远的地区调用编码; (2) 选择调用的区域至少间隔亏缺区域一个情报区; (3) 所调用编码应当尽量来自同一个情报区。

再次进行优化, 在北京情报区编码紧缺问题解决后, 根据优先权, 这个时隙解决上海情报区编码紧缺问题。

再次进行优化, 在上海情报区编码紧缺问题解决后, 根据优先权, 这个时隙解决广州情报区编码紧缺问题。

首轮跨区码调配结束, 下一轮编码重新分配。运算结果表明算法实现了全局优化, 达到了解决编码资源紧张问题的目的。

经上述算法分析, 有如下结论:

(1) 通过该回退式跨区码动态协调系统, 对重码情况进行动态划分和逐级分段式解, 有效地减少了以往调度过程的模糊性和繁杂性, 简化了协调系统模型。

(2) 利用整体加部分协调处置系统, 解决编码紧缺问题。通过所需编码数量和已有空闲编码数量的差值确定调度的进程, 有机地实现了跨区码调度的优化。

(3) 通过整体编码需求量的变化及时地调整编码供需关系, 需求编码的数目又影响总编码值的正负变化, 形成了反馈调节。根据算法的收敛规则, 供需编码将在一定轮回后达到平衡, 实现了调度过程的负荷随机变化和平衡之间的协调。

此外在调配过程中需要注意的是, 被借调编码的地区在下一时段应有足够自身使用的编码数量。对此我们可以在富余跨区码地区协调借调时采用一定限制, 如上述算法流程中可以使aj=ci/1.1, 这样来保证借调编码的地区可以灵活应对短时的新增需求。对于具体保留比例, 我们将在以后的研究中加以论述。

3 对我国应答机编码动态分配的建议

3.1 航班延误情况的处理

航班延误会占用编码资源, 导致原有的编码量无法满足实际的需求, 大范围延误时还易引起重码告警、航班错误关联等。

为了避免航班延误对编码资源的浪费, 一方面有关部门应规范航空公司的行为, 在航班延误半小时以上时及时拍发延误报, 释放处于占用状态的SSR编码;另一方面是在管制系统内部, 对于有相对明确延误信息且延误时间超过设定值的航班, 及时发布CHG报文, 使其在欧洲猫系统内的FDR状态改变, 暂时释放其占用的编码, 以减少SSR编码的空占[5]。目前广州白云机场利用塔台运行管理系统 (TOMS) 进行二次编码重复性的探测, 如果探测到即将起飞的航班与已经激活的航班出现相同的二次编码, 则往欧洲猫系统发送一份延误报, 欧洲猫系统收到延误报之后, 会将原有二次编码清除, 重新分配新的二次编码, 这在一定程度上避免了重码告警和航班关联错误的现象。

3.2 编码分配机制的支撑条件

二次雷达编码的分配涉及管制内容的方方面面, 这需要空管自动化设备与系统的支持, 一个编码分配处理自动化平台将大大提高编码的使用效率和利用率。国家层面的编码再分配方案是基础, 自动化技术支持是编码再分配方案实施的技术保障, 而规章规范的建立是其制度保障。

4 总结与展望

我国的民航事业的不断发展, 航班量持续增长, 在无法增加A/C二次雷达模式应答机编码的限制下, 应答机编码的日趋紧张, 有效合理地使用有限的应答机编码资源, 才是解决编码短缺问题的出路。针对编码资源紧张的问题, 文章以全局分配优化编码资源等问题为研究中心, 以各地航空市场地位确定分配优先级, 以满足各地编码需求量为基础, 提出了基于地区优先级和需求量两种要素的动态分配策略, 有效地利用了全局的编码资源, 实现了全局或者局部地区编码优化的目标。对于编码管理层面, 也有一定的启示作用。

随着空域管理技术和雷达数据技术的发展, 在空管行业应用S模式雷达及ADS-B技术是大趋势。但在新技术还在初步探索阶段, A模式的二次雷达编码还会在相当长的一段时间内使用, 而在S模式雷达及ADS-B技术大面积的普及和应用后, 不仅是拥有24位地址码即百万级的编码用以分配, 而且以航班号作为耦合条件, 也会成为新的补充, 现在存在的编码不足、重码问题也将随之应用也会得到解决。

参考文献

[1]秦晴, 尹刚.二次雷达应答机编码管理分配问题和改进策略[J].空中交通, 2014 (12) :3-5.

[2]许乐.欧洲猫自动化系统应答机编码管理技术分析[J].信息通信, 2015 (5) :8-9.

[3]民航空管.关于对二次雷达代码分配和使用办法改进工作进行调研的通知〔2013〕170号.

[4]中国民用航空空中交通管理规则 (CCAR-93TM-R2) [S].

[5]Wikipedia.beijing10.3 https://en.wikipedia.org/wiki/Beijing#Air

[6]Baidu encyclopedia.8.4 http://baike.baidu.com/item/上海/114606#8_4

[7]中国民航二次雷达代码使用管理规定, 附录B:中国民航二次雷达代码资源表.

上一篇:传播格局下一篇:资料评价