基于fpga的多路循环数据压缩器和解压缩器以及方法
【技术领域】
[0001] 本发明属于数字信号处理领域,涉及一种基于FPGA的多路循环数据压缩器和解 压缩器以及方法。
【背景技术】
[0002] 直升机旋翼应变数据采集处理系统已经成为直升机机载处理系统中不可或缺的 一环,对旋翼进行实时监测和应变数据采集,完成飞行中的实时告警,可提高直升机的飞行 安全性,具有重大的实用价值和广泛的应用前景。机载设计平台对数据处理、传输性能有 着限制,需要处理的数据量大,但数据传输能力有限,因此必须对旋翼应变数据进行压缩发 送、接收解压缩的处理,才能满足实时性。
[0003]目前,国外对于旋翼应变数据的实时数据处理技术非常重视,包括美国、俄罗斯、 日本等航空技术大国都已投入了大量的财力物力对其进行研宄。美国向来都非常重视旋翼 应变的实时数据监测技术,其在信号采集,数据处理,故障诊断方面都已进行大量研宄。美 国先后研制了"飞行中结构监控系统(FSMS) "和"飞行中裂纹探测系统(IFCDS) ";开发了 采用超声波传感疲劳损伤的实时无损评估技术(NDE),损坏感应系统被用于直升机旋翼结 构监测和新老飞机的机体结构寿命预测;M.Roemer开发了直升机旋翼实时监测与故障诊 断系统。基于这些研宄及实验,美国的直升机飞行风险降低了 50%,飞机的运行预算降低了 1/3,而且还可能进一步降低。
[0004] 相比之下,国内的旋翼应变数据的实时数据处理技术起步较晚,在直升机旋翼应 变数据采集处理方面主要做了理论方面的研宄,提出了一些监测方法。朱旭程等人通过分 析典型故障对旋翼系统特征的影响,建立了故障诊断矩阵,提出了一种基于诊断矩阵的冲 突集生成方法。何克磊等人建立了一种系统健康评估模型,并在四旋翼直升机平台上进行 了仿真应用。张明生等人采集处理了旋翼应变数据,在国内首次实现了没有导电环情况下 的旋翼应变测量。黄捃等人完成了地面试验条件下旋翼桨叶固有频率的测试。但是国内对 于旋翼应变数据采集处理的研宄主要以地面诊断,建立模型为主,实际的系统开发比较少, 少数的旋翼应变测试系统完成了功能需求,但是存在数据量化精度不高、实时性不好等问 题。因此,对于旋翼应变数据的实时数据处理技术仍需进一步深入研宄。
【发明内容】
[0005] 要解决的技术问题
[0006] 为了避免现有技术的不足之处,本发明提出一种基于FPGA的多路循环数据压缩 器和解压缩器以及方法,采用基于FPGA的ASIC设计技术,可以满足旋翼应变数据处理系统 功耗低、体积小、重量轻、集成度高、单位时间内数据处理量大、可扩展性好等性能要求。
[0007] 技术方案
[0008] 一种基于FPGA的多路循环数据压缩器,其特征在于包括rampl存储器、ramsl存 储器、量化器、预测器、减法器和自适应因子计算器;
[0009] 减法器:输入端为需要编码的数据和rampl存储器的输出端;将输入值Si与 rampl存储器的输出值相减,其结果输出至与其相连的量化器;
[0010] 量化器:输入端连接减法器和ramsl存储器的输出端,输出端为压缩器的输出端, 同时连接自适应因子计算器和预测器的输入端;从ramsl存储器读取当前自适应因子参数 indexi,对di进行量化产生一个有符号的4位二进制编码值Ci;
[0011] 自适应因子计算器:输出端连接ramsl存储器的输入端;编码值Ci作为输入,通 过自适应因子计算器求出自适应因子更新值Index;
[0012] 预测器:输出端连接rampl存储器的输入端;编码值Ci作为输入,通过预测器求 出预测值更新值Sp;
[0013] rampl存储器:输出端连接减法器的输入端;数据宽度16bit,用于多路压缩的预 测值参数缓存,输出为减法器提供当前样本的预测值Spi;
[0014] ramsl存储器:输出端连接量化器的输入端;数据宽度7bit,用于多路压缩的自适 应因子参数缓存,输出为量化器提供当前样本数据处理所需要的参数自适应因子indexi。
[0015] -种采用所述压缩器进行多路循环压缩编码的方法,其特征在于步骤如下:
[0016] 步骤1 :从存储器rampl和存储器ramsl中读取第n路第i个预测值Spi和自适应 因子Indexi;
[0017] 步骤2:将当前第i个输入值Si与第i个预测值Spi相减,得到当前差值di;对di 进行量化产生一个有符号的4位二进制编码值Ci,
[0018] 所述Ci为补码形式,最高位为符号位,表示正负,低三位为量化码,对应0~7 ;
[0019] 步骤3 :以编码值Ci的低三位Ci(2:0)为判定条件重构差值diff:
[0021] 然后由Ci的最高位Ci(3)计算得到预测值更新值SD:
[0023] 最后编码值Ci作为输入,通过自适应因子计算器求出自适应因子更新值Index:
[0024]
[0025] 步骤4 :将rampl和ramsl的高有效写使能信号wepl和wesl置1,将预测值更新 值Sp写入rampl中的第n个存储单元,将自适应因子更新值Index写入ramsl中的第n个 存储单元,下一个时钟上升沿到来时,ram中的第n个存储单元数据由第i个更新为第i+1 个,为下一个循环的第n路使用;
[0026] 步骤5 :将rampl和ramsl的读写地址加1,同时wepl和wesl置0,使ram处于读 状态,多路数据循环压缩模块完成一个压缩过程;
[0027] 重新返回步骤1,开始对第n+1路第i个数据进行压缩。
[0028] 一种对所述基于FPGA的多路循环数据压缩器得到的编码进行解码的多路数据循 环解压缩器,其特征在于包括ramp2存储器、rams2存储器、逆量化器、自适应因子计算器和 加法器;
[0029] 逆量化器:输入端接收需要解码的编码数据,以及连接ramp2存储器的输出端,逆 量化器的输出端连接加法器的输入端;从rams2存储器读取当前自适应因子参数,对编码 值Ci的低三位进行差值重构;
[0030] 自适应因子计算器:输入端接收需要解码的编码数据,输出端连接rams2存储器 的输入端;编码值Ci作为输入,通过自适应因子计算器求出自适应因子更新值Index;
[0031] rams2存储器:输出端连接逆量化器的输入端;数据宽度7bit,用于多路解压缩 的自适应因子参数缓存,输出为逆量化器提供当前样本数据处理所需要的参数自适应因子 indexi;
[0032] ramp2存储器:输出端与加法器的输入端相连;数据宽度16bit,用于多路解压缩 的预测值参数缓存,为加法器提供当前样本的预测值Spi。
[0033] 一种采用所述多路数据循环解压缩器进行多路循环解压缩编码的方法,其特征在 于步骤如下:
[0034] 步骤1:从ramp2和rams2中读取第n路第i个预测值Spi和自适应因子Indexi;
[0035] 步骤2:首先以编码值Ci的低三位Ci(2:0)为判定条件重构差值diff:
[0039] 由Sp=SKi得到预测值更新值Sp;
[0040] 最后编码值Ci作为输入,通过自适应因子计算器求出自适应因子更新值Index:
[0041]
[0042] 步骤3 :将ramp2和rams2的高有效写使能信号w印2和wes2置1,将预测值更新 值Sp写入ramp2中的第n个存储单元,将自适应因子更新值Index写入rams2中的第n个 存储单元,下一个时钟上升沿到来时,ram中的第n个存储单元数据由第i个更新为第i+1 个,为下一个循环的第n路使用;
[0043] 步骤4 :将ramp2和rams2的读写地址加1,同时wep2和wes2置0,使ram处于读 状态,多路数据循环解压缩模块完成一个压缩过程;
[0044] 重新返回步骤1,开始对第n+1路第i个数据进行解压缩。
[0045] 有益效果
[0046] 本发明提出的一种基于FPGA的多路循环数据压缩器和解压缩器以及方法,采用 基于FPGA的ASIC设计技术,满足旋翼应变数据处理系统功耗低、体积小、重量轻、集成度 高、单位时间内数据处理量大、可扩展性好等性能要求;将应变量量化等级选为16bit,提 高了多旋翼应变采集数据的精度,保证量化精度的同时实现了实时处理;数据还原误差在 KT3~KT2量级之间,符合精度需求;对异常应变值进行了及时还原。
【附图说明】
[0047] 图1是多路数据循环压缩器结构框图;
[0048] 图2是多路数据循环解压缩器结构框图;
[0049] 图3是多路数据循环压缩流程图;
[0050] 图4是多路数据循环解压缩流程图;
[0051] 图5是单路数据处理的时序仿真结果;
[0052] 图6是多路数据处理的时序仿真结果。
【具体实施方式】
[0053] 现结合实施例、附图对本发明作进一步描述:
[0054] 用于实施的硬件环境是:XILINX公司Spartan-6系列,型号为XC6SLX150的两块 FPGA芯片,示波器,逻辑分析仪,运行的软件环境是:ISE14. 5。以四路数据处理为例,我们 用ISE14. 5软件实现了本发明提出的方法。
[0055] 多路数据循环压缩器模块
[0056] 其实施按如附图1所示的设计架构完成,该架构中包括的模块及其结构实现关系 为:
[0057] rampl存储器:采用VHDL编写生成,数据宽度16bit,数据深度为4。其输入端与 预测器的输出端相连,用于多路压缩的预测值参数缓存,输出端与减法器的输入端相连,为 减法器提供当前样本的预测值Spi。
[0058]rams1存储器:采用VHDL编写生成,数据宽度7bit,数据深度为4。其输入端与自 适应因子计算器的输出端相连,用于多路压缩的自适应因子参数缓存,输出端与量化器的 输入端相连,为量