赞
踩
巴特沃斯低通滤波器的幅度二次方函数如下:
式中,n为阶数,为滤波器的截止频率,单位是rad/s;当输入信号的频率时,有
从图上可以看出巴特沃斯滤波器具有以下几个特点:
1、幅值函数是单调递减的,在处,具有最大的幅值
2、在处,,即比下降了3dB;
3、当趋于无穷时,幅值比趋近于0.
4、当阶数n增加时,通带幅频特性变平,阻带幅频特性衰减越快,过渡带越窄,整个幅频特性趋于理想低通滤波特性;
在悬架项目中,需要用到低通滤波器的场景是在对传感器信号的处理上,过滤掉高频噪声。选择越高的阶数,可以获得更好的过滤特性,但是同时也会增加单片机的运算量;正常情况下,选择一阶或者二阶便可满足需求。
巴特沃斯滤波器各阶归一化的分母多项式如下表,分子是1:
其中,,设计巴特沃斯低通滤波器时,直接代入即可
传递函数:
使用双线性变换,替换s,可以推导得到最后的递推式,根据递推式可以搭建simulink模型,其中Wc和T都是常数,分别是截止频率和运算周期。
在simulink中,使用阶跃输入,对比连续传递函数与离散后模型的运行差异;
基本上没什么差异,表明离散及模型搭建是正确的。
导入实车的车身加速度数据,在Simulink中对比滤波前后数据的差异,如下图所示:
我们截止频率设置在20hz,在图中红框处,滤波处理后的数据处理痕迹比较明显,该处也正好是车行驶在高频激励的恶劣路面上,车身高频振动。
我们对加速度信号做下频率分析,看下滤波前后频率图有什么差异。
远离截止频率的低频处,原始信号的幅值基本上没有衰减;在10hz以后,就可以看到幅值有在衰减,这是因为一阶滤波器过渡带很宽的原因。
我们还可以再拿仿真数据估计下传递函数,来看看与连续传递函数曲线的差异。
从上图可以看到,双线性变换离散后的滤波器,在截止频率位置处,也加剧了衰减程度,实际上设置20hz的截止频率,在产品应用上,截止频率差不多提前到了18hz左右。
再更直观的对比一下,我们跑一个20hz的正弦信号,如下图所示,可以看到截止频率处离散后的衰减更严重些,相位延迟方面倒是差不多。
传递函数:
推导过程如下:
从这里可以开始搭建simulink模型,这将是一个很庞大的过程,如果实在懒不想一个模块一个模块搭,使用Discrete Transfer Fcn 将离散的传递函数敲进去仿真用用也是可以的,如果是要生成代码,建议还是用基础模块搭一下的好,我这边按照最后这个公式搭建好了模型:
导入加速度数据,在simulink示波器中查看过滤后结果;与一阶的相比,保留的成分相对多了一些。
对滤波前后结果做下频率分析:
估计的传递函数曲线:
将频率图合并在一起
从上面两图可以看出,对低于截止频率点的成分的过滤,二阶保留的更多;在截止频率点后,二阶的过滤的更干净。
滤波对信号会产生延时,在相位延时方面,可以通过对比伯德图直接得到结果:
正常在悬架垂向信号的过滤上,我们一般选用二阶低通滤波器来过滤杂波。
关键推导过程和模型已经截图给出,如果还有需要源码的老板,还是在淘宝店 "极简车辆控制"中可获取,感谢各位老板的关注。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。