"); //-->
在日常的项目设计中,经常要用到一些算法程序,假设对AD的取样函数为get_ad( )
5种滤波方法(很实用)
1、限幅滤波
/*A值可以根据实际情况调整
#define A 10 //设置两次采样的最大偏差值
char value; //上次采样的有效数据变量
char fifter( )
{
char new_value ; //本次采样的值变量
new_value=get_ad( ); //读如本次采样数据
if((new_value-value)>A||(value-new_value)>A) //比较是否超出最大偏差
return value; //如果超出,返回上次的有效值做为本次的有效值
else
return new_vlaue; //没有超出,返回本次采样值作为本次的有效值
}
2 中位值滤波方法
/* N值可以根据实际情况调整
#define N 11 //设置连续采样的次数
char fifter( )
{
char value_buf[N]; //连续采样N次值缓冲寄存器
char count i , j, temp; //i ,j是水泡下标量,count为采样数据读入的下标量
for(count=0;count<N;count++)
{
value_buf[count]=get_ad( );
delay();
for(j=0;j<N;j++) //水泡排序
{
for(i=0;i<N-j;i++)
{
if(value_buf[i]>value_buf[i+1])
{
temp="value"_buf[i];
value_buf[i]=valu_buf[i+1];
value_buf[i+1]=temp;
}
3 算术平均值方法
/*N (-----------)呵呵
#define N 13
void fifter( )
{
int sum="0"; //求和变量,用于采样的累加值
char count;
for(count=0;count<N;count++)
{
sum+=get_ad( );
}
return(char)(sum/N);
}
4 消抖滤波方法
#define N 13 //设置计数器益出值
char fifter( )
{
char count="0";
char new_value; //本次采样值
new_value=get_ad( );
while(value!=new_value)
{
count++;
if(count>=N)
return new_value;
delay( );
new_value=get_ad( );
}
return new_value
}
5//限幅消抖滤波方法
/*A值可以根据实际情况调整,value为上次采样有效值,new_value为当前采样值
/*N 设置计算器益处值
char value; //有效值变亮
char fifter( )
{
char count="0"; //计数变量
char new_value; //本次采样值
new_value=get_ad; //导入本次采样值
if((value-new_value)>N)||(new_value-value))
{
new_value=value;
while(value!=new_value)
{
count++; //
if(count>=N) return new_value;
delay( )
return value;
}
return value;
}
//以上为经常用到的算法
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
生成式AI为制造业员工赋能
CC2530 片上系统视频
C64x+ 网络培训(五)
国产PDA走到十字路口
vxWorks开发环境构建步骤及开发资源 1.0
VxWorks设备驱动介绍
汽车微控制器技术为下一代车辆带来全新突破
MIT研发机器蜂 有望实现人工授粉
VxWorks实时内核开发环境
用可控硅组成的不隔离开关稳压电源电路
强化定位服务 提高距离测量精度 蓝牙6.0技术探勘
以无线物联网系统监测确保室内空气质量
2002年嵌入式大会报告题目揭幕了!!
降压式斩波型开关稳压电源
分析:国内IT人才培养与需求的差距何在
LIN (Local Interconnect Network)
双变压器隔离的开关稳压电源
模仿猫咪撒娇 新型机器人「磨蹭」助舒压
低压开关稳压电源
CC2520 社区视频
VxWorks设备驱动介绍(PDF)
半桥变换器式开关稳压电源
以马达控制器ROS1驱动程序实现机器人操作系统
频率规划方案上已报国务院 中国会发几张3G牌照?
CC430 概述
利用CPU和SVE2加速视讯译码和图像处理
VxWorks实时内核开发环境(PDF)
UNO SPE扩充板,即插即用UNO R4实现超高数据传输、实时链接
大电流、高性能降压-升压稳压器
CC2431.CC2430及Zigbee应用的片上系统(SOC)解决方案