[资料下载] 中位值平均滤波法

[复制链接]
 楼主| burgessmaggie 发表于 2023-5-24 22:54 | 显示全部楼层 |阅读模式
说明:
采一组队列去掉最大值和最小值
优点:
融合了两种滤波的优点。对于偶然出现的脉冲性干扰,可消除有其引起的采样值偏差。
对周期干扰有良好的抑制作用,平滑度高,适于高频振荡的系统。
  1. #define N 12

  2. char filter(void) {
  3.     char i = 0, j = 0, temp = 0;
  4.     char value_buf[N];
  5.     int sum = 0;

  6.     for(i = 0; i < N; i++){
  7.         value_buf[i] = get_ad();
  8.         delay();
  9.     }

  10.     for(j = 0; j < N - 1; j++) {
  11.         for(i = 0; i < N - j; i++) {
  12.             if(value_buf[i] > value_buf[i + 1]) {
  13.                 temp = value_buf[i];
  14.                 value_buf[i] = value_buf[i + 1];
  15.                 value_buf[i + 1] = temp;
  16.             }
  17.         }
  18.     }
  19.     for(i = 1; i < N - 1; i++) {
  20.         sum += value_buf[i];
  21.     }
  22.     return (char)(sum / (N - 2));
  23. }


tpgf 发表于 2023-6-7 09:08 | 显示全部楼层
中位值平均滤波法(又称防脉冲干扰平均滤波法),融合了“中位值滤波法”+“算术平均滤波法”两种滤波法的优点。
nawu 发表于 2023-6-7 09:22 | 显示全部楼层
对于偶然出现的脉冲性干扰,可消除由其所引起的采样值偏差。对周期干扰有良好的抑制作用
aoyi 发表于 2023-6-7 10:32 | 显示全部楼层
中值平均滤波就是在采集的N个数据中去掉一个最大值和一个最小值,然后对剩下的数据求平均值。所以这个算法不需要对数据排序,关键是计算最大值,最小值,求和,然后计算平均值。
zljiu 发表于 2023-6-7 10:57 | 显示全部楼层
中位值平均滤波适于高频振荡的系统。但是计算速度较慢,和算术平均滤波法一样,也比较浪费RAM。
gwsan 发表于 2023-6-7 11:47 | 显示全部楼层

typedef unsigned short filter_type;

filter_type MedianFilter(filter_type* data,int size)
{
    filter_type max,min;
    int sum;
    if(size>2)
    {
        max = data[0];
        min = max;
        sum = 0;
        for(int i=0;i<size;i++)
        {
            sum += data[i];            
            if(data[i]>max)
            {
                max = data[i];   //一个循环之后max就是最大的值
            }

            if(data[i]<min)
            {
                min = data[i];   //一个循环之后min就是最小的值
            }
        }

        sum = sum-max-min;       //去掉最大的值和最小的值
        return sum/(size-2); //对N-2个数求平均值         
    }

    return 0;
}

tfqi 发表于 2023-6-7 12:09 | 显示全部楼层
中值滤波的基本工作原理是基于排序统计理论,把数字图像或数字序列中某一点的值用该点的一个邻域中各点值的中值代替,从而使周围的像素值更接近真实值,达到消除孤立噪声点的目的
febgxu 发表于 2023-6-10 12:57 | 显示全部楼层
如何进行软件滤波?               
cashrwood 发表于 2023-6-10 13:02 | 显示全部楼层
中位值平均滤波法是一种常用的数字滤波算法,通过去除信号中的异常点和噪声,得到更加平稳和准确的测量结果。
youtome 发表于 2023-6-10 13:09 | 显示全部楼层
数字滤波常用方法有几种              
gygp 发表于 2023-6-10 13:25 | 显示全部楼层
最基本的应用算法如高通滤波,低通滤波,维纳滤波,相位相关等等
kkzz 发表于 2023-6-10 13:29 | 显示全部楼层
中位值平均滤波法虽然能够有效地去除噪声和干扰
fengm 发表于 2023-6-10 13:35 | 显示全部楼层
利用中位值平均滤波方法处理 原始数据
iyoum 发表于 2023-6-10 13:48 | 显示全部楼层
较小的窗口大小可能无法去除大量的噪声,而较大的窗口大小则可能会丢失部分信号信息。
linfelix 发表于 2023-6-10 13:54 | 显示全部楼层
可以在保留重要信息的同时去除极端值和噪声,提高信号的可靠性和稳定性。
loutin 发表于 2023-6-10 15:38 | 显示全部楼层
信号处理过程中的平均方式有哪几种
i1mcu 发表于 2023-6-10 15:50 | 显示全部楼层
滤波效果也会受到所选取的采样窗口大小的影响。
everyrobin 发表于 2023-6-10 16:07 | 显示全部楼层
通过中位值平均滤波法,我们可以得到比简单平均滤波更好的滤波效果。
biechedan 发表于 2023-6-10 16:18 | 显示全部楼层
中位值滤波技术,其算法有哪些              
houjiakai 发表于 2023-6-10 16:27 | 显示全部楼层
中位值平均滤波法适用于一些信号较为平稳但又容易受到噪声干扰的实时采集场合
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

1522

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部