【论文】A Minimum Distortion Noise Reduction Algorithm With Multiple Microphones
学习麦克风阵列信号处理,记录论文实现过程
原论文地址 A Minimum Distortion Noise Reduction Algorithm With Multiple Microphones
代码地址:https://github.com/wangwei2009/spatial-temporal-LCMV
问题模型
k时刻各阵元输出表示如下:
向量表示如下
各相应符号定义如下
其中 :
G n为通道冲击响应矩阵,大小为 L X Ls,Ls = L + Lg - 1,Lg 为冲击响应长度
问题模型:
给定 n = 1,2,……N,去估计其中的
确定信号模型后,估计目标信号可以通过N个长度为L的FIR滤波器实现
误差信号表示如下
将(2)代入到(5)中,则误差信号可被分解成如下形式
其中
(6)式中的项表征了目标信号失真大小,该项越大,表示目标信号失真越大,为0则表示无失真。
同样的,(6)式中另外一项表征了噪声抑制的强度,该项越小,表示残留噪声越小,最小化噪声的代价函数如下
其中E[ ]表示数学期望
目标函数
理想目标是在最大化抑制噪声的同时保持目标信号失真为0,则可以写出如下带约束条件的目标函数
针对(13)式,原论文中给出了N=1与N>=2的讨论
N = 1:时,在本文的模型基础上,要想保证约束条件成立,目标函数的解只能是如下形式
显然,以上的滤波器就是对原输入信号不做任何改变,这样,保证目标信号不变的同时也不会获得任何的噪声抑制
N>=2
利用多通道的数据,我们假设有空时预测矩阵作用如下
上式表示通道n的数据可以由通道m预测得到,显然,当n=m时,预测矩阵为单位矩阵,现在先假设这个预测矩阵已知,误差信号表示如下
重写带约束条件的目标函数如下
利用拉格朗日乘子法求得闭式解为
剩下的问题就是要估计这个其中的W了
根据加性噪声模型以及最小均方准则(MSE)可以求得最优矩阵为如下形式
噪声相关矩阵可以在无语音期间估计,如果声源没有移动,最优矩阵也只需要在有声段估计一次
测试
使用七阵元的麦克风阵列录音数据,录波器长度L = 64,对比降噪前后的时频图
参考
[1]: “A Minimum Distortion Noise Reduction Algorithm With Multiple Microphones” Jingdong Chen ICASSP2008