一、算法原理
1、所谓低通滤波器就是允许低频信号通过,不允许高频信号通过。滤波是将信号中特定波段频率滤除的操作,一阶低通滤波也就是一阶惯性滤波,是使用软件实现普通硬件RC低通滤波的功能。
2、一阶低通滤波法采用本次采样值与上次滤波输出值加权,得到有效滤波值,使输出对输入有反馈作用。
3、算法公式为:Y(n) = k * X(n) + (1 - k) * Y(n - 1),其中
k为滤波系数,在(0, 1)上,X(n)为本拍采样值,Y(n - 1)是上一拍滤波输出值,Y(n)是本次滤波输出值
4、k的取值决定了滤波效果,k越小,本拍采样值的比重越小,上一拍的比重越大,平顺性好(上拍的都是滤波后的值),但是灵敏度低。反之,平顺性差,灵敏度却高(受本拍影响大,本拍还没有滤波呢)。
5、为惯性环节,传递函数如下:
惯性环节的输出量不能立即跟随输入量变化,在时间上催在延迟。环节的惯性越大,时间常数越大,延迟的时间越长。
6、物理上的一阶低通滤波电路如下,即为一个RC电路
截至频率f为
幅频特性如下:
二、matlab仿真
仿真模型如下:
滤波系数k为0.01,波形如下:
滤波系数k为0.1时,波形如下:
滤波系数为0.5时,波形如下:
综上,可以看出一个结论,滤波系数k越小,滤波效果越好。滤波系数k越大,滤波效果越差。