打印
[开发资料]

单片机算法

[复制链接]
217|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
算术平均滤波算法还是经常使用的

使用特权

评论回复
板凳
tpgf| | 2024-12-3 09:36 | 只看该作者
算术平均滤波适用于对具有随机干扰的信号进行滤波,能保持信号的平均值,适用于流量、压力等参数的滤波

使用特权

评论回复
地板
xiaoqizi| | 2024-12-4 19:11 | 只看该作者
平滑滤波算法用以去除噪声和脉冲干扰,提高数据的稳定性和准确性

使用特权

评论回复
5
木木guainv| | 2024-12-4 21:00 | 只看该作者
滑动滤波把连续取得的N个采样值看成一个队列,队列的长度固定为N,每次采样得到一个新数据放到队尾,并丢掉原来队首的一次数据,把队列中的N个数据进行平均运算,就可获得新的滤波结果

使用特权

评论回复
6
磨砂| | 2024-12-4 22:49 | 只看该作者
加权平均滤波在算术平均的基础上增加了加权系数,可突出一部分信号,抵制另一部分信号,以提高采样值变化的灵敏度

使用特权

评论回复
7
晓伍| | 2024-12-5 09:47 | 只看该作者
在实际应用中,可以结合使用多种滤波方法,以达到更好的滤波效果

使用特权

评论回复
8
八层楼| | 2024-12-5 13:57 | 只看该作者
限幅滤波将两次相邻的采样相减,求出其增量,然后将增量的绝对值与允许的最大差值A进行比较

使用特权

评论回复
9
LOVEEVER| | 2024-12-12 09:34 | 只看该作者
平滑滤波算法非常实用

使用特权

评论回复
10
ClarkLLOTP| | 2024-12-18 17:50 | 只看该作者
不过好像比较费时间吧

使用特权

评论回复
11
小小蚂蚁举千斤| | 2024-12-19 15:54 | 只看该作者
均值**使用到的

使用特权

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

本版积分规则

6

主题

2729

帖子

1

粉丝