微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 数字信号软件低通滤波算法

数字信号软件低通滤波算法

时间:10-02 整理:3721RD 点击:
[p=154, null, left][size=144px]Yn=a* Xn+

[p=154, null, left][size=144px](

[p=154, null, left][size=144px]1-a

[p=154, null, left][size=144px])

[p=154, null, left][size=144px]*Yn-1

[p=144, null, left][size=144px]式中


[p=144, null, left][size=144px]Xn

[p=144, null, left][size=144px]——

[p=144, null, left][size=144px]本次采样值


[p=154, null, left][size=144px]Yn-1

[p=154, null, left][size=144px]——

[p=154, null, left][size=144px]上次的滤波输出值;


[p=144, null, left][size=144px],

[p=144, null, left][size=144px]a

[p=144, null, left][size=144px]——

[p=144, null, left][size=144px]滤波系数,其值通常远小于

[p=144, null, left][size=144px]1

[p=144, null, left][size=144px];


[p=154, null, left][size=144px]Yn

[p=154, null, left][size=144px]——

[p=154, null, left][size=144px]本次滤波的输出值。

[p=154, null, left][size=144px]Yn=a* Xn+

[p=154, null, left][size=144px](

[p=154, null, left][size=144px]1-a

[p=154, null, left][size=144px])

[p=154, null, left][size=144px]*Yn-1

[p=144, null, left][size=144px]式中


[p=144, null, left][size=144px]Xn

[p=144, null, left][size=144px]——

[p=144, null, left][size=144px]本次采样值


[p=154, null, left][size=144px]Yn-1

[p=154, null, left][size=144px]——

[p=154, null, left][size=144px]上次的滤波输出值;


[p=144, null, left][size=144px],

[p=144, null, left][size=144px]a

[p=144, null, left][size=144px]——

[p=144, null, left][size=144px]滤波系数,其值通常远小于

[p=144, null, left][size=144px]1

[p=144, null, left][size=144px];


[p=154, null, left][size=144px]Yn

[p=154, null, left][size=144px]——

[p=154, null, left][size=144px]本次滤波的输出值。


[p=154, null, left][size=144px]Yn=a* Xn+

[p=154, null, left][size=144px](

[p=154, null, left][size=144px]1-a

[p=154, null, left][size=144px])

[p=154, null, left][size=144px]*Yn-1

[p=144, null, left][size=144px]式中


[p=144, null, left][size=144px]Xn

[p=144, null, left][size=144px]——

[p=144, null, left][size=144px]本次采样值


[p=154, null, left][size=144px]Yn-1

[p=154, null, left][size=144px]——

[p=154, null, left][size=144px]上次的滤波输出值;


[p=144, null, left][size=144px],

[p=144, null, left][size=144px]a

[p=144, null, left][size=144px]——

[p=144, null, left][size=144px]滤波系数,其值通常远小于

[p=144, null, left][size=144px]1

[p=144, null, left][size=144px];


[p=154, null, left][size=144px]Yn

[p=154, null, left][size=144px]——

[p=154, null, left][size=144px]本次滤波的输出值。


低通数字滤波的算法是
#define a 50 //定义加权系数
char value;//上一次采样值
char  filter()
{
     char new_value;//本次采样值变量
     new_value=get_ad();
     return (100-a)*value+a*new_value://返回的本次滤波结果
}
各位高手!请教一下,低通滤波的算法我虽然知道如上所示,可却不知道如何在程序中应用? 上一次采样值value在程序中该如何处理?  value是通过上次采集数据得到的值,也是get_ad();  ?
太多不懂的疑问 ,请各位指点迷津,或者能否提供些程序中应用的实例供参考理解?  谢谢!

value = filter();不就可以了吗?打赏积分

有没有完整版的参考例程,抱歉啊  因为我是初学的菜鸟  所以有太多不懂的地方? 相信慢慢积累了以后就会了

顶!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top