各种滤波算法的比较

2023-05-16

原文地址:http://www.wtoutiao.com/p/1fe9dPI.html

各种滤波算法的比较



各种滤波算法的比较

数字滤波(digital filtering):数字滤波(digital filtering):用数字设备,通过一定的算法,对信号进行处理,将某个频段的信号进行滤除,得到新的信号的这一过程叫做数字滤波。数字滤波器可以分为两大部分:即经典滤波器和现代滤波器。经典滤波器就是假定输入信号x(n)中的有用成分和希望滤除成分分别位于不同的频带,因而我们通过一个线性系统就可以对噪声进行滤除,如果噪声和信号的频谱相互混叠,则经典滤波器得不到滤波的要求。通常有高通滤波器,低通滤波器,带通滤波器,带阻滤波器。现代滤波器是从含有噪声的信号估计出有用的信号和噪声信号。这种方法是把信号和噪声本身都视为随机信号,利用其统计特征,如自相关函数,互相关函数,自功率谱,互功率谱等引导出信号的估计算法,然后利用数字设备实现。目前主要有维纳滤波,卡尔曼滤波,自适应滤波等数字滤波器。


数字滤波方法有很多种,每种方法有其不同的特点和使用范围。从大的范围可分为3类。

1、克服大脉冲干扰的数字滤波法

(一). 限幅滤波法; (二).中值滤波法

2、抑制小幅度高频噪声的平均滤波法

(一).算数平均;(二).滑动平均;(三).加权滑动平均;(四)一阶滞后滤波法

3、复合滤波法


下面介绍常用的8种滤波方法:

(一)克服大脉冲干扰的数字滤波法:

克服由仪器外部环境偶然因素引起的突变性扰动或仪器内部不稳定引起误码等造成的尖脉冲干扰,是仪器数据处理的第一步。通常采用简单的非线性滤波法。

1、限幅滤波法(又称程序判断滤波法)限幅滤波是通过程序判断被测信号的变化幅度,从而消除缓变信号中的尖脉冲干扰。

A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差A,则本次值无效,放弃本次值,用上次值代替本次值

B、优点:能有效克服因偶然因素引起的脉冲干扰

C、缺点无法抑制那种周期性的干扰平滑度差

D、适用范围:变化比较缓慢的被测量值

2、中位值滤波法

中位值滤波是一种典型的非线性滤波器,它运算简单,在滤除脉冲噪声的同时可以很好地保护信号的细节信息。

A、方法:连续采样N次(N取奇数)把N次采样值按大小排列(多采用冒泡法)取中间值为本次有效值

B、优点:能有效克服因偶然因素引起的波动(脉冲)干扰

C、缺点:对流量、速度等快速变化的参数不宜

D、适用范围:对温度、液位的变化缓慢的被测参数有良好的滤波效果

(二)抑制小幅度高频噪声的平均滤波法

小幅度高频电子噪声:电子器件热噪声、A/D量化噪声等。通常采用具有低通特性的线性滤波器:算数平均滤波法、加权平均滤波法、滑动加权平均滤波法一阶滞后滤波法等。

3、算术平均滤波法算术平均滤波法是对N个连续采样值相加,然后取其算术平均值作为本次测量的滤波值。

A、方法:连续取N个采样值进行算术平均运算N值较大时:信号平滑度较高,但灵敏度较低N值较小时:信号平滑度较低,但灵敏度较高N值的选取:一般流量,N=12;压力:N=4

B、优点:对滤除混杂在被测信号上的随机干扰信号非常有效。被测信号的特点是有一个平均值,信号在某一数值范围附近上下波动

C、缺点:不易消除脉冲干扰引起的误差。对于采样速度较慢或要求数据更新率较高的实时系统,算术平均滤法无法使用的。比较浪费RAM

4、递推平均滤波法(又称滑动平均滤波法)

对于采样速度较慢或要求数据更新率较高的实时系统,算术平均滤法无法使用的。滑动平均滤波法把N个测量数据看成一个队列,队列的长度固定为N,每进行一次新的采样,把测量结果放入队尾,而去掉原来队首的一个数据,这样在队列中始终有N个“最新”的数据。

A、方法:把连续取N个采样值看成一个队列,队列的长度固定为N,每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)把队列中的N个数据进行算术平均运算,就可获得新的滤波结果N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4

B、优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统

C、缺点:灵敏度低对偶然出现的脉冲性干扰的抑制作用较差不易消除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严重的场合比较浪费RAM

5、加权递推平均滤波法

A、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权通常是,越接近现时刻的数据,权取得越大。给予新采样值的权系数越大,则灵敏度越高,但信号平滑度低

B、优点:适用于有较大纯滞后时间常数的对象和采样周期较短的系统

C、缺点:对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号不能迅速反应系统当前所受干扰的严重程度,滤波效果差

6、一阶滞后滤波法一阶低通数字滤波器是用软件的方法实现硬件的RC滤波,以抑制干扰信号。在模拟量输入通道中,常用一阶滞后RC模拟滤波器来抑制干扰。

用此种方法来实现对低频干扰时,首先遇到的问题是要求滤波器有大的时间常数(时间常数=RC)和高精度的RC网络。时间常数越大,要求RC值越大,其漏电流也必然增大,从而使RC网络精度下降。采用一阶滞后的数字滤波方法,能很好的克服这种模拟量滤波器的缺点,在滤波常数要求较大的场合,此法更适合。

A、方法:a=Tf/(Tf+T)Tf为滤波时间常数。T为采样周期本次滤波结果=(1-a)*本次采样值+a*上次滤波结果

B、优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合

C、缺点:相位滞后,灵敏度低滞后程度取决于a值大小不能消除滤波频率高于采样频率的1/2的干扰信号

(三)复合滤波法

在实际应用中,有时既要消除大幅度的脉冲干扰,有要做到数据平滑。因此常把前面介绍的两种以上的方法结合起来使用,形成复合滤波。去极值平均滤波算法:先用中值滤波算法滤除采样值中的脉冲性干扰,然后把剩余的各采样值进行平均滤波。连续采样N次,剔除其最大值和最小值,再求余下N-2个采样的平均值。显然,这种方法既能抑制随机干扰,又能滤除明显的脉冲干扰。

7、中位值平均滤波法(又称防脉冲干扰平均滤法)

中位值平均滤波法相当于“中位值滤波法”+“算术平均滤波法”。

A、方法:连续采样N个数据,去掉一个最大值和一个最小值然后计算N-2个数据的算术平均值N值的选取:3~14

B、优点:融合了两种滤波法的优点这种方法既能抑制随机干扰,又能滤除明显的脉冲干扰。

C、缺点:测量速度较慢,和算术平均滤波法一样比较浪费RAM

8、限幅平均滤波法

在脉冲干扰较严重的场合,如采用一般的平均值法,则干扰会平均到结果中去。限幅平均滤波法相当于“限幅滤波法”+“递推平均滤波法”

A、方法:每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理

B、优点:融合了两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差

C、缺点:比较浪费RAM

D、适用范围:缓变信号

其他滤波方法还有很多,就不一一列举了,以上方法是以前做的幻灯片中的内容。做了五个通用的滤波源程序。除了加权滤波法外,其他的可以根据这五个程序相互调用实现滤波功能。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

各种滤波算法的比较 的相关文章

  • go web gin框架实战1

    文章目录 go web gin框架实战1 参考资料2 demo3 demo运行4 demo解析 go web gin框架实战 1 参考资料 gin框架官方文档 链接 2 demo span class token keyword packa
  • Hadoop之MapReduce

    摘要 xff1a MapReduce是Hadoop的又一核心模块 xff0c 从MapReduce是什么 xff0c MapReduce能做什么以及MapReduce的工作机制三方面认识MapReduce 关键词 xff1a Hadoop
  • Linux常用命令

    摘要 xff1a 采用命令行模式操控Linux系统非常重要 本文总结Linux常用的命令 xff0c 包括命令的含义 xff0c 命令的用法以及命令的拓展 关键词 xff1a 命令行模式 Linux常用命令 给Linux系统下达命令 xff
  • Hadoop之HDFS文件操作

    摘要 xff1a Hadoop之HDFS文件操作常有两种方式 xff0c 命令行方式和JavaAPI方式 本文介绍如何利用这两种方式对HDFS文件进行操作 关键词 xff1a HDFS文件 命令行 Java API HDFS是一种分布式文件
  • R实战读书笔记四

    第三章 图形入门 本章概要 1 创建和保存图形 2 定义符号 线 颜色和坐标轴 3 文本标注 4 掌控图形维数 5 多幅图合在一起 本章所介绍内容概括如下 一图胜千字 xff0c 人们从视觉层更易获取和理解信息 图形工作 R具有非常强大的绘
  • R语言——数据分析的一把利剑

    R语言 xff0c 我把它称之为数据分析的一把利剑 为什么这么说呢 xff1f 先让我们看一下 xff0c 什么是数据分析 xff1f 所谓数据分析 xff0c 就是以商业目的为驱动 xff0c 所开展的获取数据 处理数据 分析数据 展示数
  • 【爱上Linux】第一课 Linux概述

    学习应该是快乐的事情 快乐的东西应该要分享开来 xff0c 人人都快乐 xff01 爱上Linux 第一课 Linux概述 在本课中 xff0c 和朋友们一起来思考这些问题 问题一 xff1a 谈Linux学习 xff1f 从四个方面来看
  • 链表的创建与遍历

    链表 xff0c 简而言之 xff0c 就是基于链式储存结构下的线性表 链表包括单向链表 双向链表以及循环链表 链表是一种很常用的数据结构 xff0c 其定义如下 xff1a 单向链表的定义 定义说明 xff1a 包括数据域和指针域 typ
  • Java异常机制

    Java异常 xff08 Exception xff09 又称例外 xff0c 是一种运行时错误 Java异常机制就是对于Java异常的处理方法 xff0c 使用Java异常机制能提升程序的容错性 xff0c 从而使程序更加健壮与安全 ja
  • Java序列化与反序列化

    Java序列化与反序列化是什么 xff1f 为什么需要序列化与反序列化 xff1f 如何实现Java序列化与反序列化 xff1f 本文围绕这些问题进行了探讨 1 Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程
  • Java语言中几个常用的包

    Java采用包结构来组织和管理类和接口文件 本文介绍Java语言类库中几个常用的包 xff0c 因为这几个包在软件开发与应用中经常需要用到 xff0c 其中有些包是必要的 若是离开它 xff0c 还真不能做事情了 第一个包 xff1a ja
  • 计算机网络

    Cname和A记录 CNAME和A记录 A记录 Address记录 xff0c 代表指向关系 www xx com 1 1 1 1 www yy com 2 2 2 2 CNAME cname 代表一种映射关系 www yy com www
  • AI芯片面试总结

    基础书籍有哪些 xff1f 重点章节以及概念 xff1f 计算机体系结构 量化研究方法 xff1b 计算机组成与设计 软硬件接口 xff1b deep learning 深度学习 xff1b python xff1b CMOS数字集成电路
  • Android的系统架构

    Android的系统架构采用了分层架构的思想 xff0c 如图1所示 从上层到底层共包括四层 xff0c 分别是应用程序程序层 应用框架层 系统库和Android运行时和Linux内核 图1 xff1a Android系统架构图 每层功能简
  • ensp实验一网络设备基本操作

    实验一 网络设备基本操作 一 实验目的 熟悉网络设备的基本配置 xff1b 掌握网络设备文件系统管理 xff1b 掌握设备的基本调试方法 二 实验学时及环境 1 实验学时 xff1a 2 2 操作系统 xff1a Windows 3 模拟环
  • sudo rosdep init出错 rosdepc update的解决方案

    https mp weixin qq com s VGs8oWdhHH6XsHcx21lN4Q 或者搜索 本文之后 xff0c 世上再无rosdep更新失败问题 xff01 如果有 小鱼就
  • pixhawk学习笔记---创建新的应用程序

    最近转到无人机领域的开发中 xff0c 感觉和以往搞android驱动差别比较大 xff0c 以前搞android驱动的时候网上的资料满天飞 xff0c 但是现在关于飞控相关的资料却少之又少 xff0c 一些资料都是从原理上入手 xff0c
  • 伽马贝塔函数

    在数理方程 概率论等学科经常遇到以下的含参变量的积分 xff0c 它们依次为第一类和第二类欧拉 xff08 Euler 1707 1783瑞士数学家 xff09 积分 xff0c 或依次称为贝塔 xff08 Bata xff09 函数和伽马
  • http-parser用法

    头文件说明 xff1a 解析类型定义 xff1a enum http parser type HTTP REQUEST HTTP RESPONSE HTTP BOTH 解析函数声明 xff1a void http parser init h
  • gazebo崩溃

    1 虚拟机下打开gazebo报错 xff1a VMware vmw ioctl command error Invalid argument INFO 1610283240 619937255 0 180000000 LeePosition

随机推荐

  • k8s中文网站

    https www kubernetes org cn doc 11
  • 【平衡车】PID控制原理到底如何理解?建议收藏!

    文章目录 前言PID算法PID算法的形成P算法 xff0c 即比例控制算法 I算法 xff0c 即积分控制算法D算法 xff0c 即微分控制算法PID总体的数学模型 xff1a 基于单片机的PID控制算法 xff1a 单片机中的PID算法的
  • 嵌入式C语言修炼之道.屏幕操作篇

    汉字处理 现在要解决的问题是 xff0c 嵌入式系统中经常要使用的并非是完整的汉字库 xff0c 往往只是需要提供数量有限的汉字供必要的显示功能 例如 xff0c 一个微波炉的LCD上没有必要提供显示 34 电子邮件 34 的功能 xff1
  • CDN—内容分发网络

    CDN 1 含义 CDN的全称是Content Delivery Network xff0c 即内容分发网络 CDN是构建在现有网络基础之上的智能虚拟网络 xff0c 依靠部署在各地的边缘服务器 xff0c 通过中心平台的负载均衡 内容分发
  • BeautifulSoup

    代码 xff1a from bs4 import BeautifulSoup 一个html格式的内容 doc 61 39 lt html gt lt head gt lt title gt Page title lt title gt lt
  • Ubuntu Server 22.04.1配置(配置root账号、设置固定IP、更改SSH端口、配置UFW、VM扩展磁盘后Ubuntu的扩容)

    为了能快速的创建虚拟机 xff0c 通过VM创建了一个2核CPU 4G内存 40G硬盘 xff0c 安装Ubuntu Server 22 04 1的虚拟机 xff0c 以便在需要的时候随时克隆一个新的虚拟机出来 在新的虚拟机克隆出来后可能会
  • 使用ado连接orical数据库

    使用ADO连接数据库有三种方法 xff1b 方案1 安装Orical数据库软件比方说说oracle 11g R2 32位软件 这里有一个需要注意的地方就是如果你编译的是win32如下图 xff0c 那么就必须要使用32位的数据库软件 其实在
  • QT操作 influxdb时序数据库(libcur)

    概述 最近在项目中需要用到influxdb 数据库 xff0c 当时使用了libcur库之后 xff0c 插入数据的速度一直不太理想 创建字表的速度 1W的话需要11Min xff0c 对于这样的时间完全达不到合格 经过研究进行了打包处理
  • linux中的环境变量

    临时添加环境变量的方法 exprort PATH 61 usr lib PATH export fnp 变量名称 61 变量设置值 参数说明 xff1a f 代表 变量名称 中为函数名称 n 删除指定的变量 变量实际上并未删除 xff0c
  • Linux(openEuler)没有界面连接互联网方法

    前言 系统版本openEuleropenEuler 22 03 LTS x86 64 dvd 我们在安装linux之后 xff0c 一般都是无界面的情况 大部分情况都是需要自己安装界面的 xff0c 如果路由器的情况下直接插上网络就好了 下
  • c#实现内存映射文件共享内存

    内存映射文件是利用虚拟内存把文件映射到进程的地址空间中去 xff0c 在此之后进程操作文件 xff0c 就像操作进程空间里的地址一样了 xff0c 比如使用c语言的 memcpy等内存操作的函数 这种方法能够很好的应用在需要频繁处理一个文件
  • c#Gdi画图的两种方式

    用Graphics绘图的两种方法 在学习C 画图的时候非常的蛋疼 其中的一条原因是之前没有搞过 xff0c 其中之二是办公的环境有点差 这就是我找的2种学习非常蛋疼的原因 虽然是这样但是学还是要学的 本篇文章都是在xxx paint obj
  • 一个小巧的C++Log输出到文件类

    一个小巧的C 43 43 Log输出到文件类 xff08 转 xff09 作者 xff1a wangyin159 http www cnblogs com mazhenyu p 4139352 html 一个小巧的C 43 43 Log输出
  • beego创建项目

    span class token comment 安装beego框架 span go get u github com beego beego v2 span class token comment 安装bee工具 span go get
  • 我的C++回调函数的理解

    今天在看一个多线程下载文件的代码时 xff0c 让我很头痛 因为该程序中运用了大量的回调函数 在我们学习一种技术的时候我们就要去知道几个问题 1 回调函数是什么东西 xff1f 2 回调函数怎么开发 xff0c 怎么使用 xff1f 3 回
  • c++ 中文和十六进制的互转

    CString CHexAndStrDlg StrToHex CString strData 初始化 CString strTemp 61 34 34 int iLenth 61 strData GetLength char cArrDat
  • 一篇文章,中文发完英文发,算“一稿多投”吗?

    近期有作者问小编 xff08 www unionpub cn xff09 xff0c 为什么有人换种语言 xff0c 发表了两篇同样内容的文章 而不算 34 一稿多投 34 一稿多投 是被明确禁止的 xff0c 但上述 34 二次发表 的行
  • 【CCF推荐专区】计算机类优质SCI&EI好刊,期刊质量高,部分期刊仅有少量版面

    x1f308 智能传感类 xff08 TOP xff09 CCF C类 期刊简介 IF 7 0 8 0 xff0c JCR1区 xff0c 中科院2 1区 检索情况 SCI amp EI 双检 xff0c 正刊 xff0c CCF C类 征
  • 考研杭电非全计算机技术调剂上岸

    考研杭电非全计算机技术调剂上岸 简介初试考完心态复试写这个的目的 简介 昨天看见杭电考研群里说到传承 xff0c 我觉得很有价值 xff0c 所以打算也写了我的一些想法 xff0c 希望对你们有帮助 本人31岁 xff0c 有老婆有孩子 x
  • 各种滤波算法的比较

    原文地址 xff1a http www wtoutiao com p 1fe9dPI html xfeff 各种滤波算法的比较 数字滤波 digital filtering 数字滤波 digital filtering 用数字设备 xff0