音频噪声抑制(3):维纳(Wiener)滤波器篇之有辅助观测数据
来源:互联网 发布:mac邮件图片显示问号 编辑:程序博客网 时间:2024/06/02 20:05
前面的文章讲了,维纳滤波器的设计和用维纳滤波器来抑制噪声。
Review:维纳滤波器的设计
Review:噪声抑制之维纳(Wiener)滤波器篇
当时的噪声抑制,有两个阶段。滤波器系数的求解阶段,和后面的噪声抑制阶段。
可能这样能有一丢丢效果,但好像并不是很理想。
对音频信号噪声抑制的提升一种手段就是,多花点钱,用两个麦克风。一个录语音(含噪v2),另一个录噪声(v1)。v2和v1可能不同,但两者之间却存在一定的关系。
据说,飞机上就是这样的设计。
坐过飞机的人应该都有这样的体会,飞机那个引擎声,真的是震耳欲聋的。尤其是助跑加速起飞前的那一瞬间!
这么大的噪声,这么恶劣的环境,这么低的信噪比,如果塔台和飞行员要通话,不进行噪声抑制,根本没法正常通信啊!
不可能用44100kHz采样、24bit量化、双声道传输吧…
一开始,麦克风接收飞行员的声音在量化的时候已经有量化噪声了。
再加上这么大的引擎噪声。必须去噪啊!
所以,有些天才就这么设计语音系统了。
基本思想大概是这样。
假设飞行员说话的信号时x(t),发动机的噪声时v1(t),v1(t)传到麦克风这里,由于经过了某个信道,变成了v2(t),
叠加到纯净的语音信号x(t)上,麦克风收到的就是y(t) = x(t) + v2(t)了。
所以,如果能在发动机附近也装一个麦克风,去收集来自发动机的噪声v1(t),再通过一些技术手段,利用v1(t)估计出v2(t),
再用y(t) - v2(t)的估计,就应该能得到比较纯净的语音信号x(t)了吧。
这就是,有数据辅助的维纳噪声抑制。
下面是我上学期一门课的一次作业,讲的就是这个案例。
但是,滤波器阶数太高了,似乎噪声抑制的效果反而变差了!
这是为什么呢?在课堂上,我们的讨论结果是,可能因为取的x的样本点数目有限,阶数太高,自相关函数估计就不准了…
滤波后的结果如下。
如果辅助观测信号也泄露了一些“所期望”的信号以后,效果也会变差的。
最后,这种噪声抑制效果的提升,还是付出了很大的代价的。至少有两点,
第一,要多买一个麦克风。
第二,还要有机会能采集到“基本干净”的噪声。
- 音频噪声抑制(3):维纳(Wiener)滤波器篇之有辅助观测数据
- 音频噪声抑制(2):维纳(Wiener)滤波器篇
- 音频噪声抑制(5):含辅助观测数据的LMS噪声抑制
- 音频噪声抑制(6):不含辅助观测数据的LMS噪声抑制
- 音频噪声抑制(1):经典滤波器篇
- 滤波器设计(3):维纳(Wiener)滤波器的设计
- 音频噪声抑制(7):利用基本谱减法实现噪声抑制
- 用MATLAB实现领域平均法抑制噪声程序(线性滤波器)
- 一种用于抑制椒盐噪声的多窗口中值滤波器(邢藏菊等)
- 音频噪声抑制(4):普通最小均方误差(LMS)算法
- WebRTC的噪声抑制(noise suppression,NS)算法
- 维纳滤波器(Wiener Filter)在图像处理中的应用(一)
- 音频录制的噪声抑制与PCM+H264封装MP4
- 四旋翼惯导融合之观测传感器滞后问题汇总与巴特沃斯低通滤波器设计(气压计MS5611、GPS模块M8N、超声波、PX4FLOW等)
- 四旋翼惯导融合之观测传感器滞后问题汇总与巴特沃斯低通滤波器设计(气压计MS5611、GPS模块M8N、超声波、PX4FLOW等)
- 步进电机使用总结之噪声、振动的抑制
- 噪声强度(噪声功率) 噪声方差到底有什么关系?
- 噪声强度(噪声功率) 噪声方差到底有什么关系?
- Codeforces 742C C. Arpa's loud Owf and Mehrdad's evil plan
- Bootstrap学习总结笔记(22)-- 基本插件之折叠
- java操作mysql时执行带有日期语句的误区
- 系统调用与库函数
- 《高效能程序员的修炼》
- 音频噪声抑制(3):维纳(Wiener)滤波器篇之有辅助观测数据
- android入门
- vim有用的命令
- C++使用libcurl做HttpClient
- app 与服务器交互 token
- 尝鲜QM 4.0.0 -- 安装、注册、试用子机功能
- Volley发起网络请求及Gson
- 学习小记-ubutun下的Sublime Text 3的安装与使用
- 【备忘】JAVA SE+JSP+Servlet+Oracle+SSH+J2EE项目实战 JAVA全套视频教程 下载