【Simulink专题】Simulink模型:一阶滤波模型原理

前言

这里给大家讲讲一阶滤波的原理及其代码生成,在一些算法模型中通常会用到滤波模型对一些敏感数据进行滤波,比如扭矩之类的数据,确保车辆在行驶过程中不会出现抖动现象

一阶滤波器公式

一阶滤波算法是个很简单也很常用的滤波算法,其算法公式如下:

Y(n) = A*X(n) + (1−A)*Y(Z)

式中:A为滤波系数,X(n)为本次采样值,Y(Z)为上次滤波输出值,Y(n)为本次滤波输出值。
原理:采用两次输出结果的相应系数相加,每一次的结果会偏向于上一次结果的值
其中A为滤波深度,A的最大值不能超过1,A的值越大,本次输出结果所占比例越大,滤波效果越小,反过来A的值越小,代表本次输出结构占比越小,滤波效果越大,但是会对最终结果影响较大,所以在比例系数方面,适用情况决定A的大小

建模部分

下图是一阶滤波的的模型,其中输入1是输入参数,输入2是滤波深度,输出1是最终滤波后的值

在这里插入图片描述

代码部分

下图是代码部分,生成后还是符合我们最初的公式的
在这里插入图片描述

实际效果

首先我们试下滤波深度为0.3时候的效果:
在这里插入图片描述
黄色线条为滤波后的值,蓝色线条为原始发生的值

接下来我们看下滤波深度为0.7时候的效果:

在这里插入图片描述

下面我们对比两者的滤波区别:

在这里插入图片描述
可以看的出0.7的滤波深度还是比较贴近真实值的,0.3的滤波深度虽然比较平稳,但是距离真实值差距还是很大的。

总结:

一阶滤波可以实现对数据的抖动进行滤波,但是滤波深度需要一句情况进行设置,个人建议非必要情况下,不建议滤波深度小于0.7,滤波深度过大会影响真实值的数据运行。

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值