/*滤波程序返回有效的实际值*/
#define A 10 //A值可根据实际情况调整
char value; //value为有效值
char filter()
{
char new_value; //new value为当前采样值
new value=get_ad();
if ((new_value-value>A)‖(value-new_value> A)
return value;
return new_value;
}
/////////////////////////中位值滤波/////////////////////////
#define N 11 //N值可根据实际情况调整
char filter()
{
char value_buf[N];
char count,i,j,temp;
for (count=0;count
value_buf[count]=get_ad(); //获取采样值
delay();
}
for (j=0;j
for (i=0;i
if(value_buf[i]>value_buf[i+1])
{
temp=value_buf[i];
value_buf[i]=value_buf[i+1];
value_buf[i+1]=temp;
}
}
}
return value_buf[(N-1)/2]; //取中间值
}
/////////////////////////算术平均滤波//////////////////////
#define N 12
char filter()
{
int sum=0;
for(count=0;count
sum+=get_ad();
delay();
}
return (char)(sum/N);
}
///////////////////去极值平均滤波 //////////////////////
#define N 11 //N值可根据实际情况调整
int sum=0;
char filter()
{
char value_buf[N];
char count,i,j,temp;
for (count=0;count
value_buf[count]=get_ad(); //获取采样值
delay();
}
for (j=0;j
for (i=0;i
if(value_buf[i]>value_buf[i+1])
{
temp=value_buf[i];
value_buf[i]=value_buf[i+1];
value_buf[i+1]=temp;
}
}
}
for(count=1;count<(N-1);count++) //去掉第一个和末一个数
{
sum+=value_buf[count];
delay();
}
return (char)(sum/(N-2));
}
///////////////////移动平均滤波(递推平均滤波)///////////
#define N 12
char value_buf[N];
char i=0;
char filter()
{
char count;
int sum=0;
value_buf[i++]=get_ad();
if(i=N) i=0;
for (count=0;count
return (char)(sum/N)
}
//////////////////////加权平均滤波///////////////////////
#define N 12
char code jq[N]={1,2,3,4,5,6,7,8,9,10,11,12};//加权系数表
char code sum_jq=1+2+3+4+5+6+7+8+9+10+11+12;
char filter()
{
char count;
char value_buf[N];
int sum=0;
for (count=0;count
delay();
}
for (count=0;count
return (char)(sum/sum_jq);
}
/////////////////////////低通滤波////////////////////////
#define a 0.25
char value; //value为已有值
char filter()
{
char new_value; //new value为当前采样值
new_value=get_ad();
return (a*new_value+(1-a)*value);
}
上一篇:LCD12864 驱动 ,采用串行方式
下一篇:触摸屏ADS7846/7843驱动程序
推荐阅读最新更新时间:2024-03-16 15:18
设计资源 培训 开发板 精华推荐
- 下载有礼:一起初探5G,赢氮化镓(GaN)充电器、柔性墨水屏等精美礼品
- 从终端到架构,TE Connectivity(TE)助你连接5G高速未来 看视频答题赢好礼!
- 【EEWORLD大学堂】玩转TI 易电源
- 【答题有礼】了解PI推出的全新LinkSwitch-XT2离线反激式开关电源IC产品系列
- 有奖直播:Littelfuse电动车充电桩及车载充电器保护设计方案
- 有奖直播|无线技术改变智能生活
- 【EEWORLD第三十届】2011年09月社区明星人物揭晓!
- 直播:计算机视觉影像处理应用于智能驾驶的未来及挑战
- EEWORLD社区月度奖励,赠E金币!
- 报名有礼:【TI C2000在实时控制系统中的新特性】网络直播诚邀您参与!