《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 一种遥测数据实时压缩系统
一种遥测数据实时压缩系统
来源:电子技术应用2013年第4期
冷佳鹏, 刘文怡
1. 中北大学 电子测试技术国家重点实验室,山西 太原030051; 2. 仪器科学与动态测试教育部重点实验室,山西 太原030051
摘要: 介绍了一种遥测数据实时压缩系统的设计方案,该设计以FPGA+DSP为硬件架构,以具有一阶差分预测的ARC编码为无损压缩方案,达到了较高的压缩去除率和较快的压缩速度,适合在可靠性要求较高的遥测系统中使用。经实验验证,无损压缩系统有效地缓解了遥测系统的传输带宽压力。
中图分类号: TP274
文献标识码: A
文章编号: 0258-7998(2013)04-0072-03
A kind of telemetry data real-time compression system
Leng Jiapeng, Liu Wenyi
1. National Key Laboratory for Electronic Measurement Technology, North University of China, Taiyuan 030051, China; 2. Key Laboratory of Instrumentation Science & Dynamic Measurement of Ministry of Education, Taiyuan 030051, China
Abstract: A kind of telemetry data real-time compression system is introduced, this design with FPGA + DSP for hardware architecture, with first-order difference prediction ARC coding for lossless, the system achieve high compression removal efficiency and faster compression speed, it’s suitable for high reliability requirements telemetry system. The results of experiment show that the lossless compression system effectively alleviates the transmission bandwidth pressure of telemetry system.
Key words : telemetry; data compression; first-order difference prediction; ARC coding

    航天技术的发展对遥测系统提出了更高的要求,测量参数种类增多、数据量增大、测量实时性增强为有限的传输信道容量带来巨大压力。为降低遥测系统对传输信道带宽的要求,采用数据压缩技术,可以有效地提高信道利用率,增强遥测数据的实时性和吞吐率。世界上较为先进的航天数据压缩技术被各国视为机密。我国于2000年成功发射的“资源二号”卫星采用DPCM编码器,速率为102 Mb/s,压缩比为2:1。填补了我国航天星载数据压缩的空白[1-2]。对于较平稳的数据,包括DPCM在内大多数无损压缩算法都可以达到2:1的压缩比和较稳定的压缩时间,但针对一些复杂情况下的数据,比如火箭飞行过程中的噪声数据,在信号活跃期,其压缩时间超出了实时压缩的忍受极限。本文设计了一种以FPGA+DSP为实现平台,以具有一阶差分预测ARC编码为压缩算法的数据压缩系统。

1 航天遥测数据实时压缩的关键技术
    从算法方面考虑:评价一个压缩算法的优劣有两个重要指标,即压缩去除率和压缩用时,在实时系统中对时间的要求更为严格,而在航天遥测系统这样特殊的应用场合还必须考虑可靠性因素。压缩去除率仅与算法有关,而压缩用时和可靠性因素不仅与算法相关,还与硬件实现平台密切相关[3]。
    从硬件实现方面考虑:成本和开发时间是需要考虑的首要条件,由ASIC(专用集成电路)来实现压缩算法可以满足极为苛刻的时间要求和很高的可靠性要求,但开发周期太长,开发成本过大,不宜作为航天遥测这样小批量生产的实现方案;由FPGA(现场可编程门阵列)实现压缩算法也可以达到很快的压缩速度和很好的可靠性,但用硬件描述语言实现复杂的算法需要很长的开发周期;单纯用DSP(数字信号处理器)实现又很难保证数据采集、压缩和输出的实时性要求[4]。因此,由FPGA实现数据传输、由DSP实现压缩算法的FPGA+DSP结构是航天遥测数据压缩较为理想的实现方案。
2 无损压缩算法选择
2.1 压缩去除率

    定义1:设压缩系统输入的数据量为Ni,压缩编码后输出数据量为No,则w=(1-No/Ni)称之为压缩去除率,以表示压缩系统的空间压缩效率。
    针对不同统计特性的数据,特定的算法表现出的压缩去除率相差很大,要根据数据的统计特性和应用场合才能选出合适的算法[5]。本文选用一段已测得的火箭飞行过程中的噪声数据对算法进行比较。由于实现平台对算法的压缩去除率没有影响,因此选用易于算法实现的PC机作为实现平台。
    在航天领域,对可靠性的要求尤为重要,对遥测领域代码的共识是越小的代码量具有越高的可靠性,因此本文选用ARC、LRice和LZARI三种压缩算法进行比较。
    以上编码方法都围绕Shannon思想中信息量与信源分布的关系而展开,这些编码方法统称为统计编码。在Shannon 框架下,除了统计编码外还有预测编码与变换编码,统称三大经典编码。后两种编码本身不会改变数据量,但是在特定用途下可以降低平均码长,再与统计编码(也称为熵编码)结合,可以得到可观的压缩效果。正是基于这种原因,可以把压缩编码分两步完成,第一步称之为预变换编码,第二步才是熵编码[6]。熵编码本身是可逆的。如果第一步的变换编码是可逆的,整个压缩就是无损压缩;但如果第一步的变换是不可逆的,那么整个压缩就会是不可逆的,就是有损压缩。预变换编码是通过去相关导致码元表示位数降低来影响压缩效果的。

     一阶多项式预测编码就是一阶差分编码。根据参考文献[8]的研究,编码效率随着预测阶数的增高而增大,然而,二阶以上的预测编码对编码效率的改善已经很小。对于变化较平稳的数据流,采用一阶差分就可达到很高的编码效率;对于变化较大的数据流,其数据相关性本来就很小,预测编码对数据的分布不会有明显改善。显然,预测阶数越高,编码过程中的计算量就越大,在DSP中的执行时间也就越长,在火箭这种高可靠性要求的应用场合,为了甚微的压缩空间改进而占用较多的时间显然是不可取的。表1是在PC机上对不同算法的压缩去除率的比较。
    从表1可以看出LZARI算法具有最好的压缩去除率,LRice在数据相关性好时(正弦波)压缩去除率较高,在数据相关性较差时(噪声)压缩去除较低,可靠性较差,经一阶差分处理后,各算法对正弦波压缩去除率改善较大,而对噪声数据的改善很小。

2.2 压缩用时
    算法逻辑是决定其时间效率的根本所在,评价其执行效率可以有两种手段:一种是通过算法机理建模分析,另一种是直接通过外部数据测试。由于大部分算法的逻辑模型难以建立,通过模型进行准确、定量的比较就难以实现。在实际应用环境中,更关注一个算法的使用性能。一组既定的算法的复杂度是确定的,可以弱化其内部工作机理,直接从外部施加一定的条件进行精确测试。
    对一个压缩系统而言,其压缩时间与实现平台、压缩算法和待压缩数据三者相关。实现平台从处理器结构进行分类,可以分为指令型和逻辑型两种。计算机、DSP、ARM 平台都属于指令结构,而专用集成电路平台属于逻辑型结构。由于专用集成电路采用硬件电路逻辑实现,可以达到很高的压缩速度,通常可以满足实时性要求。本文只针对指令结构平台进行压缩速度分析。
    经过对不同类型数据的多次压缩比较,在PC机上仿真的压缩速度大小依次是LRice>ARC> LZARI,而在DSP上的效果是ARC>LRice>LZARI。这种变化产生的根源主要是DSP 处理器的并行指令执行能力使得ARC较LRice反而更快。固定数据的一阶差分预测在相同实现平台上的运行时间是一定的,因此带一阶差分预测的压缩算法用时比较同上。
    考虑航天设备对运行环境、压缩比、压缩速度等方面的要求,DSP相比于PC是一种可行的算法实现平台,因而用ARC算法实现遥测数据无损压缩就更有优势, 本文采用一阶差分编码改进的ARC算法对火箭遥测数据进行无损压缩。
3 数据压缩系统的实现
    遥测数据采集系统的工作流程分为采集—压缩—输出3个主要步骤。本文利用FPGA+DSP架构作为硬件平台,将待压缩的6路模拟噪声信号经电压跟随后输入给A/D转换器进行量化,量化结果写入到FPGA内部FIFO数据缓冲器中。DSP通过FPGA内部FIFO半满信号读取数据,通过识别通道号把数据流分配到6个分组缓冲区,其中某一分组缓冲区满2 KB就进行一次压缩,压缩后的数据被存入缓冲器SDRAM中。当缓冲器半满时,DSP将压缩后数据串行发送至FPGA,然后FPGA根据接口协议发送给数据接收器,保证压缩数据传输的实时性。系统框图如图1所示。

    由于遥测系统的各功能单元相互独立,相互通信时需要数据缓存进行协调,为此,本设计多处使用由FPGA内核构建的FIFO(先进先出)暂存器,在保证系统可靠性的同时降低了开发难度。
    考虑遥测系统的整体环境,数据压缩系统采用固定格式的数据流输出压缩后数据,如果压缩数据的产生速率低于数据输出速率,数据可完整发送。由表1可以看出,在强噪声数据阶段,数据的压缩去除率很低,剩余数据量较大,无法满足数据的即时发送,产生数据积累,必须采用数据缓冲单元。数据缓冲单元容量大小如下:
  
其中t1、t2分别为数据积累的开始和结束时间,vi、vo分别为压缩数据的产生和发送速率。航天器实际飞行过程中,强噪声数据阶段仅为几分钟左右,其余时间段都可达到较高的数据压缩去除率。由此估算出缓冲器的容量为1 MB左右,采用容量为8 MB的SDRAM,保证数据的完整输出。
4 实验及结果分析
    火箭飞行过程中的噪声数据是一种典型的航天遥测数据,火箭上的噪声在飞行过程中的大部分时间是平稳的,在小部分时间内是剧烈变化的。数据压缩系统要保证压缩用时和压缩去除率两方面都满足要求。表2是一段实测噪声数据以各种压缩算法在DSP平台上压缩效果比较。
    从表2可以看出,ARC算法具有较快的压缩速度和较高的压缩去除率。加入一阶差分预测后带来的时间延迟并不是很明显,却明显改善了压缩去除率。结合各算法表现出的压缩去除率,具有一阶差分的ARC算法在航天遥测这种应用场合表现出了最佳性能。

    采用FPGA+DSP结构和用一阶差分优化的ARC算法对火箭遥测数据进行无损压缩,达到了较高的压缩去除率和可靠性,减轻了遥测系统的信道传输压力,提高了数据的传输效率,是航天遥测数据压缩较为理想的实现方案。
参考文献
[1] 王泉,齐春,罗新民,等. LZW压缩算法的改进及其参数优化分析[J].重庆邮电学院学报,2005,17(3):351-355.
[2] RIZZO F, STORER J A,CARPENTIERI B.LZ-based image compression[J].Information Sciences,2001(135):107-122.
[3] 高艺,孙桂玲,李维祥,等.基于预测编码的无线传感器网络节点数据压缩算法研究[J].南开大学学报:自然科学版,2010,43(6):77-80.
[4] BENTLEY J, MCILROY D. Data compression with long repeated strings[J]. Information Sciences, 2001(135):1-11.
[5] 刘向宇,王雅哲,杨晓春,等. 面向无线传感器网络的流数据压缩技术[J]. 计算机科学,2007,34(2):141-142.
[6] 沈海峰. 遥测系统提高传输容量方法探讨[J]. 装备指挥技术学院学报,2007,18(2):99-104.
[7] 张天序,邹胜,曾永慧.基于FPGA的图像无损压缩算法的实现[J].系统工程与电子技术,2004,26(10):1340-1343.
[8] ZIV J, LEMPEL A. A universal algorithm for sequential data compression[J]. IEEE Trans. Inform. Theory,1977(23):337-343.

此内容为AET网站原创,未经授权禁止转载。