转载地址:http://blog.sina.com.cn/s/blog_4a367bf5010091sl.html
今天看到了一篇介绍软件滤波的文章,感觉很有用。在读取AD采样值后,可以使用软件滤波来提高数据的可信性。而且介绍的这几种滤波方法很简单,十分适合DSP使用。
10种软件滤波方法的示例程序
假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();
1、限副滤波
#define A 10
char value;
char filter()
{
}
2、中位值滤波法
#define N 11
char filter()
{
}
3、算术平均滤波法
#define N 12
char filter()
{
}
4、递推平均滤波法(又称滑动平均滤波法)
#define N 12
char value_buf[N];
char i=0;
char filter()
{
}
5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
#define N 12
char filter()
{
}
6、限幅平均滤波法
略 参考子程序1、3
7、一阶滞后滤波法
#define a 50
char value;
char filter()
{
}
8、加权递推平均滤波法
#define N 12
char code coe[N] = {1,2,3,4,5,6,7,8,9,10,11,12};
char code sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12;
char filter()
{
}
9、消抖滤波法
#define N 12
char filter()
{
}
10、限幅消抖滤波法
略 参考子程序1、9
2266

被折叠的 条评论
为什么被折叠?



