[西门子] 数字滤波FB块封装——ST语言(多种滤波相拟合)-纯干货分享

[复制链接]
查看96 | 回复0 | 2024-8-27 11:14:23 | 显示全部楼层 |阅读模式
在工业自动化领域中,可编程逻辑控制器(PLC)被广泛用于控制各种机械设备和过程。在处理来自传感器的信号时,数字滤波是一种常见的技术,用于去除信号中的噪声或不需要的频率成分,从而提高数据的准确性和可靠性。数字滤波器的基本类型:

  • 均值滤波器:通过计算一系列连续采样值的平均值来平滑信号。这有助于减少随机噪声的影响。

  • 加权移动平均滤波器:与均值滤波器类似,但给最近的数据点赋予更高的权重。

  • 指数平滑滤波器:将新读数与前一次滤波结果的加权平均作为新的滤波输出。这种滤波器对最新的测量值给予较高的权重,适用于快速变化的信号。

  • 一阶低通滤波器:模拟电路中常用的一阶RC滤波器的数字等效物,可以有效地过滤掉高频噪声。



    有需要交流的可以加微信,

    备注加“交流群”
一、数字滤波的作用数字滤波在可编程逻辑控制器(PLC)中的作用主要是改善信号质量,减少噪声干扰,提高系统的稳定性和控制精度。以下是数字滤波在PLC中的一些具体作用:

  • 降低噪声:

    • 数字滤波可以去除输入信号中的随机噪声,防止这些噪声影响到控制系统的性能。

  • 平滑数据:

    • 通过滤波器处理,可以使输入信号更加平滑,避免因信号突变导致的误动作。

  • 消除尖峰:

    • 对于传感器输出的信号中可能出现的尖峰或脉冲干扰,数字滤波可以帮助消除这些异常值。


  • 提高响应速度和稳定性:

    • 适当的滤波可以使得控制系统对实际变化做出更快且更稳定的响应。

  • 信号预处理:

    • 在复杂的控制系统中,数字滤波作为信号预处理的一部分,为后续的控制算法提供更加可靠的数据输入。

二、主要滤波算法(一)、滑动滤波滑动滤波(Moving Average Filter)是目前在自动化邻域应用特别广泛的数字信号滤波方式,主要用于外部干扰和噪声对真实值的影响。滑动滤波的工作原理就是把采集的信号存到一个数组里对其求算数平均或者加权平均,随着新采集的数到来把数组里的数不断的向前移动,没移到一次求取一次平均值。滑动滤波具体计算公式如下所示:


(二)、卡尔曼滤波
卡尔曼(Kalman)通常是指卡尔曼滤波,是一种估计的数字滤波算法。卡尔曼滤波是基于贝叶斯估计的递归滤波器,主要用于从包含噪声的测量数据中提取动态系统的最优状态估计。它的核心是利用系统的动态模型预测估计下一个状态,并且更新状态方程和观测方程,从而得到更加准确的状态估计。卡尔曼滤波算法具体计算公式如下所示:



(二)、IIR滤波无限脉冲响应(Infinite Impulse Response, IIR)滤波器是一种数字滤波器,它具有反馈路径,这意味着它的输出不仅依赖于当前和过去的输入样本,还依赖于过去的输出样本。IIR滤波器因其高效性和灵活性而在各种应用中被广泛使用。主要作用在以下几方面:

  • 频率选择性:IIR滤波器可以设计成低通、高通、带通或带阻滤波器,以满足不同频率响应的需求。

  • 高效率:相比有限脉冲响应(FIR)滤波器,IIR滤波器通常需要较少的系数和计算资源来达到相似的性能。

  • 非线性相位:IIR滤波器通常具有非线性的相位响应,这在某些应用中可能是可接受的。






(三)、FIR滤波有限脉冲响应(Finite Impulse Response, FIR)滤波器是一种数字滤波器,它的输出只依赖于当前和过去的输入样本,而不包含任何反馈回路。这种类型的滤波器具有线性相位响应,非常适合需要保持信号相位不变的应用场景。主要作用在以下几方面:

  • 线性相位:FIR滤波器能够实现线性相位响应,这对于保持信号的时域特性非常关键。

  • 稳定性:FIR滤波器总是稳定的,因为它们没有反馈回路。

  • 易于设计:FIR滤波器的设计相对简单,可以通过窗口法、频率采样法等多种方法来实现。

  • 适应性强:可以轻松地设计出低通、高通、带通或带阻滤波器





(三)、滑动滤波、卡尔曼滤波、IIR滤波、FIR滤波相拟合
将滑动平均滤波、卡尔曼滤波、IIR滤波和FIR滤波结合使用是一种高级的信号处理技术,可以在不同的层面上提高信号质量和鲁棒性。每种滤波器都有其独特的特点和适用场景,结合使用可以充分利用各自的优点。
三、直接上干货(FB块封装、程序展示)(一)、FB块封装


(二)、程序——ST语言

















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则