一种机载嵌入式实时大点数时序信号处理方法与流程

专利检索2022-05-10  45



1.本发明涉及硬件加速计算技术领域,是一种机载嵌入式实时大点数时序信号处理方法。


背景技术:

2.试飞数据作为飞机在试飞过程中的直接产物,反映了飞机在飞行过程中各设备的性能,因此试飞数据高效处理在飞机试飞审定过程中起到了关键作用。传统的试飞数据处理方法是将传感器采集到的数据存储到机载服务器的硬盘中,飞行结束后分发至试飞院各部门进行分析处理,部分关键参数还需要通过遥测链路发送到地面进行实时监控或处理。随着飞机新材料、新技术的应用和试飞测试技术的发展,传感器数量增加,使得飞机试飞参数和数据量急剧增长。例如,c919大型客机的飞行试验参数超过两万个,单次飞行产生的数据量超过100gb,需要传输的数据流量高达几百mbit/s。传统试飞数据处理方法需要记录的数据量大,飞行结束后数据处理时间长,处理时间在两小时以上,飞机试飞过程数据处理效率低,因此进行实时试飞数据处理,满足飞机试飞任务的进度需求成为热点问题。
3.当前待处理的试飞数据中包含大量的大点数时间序列数据,如飞机振动信号,信号采样率增加导致算法的复杂度增加、处理时延变大。而在飞机试飞过程中,机载服务器主要承担数据整理与存储管理等任务,受限于冯诺依曼架构,机载服务器无法满足上述大点数时间序列信号的处理要求。在此基础上,为解决超大数据量处理问题,设计高性能计算加速辅助模块,利用高性能计算处理器辅助机载服务器承担计算加速任务。
4.目前常用于数字信号处理的硬件加速器主要有三种:dsp、asic和fpga,其中,fpga具有低功耗、高性能、可重配置等特点,适用于处理流式的密集型计算任务。fpga内部有丰富的计算资源,具有强大的并行计算能力,针对试飞数据处理任务中计算密集型的时频域转换fft算法及扩展分析需求,充分发挥fpga时空并行性的优势,实现数据流水并行,从而极大地提升计算效率。
5.综上所述,飞机试飞数据处理任务中时频域转换fft算法等计算密集型任务具有数据量大、处理任务复杂等特点,现有的利用机载服务器的试飞数据处理系统的处理速度难以满足实际任务的需求。


技术实现要素:

6.针对以上问题,本发明针对机载服务器处理压力较大的计算密集型算法进行了机载嵌入式实时大点数时序信号处理模块的设计,可以基于fpga实现fft等计算密集型算法的加速计算,同时具备对不同分析需求进行可配置、可调度的灵活处理能力。本发明提供了一种机载嵌入式实时大点数时序信号处理方法,本发明提供了以下技术方案:
7.一种机载嵌入式实时大点数时序信号处理方法,包括以下步骤:
8.步骤1:通过数据缓存区缓存服务器通过千兆网口发送的参数描述包和400路采样率为1khz、2khz、4khz、8khz的时间序列数据,用于存储400路时间序列数据处理过程中的中
间计算结果和千兆网口发送前的最终计算结果;
9.步骤2:通过顶层控制来控制机载嵌入式实时大点数时序信号处理模块的总体调度,根据数据接收、数据存储、数据处理之间关系进行调度;
10.步骤3:可编程逻辑部分由fft、极值提取、功率谱密度计算、阻尼计算、阈值判断、信号周期性判断等大点数时序信号加速计算模块组成,将接收到的400路采样率为1khz、2khz、4khz、8khz的大点数时序信号数据进行实时处理。
11.优选地,所述方法还包括通过数据解包模块对数据缓存区接收到的参数描述包和400路时间序列数据进行解包。
12.优选地,数据解包模块对参数描述包进行解包,参数描述包中包含了每路时间序列数据对应的计算单元标识、算法标识、采样率、参数信息。
13.优选地,所述步骤3具体为:
14.步骤3.1:fft将输入的时域信号转换到频域信号进行分析,计算公式如下:
[0015][0016]
为降低传输结果的数据量,提取fft计算结果中n点最大的峰值及对应的频点值和n点最小的谷值及其对应的频点值;
[0017]
步骤3.2:功率谱密度计算是针对功率有限信号,单位频带内信号功率随频率的变换情况,计算公式如下:
[0018][0019]
其中,x(k)是第k点信号在频域对应的幅值,n是序列长度,是第k点信号在频域对应的功率值;
[0020]
将fft计算后的幅值与给定的阈值进行对比,当超出阈值,则判定发生故障并给出标志信号进行告警,否则为未发生故障;
[0021]
步骤3.3:采用精确算法利用功率谱密度计算阻尼系数,计算公式如下:
[0022][0023]
其中,δ是衰减系数,a
n
、a
n
‑1、a
n 1
分别表示最大功率谱值及其左右两点的功率谱值,n表示最大功率谱值对应的频域点;
[0024]
通过信号周期性判断是否发生周期性变化并给出相应的告警信号,当信号发生周期性变化,则判定发生故障并给出标志信号进行告警,否则为未发生故障。
[0025]
优选地,采用借鉴冒泡排序方法,取出n点序列中的前n点,采用冒泡方法进行排序,最多需要进行次比较,之后采用插值将n点后的数据与已排完序的前n点数据逐个进行比较,最多需要进行n(n

n)次比较,最终获得n点序列中的前n点最大值。
[0026]
本发明具有以下有益效果:
[0027]
本发明利用fpga的高并行度、低功耗、可重配置的特点,进行了机载嵌入式实时大
点数时序信号处理模块的设计,可以协助服务器完成计算密集型任务,提升了计算效率,加快了飞机试飞数据的处理速度;
[0028]
结合各算法计算的特点,利用fpga时空并行性的优势,针对大点数时序信号实时处理,设计了流水并行的加速计算方法,降低了处理时延。
[0029]
通过对fft、功率谱密度计算等算法进行分析,根据不同算法之间存在的依赖关系,设计了按照不同算法进行数据处理的调度方法,实现了不同数据使用不同算法处理的需求和数据的实时处理。
[0030]
针对极值提取算法中时延较大的排序算法进行改进,设计了大幅减少比较次数且可以流水处理的排序方式,计算速度获得极大提升。
附图说明
[0031]
图1为机载嵌入式实时大点数时序信号处理模块结构图;
[0032]
图2为大点数时序信号处理流程图;
[0033]
图3为提取部分最值流程图。
具体实施方式
[0034]
以下结合具体实施例,对本发明进行了详细说明。
[0035]
具体实施例一:
[0036]
根据图1至图3所示,本发明提供一种机载嵌入式实时大点数时序信号处理方法,本发明利用fpga运算高并行度、高灵活性、低功耗等优点,进行机载嵌入式实时大点数时序信号处理模块设计,包括:处理系统、可编程逻辑、数据缓存区、顶层控制程序、数据解包模块、大点数时序信号加速计算模块;通过对实时数据分析处理所需的fft、极值提取、功率谱密度计算、阈值判断、阻尼计算、信号周期性判断等算法进行分析,结合各算法的计算特点,利用fpga并行计算优势,针对大点数时序信号处理进行加速计算方法设计,提升数据处理速度;为实现实时计算,根据各算法之间的依赖关系,设计调度方法,从而可以灵活的对不同需求进行分析;最后,针对极值提取算法中时延较大的排序算法进行改进,同时可以使数据处理以流水的方式进行,计算速度获得极大提升。
[0037]
本发明设计的机载嵌入式实时大点数时序信号处理模块各部分的功能和工作方式分别是:
[0038]
机载嵌入式实时大点数时序信号处理模块主要包括数据缓存区、处理系统、可编程逻辑三部分,处理系统与可编程逻辑通过axi总线进行通信。
[0039]
数据缓存区是高速缓存单元,用于缓存服务器通过千兆网口发送的参数描述包和400路采样率为1khz、2khz、4khz、8khz的时间序列数据,用于存储400路时间序列数据处理过程中的中间计算结果和千兆网口发送前的最终计算结果。
[0040]
处理系统由顶层控制程序和数据解包模块组成。顶层控制程序用于控制机载嵌入式试试大点数时序信号处理模块的总体调度,根据数据接收、数据存储、数据处理之间关系进行调度。数据解包模块是对数据缓存区接收到的参数描述包和400路时间序列数据进行解包。首先,数据解包模块对参数描述包进行解包,参数描述包中包含了每路时间序列数据对应的计算单元标识、算法标识、采样率、参数等信息。
[0041]
可编程逻辑部分由fft、极值提取、功率谱密度计算、阻尼计算、阈值判断、信号周期性判断等大点数时序信号加速计算模块组成,将接收到的400路采样率为1khz、2khz、4khz、8khz的大点数时序信号数据进行实时处理,具体算法功能如下:
[0042]
fft将输入的时域信号转换到频域信号进行分析,其计算公式如下:
[0043][0044]
为降低传输结果的数据量,本发明在fft基础上设计极值提取方法,需要提取fft计算结果中n点最大的峰值及其对应的频点值和n点最小的谷值及其对应的频点值,实现较少的数据量传输。
[0045]
功率谱密度计算是针对功率有限信号,表现其单位频带内信号功率随频率的变换情况,其计算公式如下:
[0046][0047]
式中,x(k)是第k点信号在频域对应的幅值,n是序列长度,是第k点信号在频域对应的功率值。
[0048]
阈值判断是通过频域值的分析,将fft计算后的幅值与给定的阈值进行对比,如果超出阈值,则判定发生故障并给出标志信号进行告警,否则为未发生故障。
[0049]
阻尼计算是采用精确算法利用功率谱密度计算阻尼系数,其计算公式如下:
[0050][0051]
式中,δ是衰减系数,其值为α值为其中,a
n
、a
n
‑1、a
n 1
分别表示最大功率谱值及其左右两点的功率谱值,n表示最大功率谱值对应的频域点。
[0052]
信号周期性判断是判断信号是否发生周期性变化并给出相应的告警信号,如果信号发生周期性变化,则判定发生故障并给出标志信号进行告警,否则为未发生故障。
[0053]
根据工作原理,该机载嵌入式实时大点数时序信号处理模块的一项特征在于,针对大点数时序信号处理,设计了流水并行的加速计算方法,降低了数据处理时延。通过对fft、极值提取、功率谱密度计算、阈值判断、阻尼计算、信号周期性判断等算法的计算特点进行分析,利用fpga并行计算的优势,使用vivado设计套件高层次综合工具(hls)中带有的流水线并行优化方法对各算法进行加速设计,使大点数数据以流水线的方式进行处理,提升了数据处理速度。
[0054]
根据工作原理,该机载嵌入式实时大点数时序信号处理模块的另一项特征在于,根据各算法之间的依赖关系,设计调度方法,使模块具备对不同分析需求进行可配置、可调度的灵活处理能力。若进行fft运算,首先进行fft运算,然后进行极值提取;若进行功率谱
密度计算,首先进行fft运算,然后进行极值提取,最后计算功率谱密度;若进行共振判断,首先进行fft运算,然后进行极值提取,最后根据极值提取的最大峰值进行共振判断;若进行阻尼计算,首先进行fft运算,然后进行极值提取,最后根据特征点提取的最大峰值及左右两点幅值,计算阻尼系数。拍频判断可独立计算。
[0055]
根据工作原理,该机载嵌入式实时大点数时序信号处理模块的最后一项特征在于,针对特征点提取算法中的排序算法进行改进,提升计算速度。在特征点提取过程中,首先提取所有的峰值和谷值,然后分别找出峰值、谷值中的部分最大值和最小值,因此涉及到排序的过程,即在n点不规则序列中找出前n点最大值(n<n)。
[0056]
在本发明中,我们借鉴冒泡排序方法,首先取出n点序列中的前n点,采用冒泡方法进行排序,最多需要进行次比较,之后采用插值的思想,将n点后的数据与已排完序的前n点数据逐个进行比较,最多需要进行n(n

n)次比较,最终获得n点序列中的前n点最大值。该方法相比n点数据全部进行排序再提取n点最值的方法减少了比较次数,同时可以使数据处理以流水的方式进行,计算效率获得极大提升。
[0057]
如图1所示,为本发明的嵌入式实时大点数时序信号处理模块的硬件结构,其工作方式如下:
[0058]
开始工作时,数据缓存区开始缓存服务器通过千兆网口发送的参数描述包和400路采样率为1khz、2khz、4khz、8khz的时间序列数据。
[0059]
然后通过数据解包模块对数据缓存区的参数描述包和数据包进行解包,提取参数描述包中每路数据对应的计算单元标识、算法标识、采样率、参数等信息,提取数据包中的时间序列数据。
[0060]
当数据缓存区中数据量满足一次计算所需的数据量时,顶层控制程序根据参数描述包中该路时序信号所需进行的算法处理标识信息,将数据放入数据处理模块进行指定算法的数据处理,具体处理流程如图2所示。若进行fft运算,首先进行fft运算,然后进行极值提取;若进行功率谱密度计算,首先进行fft运算,然后进行极值提取,最后计算功率谱密度;若进行共振判断,首先进行fft运算,然后进行极值提取,最后根据极值提取的最大峰值进行共振判断;若进行阻尼计算,首先进行fft运算,然后进行极值提取,最后根据特征点提取的最大峰值及左右两点幅值,计算阻尼系数。拍频判断可独立计算。
[0061]
最后将数据缓存区中fft、极值提取、功率谱密度计算、阈值判断、阻尼计算、信号周期性判断等算法的处理结果通过千兆网口回传至服务器端,从而完成整个数据处理流程。
[0062]
图3是排序算法优化后的流程图。在本发明的实施中,需要在n点不规则序列中提取n点最值,其中n约为2048点,n为32点。以在n点不规则序列中提取n点最大值为例,在工作时,首先提取2048点不规则序列中的前32点由大到小进行排序,然后将第33点~2048点以插值的方式逐个与排序后的32点进行比较,若大于n点中的第m点(0≤m≤n),小于n点中的第m

1点,则将数值放入第m点,m点后的数据顺序向后移动一位,从而完成从n点序列中提取n点最大值的操作。
[0063]
以上所述仅是一种机载嵌入式实时大点数时序信号处理方法的优选实施方式,一种机载嵌入式实时大点数时序信号处理方法的保护范围并不仅局限于上述实施例,凡属于
该思路下的技术方案均属于本发明的保护范围。应当指出,对于本领域的技术人员来说,在不脱离本发明原理前提下的若干改进和变化,这些改进和变化也应视为本发明的保护范围。
转载请注明原文地址:https://win.8miu.com/read-24996.html

最新回复(0)