前言:
而今你们对“一阶低通滤波器程序”可能比较珍视,兄弟们都需要知道一些“一阶低通滤波器程序”的相关知识。那么小编在网上收集了一些关于“一阶低通滤波器程序””的相关文章,希望我们能喜欢,大家一起来学习一下吧!一阶滤波算法,即通过软件算法来实现模拟硬件低通滤波器。
一阶滤波算法公式为:Y(n)=aX(n)+(1-a)Y(n-1)
Y(n)-本次滤波输出值;
Y(n-1)-上次滤波输出值;
a-滤波系数。
其中,滤波系数a越小,滤波结果越平滑,但反应灵敏度越低;滤波系数a越大,则反应灵敏度越高,但滤波结果平滑性越差,越不稳定。所以,在选取滤波系数时,应对平滑性和灵敏度进行考虑然后取舍。
同时,应注意小数舍弃带来的误差。 比如: 本次采样值=25,上次滤波结果=24,滤波系数=10, 根据滤波算法:
本次滤波结果=(25*10+24*(256-10))/256=24.0390625
但是,我们在单片机运算中,很少采用浮点数。因此运算后的小数部分要么舍弃,要么进行四舍五入运算。这样一来,本例中的结果24.0390625就变成了24。假如每次采样值都=25,那么滤波结果永远=24。也就是说滤波结果和实际数据一直存在无法消除的误差。
改善误差的办法有两种:
1、增大滤波系数,但会导致平滑度降低。
2、扩展数据有效位数,但会增加CPU运算压力。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #一阶低通滤波器程序