作者:桂。

时间:2017-06-06 13:25:58

链接:http://www.cnblogs.com/xingshansi/p/6943833.html

论文原文:http://pan.baidu.com/s/1hsuuQYK


前言

上一篇GSC是基于delay的框架进行处理,这是在无混响的情况下一种简单近似处理。许多更为复杂的应用场景,如存在的混响较严重Rt=450ms,则基于delay的模型是不合适的,有学者就考虑直接利用系统的响应函数,也就是传递函数(Transfer function, TF)进行处理,这也就是本文要梳理的思路。

一、理论模型

模型:

其中

对应的频域变换

M为麦克风的数量。

问题知道了,剩下就是建模求解。仍然可以是Frost's algorithmGSC两种框架。与原始问题基本的不同点就是一个:原始的利用delay的延时补偿;此处是基于传递函数TF。用文中的话就是:

In  Frost's algorithm, a beamforming algorithm was proposed under the assumption that the TF from the desired signal source to each sensor includes only gain and delay values. In this article, we consider the general case of arbitrary TFs.

二、理论求解

  A-Frost's algorithm

滤波器频域系数

滤波后的信号

滤波后输出信号的均方值,也就是目标函数:

Frost's algorithm基于MVDR的思路,保证目标信号不失真(限制条件),最小化输出功率(目标函数),这就是一个LCMV(linear constrained minimum variance)问题.约束条件:

总结一下求解的理论模型

同样的思路,利用拉格朗日乘子法得出滤波器最优解

同之前的问题一样,在实际的工程应用中:

This closed-form solution is difficult to implement and does not have the ability to track changes in the environment. Therefore, an adaptive solution should be more useful.

因此需要借助梯度下降的思路,利用自适应滤波(LMS、NLMS等)进行工程化的落地。

迭代思路

其中

W的迭代也可以进一步简化:

可以看出实现中只要A已知,整个的框架就搭建完成,问题就转换成:A如何求解?GSC框架也存在同样的问题。如果A已知,此处的TF-Frost's algorithm和TF-GSC都可以工程化落地,但实际应用中A通常未知,所以论文也只是交代了思路,只有TF-GSC利用了一种参数转化的思想进行参数估计,实现工程落地,而TF-Frost's algorithm并没有落地,因此论文的实验部分也仅仅是TF-GSC与基于delay的D-GSC对比,提前补充说明一下(个人理解,如果有误还请帮忙指出)。

回顾一下基于delay的Frost's algorithm框架:

  B-TF-GSC

GSC的思想与Frost's algorithm的不同在于,除了利用约束条件

假设矩阵N个自由度,约束条件利用了n个(Frost's algorithm),GSC还利用了剩下的N-n个自由度:

更直观的说,回顾基本GSC框架(本文方法的无t延迟操作)

上支的作用就是Frost's algorithm,下支的Block就是剩下的自由度,所以上支的W与下支的B需要正交,否则冗余。通常为了简便,W与B直接给定,只优化Block之后的参数矩阵,这样一来W就不是最优了,这也是为什么说GSC是Frost's algorithm的扩展不够严谨,如果仅仅从理论框架来讲,GSC就是Frost's algorithm的扩展。

TF-GSC框架的输出

其中上支

其中

F的定义

之所以可以W0等于F,是因为

满足向量空间

下支

因为是利用N-n的自由度,所以存在于向量空间

剩下就是自适应滤波求取G了。

进一步讨论之前,再将GSC框架梳理一下(TF-GSC也属于该框架)

1)上支:也就是fixed beamformer,构建带噪的增强信号;例如本文的

2)下支:也就是Blcok matrix,构建噪声参考信号;例如本文的

3)自适应部分:就是针对上支信号,利用下支得到的噪声对其进行自适应处理,例如本文的

处理结束的信号,就是整个GSC框架增强的信号。

说说G的求解过程。

重新写出自适应的准则函数

其中

利用最小二乘的思路

考虑到工程的适应性,通常用梯度下降的思想,借助最小二乘实现

也可以normalized一下,即NLMS

其中Pest的更新方式为

假设G求解完毕,如何工程化实现呢?一种设计思路是借助FIR

理论上G求解之后,利用最佳逼近,便可得出FIR的设计,但为了防止尖峰值sharp value,考虑如下思路(其实就是为了防止脉冲的削波操作)

细说就是三步走:1)将估计的时域变换;2)利用削波将时域的g控制在幅值范围内;3)将处理后的信号变换到频域,认为是利用FIR设计的G,也就是G的最终估计。

三步走的操作可以让迭代步骤更加Robust.

至此,理论分析已经结束。

  C-参数转化

然而直接求解/估计传递函数是困难的,这一点很容易理解,但绝对转化为相对,求解就容易了。

1-上支

定义

W0重写为

如果H归一化,W0可简写

2-下支

一种构造方式(满足正交空间即可):

同样可以由得到。

3-自适应

这一步按上面的思路工程上完全可以实现。

至此完成了原始问题的参数转化,也就是将绝对求解转化为相对求解,剩下就是的参数估计了。

  D-参数估计

考虑到

从而

进一步得出

实际操作中,基于平稳遍历的假设,近似估计:

利用K帧数据进行处理

从而实现H的估计:

<.>代表均值的操作

至此TF-GSC完成了理论分析→理论在工程的落地→实际应用的参数估计,反过来看就是整个工程实现的思路搭建完毕。

总结一下算法流程

参考

  • Gannot, Sharon, David Burshtein, and Ehud Weinstein. "Signal enhancement using beamforming and nonstationarity with applications to speech." IEEE Transactions on Signal Processing 49.8 (2001): 1614-1626.

【论文:麦克风阵列增强】Signal Enhancement Using Beamforming and Nonstationarity with Applications to Speech的更多相关文章

  1. 【论文:麦克风阵列增强】An alternative approach to linearly constrained adaptive beamforming

    作者:桂. 时间:2017-06-03  21:46:59 链接:http://www.cnblogs.com/xingshansi/p/6937259.html 原文下载:http://pan.ba ...

  2. 【论文:麦克风阵列增强】Microphone Array Post-Filtering For Non-Stationary Noise Suppression

    作者:桂. 时间:2017-06-08  08:01:41 链接:http://www.cnblogs.com/xingshansi/p/6957027.html 原文链接:http://pan.ba ...

  3. 【麦克风阵列增强】Delay and sum beamforming

    作者:桂. 时间:2017-06-03  15:40:33 链接:http://www.cnblogs.com/xingshansi/p/6937576.html 前言 本文主要记录麦克风阵列的几个基 ...

  4. 【论文:麦克风阵列增强】An Algorithm For Linearly Constrained Adaptive Array Processing

    作者:桂. 时间:2017-06-03  15:06:37 链接:http://www.cnblogs.com/xingshansi/p/6937635.html 原文链接:http://pan.ba ...

  5. 【论文:麦克风阵列增强】Speech Enhancement Based on the General Transfer Function GSC and Postfiltering

    作者:桂. 时间:2017-06-06  16:10:47 链接:http://www.cnblogs.com/xingshansi/p/6951494.html 原文链接:http://pan.ba ...

  6. 论文翻译:Fullsubnet: A Full-Band And Sub-Band Fusion Model For Real-Time Single-Channel Speech Enhancement

    论文作者:Xiang Hao, Xiangdong Su, Radu Horaud, and Xiaofei Li 翻译作者:凌逆战 论文地址:Fullsubnet:实时单通道语音增强的全频带和子频带 ...

  7. 论文翻译:2020_FLGCNN: A novel fully convolutional neural network for end-to-end monaural speech enhancement with utterance-based objective functions

    论文地址:FLGCNN:一种新颖的全卷积神经网络,用于基于话语的目标函数的端到端单耳语音增强 论文代码:https://github.com/LXP-Never/FLGCCRN(非官方复现) 引用格式 ...

  8. 麦克风阵列波束形成之DSB原理与实现

    语音识别有近场和远场之分,且很多场景下都会用到麦克风阵列(micphone array).所谓麦克风阵列是一组位于空间不同位置的麦克风按一定的形状规则布置形成的阵列,是对空间传播声音信号进行空间采样的 ...

  9. 基于麦克风阵列的声源定位算法之GCC-PHAT

    目前基于麦克风阵列的声源定位方法大致可以分为三类:基于最大输出功率的可控波束形成技术.基于高分辨率谱图估计技术和基于声音时间差(time-delay estimation,TDE)的声源定位技术. 基 ...

随机推荐

  1. C语言学习第六章

    今天开始尝试改变! 今天要学习函数,一个C语言中的重要组成部分. 首先先聊聊为什么要使用函数?随着学习的深入很多人会发现某段的代码重复使用的几率很大,而如果用一次写一次的话很明显的效率就会比较低,如果 ...

  2. win10用命令net启动服务没权限解决办法

    法一.右击cmd命令图标,以管理员身份运行即可. 或者 法二.打开cmd命令的位置->右击属性->高级->勾上"以管理员身份运行"->确定.

  3. Eclipse 如何添加Window Builder插件?

    http://www.eclipse.org/windowbuilder/download.php 找到对应版本的window builder 如果不知道版本的话,可以在你的Eclipse-help- ...

  4. Hibernate配置文件中配置各种数据库链接

    hibernate.properties ###################### ### Query Language ### ###################### ## define ...

  5. ubuntu 使用第一天

    1. 在 apt-get install xxx 时候 未选择合适的源 -> 改 sources.list2. 接1 未配好 DNS -> http://dudns.baidu.com/u ...

  6. 【WPF】学习笔记(三)——这个家伙跟电子签名板有个约定

    这篇博客依旧是以电子签名板为基础而展开的,主要是对前文([WPF]学习笔记(一)--做一个简单的电子签名板)存在的部分问题进行解释,以及部分小功能的添加.由于这篇博客是建立在学习笔记一的基础上的,所以 ...

  7. 理解C++ lvalue与rvalue

    一个众所周知的危险错误是,函数返回了一个局部变量的指针或引用.一旦函数栈被销毁,这个指针就成为了野指针,导致未定义行为.而左值(lvalue)和右值(rvalue)的概念,本质上,是理解“程序员可以放 ...

  8. HotSpot的算法实现

    1.枚举根节点 可达性分析中从GC Roots节点找引用,可作为GC Roots的节点主要是全局性的引用与执行上下文中,如果要逐个检查引用,必然消耗时间.另外可达性分析对执行时间的敏感还体现在GC停顿 ...

  9. 云计算之路-阿里云上:攻击又来了,4个IP分别遭遇超过30G的流量攻击

    继5月13日下午被攻击之后,今天下午,攻击又肆无忌惮地来了,14:35.14:39.14:40.14:41 ,依次有4个IP遭遇超过30G的流量攻击,被阿里云“云盾”关进“黑洞”,造成被攻击IP上的站 ...

  10. linux系统管理--查看进程

    关于进程的查看,大家都不会陌生 ,主要是ps和pstree命令. ps  aux    查看系统中所有进程,使用BSD操作系统格式.(注意:不是ps -aux) 执行结果 USER :该进程是由哪个用 ...