本文为您介绍滤波组件。

功能说明

滤波组件支持8种方式进行数据滤波,包括限幅滤波,中值滤波,滑动平均滤波,一阶滞后滤波,FIR滤波,最大值滤波,最小值滤波以及趋势线拟合滤波。

计算逻辑原理

以下计算公式涉及的参数定义:

①t表示本次,t-1表示前一次。②X(t)表示本次滤波输入值。③Y(t)表示本次滤波输出值。④Y(t-1)表示前一次滤波输出值。⑤F表示滤波有效值(前一次滤波输出值或固定值)。⑥A表示滤波输入值和有效值允许的最大偏差。⑦α表示滞后因子。⑧M表示滤波窗口大小。⑨a和b都是趋势线的参数,算法内部通过滤波采样数据可以计算出来。⑩d表示多项式趋势线的阶数。⑪e是自然常数2.7183。

  • 限幅滤波:对输入信号进行限幅滤波操作,对与有效值的偏差超出上限的当前信号进行处理并输出。有效值可以是配置的固定值或者前一次的输出值。

image.png

  • 中值滤波:对输入信号做中值滤波操作,取采样数据的中值。

image.png

  • 滑动平均滤波:对输入信号做滑动平均滤波操作,取采样数据的平均值。

image.png

  • 一阶滞后滤波:对输入信号做一阶滞后滤波操作,根据当前输入信号和前一时刻输出信号的加权平均来计算输出信号。

image.png

  • 最大值滤波:对输入信号做最大值滤波操作,取采样数据的最大值。

image.png

  • 最小值滤波:对输入信号做最小值滤波操作,取采样数据的最小值。

image.png

  • 趋势线拟合滤波:对输入信号按照指定的趋势线类型进行拟合滤波操作。趋势线拟合滤波的原理是基于信号中的趋势分析。它假设信号由一个趋势成分和一个噪声成分组成,通过拟合趋势线来估计和提取趋势成分,从而实现信号的平滑处理。

    • 指数

    image.png

    • 线性

    image.png

    • 对数

    image.png

    • 多项式

    image.png

    • 乘幂

image.png

  • FIR滤波:对输入信号做FIR滤波操作。算法采用的是低通FIR滤波,其原理是将输入信号中高于截止频率的频率成分滤除,只保留低于该截止频率的频率成分。低通FIR滤波器可以有效地滤除输入信号中高频成分,实现对信号的平滑和去噪处理。

参数说明

IN端口-输入参数

参数名

参数描述

是否必填

输入数据类型

数据源类型

IN

输入参数包含需要滤波处理的变量。

整数或浮点数

说明

若存在非数值数据,则会抛出异常

不限

OUT端口-输出参数

参数名

参数描述

输出数据类型

OUT

滤波后的输出,与IN端口配置的输入参数一致。

浮点数

其他参数

参数名

参数描述

是否必填

参数默认值

参数范围

滤波类型

滤波处理的方式。

滑动平均滤波

  • 限幅滤波

  • 中值滤波

  • 滑动平均滤波

  • 一阶滞后滤波

  • FIR滤波

  • 最大值滤波

  • 最小值滤波

  • 趋势线拟合滤波

限幅滤波:

参数名

参数描述

是否必填

参数默认值

参数范围

滤波有效值

限幅滤波有效值的选择方法。

  • 前一次输出值:使用前一次滤波输出值作为限幅滤波计算的有效值。

  • 固定值:使用一个自定义的固定值作为限幅滤波计算的有效值。

前一次输出值

  • 前一次输出值

  • 固定值

固定值

限幅滤波的固定有效值。

0

[-99999999,99999999]

最大偏差

实际值和有效值的最大允许偏差。

0

[0,99999999]

中值滤波、滑动平均滤波、FIR滤波、最大值滤波、最小值滤波、趋势线拟合滤波:

参数名

参数描述

是否必填

参数默认值

参数范围

采样方式

获取滤波数据的方式。

  • 按时间:使用过去一段时间的输入数据。

  • 按次数:使用过去若干次的输入数据。

按次数

  • 按时间

  • 按次数

采样时长

读取历史产线数据时长,单位:s。

60

[1,7200]

采样次数

滤波使用的历史样本数。

5

[1,1800]

采样频率

读取IGate历史数据的采样频率,单位:秒。例如设置5,则读取的IGate历史数据会按5秒均匀采样。默认0,表示全量采样,即采样时间内数据全部读取。

0

[0,7200]

一阶滞后滤波:

参数名

参数描述

是否必填

参数默认值

参数范围

滞后因子

一阶滞后滤波的系数,控制信号的平滑程度。滞后因子的取值范围是0到1之间。较大的滞后因子表示更强的平滑效果,但也会导致更大的延迟。

0.5

[0,1]

FIR滤波:

参数名

参数描述

是否必填

参数默认值

参数范围

截断频率

有效范围:(0,0.5*1/运行周期(秒))。越小则过滤的高频信号越多。

0.01

[0,0.5]

趋势线拟合滤波:

参数名

参数描述

是否必填

参数默认值

参数范围

趋势线类型

进行趋势线拟合滤波时,需要选择趋势线的类型。

线性

  • 指数

  • 线性

  • 对数

  • 多项式

  • 乘幂

趋势线拟合滤波-多项式曲线

参数名

参数描述

是否必填

参数默认值

参数范围

阶数

多项式的项数(阶数)。

2

[2,6]

输出质量码说明

输出质量码处理方式如下:

  • 对于中值、滑动平均、FIR、最大值、最小值和趋势线拟合滤波:

    • 若获取到的采样数据长度或有效的采样数据长度为0,则变量的输出质量码为0。

    • 若获取到的采样数据长度和有效的采样数据长度均大于0,则变量的输出质量码为192。

  • 对于限幅和一阶滞后滤波:

    • 变量的输出质量码与输入质量码一致。

其他说明

  • 采样数据预处理:

    • 根据采样方式获取到采样数据后,算法将剔除所有无效的采样数据,只保留有效的采样数据进行滤波计算。

  • 输出后处理:

    • 当输出质量码为好值时,则输出当前滤波计算值。

    • 当输出质量码为坏值时,则输出前一次输出值(初始化时没有前一次输出值,则输出当前输入值)。

说明

①质量码好值:质量码等于-1或>=192。

②质量码坏值:质量码在[0,192)内。

③无效的采样数据:存在以下任意一种情况的数据。

  • 数据缺失“timestamp”或“value”字段

  • “timestamp”值不是毫秒级的时间戳

  • “value”值不是数值

  • 质量码为坏值