- 2
- 0
- 约7.72千字
- 约 11页
- 2019-03-29 发布于湖北
- 举报
10种软件滤波方法的示例程序(JKRL)
假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();
1、限副滤波
/* A值可根据实际情况调整
value为有效值,new_value为当前采样值
滤波程序返回有效的实际值 */
#define A 10
char value;
char filter()
{
char new_value;
new_value = get_ad();
if ( ( new_value - value A ) || ( value - new_value A )
return value;
return new_value;
}
2、中位值滤波法
/* N值可根据实际情况调整
排序采用冒泡法*/
#define N 11
char filter()
{
char value_buf[N];
char count,i,j,temp;
for ( count=0;countN;count++)
{
value_buf[count] = get_ad();
delay();
}
for (j=0;jN-1;j++)
{
for (i=0;iN-
原创力文档

文档评论(0)