应用行程编码的航天器分包遥测压缩算法研究

2015-10-28 02:17闫国瑞李志刚史简赵婷李国军
航天器工程 2015年2期
关键词:压缩算法压缩比遥测

闫国瑞 李志刚 史简 赵婷 李国军

(航天东方红卫星有限公司,北京 100094)

应用行程编码的航天器分包遥测压缩算法研究

闫国瑞 李志刚 史简 赵婷 李国军

(航天东方红卫星有限公司,北京 100094)

针对航天器延时遥测存储数据量较大的问题,提出了一种应用行程编码(RLE)的分包遥测压缩算法。根据遥测数据的特点,对压缩算法进行改进,使压缩效果得到进一步提升。此外,对压缩数据生成符合空间数据系统咨询委员会(CCSDS)标准的分包遥测机制进行了阐述。对某卫星的试验表明,使用改进后的压缩算法,能够获得6.11倍的遥测压缩比,可提高延时遥测采样频率,增加航天器在境外的可用遥测数据量。

航天器遥测数据;压缩算法;延时遥测;分包遥测;行程编码

1 引言

航天器在轨运行期间,遥测是地面获取航天器各系统工作状态和运行状态的唯一通道。遥测包括实时遥测和延时遥测,延时遥测用来存储航天器在境外的遥测数据,过境时下传延时遥测数据,用于判读航天器在境外的状态,是航天器状态监控及故障定位的重要依据。

目前,国内航天器主要采用抽样的方式进行延时遥测数据存储,延时遥测采样周期的大小决定了航天器在境外遥测的采样存储密度。延时遥测采样周期越大,航天器在境外的可用遥测数据越少,故障漏检率越高,对出现的故障定位越困难;采样周期越小,可用遥测数据越多,越有利于故障检测及故障定位。同时,随着航天器功能、性能以及复杂度的不断提高,遥测数据量越来越大,若不采用有效的压缩算法,则要以牺牲延时遥测采样存储密度为代价。

国外已将计算机领域常用的压缩算法应用到航天器遥测数据压缩中,空间数据系统咨询委员会(CCSDS)推荐使用RICE无损压缩算法进行遥测数据压缩[1]。该算法首先将数据进行分组预处理,然后进行熵编码,剔除数据的冗余性。文献[2]中对欧洲航天局“罗塞塔”(Rosetta)彗星探测器的在轨遥测数据进行了研究,利用计算机领域常用的7zip、WinZip等软件对遥测数据进行无损压缩,剔除数据的冗余信息。不过,7zip、WinZip等软件的压缩算法相对复杂,对航天器上的资源要求较高,因此需要一种更符合国内航天器需求的压缩算法,以节省数据存储空间,提高延时遥测采样频率,增加航天器的可用遥测数据量。本文针对遥测数据时间冗余的特点,提出了一种应用行程编码(Run Length Encoding,RLE)的分包遥测压缩算法,研究了RLE应用到分包遥测数据压缩并生成符合CCSDS标准的分包遥测机制,最后以真实的在轨遥测数据验证了算法的有效性。

2 应用RLE的分包遥测压缩算法

2.1 遥测压缩算法设计

RLE是一种朴素的无损压缩算法,其基本思想是对于连续出现y次的重复数据b,使用y,b来表示。例如,数据0x12,0x12,0x12,0x12,0x15,0x15,使用0x04,0x12,0x02,0x15表示。对于相同数据连续个数较少或数据均不相同时,经RLE算法压缩后会导致数据膨胀。例如,数据0x02,0x03,0x04,0x05,0x06,处理后为0x01,0x02,0x01,0x03,0x01,0x04,0x01,0x05,0x01,0x06,数据最大膨胀1倍。因此,由RLE算法派生出了很多改进算法[3-6],其中常用的是PCX(PC Paintbrush Exchange)图像格式所用的行程压缩方法以及Apple公司提出的PackBits算法。PackBits算法通过引入标志位来避免RLE算法的压缩膨胀问题,设计见图1。

当标志位Indicator为0时,数据域的内容是Run length指示的长度为m+1的非压缩数据;当Indicator为1时,数据为数据域的内容重复m+1次。

面向字节型Pack Bits压缩算法定义见图2[7]。

图1 PackBits算法Fig.1 PackBits algorithm

图2 字节型PackBits压缩算法Fig.2 Byte-level PackBits compression algorithm

Pack Bits是一种通用算法,本文针对遥测数据特点,对其进行改进。遥测数据从性质上可分为模拟量和数字量:模拟量主要包括电压、电流和温度量等;数字量主要包括软硬件的运行状态、时间码和指令计数等。对于某个设备或应用程序,其连续下行的遥测数据构成二维矩阵。根据遥测数据的特性,二维矩阵的每一列具有较强的时间相关性,如设备的开关机状态、指令计数等在短时间内为常量,时间码大部分情况下为等差数列,温度量按照轨道周期进行变化,不会发生跳变。对于时间码等数字量,大部分情况下为等差数列,只须存储首项a1,公差d,以及项数n。对于温度量等模拟量,在短时间内不会发生跳变,其高位比特在短时间内基本不变,因此只须存储首项a1,项数n,以及低位比特不同的部分。

考虑Pack Bits算法的两种情况:①Indicator为1,不存在Run Length为0;②Indicator为1,Run Length为1。对于情况①,属性字节为0x80时,引入融合差分的RLE算法(RLE-D),即其数据域为等差数列,存储首项a1,项数n—1,以及公差d。对于情况②,若使用Pack Bits算法,不仅不会带来压缩性能的改善,反而可能会降低压缩性能(如数据为133544355),因此属性字节为0x81时,引入面向比特的RLE算法(RLE-b),即其数据域为首项a1,项数n—1,以及低比特不同的部分。改进后的RLE算法——融合差分及面向比特RLE算法(RLE-D&b)见图3。

图3 RLE-D&b算法Fig.3 RLE-D&b algorithm

2.2 压缩后的遥测数据分包设计

遥测数据的获取和下行发送主要由中心计算机、总线通信网络和管理执行单元等共同完成[8],其中组包由中心计算机完成,遵循CCSDS分包遥测标准。分包遥测描述了从航天器数据源到地面用户进行传输的数据结构,其包格式如图4所示[9]。

图4 分包遥测包格式Fig.4 Packet telemetry format

压缩后的分包遥测处理流程如图5所示,设延时遥测采样周期为k,RLE算法最大行程长度为M,对于某个设备或应用程序,其遥测数量为N字节,压缩后的分包遥测数据处理过程如下。

(1)对遥测数据按采样周期k进行采样,k可通过遥控进行设置。

(2)当采样数每次增加到M(最大为128)时,对压缩后的数据按列组包(若不使用压缩算法,将某一时刻的遥测数据按行组包),利用图4所示CCSDS分包遥测标准中的分段机制,第1列分段标志设为01b,表示首段,第2列到第N—1列分段标志设为00b,表示续段,第N列分段标志设为10b,表示末段。

(3)为了提高分包遥测的信道利用率,对于压缩后较短的数据,可以将多列组成一个包下传。

(4)对于图4所示的应用过程识别符,最高比特(第10 bit)为0时代表实时遥测,为1时代表延时遥测,次高位(第9 bit)为0时代表不压缩,为1时代表使用压缩算法,第0 bit到第8 bit代表不同的信源,最后根据压缩后的数据长度设置包长及源包序列计数等。

图5 分包遥测压缩框图Fig.5 Schematic diagram of packet telemetry compression

3 试验分析

3.1 RLE长度的选取对压缩效果影响的分析

设压缩前数据大小为Q,其中不重复数据的大小为q。若不考虑最大行程长度M的限制,则RLE算法理想最高压缩比r≈Q/q;若考虑M的限制,则实际最高压缩比为

式中:s为重复数据压缩后所占用的字节数;x为非重复数据需要额外引入的字节数。

对于PackBits算法,s=2,x=1,M最大为128,最好情况下压缩比为M/s=64倍,最坏情况下数据膨胀(M+1)/M倍,能够有效避免RLE算法数据膨胀问题。

式(1)对RLE长度的选取有指导意义。例如,理想最高压缩比r=4,M=128时,R=3.76,M=64时,R=3.55,也就是说,M=128相对于M=64的压缩比仅能提高0.21,但对于某些应用程序却须要开辟2倍的临时缓冲区。RLE长度对压缩效果的影响如图6所示,当理想最高压缩比r<9时,M=128与M=64对压缩比的影响小于1。

图6 RLE长度对压缩效果影响分析Fig.6 Compression effect analysis of different RLE length

3.2 试验结果分析

选取某卫星真实在轨数据,对比Pack Bits算法、RLE-D算法和RLE-D&b算法,验证结果如表1所示。可以看出,RLE-D算法相对于Pack Bits算法性能提高约7%,RLE-D&b算法相对于Pack Bits算法性能提高约19%。M=64时,RLE-D&b压缩比为5.67;M=128时,RLE-D&b压缩比为6.11,显著地提高了航天器在境外可用的遥测数据量。

表1 3种算法的压缩结果Table 1 Compression results of three algorithms

4 结束语

本文提出了一种航天器分包遥测压缩算法,将RLE应用到分包遥测数据压缩中,针对遥测数据的特点对RLE算法进行了改进,并提出了能将压缩数据生成符合CCSDS标准的分包遥测机制。本文算法编码及解码简单,并且编码过程可以边采样、边编码,使编码的占用资源均匀分布在每个采用周期,节省了航天器上的资源。对某卫星的试验验证表明,使用改进后的压缩算法,能够获得6.11倍的遥测压缩比,可提高延时遥测采样频率,显著地增加航天器在境外可用的遥测数据量。

[1]CCSDS.CCSDS 120.0-G-2 Lossless data compression[S].Washington D.C.:CCSDS,2006

[2]José-Antonio,Martínez-Heras,David Evans,et al.Housekeeping telemetry compression:when,how and why bother[C]//Proceedings of the 2009 First International Conference on Advances in Satellite and Space Communications.Colmar,France,SPACOMM,2009: 35-40

[3]芦亚亚,丁维龙,古辉.由行程编码改进的一种通用性压缩算法[J].浙江工业大学学报,2007,35(1):60-64 Lu Yaya,Ding Weilong,Gu Hui.An improved universal compression algorithm based on RLE[J].Journal of Zhejiang University of Technology,2007,35(1): 60-64(in Chinese)

[4]A H El-Maleh.Test data compression for system-on-achip using extended frequency-directed run-length code[J].IET Computers and Digital Techniques,2008,2(3): 155-163

[5]Bo Ye,Qian Zhao,Duo Zhou,et al.Test data compression using alternating variable run-length code[J].The VLSI Journal,2011,44(2):103-110

[6]Hemnath P,Prabhu V.Compression of FPGA bitstreams using improved RLE algorithm[C]//Proceedings of the 2013 International Conference on Information Communication and Embedded Systems.New York:IEEE,2013:834-839

[7]Aldus.Tiff Revision 6.0[Z].Charleston:Adobe Developers Association,1992

[8]李孝同.小卫星星务系统的遥测技术研究[J].航天器工程,2008,17(2):38-43 Li Xiaotong.Telemetry in computer integrated satellite system[J].Spacecraft Engineering,2008,17(2):38-43(in Chinese)

[9]CCSDS.CCSDS 102.0-B-5 Packet telemetry[S].Washington D.C.:CCSDS,2000

(编辑:夏光)

Research on Packet Telemetry Compression Algorithm Using RLE

YAN Guorui LI Zhigang SHI Jian ZHAO Ting LI Guojun
(DFH Satellite Co.Ltd.,Beijing 100094,China)

For large storage of spacecraft telemetry data,a packet telemetry compression algorithm using RLE(run length encoding)is proposed in this paper.According to the characteristics of telemetry data,the compression algorithm is improved,so that the compression ratio can be further increased.The mechanism of producing CCSDS-compliant packet data is also presented.An experimental results for a certain satellite show that the improved algorithm can obtain a compression ratio of 6.11,which can raise the stored telemetry sampling frequency,and increase the amount of available telemetry data without ground contact.

spacecraft telemetry data;compression algorithm;stored telemetry;packet telemetry;RLE(run length encoding)

TN91

A DOI:10.3969/j.issn.1673-8748.2015.02.010

2014-03-17;

2014-05-13

国家重大航天工程

闫国瑞,男,硕士,从事星务系统、星载软件研究工作。Email:yanguorui5000@qq.com。

猜你喜欢
压缩算法压缩比遥测
前馈复合控制在提高遥测跟踪性能中的应用
基于人工智能技术的运动教学视频压缩算法
质量比改变压缩比的辛烷值测定机
远程控制式遥测地面站关键技术研究
基于WPF的遥测CAS信息实时监控系统设计开发
自适应模糊PID控制的遥测方舱温度调节方法
一种基于嵌入式实时操作系统Vxworks下的数据压缩技术
基于HBASE的大数据压缩算法的研究
低温废气再循环及低压缩比对降低欧6柴油机氮氧化物排放的影响
高几何压缩比活塞的燃烧室形状探讨