啸叫抑制(howling suppression)
作者:桂。
时间:2017-05-16
链接:http://www.cnblogs.com/xingshansi/p/6862683.html

前言
下午看到群里讨论有人提到这个问题,记录一下。
一、啸叫 定义
在平时跟别人用电脑语音聊天,声音传给你-再传给对方-再传给你,循环往复且不消失,这个就是啸叫了。专业一些的说法就是:
在声学场景中,当形成声反馈闭合回路时容易出现啸叫现象,如图:
其原因是:话筒采集的声音信号包含了经过扬声器放大的声音信号,该信号在声反馈回路中不断叠加放大,正反馈产生震荡,产生啸叫。
二、啸叫 产生原理
啸叫形成原理图:

其中,
是近端语音信号,
是扬声器聩给信号,
是传声器采集信号,
是经过传递函数
作用产生的反馈信号。
是放音系统传递函数,主要是A/D、D/A产生的时延,K是扬声器增益。
根据上面的框图可以建立方程:

进一步得出整个系统的响应函数:

这里用到信号处理的一个基本特性:

如何产生自激振荡呢?可见需要满足相位、幅值两方面的条件。
相位:
=0的极值点落在虚轴,且共轭对称,从而有:
其实就是同向位。
幅值:
整个反馈的幅值需要将信号放大:C(w)→K→G(w) 增益:|C(w)G(w)K|有:

三、啸叫 常用抑制方法
啸叫噪声往往比较尖锐刺耳:
因此希望通过一定的方式进行治疗,常用方法有:
- 移频移相法
相位就是频率,频率就是相位,该方法可以破坏相位特性,有一定失真。

- 陷波抑制法
就是通过窄带滤波器/自适应滤波器进行特定频率的滤波,前提是找到这个频率,这就需要先进行啸叫检测:

检测原则可以通过峰值/均值比等参数准则得出。检测出成分之后,利用陷波滤波器:

- 自适应反馈抵消法
因为扬声器的信号是已知的,这就是一个先验知识(也就是desired signal),从而可以利用adaptive filter,该类方法复杂度高:

参考:
- 周璐:《响自适应反馈啸叫抑制算法性能的声学因素分析》
啸叫抑制(howling suppression)的更多相关文章
- 非极大值抑制Non-Maximum Suppression(NMS)
非极大值抑制(Non-Maximum Suppression,NMS) 概述 非极大值抑制(Non-Maximum Suppression,NMS),顾名思义就是抑制不是极大值的元素,可以理解为局 ...
- 基于纹理边缘抑制的轮廓和边界检测(Contour and Boundary Detection)
基于纹理边缘抑制的轮廓和边界检测(Contour and Boundary Detection) kezunhai@gmail.com http://blog.csdn.net/kezunhai 一幅 ...
- 声反馈抑制使用matlab/simulink仿真
第一份工作时做啸叫抑制的仿真,调大0.3可以有大的啸叫产生,下图的SIMULINK仿真模型 实现移相有多种方法: 1.iir实现 2.FFT实现 3.使用FIR实现 所有信号均可以由正弦信号叠加而成.
- [DeeplearningAI笔记]卷积神经网络3.6-3.9交并比/非极大值抑制/Anchor boxes/YOLO算法
4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.6交并比intersection over union 交并比函数(loU)可以用来评价对象检测算法,可以被用来进一步改善对 ...
- EasyPR--开发详解(8)文字定位
今天我们来介绍车牌定位中的一种新方法--文字定位方法(MSER),包括其主要设计思想与实现.接着我们会介绍一下EasyPR v1.5-beta版本中带来的几项改动. 一. 文字定位法 在EasyPR前 ...
- paper 111:图像分类物体目标检测 from RCNN to YOLO
参考列表 Selective Search for Object Recognition Selective Search for Object Recognition(菜菜鸟小Q的专栏) Selec ...
- Canny 边缘检测及相关应用
该内容为 <学习图像局部特征检测和描述-基于OpenCV源码分析的算法与实现> <OpenCV 3 计算机视觉-Python语言实现> OpenCV官方网站的 https:// ...
- 课程四(Convolutional Neural Networks),第三 周(Object detection) —— 2.Programming assignments:Car detection with YOLOv2
Autonomous driving - Car detection Welcome to your week 3 programming assignment. You will learn abo ...
- 深度学习论文翻译解析(四):Faster R-CNN: Down the rabbit hole of modern object detection
论文标题:Faster R-CNN: Down the rabbit hole of modern object detection 论文作者:Zhi Tian , Weilin Huang, Ton ...
随机推荐
- typescript 的一种引入文件的方式 Triple-Slash Directives
---恢复内容开始--- /// reference 原文: https://www.typescriptlang.org/docs/handbook/triple-slash-directives. ...
- Typescript declaration: Merge a class and an interface
参考: https://stackoverflow.com/questions/47670959/typescript-declaration-merge-a-class-and-an-interfa ...
- ASP.NET WebServices 因 URL 意外地以“/HelloWorld”结束,请求格式无法识别。
今天在使用Asp.net做一个WebServices时通过Get方式调用方法时却出现了以下错误(仅在Get请求下,POST下正常) 在网络和MSDN上了解到WebServices默认只启用 Htt ...
- Node.js程序在node-windows中不能运行
Node.js程序部分功能在命令行中运行良好,但在node-windows中不能运行,怎么回事? 答:路径问题. 请看如下的描述: My script runs fine on it's own, ...
- 【js】用正则表达式对文字进行局部替换
比如有个字符串http://www.55188.com/thread-8306254-2-3.html,需要把8306254后面的2替换成其它数字,其它保持不变,该如何办呢?请看代码: var url ...
- 极客Web前端开发资源集锦
本周我们带来的前端推荐包含当前热门的bootstrap,html5,css3等技术内容和新闻话题,如果你还想近一步学习如何开发,还可以关注我们的极客课程库,里面涵盖了现代开发技术的‘学’与‘习’的全新 ...
- VM虚拟机启动报错Reason Failed to lock the file怎么办
VMware启动报错Reason: Failed to lock the file的解决方法 症状: 启动VMware虚拟机的时候出现了Cannot open the disk '*.vmdk' o ...
- Silverlight 之 创建
Silverlight 项目文件是您可以使用不同工具来创建和编辑的文本文件.例如,可以使用 Visual Studio 2010 以及 Expression Blend 来创建 Silve ...
- Android Studio怎样加入工程(project)为library(针对非gradle)
这篇文章还是针对非gradle build的project,gradle build有一些区别.在Eclipse要引用别的project为本project的library非常easy,可是在Andro ...
- 解决win10鼠标晃动问题
删除HKEY_CLASSES_ROOTDirectoryBackgroundshellexContextMenuHandlers 下面,除了new以外的文件夹 重启,Ok
