打印
[开发资料]

单片机算法

[复制链接]
20|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sdCAD|  楼主 | 2024-11-24 12:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平滑滤波算法
设置一个数据缓存区,每新采集一个数据便存入暂存区中,同时去掉一个最老数据,保存这N个数据始终是最新更新的数据。采用环型队列结构可以方便地实现这种数据存放方式。

#define Data_unm   10

float fifter(float Data_New)
{
        static float Data_buff[Data_unm];
        float Result = 0;
        char i;
        Data_buff[0] = Data_New;
        for(i=Data_unm-1;i>=1;i--)
        {
                Data_buff[i]=Data_buff[i-1];
                Result +=(Data_buff[i]/9);
        }
        return Result;
}
算术平均滤波算法
该算法通过连续读取几个数据的方式来求取平均值的方法实现滤波。代码也是相当简单。

#define N   5  //连续读取多少个值取平均值

int filter()
{
    int sum=0,data;
    char count;
    for(count=0;count<N;count++)
    {
            printf("请输入一个数:");
                scanf("%d",&data); //获取新的数据
        sum+=data;
    }
    return (int)(sum/N);
}


使用特权

评论回复
沙发
中国龙芯CDX| | 2024-11-24 13:46 | 只看该作者
算术平均滤波算法还是经常使用的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

2702

帖子

1

粉丝