算法学习笔记之滑动平均滤波算法
来源:互联网 发布:网络醉了是什么意思 编辑:程序博客网 时间:2024/05/20 04:48
滑动平均滤波算法只采样一次,将一次采样值和过去的若干次采样值一起求平均,得到的有效采样值即可投入使用。如果取N个采样值求平均,存储区中必须开辟N个数据的暂存区。每新采集一个数据便存入暂存区中,同时去掉一个最老数据,保存这N个数据始终是最新更新的数据。采用环型队列结构可以方便地实现这种数据存放方式。
程序代码如下:
char value_buff[N]; //N相当于选定一个窗口大小,对窗口数据做平均!
char i=0;
char filter()
{
char count;
int sum=0;
value_buff[i++]=get_data();
if(i==N)
i=0; //当数据大于数组长度,替换数据组的一个数据 相当于环形队列更新,先进先出!
for(count=0;count<N;count++)
sum=value_buff[count];
return (char)(sum/N);
}
优点:
对周期性干扰有良好的抑制作用,平滑度高
适用于高频振荡的系统
缺点:
灵敏度低
对偶然出现的脉冲性干扰的抑制作用较差
不易消除由于脉冲干扰所引起的采样值偏差
不适用于脉冲干扰比较严重的场合
比较浪费RAM
0 0
- 算法学习笔记之滑动平均滤波算法
- 算法学习笔记之滑动平均滤波算法
- C语言实现的滑动平均滤波算法
- 算法学习笔记之均值滤波法
- 算法学习笔记之一阶低通滤波算法
- 算法学习笔记之卡尔曼滤波算法理解
- 滑动滤波算法
- STM32学习笔记之 关于电池检测滤波算法
- 项目中的一些滑动平均算法
- 学习guide滤波算法
- 【数字信号处理】极其精简的平均滤波算法
- 平均算法
- OpenCV2学习笔记(十九):Kalman滤波算法
- 平均值滤波之鬼斧神工算法
- 图像处理之滤波算法
- 经典算法之粒子滤波
- matlab实现滑动平均滤波(一)
- matlab实现滑动平均滤波(二)
- springboot 如何发布到外部的web服务器上
- 多线程的一些题目总结
- 基于C#的MongoDB数据库开发应用(3)--MongoDB数据库的C#开发之异步接口
- 最简单的elf文件分析
- codeforces#347div2 C. Alice and Bob
- 算法学习笔记之滑动平均滤波算法
- Android发布APK详解
- [Android] Android Studio开发NDK笔记
- C#中&与&&的区别
- xargs小结
- 为什么要使用SLF4J而不是Log4J
- JVM学习笔记(一)——本地方法栈及native方法
- Android 避免APP启动闪黑屏(Theme和Style)
- spring注解和springmvc容器初始化过程