算术平均值滤波matlab程序,基于S7-1200 AD采样的高效数字滤波算法的设计与实践...

在工业控制中,常常会伴随大量的模拟量数据采样。模拟量采样时,由于待采量本身、传感器和传输过程中的外界干扰,特别是非稳态干扰信号等因素的影响,采样值中通常含有各种周期性和非周期性的噪声和干扰。为得到稳定、准确的测量值以便实现精确控制,必须消除被测信号中的各种噪声和干扰。在广泛使用的工业控制器S7-1200序列PLC(programmable logic controller)中,可通过启用PLC自身...
摘要由CSDN通过智能技术生成

在工业控制中,常常会伴随大量的模拟量数据采样。模拟量采样时,由于待采量本身、传感器和传输过程中的外界干扰,特别是非稳态干扰信号等因素的影响,采样值中通常含有各种周期性和非周期性的噪声和干扰。为得到稳定、准确的测量值以便实现精确控制,必须消除被测信号中的各种噪声和干扰。在广泛使用的工业控制器S7-1200序列PLC(programmable logic controller)中,可通过启用PLC自身AI(analogy input)端口的滤波器功能,再配合另行设计的数字滤波,也可借助外部滤波设备以最大限度去除噪声和干扰。

数字滤波器具有以下优点:精度与准确度高;可编程性与适应性好;相位与延迟控制精确;鲁棒性好;与其他数字子系统兼容性好;成本低、功耗小;可靠性、可复用性好[。常用的数字滤波算法主要有算术平均值滤波、加权平均值滤波[、滑动平均值滤波[、中值滤波[、程序判断滤波等。对于PLC中的AD(analog to digital)采样滤波需要结构简单、高效、可靠的滤波算法,其中算术平均值滤波、加权平均值滤波、中值滤波可适用。中值滤波算法最为简便,但可靠性不如前两者;算术平均值滤波较加权平均值滤波算法计算步骤少,但滤波结果可靠性不如后者。为降低成本,提高控制精度,一种高效、简单的数字滤波器设计在工业应用中是非常必要的。

1 适用于PLC的典型数字滤波器

数字滤波器主要有两大类:一类是有限冲激响应(FIR, finite impulse response)滤波器;另一类是无限冲激响应(IIR, infinite impulse response)滤波器[。其中,FIR滤波器结构简单,在许多情况下是最为重要的数字滤波器。常见的FIR滤波器设计方法有窗函数法[、最小均方(LMS, least mean square)法

S7-1200属于小型PLC,是使用较为广泛的工业控制器,其编程语言包括梯形图(LAD, ladderlogic programming language)、函数块图(FBD, function block diagram)、结构化控制语言(SCL, structured control language)3种。其中,LAD是图像型描述性语言,形象而直观,类似于继电器控制原理,易于掌握和开发[;函数块图FBD使用类似于数字电路的图形逻辑符号来表示控制逻辑,鲜有人使用;结构化控制语言SCL是一种基于Pascal的高级编程语言,尤其适用于数据管理、过程优化配方管理、数学计算等。

文中需在一定时间内连续采样,不宜使用梯形图编程。采用Siemens STEP 7编程软件中的SCL语言对西门子1200PLC进行编程,可实现一定时间内连续采样,并通过滤波计算后输出,使用更灵活、方便。

对于模拟信号,经过采样和A/D变换后得到的数字序列,数据处理速率要求很高,因此,需要结构简单、高效的数字滤波器。

以下几种数字滤波器设计方法适用于PLC。

1.1 窗函数设计法

窗函数法亦称傅里叶级数法,属于一种在时域设计FIR数字滤波器的方法,是最简单最普遍使用的方法。

对于理想低通滤波器具有非因果脉冲响应,即:

$

h(t) = \sin \left( {\frac{ { {\rm{ \mathsf{ π} }}t}}{2}} \right)/{\rm{ \mathsf{ π} }}t。$

(1)

式中:h(t)为脉冲响应函数。此滤波器在时域中持续时间无限长,在物理上无法实现。式(1)所示的理想脉冲响应在有限区间可近似。利用N点采样矩形窗或取样函数ωN(t)可从理想脉冲响应中提取并得到有限N点采样的近似脉冲响应。

$

{\omega _N}(t) = \left\{ \begin{array}{l}

1, |t| \le \frac{ {(N - 1)}}{2}, \\

0, 其他。\end{array} \right.

$

(2)

式中,ωN(t)为矩形窗的取样函数,可应用于定义一个有限区间的时间序列hN(t)=ω(t)×h(t)。由于hN(t)在时间轴的负半轴取值,因此,hN(t)是非因果型窗口滤波器,不能应用于实时领域。为了将有限非因果型FIR转换为因果型FIR,取样窗口内的脉冲响应曲线在时间轴上右移L=(N-1)/2个采样周期,由此产生的因果脉冲响应为

$

{h_c}(t) = \frac{ {\sin \left( {\left( {\frac{ {\rm{ \mathsf{ π} }}}{2}} \right)\left( {t - \frac{ {N - 1}}{2}} \right)} \right)}}{ { {\rm{ \mathsf{ π} }}\left( {t - \frac{ {N - 1}}{2}} \right)}}, t = 0, 1, 2, \cdots , (N - 1)。$

(3)

式中,hc(t)为因果脉冲响应函数。由于是对hN(t)进行开窗口操作,所以这种设计方法称为窗函数法。所谓开窗口即把信号的观察时间限制在一定的时间间隔内,对其进行分析,取有限个数据。对信号数据截断的过程,也就等于将信号进行加窗函数操作。窗函数不仅会影响原信号在时域上的波形,也会影响到频域内的形状。

常用的窗函数很多,例如矩形窗、三角窗、Hanning窗、Poisson窗,等等。窗函数在光谱分析、滤波器设计以及音频数据压缩等方面有着广泛的应用。窗函数滤波器设计法可应用于频谱分析、功率谱分析等信号处理中。对于具有时变性的AD采样数据,该滤波器结构过于复杂、计算量大、输出信号会有明显的滞后,故不推荐使用此方法。

1.2 最小均方设计法

最小均方(LMS)设计准则是使误差平方最小化,通过最小化误差信号的均方值来修正滤波器系数,模拟所需理想滤波器,是一种算法简单、应用广泛的自适应滤波算法。

在求解超定方程组时,通过最小二乘法使每个方程产生的误差平方和最小。经典的最小二乘估计方法可以用于解决FIR滤波器设计问题。考虑按加权最小平方误差的要求,需设计一个线性相位FIR:

$

\sigma = \sum\limits_{i = 1}^K { { {\left\{ {W\left( { {\omega _i}} \right)\left[ {e\left( {\overline { {\omega _l}} } \right)} \right]} \right\}}^2}} = \sum\limits_{i = 1}^K { { {\left\{ {W\left( {\overline {

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值