一阶滤波,又叫一阶惯性滤波,或一阶低通滤波。使用软件编程实现普通硬件RC低通滤波器的功能。
一阶低通滤波的算法公式为:Y(n)=αX(n) (1-α)Y(n-1)
式中:α=滤波系数;X(n)=本次采样值;Y(n-1)=上次滤波输出值;Y(n)=本次滤波输出值。
一阶低通滤波法采用本次采样值与上次滤波输出值进行加权,得到有效滤波值,使得输出对输入有反馈作用。
- #define Ratio 0.01 // 滤波系数Ratio(0-1)
- char value; // 滤波后的值
- char new_value; // 新的采样值
-
- char filter(void)
- {
- char new_value;
- new_value = get_ad(); //获取AD值
- return Ratio*value + (1-Ratio)*new_value;
- }
|