本文为您介绍滤波组件。
功能说明
滤波组件支持8种方式进行数据滤波,包括限幅滤波,中值滤波,滑动平均滤波,一阶滞后滤波,FIR滤波,最大值滤波,最小值滤波以及趋势线拟合滤波。
计算逻辑原理
以下计算公式涉及的参数定义:
①t表示本次,t-1表示前一次。②X(t)表示本次滤波输入值。③Y(t)表示本次滤波输出值。④Y(t-1)表示前一次滤波输出值。⑤F表示滤波有效值(前一次滤波输出值或固定值)。⑥A表示滤波输入值和有效值允许的最大偏差。⑦α表示滞后因子。⑧M表示滤波窗口大小。⑨a和b都是趋势线的参数,算法内部通过滤波采样数据可以计算出来。⑩d表示多项式趋势线的阶数。⑪e是自然常数2.7183。
限幅滤波:对输入信号进行限幅滤波操作,对与有效值的偏差超出上限的当前信号进行处理并输出。有效值可以是配置的固定值或者前一次的输出值。
中值滤波:对输入信号做中值滤波操作,取采样数据的中值。
滑动平均滤波:对输入信号做滑动平均滤波操作,取采样数据的平均值。
一阶滞后滤波:对输入信号做一阶滞后滤波操作,根据当前输入信号和前一时刻输出信号的加权平均来计算输出信号。
最大值滤波:对输入信号做最大值滤波操作,取采样数据的最大值。
最小值滤波:对输入信号做最小值滤波操作,取采样数据的最小值。
趋势线拟合滤波:对输入信号按照指定的趋势线类型进行拟合滤波操作。趋势线拟合滤波的原理是基于信号中的趋势分析。它假设信号由一个趋势成分和一个噪声成分组成,通过拟合趋势线来估计和提取趋势成分,从而实现信号的平滑处理。
指数
线性
对数
多项式
乘幂
FIR滤波:对输入信号做FIR滤波操作。算法采用的是低通FIR滤波,其原理是将输入信号中高于截止频率的频率成分滤除,只保留低于该截止频率的频率成分。低通FIR滤波器可以有效地滤除输入信号中高频成分,实现对信号的平滑和去噪处理。
参数说明
IN端口-输入参数
参数名 | 参数描述 | 是否必填 | 输入数据类型 | 数据源类型 |
IN | 输入参数包含需要滤波处理的变量。 | 是 | 整数或浮点数 说明 若存在非数值数据,则会抛出异常 | 不限 |
OUT端口-输出参数
参数名 | 参数描述 | 输出数据类型 |
OUT | 滤波后的输出,与IN端口配置的输入参数一致。 | 浮点数 |
其他参数
参数名 | 参数描述 | 是否必填 | 参数默认值 | 参数范围 |
滤波类型 | 滤波处理的方式。 | 是 | 滑动平均滤波 |
|
限幅滤波:
参数名 | 参数描述 | 是否必填 | 参数默认值 | 参数范围 |
滤波有效值 | 限幅滤波有效值的选择方法。
| 否 | 前一次输出值 |
|
固定值 | 限幅滤波的固定有效值。 | 否 | 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”值不是数值
质量码为坏值