APP下载

一种面向火炮火力系统PHM的信号快速处理方法

2021-12-30狄长安李大海张永建

自动化与仪表 2021年12期
关键词:预处理运算卷积

杨 硕,狄长安,李大海,张永建

(南京理工大学 机械工程学院,南京 210094)

某型火炮进行连续射击时,火力系统的PHM系统[1-2]需要在射击的间隔内完成故障诊断与健康评估,考虑到信号采集与健康评估时间,信号预处理与特征提取功能需要在2 s 之内处理复杂信号约9 MB 数据,每秒需要处理的数据量可达到500 M次MAC 运算。

通用CPU 平台[3-4]、数字信号处理器(DSP)[5-6]、现场可编程逻辑门阵列(FPGA)[7]是PHM 系统处理器的典型代表。通用CPU 计算平台设计灵活,适应性强,但是计算能力较弱,无法满足实时性要求;DSP 具有较强的信号处理能力,但是一般需要使用FPGA 扩展以实现信号采集,这导致了硬件设计上的复杂化,提高了系统成本。因此,如何低成本地实现大量测量数据的快速预处理成为某型火炮火力系统PHM 亟需解决的瓶颈问题之一[8-9]。

FPGA 上集成了丰富的资源,具有很高的灵活性与并行处理能力,目前已经广泛应用到了雷达信号处理[10]、5G 通信[11]、神经网络加速[12]等 前沿领域。ZYNQ 芯片在一个芯片上集成了PS(processing system,处理系统,即ARM)和PL(programmable logic,可编程逻辑,即FPGA)这两个可编程部分,并通过AXI 总线实现高速互联互通,具有较高性能和较高可扩展性。引入ZYNQ 有望以较低成本解决某型火炮火力系统PHM 的大量测量数据的快速预处理问题[13-14]。

本文研究PHM 信号预处理典型算法,分析其热点计算部分,研究一种基于ZYNQ 软硬件协同计算的PHM 系统信号快速处理方法。该方法将PS 端的卷积运算offload 至PL 端,并对卷积运算电路进行了速度与精度优化,以期达到提升计算效率的目的。最后使用邻域均值算法与现在常用的PC 端通用CPU 平台进行了实验对比。

1 火力系统PHM 信号预处理基本原理

PHM 需用不同采样速率采集液压、应力应变、温度、加速度等信号,每秒钟采集数据量约4 MB,采集时间为2 s。以PHM 预处理时常用的3 层小波变换为例,总的计算量可达到约1 GMAC。

某型火炮两次射击最短时间间隔约为7.5 s,其中为PHM 总机处理和交互预留3.5 s 时间,实际处理时间约为2 s,故PHM 信号预处理的处理速率应大于0.75 GMAC/s。

火炮射击作业时产生强烈的冲击振动,PHM 中模数转换芯片采集到的信号中往往包含着高频的冲击信号。采集到的信号可做如下表示:

式中:t 为时间变量;f(t)为含噪信号;s(t)为原始不含噪信号;n(t)为噪声。

这给特征值的自动化提取带来了困难。一般使用邻域去噪、小波去噪等方法去除信号中的噪声[1]。邻域均值去噪可做如下表示:

式中:g(t)为滤波后信号;h(k)为邻域算子。

小波去噪的分解过程可做如下表示:

式中:h0[k]与h1[k]是一组Mallat 分解滤波器组;cj[k]、dj[k]、cj-1[n]均为小波展开系数。

小波去噪的重构过程可做如下表示:

式中:h0[k]与h1[k]是一组Mallat 重构滤波器组。

通过分析可以发现,上述算法均需要高频的离散卷积计算。离散卷积公式可做如下表示:

式中:x(n)、h(n)是卷积前序列;y(n)为卷积后序列。

2 PHM 系统信号快速处理方法

PHM 系统的信号预处理过程中需要高频的卷积计算,提高卷积计算的速度是提高PHM 系统信号预处理速度的核心。

图1是本文所设计软硬件协同计算卷积加速器的流程,PS 通过参数配置控制PL 的计算流程。

图1 加速器加速流程Fig.1 Accelerated flow chart of the accelerator

图2为本文所设计的软硬件协同计算加速器的总体结构,PL 端主要由2 个并行的卷积IP 核(intellectual property core)组成,两个IP 共用时钟与复位信号,并通过AXI GPIO INTR 电路连接PS端GIC(general interrupt controller,通用中断控制器)。

图2 加速器总体结构Fig.2 Overall structure of the accelerator

图3为卷积IP 核内部结构,主要包括核心控制电路AXI CTRL、AXI HP 端口控制电路AXI Master、下行数据缓冲FIFO DOWN、上行数据缓冲FIFO UP以及硬件运算单元PE(processing elements)。

图3 卷积IP 核内部结构Fig.3 Convolutional IP core internal structure

2.1 兼容性优化

为了提高硬件运算电路的兼容性,本文在数据缓冲FIFO 中设计了图3所示并行的多种数据格式,并利用MUX 进行数据切换,在卷积运算开始前,PS 将直接配置MUX 参数,该参数保持不变直至PS 再次配置。

下行FIFO 中的数据位宽转换电路主要应用于原始数据卷积计算的场景。

下行FIFO 中的上采样电路主要应用于Mallat重构计算的场景。

下行FIFO 中的无操作模块主要应用于PE 输出数据再次进行卷积计算的场景。

上行FIFO 中的下采样模块主要应用于Mallat分解计算的场景。

上行FIFO 中的无操作模块主要应用于纯卷积运算的场景。

2.2 处理速度优化

为了最大限度提高软硬件协同计算的带宽,本文的AXI Master 电路选用了256 的突发传输长度,即最大带宽。为了优化时序,AXI 传输时钟与PE 时钟设为相同,此时时钟频率为180 MHz。

PE 在工作时,每个时钟周期都会有单个数据流入和流出。而在AXI 端口读写操作时,每次AXI 突发传输需要约290 个时钟周期。这是因为PS 端的PL to Memory(PLM)Interconnect、Memory Interconnect以及PL 端的AXI Interconnect 需要一定时间处理缓冲区数据。

PE 吞吐率大于AXI 端口传输吞吐率,故对PE进行了流水线暂停设计。并设置上下数据缓冲FIFO深度为两倍于突发传输长度,即512 深,便可实现无损数据缓冲。

为了进一步提高软硬件协同计算速度,本文主要从两部分进行优化,PE 并行化设计和高吞吐率PE 设计。

(1)PE 并行化设计。软硬件协同计算的处理速度取决于AXI 端口数据传输速度。单个IP 计算时,AXI 理论传输速度约为1.2 GB/s,此时AXI 端口带宽未被最大限度利用,因此设计了2 个IP 核进行并行计算。

(2)高吞吐率PE 设计。目前常见的卷积加速单元的结构主要是加法树结构和行缓存结构。加法树结构对计算资源和带宽的要求更高,但是结构更加简单,更加便于实现,与步进形式的一维卷积计算更加契合[15]。

为了加快硬件运算速度,提高系统吞吐率,简化设计难度,本文选用了树形卷积运算电路的设计。

图4所示的4×4 卷积运算电路是本文所设计的16×16 卷积PE 的简化表示。其中,在卷积运算开始前,PS 将直接配置卷积核数据core,该数据保持不变直至PS 再次配置。各级计算使用DSP48E1 资源,并在各级计算之间插入了寄存器以实现流水线。

图4 4×4 卷积计算树形结构示意Fig.4 4×4 convolution calculation tree structure diagram

2.3 近似计算优化

为了提高硬件运算电路的吞吐率与并行度,降低访存开销,减小硬件实现难度,本文将复杂的浮点小数运算转化为10 位定点小数运算。通过损失一部分理论精度,换取运行速度的提升。

图5为计算过程精度变化示意图。其中,输入数据为28 位宽,其中最高位是符号位,低10 位是定点小数位,中间17 位为整数位,此17 位中的高5位是预留位,因此针对小波变换而言,最高可支持到10 层;卷积核数据为11 位宽,其中最高位是符号位,低10 位是定点小数位。

图5 近似计算精度示意图Fig.5 Schematic diagram of approximate calculation accuracy

输出数据为28 位宽,其中最高位是符号位,低10 位是定点小数位,中间17 位为整数位。通过将乘法运算得到的20 位小数位截掉低10 位得到输出数据的10 位小数位。

3 实验与结果分析

3.1 软硬件环境

图6为本文设计的PHM 实验平台。该板卡板载ZYNQ 7020 芯片,拥有85 k 逻辑单元、4.9 Mb Block RAM 和220 个乘法器,该板卡还预置了1 GB DDR3 内存,数据速率为1066 Mbps。下面将讨论实验结果和性能比较。

图6 PHM 预处理实验平台Fig.6 PHM pretreatment experiment platform

3.2 实验结果及分析

图7列出了FPGA 的资源使用情况。FPGA 工作在180 MHz 下。由于乘法部分和加法部分全部使用了DSP 资源,且使用加法树结构比较耗费DSP资源,DSP 使用率达到了42.73%。本方法的硬件部分仅用于数据交互与卷积计算,使用了较少的硬件资源。

图7 FPGA 资源使用情况Fig.7 FPGA resource usage

在180 MHz 工作频率下,单个PE 的理论处理速度为2.88 GMAC/s,但是由于AXI 传输的限制,软硬件协同计算的整体理论处理速度将低于4.98 GMAC/s。

基于上述实验平台,创建不同数据量的模拟数据,基于邻域均值算法进行处理速度测试。各计算方法与平台均专注于该数据的计算,未被其他功能占用资源。ARM 采用A9 计算平台;通用CPU 采用目前常用的PC 端CPU AMD 5800H 模拟。

表1为不同平台处理不同大小数据所需时间。可以看出本文卷积加速处理方法的计算时间明显少于通用CPU 和ARM 的处理时间。

表1 各平台模拟数据计算用时Tab.1 Simulation data calculation time for each platform

图8是根据表1得到的速度对比分析示意图,其中本文方法的平均处理速度约为1.62 GMAC/s,这远低于理论计算速度,这主要受到了AXI 端口传输带宽的限制。

图8 各平台计算速度对比Fig.8 Comparing the calculation speed of each platform

通过对比可以发现,本文加速处理方法相对于通用CPU 计算的加速比约为5;相对于ARM A9 计算的加速比大于1200。

AMD 5800H 功耗为45 W;根据Vivado 软件功耗分析报告,此时FPGA 功率仅为1.918 W。相比之下,FPGA 功率仅为通用CPU 的4.3%。

4 结语

本文针对某型火炮火力系统PHM 进行信号预处理时计算量大、实时性要求高的特点,研究了一种基于ZYNQ 软硬件协同计算的数字信号快速的处理方法。

(1)与PHM 常用的DSP+FPGA 方案相比,该方法硬件复杂度更低,降低了成本。

(2)与PHM 常用的FPGA 方案相比,该方法灵活性更强,具有较强的通用性与兼容性,能够适应不同的信号预处理场景。

(3)与PHM 常用的嵌入式通用CPU 相比,该方法约是其计算速度的5 倍;与嵌入式平台处理器相比,该方法速度优势极其显著。

猜你喜欢

预处理运算卷积
重视运算与推理,解决数列求和题
基于3D-Winograd的快速卷积算法设计及FPGA实现
有趣的运算
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于预处理MUSIC算法的分布式阵列DOA估计
“整式的乘法与因式分解”知识归纳
浅谈PLC在预处理生产线自动化改造中的应用
络合萃取法预处理H酸废水
基于自适应预处理的改进CPF-GMRES算法