程序判断滤波有一个潜在的隐患,在连续两个以上采样周期收到干扰后,系统可能会不稳定。因此,程序判断滤波只能在基本上没有干扰的场合下采用,它只能滤除极个别偶发的毛刺型干扰。
  在干扰频繁的情况下,可以采用中值滤波算法来处理,该算法的描述是:连续进行奇数次采样,然后将采样得到的数据样本进行排序,取中间的数据样本作为有效采样值。由于收到干扰的采样值偏离有效采样值,排序后必然处于两端的位置,只要收到干扰的采样数据样本个数小于总采样数据样本数目的一半,就可以确保中值采样样本的有效性。
  假设采集系统采用uCOS-II操作系统,则程序可有:

int Samp[60];                            //保存有效样本数据的数组
void TaskSamp(void * pdata)             //采样任务函数
{char i,j,k,n;int R[6];                         //连续采样的数据数组for(n=0;n<60;n++)                  //完成60个有效数据的采样{for(i=1;i<=5;i++)             //每个有效样本需要进行5次连续采样{R[i]=SampAdc();OSTimeDly(2);                //延时40ms,系统节拍周期为20ms     }for(i=1;i<=3;i++)               //进行选择排序,只需排除前3名即可{k=i;for(j=i+1;j<=5;j++)if(R[j]<R[k])k=j;if(k!=i){R[0]=R[i];R[i]=R[k];R[k]=R[0];}}Samp[n]=R[3];                      //取中值作为有效样本OSTimeDly(2990);}OSTaskCreat(TaskSend,(void*)0,&TaskSendSTK[TaskStk-1],6);//创建发送任务OSTaskDel(OS_PRIO_SELF);
}

  中值滤波本质上也是低通滤波,由于毛刺型突发干扰为高频干扰,故可以被很好地滤除。由于中值滤波进行N次采样才输出一次有效值(即采样输出比N:1),抗突发干扰能力比程序判断滤波要提高很多,能够在干扰比较频繁的场合正常使用。

数字滤波算法——中值滤波相关推荐

  1. 图像降噪算法——中值滤波/均值滤波/高斯滤波/双边滤波

    图像降噪算法--中值滤波/均值滤波/高斯滤波/双边滤波 图像降噪算法--中值滤波/均值滤波/高斯滤波/双边滤波 1. 基本原理 2. C++代码实现 3. 结论 图像降噪算法--中值滤波/均值滤波/高 ...

  2. matlab中基于十字形窗口的滤波算法,#215;字形滤波窗口在Matlab自适应中值滤波算法中的应用 - 21ic中国电子网...

    由于种种原因,图像在生成.传输.变换等过程中往往会受到各种噪声的污染,从而导致图像质量退化.噪声信号的滤波是图像处理的基本任务之一,主要有线性滤波和非线性滤波两种方法.线性滤波方法一般具有低通特性,而 ...

  3. 关于中值滤波算法,以及C语言实现(转)

    源:关于中值滤波算法,以及C语言实现 1.什么是中值滤波? 中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制 ...

  4. verilog中值滤波算法实现及仿真

    使用verilog语言实现中值滤波算法,并编写testbench进行仿真,产生波形图. 可以使用vivado.ISE.quartusII等软件均可. 对代码.测试代码.仿真结果分别进行截图,如下所示: ...

  5. 数字图像处理——中值滤波及其改进算法

    一.算法介绍 中值滤波器是非线性滤波器的一个例子,它在保留图像特征方面非常有效. 但是,滤波器的窗口大小直接影响中值滤波器的性能. 较小的窗口保留了特征,但会导致噪声抑制的减少. 在较大窗口的情况下, ...

  6. 高效快速中值滤波算法c语言,快速中值滤波及c语言实现.docx

    . .. 快速中值滤波及c语言实现 学生姓名: 刘 勇 学 号: 6100410218 专业班级: 数媒101 [摘要]本文讨论了用c语言在微机上实现中值滤波及快速算法,在程序设计的过程中充分考虑到程 ...

  7. Python扩展库scipy中值滤波算法的应用

    中值滤波是数字信号处理.数字图像处理中常用的预处理技术,特点是将信号中每个值都替换为其邻域内的中值,即邻域内所有值排序后中间位置上的值.下面的代码演示了scipy库中signal模块的中值滤波算法的用 ...

  8. 实时高速实现改进型中值滤波算法_爱学术_免费下载

    [摘要]在图像采集和处理过程中会引入噪声,必须先对图像进行预处理.本文介绍一种快速中值滤波算法,该算法在硬件平台上实现实时处理功能.综合考虑,选择现场可编程门阵列(FPGA)作为硬件平台,采用硬件描述 ...

  9. MATLAB自编自适应中值滤波算法

    代码原理: 在噪声密度不是很大的情况下(根据经验,噪声的出现的概率小于0.2),使用中值滤波的效果不错.但是当噪声出现的概率比较高时,原来的中值滤波算法就不是很有效了.只有增大滤波器窗口尺寸,尽管会使 ...

  10. OpenCV图像处理专栏九 | 基于直方图的快速中值滤波算法

    转载自:https://zhuanlan.zhihu.com/p/98092747  侵删 前言 这是OpenCV图像处理专栏的第9篇文章,主要介绍一个基于直方图的快速中值滤波算法,希望对大家有帮助. ...

最新文章

  1. C Operator | and can also operate bool operands
  2. 计算机视觉招聘_香港理工大学人工智能设计实验室科研招聘
  3. 第13章 程序的动态加载和执行(二,用户代码)
  4. 将读写锁放到共享内存中,实现进程之间对数据的读写访问控制
  5. 计算机图形学图形旋转_计算机图形学中的平板显示
  6. 2013流行Python项目汇总
  7. 生产环境实施 VMware 虚拟化基础架构,千万不要犯 4 个错误
  8. 好用的项目工时管理系统有哪些
  9. java gps解析_GPS经纬度可以用来Java解析
  10. 系统配置 计算机管理,计算机系统安全配置管理方案
  11. 创业公司股权架构搭建原则
  12. java http 1.1_HTTP1.1翻译 - 彪悍的人生不需要解释 - BlogJava
  13. linux自动联想,在联想扩展坞和Linux上自动切换显示
  14. 老鱼Python数据分析——篇十四:读取“选股宝”的热点板块信息并存为excel文件
  15. BDTC 2017 | “TOP10大数据应用最佳案例实践”十佳获奖单位精彩分享
  16. 二分查找算法详细汇总
  17. [office2010]受保护的视图如何找到源头
  18. CVBS/AHD 转换 BT656/BT601
  19. Ubuntu16.04中文语言包下载失败原因解决问题
  20. 爬虫学习:基础爬虫案例实战

热门文章

  1. 100个最常用的PHP函数(建议收藏)
  2. Flexsim国外视频教程
  3. PUN☀️四、服务器大厅建房解析
  4. 求助!ENDnoteX8+Word2016可关联,但总提示【该文档有宏】等bug
  5. 如何对接泡椒云,给你的Auto.js脚本增加卡密验证功能?详细教程
  6. 基于vue+ts实现的svg可视化web组态编辑器
  7. 国密SM2/SM3算法在单片机平台上的实现(C语言)
  8. mysql忘记密码如何重置密码
  9. oracle 索引问题梳理
  10. AD19生成PCB_在Altium中导入Cadence Allegro的PCB文件