基于巴特沃斯的数字低通滤波器设计

一、巴特沃斯滤波器幅频特性

巴特沃斯低通滤波器的幅度二次方函数如下:

\left | H(\omega ) \right |^2=\frac{1}{1+(\omega /\omega _{c})^{2n}}

式中,n为阶数,\omega _{c}为滤波器的截止频率,单位是rad/s;当输入信号的频率\omega =\omega _{c}时,有\left | H(\omega ) \right |^2=1/2, 输出与输入的幅值比即为\sqrt{2}/2=0.707,也即-3db,我们通常说的低通滤波器的截止频率,即幅值衰减为0.707时的频率;不同阶数的幅频特性曲线如下:

从图上可以看出巴特沃斯滤波器具有以下几个特点:

1、幅值函数是单调递减的,在\omega =0处,具有最大的幅值\left | H(\omega )\right |=1
2、在\omega =\omega _{c}处,\left | H(\omega _{c})\right |=0.707\left | H(0)\right |,即\left | H(\omega _{c})\right |\left | H(0)\right |下降了3dB;
3、当\omega趋于无穷时,幅值比趋近于0.
4、当阶数n增加时,通带幅频特性变平,阻带幅频特性衰减越快,过渡带越窄,整个幅频特性趋于理想低通滤波特性;

在悬架项目中,需要用到低通滤波器的场景是在对传感器信号的处理上,过滤掉高频噪声。选择越高的阶数,可以获得更好的过滤特性,但是同时也会增加单片机的运算量;正常情况下,选择一阶或者二阶便可满足需求。

二、巴特沃斯滤波器的系统函数

巴特沃斯滤波器各阶归一化的分母多项式如下表,分子是1:

其中,\bar{s}=s/\omega _{c},设计巴特沃斯低通滤波器时,直接代入即可

三、一阶低通滤波器设计与仿真

传递函数:

\left | H(s) \right |=1/(\bar{s}+1)=1/(s/\omega _{c}+1)

1、使用双线性变换得到数字滤波器

使用双线性变换,替换s,可以推导得到最后的递推式,根据递推式可以搭建simulink模型,其中Wc和T都是常数,分别是截止频率和运算周期。

在simulink中,使用阶跃输入,对比连续传递函数与离散后模型的运行差异;

基本上没什么差异,表明离散及模型搭建是正确的。

2、数据仿真

导入实车的车身加速度数据,在Simulink中对比滤波前后数据的差异,如下图所示:

我们截止频率设置在20hz,在图中红框处,滤波处理后的数据处理痕迹比较明显,该处也正好是车行驶在高频激励的恶劣路面上,车身高频振动。

我们对加速度信号做下频率分析,看下滤波前后频率图有什么差异。

远离截止频率的低频处,原始信号的幅值基本上没有衰减;在10hz以后,就可以看到幅值有在衰减,这是因为一阶滤波器过渡带很宽的原因。

我们还可以再拿仿真数据估计下传递函数,来看看与连续传递函数曲线的差异。
 

从上图可以看到,双线性变换离散后的滤波器,在截止频率位置处,也加剧了衰减程度,实际上设置20hz的截止频率,在产品应用上,截止频率差不多提前到了18hz左右。

再更直观的对比一下,我们跑一个20hz的正弦信号,如下图所示,可以看到截止频率处离散后的衰减更严重些,相位延迟方面倒是差不多。

四、二阶低通滤波器设计与仿真 

传递函数:

1、使用双线性变换得到数字滤波器

 推导过程如下:

从这里可以开始搭建simulink模型,这将是一个很庞大的过程,如果实在懒不想一个模块一个模块搭,使用Discrete Transfer Fcn 将离散的传递函数敲进去仿真用用也是可以的,如果是要生成代码,建议还是用基础模块搭一下的好,我这边按照最后这个公式搭建好了模型:

2、数据仿真

导入加速度数据,在simulink示波器中查看过滤后结果;与一阶的相比,保留的成分相对多了一些。

对滤波前后结果做下频率分析:


估计的传递函数曲线:
 

五、一阶和二阶对比

将频率图合并在一起

从上面两图可以看出,对低于截止频率点的成分的过滤,二阶保留的更多;在截止频率点后,二阶的过滤的更干净。

滤波对信号会产生延时,在相位延时方面,可以通过对比伯德图直接得到结果:

 正常在悬架垂向信号的过滤上,我们一般选用二阶低通滤波器来过滤杂波。

六、关于脚本和模型

关键推导过程和模型已经截图给出,如果还有需要源码的老板,还是在淘宝店 "极简车辆控制"中可获取,感谢各位老板的关注。

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极简车辆控制

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值