好久没有写音频信号处理的文章了……

因为我从零开始学C++去了……

前面有一些文章简要介绍了IIR和FIR滤波器的设计方法。

Review:IIR

Review:FIR

滤波器是一种工具,可以完成许多事情。

用滤波器去除噪声,是很常见的。

用经典滤波器抑制噪声,非常简单。如果噪声的功率谱PSD和有用信号功率谱PSD没有重叠的话,那可以实现非常好的效果。

但是,如果有重叠,去噪的效果就不是特别理想了。因为在复指数信号空间里面,没办法把有用信号和噪声信号分离啊。

当然,如果先知道噪声本身的性质,是可以帮助我们实现噪声抑制的。

如果,噪声是覆盖整个频率范围的白噪声,那去除噪声的步骤大致如下。

1. 需要了解有用信号大致是分布在 多少 Hz  到 多少 Hz之间。

2. 设计滤波器,指标就选尽可能多得抑制带外噪声的那些指标。

3. 让信号通过滤波器,实现噪声抑制。

如果,噪声是某个特定频率的噪声,比如 50Hz 的工频信号(50Hz交流电),

就需要设计一个陷波器。

虽然看起来,用陷波器去掉50 Hz的工频信号效果比较好,但是!但是!但是!

实际上,交流电不一定是刚好50 Hz的嘛,可能是51,52,甚至53,……

所以,实际上,还应该结合一些别的手段,去追踪一下工频信号的频率。

另外,由于有非线性效应,所以,不一定只有基波,还有可能有二次谐波,三次谐波,……

为什么会这样?微积分里面Taylor级数嘛…。我想,进一步的原理在“电路原理”、“模拟电子技术基础”等课程里都讲过。

引用某位老师的话:“哎,跟一群数学不好的、靠经验搞工程的人交流起来,真的是费劲!”

我很欣赏这句话。尽管很多人觉得这句话说得有点骄傲了。但是别人有水平,有水平的人不骄傲,难道还要一群渣渣去骄傲?

需要注意的是:

1. 在matlab里,如果设计IIR滤波器去抑制噪声,用filter函数就好。函数的输出信号y和输入信号x的长度是一样的。y就是去除噪声后的信号。

2. 在matlab里,如果设计FIR滤波器去抑制噪声,一般是得到一个单位脉冲响应h,于是用 y = conv(h,x) 就好。但是y的长度和x的长度不一致。这是由卷积的性质决定的。

L = M + N - 1。因为是FIR,所以y基本上就是x的时延,所以把y从 n0 时刻开始,往后走(x长度-1)个点,就是消除噪声后的信号。至于n0等于多少,这个去算一下就好了。

大概是 (N-1) / 2 个时刻吧。这个自己动笔算一下,算一下。 当然,N取奇数还是偶数,要看实际的需求。有些滤波器的长度N是不能满足某种特定的功能的。比如 z = 1的地方有零点(相当于 H(exp(j0)) = 0),是不能作为低通滤波器的。

音频噪声抑制(1):经典滤波器篇相关推荐

  1. 音频噪声抑制(2):维纳(Wiener)滤波器篇

    之前的文章讲了使用经典滤波器来抑制噪声. Review:噪声抑制之经典滤波器篇 里面提到,"用经典滤波器抑制噪声,非常简单.如果噪声的功率谱PSD和有用信号功率谱PSD没有重叠的话,那可以实 ...

  2. 【音频处理】IIR滤波器设计(一)Biquad 滤波器

    系列文章目录 [音频处理]如何"认识"一个滤波器? [音频处理]IIR滤波器设计(一)Biquad 滤波器 [音频处理]IIR滤波器设计(二)模拟到数字 前言 在开始学习 IIR ...

  3. 经典滤波器的设计原理

    前言 想写一篇文章,包含经典滤波器的万象. 1.滤波器基础知识 总的来说,滤波器可分为经典滤波器和现代滤波器两大类.经典滤波器是假定输入信号x(n)中的有用成分和希望去除的成分各自占有不同的频带.这样 ...

  4. [Python从零到壹] 六十四.图像识别及经典案例篇之图像傅里叶变换和傅里叶逆变换详解

    祝大家新年快乐,阖家幸福,健康快乐! 欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所 ...

  5. 了解常用音频接口,看这篇全了!

    了解常用音频接口,看这篇全了! 概述 数字音频接口DAI,即Digital Audio Interfaces,顾名思义,DAI表示在板级或板间传输数字音频信号的方式.相比于模拟接口,数字音频接口抗干扰 ...

  6. 明翰经验系列之人生经验与经典文案篇(持续更新)V1.1

    文章目录 传送门 前言 佳句赏析 人生哲理与经验 某人的生活经验 上进心 `亲情` 爱情 友情 职场 健康 互联网&手机 看人 生活 穿着 购物 买房 综合 买车 综合 二手车 经典台词与文案 ...

  7. (一)Linux ALSA 音频系统:物理链路篇

    物理链路篇 转自:https://me.csdn.net/zyuanyun Linux ALSA 音频系统:物理链路篇 Linux ALSA 音频系统:物理链路篇 原创 zyuanyun 最后发布于2 ...

  8. 经典滤波器与现代滤波器

    经典滤波器就是我们熟知的FIR和IIR,经典滤波器要求对输入信号的频率范围已知,从功能上可划分为: 低通滤波器(LPF) 高通滤波器(HPF) 带通滤波器(BPF) 带阻滤波器(BSF) 陷波滤波器( ...

  9. 名师讲坛——Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    [书名]<名师讲坛--Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax)> [作者]李兴华.王月清 [ISBN]9787302231585 ­}:YKf: ...

  10. 名师讲坛—Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    名师讲坛-Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax) 基本信息 作者: 李兴华    王月清   出版社:清华大学出版社 ISBN:9787302231585 ...

最新文章

  1. qpsk调制解调matlab_本科毕业设计课题—QPSK相干解调的MATLAB仿真(3)
  2. 1042 字符统计 (20分)——16行代码满分
  3. mysql 开启记录慢查询记录
  4. Android 布局以及优化资料汇总
  5. P4173-残缺的字符串【FFT】
  6. netbeans7.4_NetBeans 7.2 beta:更快,更有用
  7. LeetCode 253. 会议室 II(贪心+优先队列)
  8. java.lang.NoClassDefFoundError: javax/mail/internet/AddressException解决
  9. pytorch---之BN层参数详解及应用(1,2,3)(1,2)?
  10. #python 颜色聚类处理
  11. pr cpu100%_Pr插件
  12. self.button.clicked.connect的用法
  13. 不重复的三位数python_Python趣味案例之不重复的三位数
  14. 减肥就来红光光浴吧,健康又安全
  15. p12..Matplotlib:Contours等高线图
  16. 【Redis】Redis入门篇(1)
  17. 求N分之一序列的前N项和
  18. android 表格布局行高,表格分割线怎么设置 先把行高调整到合适高度
  19. 关于论文目录,一级标题加粗,而后面的.....与页码不加粗的正确设置方法
  20. 魔百盒M301H(ZN、JL、CW、SM代工)_海思3798mv300_全套刷机固件

热门文章

  1. js文档模式之混杂模式与标准模式
  2. thinkphp5 excel导入导出
  3. 在电脑上怎样将长方形图片裁剪成圆形的图片?
  4. 漫话中文分词和语义识别(下):句法结构和语义结构
  5. 权重确定方法五:CRITIC权重法
  6. 如何在jupyter notebook中设置一级二级三级标题?
  7. 纪念第一次2019河南省第十二届ACM大赛之旅
  8. 这些CAD制图初学入门问题你遇到过吗?CAD制图初学入门全攻略!
  9. 创建销售订单的BAPI
  10. uniapp 实现高德地图导航