当前位置: 首页 > news >正文

FIR滤波

参考来源:
https://www.zhihu.com/question/323353814
本节主要围绕以下几个问题进行描述:

  1. 什么是FIR滤波器
  2. 时域的卷积=频域的相乘

关于FIR

FIR滤波就是在时域上卷积的过程。将含噪声信号与低通滤波器的傅里叶逆变换值进行卷积,这个过程就是FIR滤波。

任务描述

如下图,我们仿真生成了两段信号。其中一条是未加入噪声的纯净信号,另外一条是加入白噪声后的含噪声信号。其中纯净信号使用了一段正弦信号。我们的目的就是将含噪声信号中的噪声部分滤除,得到一条尽量还原纯净信号的滤波结果。

一种直观的方法

从上图容易看出,含噪声信号是在纯净信号上下波动的,所以很容易想到,如果取某几个含噪声信号的平均值,作为滤波结果,则可以抵消掉噪声在上下随机波动中的干扰效果。
在这里插入图片描述

三、另外一种理解角度——引入权重系数概念

上边讲到的滑动平均,是将3个相邻信号求取平均值,这也可以理解为这3个值分别乘以权重系数1/3再求和,那么上述滤波过程可以用下边这张动图来演示,应该是比较直观的了:图3. 选取了前10个数据点作为演示看到这里大家想到什么了吗。是的——是卷积。

卷积如何影响滤波算法的构造的?

卷积有一个重要性质:时域的卷积等于频域相乘。
这个性质可以说和滤波是息息相关的,因为滤波的目的就是想要得到某特定的频率段。
而频域相乘恰恰能够实现这个筛选的目的。

回到文章最开始的例子,想要对含噪声信号滤波,那我们不妨先看看他的频谱:图11. 含噪声信号及其对应频谱可以看到我们想要保留的频率段范围基本在3Hz以下,高于3Hz的都可以抛弃,很自然地,我们可以想到一个办法,即构造如下一组频域信号:图12. 构造的低通滤波器此时将图11中的频谱和图12相乘,高于3Hz的数值就全部变为了0,此时频谱就成了:图13. 高于3Hz的分量全部被滤除再将此频域数值进行傅里叶逆变换,得到时域数值:

可以看到我们近乎完美的实现了滤波。一句话表述上述滤波过程:设计一个频域滤波器(将想要保留的频率段赋值为1,其他频率段赋值为0),将其与含噪声信号的频谱在频域上相乘,再将乘积做傅里叶逆变换,即可实现滤波,这种滤波器叫频域滤波器。

上面所说是在频域上相乘,时域的卷积=频域相乘!!!
所以,上述在频域空间的一大堆操作,可以简单地转化成在时域上的卷积操作,具体来说,就是将含噪声信号与低通滤波器的傅里叶逆变换值进行卷积,这个过程就是FIR滤波。
在这里插入图片描述

参考:

1. 如何通俗易懂地理解FIR/IIR滤波器?
2. matlab fir1

http://www.lryc.cn/news/66528.html

相关文章:

  • Python小姿势 - Python中的类型检查
  • 人工智能前景
  • python并发编程学习笔记--生产者消费者模型 day02
  • 彩蛋丨利用R语言脚本实现批量合并Excel表格,再也不用手动点来点去了!
  • 深入学习MYSQL-数据操纵及视图
  • 深入讲解eMMC简介
  • ICV:中国车载超声波雷达市场规模预计2024年可达20亿美元
  • PointNet:利用深度学习对点云进行3D分类和语义分割
  • 第四十二章 Unity 下拉框 (Dropdown) UI
  • STL常用梳理——STACK、QUEUE
  • Unity物理系统基本概念
  • 防止表单重复提交的几种方式,演示一个自定义注解方式的实现
  • 《基于智能手机采集的PPG信号预测血管老化》阅读笔记
  • 【大数据-调度工具】dolphinscheduler安装和遇到的问题
  • 滑动轨迹生成的思路和代码分享-测试可过极验 90%机率
  • 【Linux】项目自动化构建工具make/makefile
  • 【系分范文】论软件需求获取技术以及应用
  • vue2.0中post请求
  • MySQL双写缓冲区(Doublewrite Buffer)
  • 免费开源的Umi-OCR 文字识别工具
  • 如何让微信小程序弹窗滚动条设置在最上面
  • c语言-指针
  • Jenkins集成SonarQube实现代码质量检查
  • 2023 谷歌I/O发布会新AI,PALM 2模型要反超GPT-4,一雪前耻!
  • MySQL和Redis如何保证数据一致性?
  • Markdown使用(超详细)
  • yolov5实现扑克牌识别的产品化过程
  • 第07讲:Java High Level Client,读写 ES 利器
  • dockerfile暴力处理配置文件外提
  • 如何快速给出解释——正交矩阵子矩阵的特征值的模必然不大于1