0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

常见的滤波算法有哪些

武汉芯源半导体 来源:武汉芯源半导体 2024-07-29 14:03 次阅读

一、滤波的概念

滤波是指通过某种方法将信号中的某些频率成分增强或抑制,达到去除噪声、改善信号质量、分离信号等目的的过程。滤波器是实现滤波功能的关键组件,它可以改变信号的频谱特性,对不同频率区域的信号进行处理。

二、常见的滤波算法

1.小波变换滤波

原理:小波变换通过将信号分解成不同尺度的子信号,可以提取出信号中的局部特征。在滤波中,小波变换可以用来去除信号中的噪声或者对信号进行平滑处理。

下面是该算法的波形图:

74498c32-4d6d-11ef-b8af-92fbcf53809c.png

使用场景:

(1)图像去噪:小波变换可以有效地去除图像中的噪声,尤其是在多尺度分解中,可以针对不同频率的噪声进行过滤。

(2)特征提取:小波变换能够揭示图像或信号中的局部特征,因此在特征提取方面非常有用,比如在图像识别和分类中。

(3)边缘检测:小波变换在边缘检测方面表现出色,因为它能够捕捉到图像中的尖锐变化。

(4)信号去噪:在信号处理中,小波变换可以用于去除信号中的噪声,尤其是在非平稳信号中。

2.移动平均滤波

原理:首先确定一个包含一定数量样本点的窗口,这个窗口在信号上滑动。在每一个位置,计算窗口内所有样本点的平均值。将计算得到的平均值作为滤波后的输出。将窗口沿信号滑动一定步长,重复上述步骤。

我们有一个离散时间信号 x[n],并且我们使用长度为 M 的窗口进行移动平均滤波,那么滤波后的信号 y[n] 可以通过以下公式计算:则计算公式为:

y[n]=1/M∑k=n−M+1nx[k]

例如:一个包含噪声的信号序列x=[1,4,3,6,6,5,10,9,7,12].

我们可以使用移动平均滤波来平滑信号并减小噪声的影响。假设我们选择一个窗口大小为3,即每次计算三个样本的平均值。

第一个输出样本为:y[0]=(1/3)∗(1+4+3)=2.666

第二个输出样本为:y[1]=(1/3)∗(4+3+6)=4.33

以此类推,我们可以继续计算后续输出样本。

下面是使用这个算法生成的一个波形图

746b1668-4d6d-11ef-b8af-92fbcf53809c.png

使用场景:

(1)在金融领域等需要对数据进行趋势分析的场景中,移动平均滤波可以平滑价格波动,帮助分析数据的长期趋势,预测未来走势。

(2)在实时数据处理或传感器数据处理中,移动平均滤波可以利用先前时刻的数据进行滤波处理,对新的数据进行平均,有助于消除数据中的噪声或异常值。

(3)移动平均滤波对周期性噪声和高频噪声的滤波效果比较好,可以很好地降低信号或数据中的高频成分,同时保留信号的基本特征。

3.中值滤波

原理:中值滤波会选取数字图像或数字序列中像素点及其周围临近像素点(一共有奇数个像素点)的像素值,将这些像素值排序,然后将位于中间位置的像素值作为当前像素点的像素值,让周围的像素值接近真实值,从而消除孤立的噪声点。例如,针对下图中第4行第3列的像素点,计算它的中值滤波值。

748a10ea-4d6d-11ef-b8af-92fbcf53809c.png

将其邻域设置为3×3大小,对其3×3邻域内像素点的像素值进行排序(升序降序均可),按升序排序后得到序列值为:[16,35,46,52,52,62,64,83,85],在该序列中,处于中心位置(也叫中心点或中值点)的值是“52”,因此用该值替换原来的像素值 64,作为当前点的新像素值,新的像素图如下所示。

749e134c-4d6d-11ef-b8af-92fbcf53809c.png

下面是使用这个算法对随机噪声滤波后生成的一个波形图:

74b7825a-4d6d-11ef-b8af-92fbcf53809c.png

使用场景:

(1)孤立噪声点平滑:中值滤波能有效去除图像或信号中的孤立噪声点,而不会对整体图像或信号的平滑区域造成影响。

(2)椒盐噪声去除:中值滤波对椒盐噪声(salt-and-pepper noise)具有很好的滤除效果,这种噪声表现为图像中随机分布的白色和黑色像素点。

(3)实时视频处理:由于中值滤波算法的计算复杂度相对较低,它可以用于实时视频流的噪声去除。

4.算术平均滤波

原理:算术平均滤波是图像处理中的一个常用技术,主要用于降低图像中的随机噪声。算术平均滤波器的基本思想是用像素点邻域内的平均灰度值来代替该像素点的灰度值。

算术平均滤波的计算公式如下:

f'(x, y) = 1/(mn) * ΣΣf(x+k, y+l)

其中,f'(x, y)是滤波后像素点(x, y)的灰度值,f(x+k, y+l)是原像素点(x, y)领域内的灰度值,ΣΣ表示对领域内所有像素点求和,m和n是滤波窗口的大小。

下面是使用这个算法对随机噪声滤波后生成的一个波形图:

74daf492-4d6d-11ef-b8af-92fbcf53809c.png

算术平均滤波适用于一些简单的图像或信号处理场景,例如去除较为均匀且较弱的噪声。

5.卡尔曼滤波

原理

(1)预测步骤(预测状态):通过系统的动态模型,根据已知的系统状态和控制量,预测系统的下一个状态以及状态的协方差。这一步骤得到的是对系统未来状态的预测。

(2)测量更新步骤(更新状态):利用传感器测量数据,根据预测的状态和测量数据的协方差,通过卡尔曼增益计算得到关于系统状态的修正估计。卡尔曼增益会根据预测和测量的不确定性来调整估计值,以平衡两者之间的权重。

下面是使用这个算法对随机噪声滤波后生成的一个波形图:

74ffd0e6-4d6d-11ef-b8af-92fbcf53809c.png

使用场景:卡尔曼滤波广泛应用于估计动态系统的状态,例如航天器导航、飞行器控制、传感器数据融合等领域。它具有高效、准确、稳定等优点,能够处理系统模型不确定性、传感器误差等问题,提高状态估计的精度和鲁棒性。

6.均值滤波

原理:连续采样N个数据,去掉一个最大值和一个最小值然后计算N-2个数据的算术平均值N值的选取

下面是使用这个算法对随机噪声滤波后生成的一个波形图:

75252530-4d6d-11ef-b8af-92fbcf53809c.png

使用场景:
(1)工业自动化:在工业自动化和控制系统中,均值滤波用于从传感器数据中去除噪声,提高系统的稳定性和可靠性。

(2)信号平滑:当信号受到高频干扰或随机噪声时,中值平均滤波法可以将突然的干扰降低,使信号变得更加平滑。

(3)环境监测:在环境监测中,均值滤波可以用于处理大气、水质等监测数据,去除测量误差和随机波动。

(4)数字图像处理:在数字图像处理中,中值平均滤波法常用于去除图像中的噪声,例如在数字摄影中去除低光照条件下的图像噪声。

7.快速傅里叶变换(FFT)滤波

原理:FFT滤波将时域信号通过FFT算法转换到频域,得到信号在频域上的频谱信息。在频域上对信号进行滤波处理,可以采用各种滤波器,如低通滤波器、高通滤波器、带通滤波器等,以抑制或增强特定频率成分。对经过滤波处理的频域信号进行逆FFT,将信号恢复回时域。

我使用python生成了一个频率为50 Hz的正弦波信号,并添加了高斯噪声。然后,使用numpy.fft.fft函数计算信号的FFT,并使用numpy.fft.fftfreq生成对应的频率向量。接下来,设计了一个简单的低通滤波器,只允许截止频率以下的频率成分通过。应用滤波器后,使用numpy.fft.ifft计算逆FFT,得到滤波后的信号。

下面是滤波的效果图:

7550764a-4d6d-11ef-b8af-92fbcf53809c.png

使用场景:

(1)频域滤波:FFT允许将时域信号转换到频域,然后可以轻松地应用各种滤波器,如低通、高通、带通和带阻滤波器。

(2)信号分析:FFT常用于分析信号的频率成分,识别信号中的周期性成分或检测特定频率的信号。

(3)图像处理:在图像处理中,FFT可以用于频域滤波,如锐化、模糊、边缘检测等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 信号
    +关注

    关注

    11

    文章

    2772

    浏览量

    76531
  • 滤波算法
    +关注

    关注

    2

    文章

    88

    浏览量

    13705
  • CW32
    +关注

    关注

    1

    文章

    174

    浏览量

    548

原文标题:基于CW32的仪表精度测量实现(一):相关滤波原理

文章出处:【微信号:武汉芯源半导体,微信公众号:武汉芯源半导体】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    常用的经典滤波算法哪些??

    常用的经典滤波算法哪些??
    发表于 07-01 15:15

    滤波算法

    包含内容:1.10种软件滤波的方法 2.单片机数字滤波算法研究3.滤波算法程序
    发表于 10-13 09:29

    常见滤波算法(C语言)

    )) {return value; } else {return new_value; }}二、中位值滤波法优点:能有效克服因偶然因素引起的波动干扰;对温度、液位等变化缓慢的被测参数良好的滤波效果。缺点:对流
    发表于 02-24 22:07

    嵌入式测控系统中常见的数字滤波算法哪些?

    嵌入式测控系统中常见的数字滤波算法哪些?常见的数字滤波算法
    发表于 04-12 06:39

    算法移植到STM32单片机中常见的问题哪些?

    算法移植到STM32单片机中常见的问题哪些?
    发表于 11-22 07:10

    几种常见滤波算法

    **几种常见滤波算法**限幅滤波算法(程序判断滤波算法
    发表于 01-11 06:37

    卡尔曼滤波算法对比其他的滤波算法什么优点?

    卡尔曼滤波算法对比其他的滤波算法什么优点
    发表于 10-11 06:42

    常见滤波电路

    驱动设计常见滤波电路,包括电解电容滤波,RC滤波和π型滤波
    发表于 03-16 14:19 47次下载

    FIR滤波算法

    FIR滤波算法相关资料,需要的下来看看
    发表于 12-17 11:06 2次下载

    滤波算法哪些十大滤波算法的资料介绍

    本文档的主要内容详细介绍的是十大滤波算法的资料介绍包括了:限幅滤波法(程序判断滤波法),中位值滤波法,算术平均
    发表于 01-04 08:00 28次下载
    <b class='flag-5'>滤波</b><b class='flag-5'>算法</b><b class='flag-5'>有</b>哪些十大<b class='flag-5'>滤波</b><b class='flag-5'>算法</b>的资料介绍

    EMI滤波常见电路解析

    EMI滤波多种类型,常见RC,RL等等,本文我们介绍一种比较实用的滤波电路。
    发表于 07-22 16:45 3w次阅读
    EMI<b class='flag-5'>滤波</b>器<b class='flag-5'>常见</b>电路解析

    四种常见的图像滤波算法介绍

    滤波算法,并附上源码,包括自适应中值滤波、高斯滤波、双边滤波和导向滤波。 前言 本文介绍四种
    的头像 发表于 02-15 09:50 9890次阅读

    什么是滤波 常见的软件滤波办法

    的信号的真实性和稳定性。 正因如此,滤波算法也成了在智能车控制中不可或缺的一种控制算法常见的软件滤波办法 软件
    的头像 发表于 11-28 15:43 996次阅读

    市面上常见滤波哪些?

    市面上常见滤波很多种类,它们被广泛应用于各种领域,包括通信、电子设备、音频处理等。
    的头像 发表于 01-23 18:26 1369次阅读

    常用的ADC滤波算法哪些

    ADC(模数转换器)滤波算法在信号处理中起着至关重要的作用,它们能够帮助我们提取出有用的信号,同时滤除噪声和干扰。以下是常用的ADC滤波算法详解,这些
    的头像 发表于 10-08 14:35 222次阅读