【论文:麦克风阵列增强】An Algorithm For Linearly Constrained Adaptive Array Processing
作者:桂。
时间:2017-06-03 15:06:37
链接:http://www.cnblogs.com/xingshansi/p/6937635.html
原文链接:http://pan.baidu.com/s/1pKOYuiJ
前言
本文的算法就是在阵列信号增强中非常经典的Frost's Algorithm。上个世纪70年代的技术了,梳理一下该算法的思路。
一、理论框架
首先交代理论模型。噪声为加性噪声:

X为带噪信号,L为理想信号,N为噪声信号,目的是希望利用一组滤波器,实现特定信号的增强(Enhancement).
假设有M个麦克风,对应滤波器的抽头系数为J:

写成向量的形式就是:

MVDR通常是按频点处理,以对第k个频点的处理为例:滤波信号可以表示为

其实框架就是Delay and sum,不同的是权重W不再是均分分布,而是通过最小方差找出最优组合,这就定义了准则函数:

这是一个约束问题,可以借助拉格朗日乘子法求解:

从而得出理想的输出:

例如希望减少noise的时候,原信号保持不变:

这样完成了理论框架的搭建:模型建立→准则函数定义→目标参数求解。
接下来就是落地的问题,即如何将理论模型与实际的工程应用结合起来?
二、实现思路
A-初步实现
首先是Rxx,它应该是一个先验知识priori:

它是随机信号的均值,实际应用中通常是不知道的,我们只有观测信号。因此通常时间换空间,在平稳遍历的基础上用R = 1/T (XXT)来近似表达,这样一来实际的W就可以求解,从而完成了理论的落地。
B-改进思路
这样的R通常是较大的,W的求解涉及到矩阵求逆的问题,运算速度较慢。最优解的求解,一般有最小二乘和梯度下降两个思路。矩阵求逆通常对应最小二乘思路,直接得出最优解,考虑到运算速度,一个直观的思路就是:利用梯度下降的思想。而对于均方意义下的准则函数,梯度是无法求解的,但基于遍历性的假设,可以利用不同时刻的样本进行近似梯度求解,这也就是自适应滤波的思路。梯度下降从样本量的角度来讲,有两个基本思路:随机梯度下降、批量梯度下降,这里以随机梯度下降为例(SGD).梯度下降从下降方式来讲,又有很多分支:一阶梯度下降、二阶梯度下降(Newton-Rapson)等。对于含有约束条件的梯度下降,常用的思路是:投影梯度下降法。文中利用拉格朗日乘子法将含约束的问题转化为无约束问题:

对应的梯度下降:

其中λ为:

从而梯度下降改写为

这样一来只有关于C的求逆,这是可以事先求解并固定不变的。定义:


迭代形式简化为

给出完成的梯度下降法思路(初始化+迭代):

至此,速度问题也得以优化,完成了整个MVDR的落地工作。注意到一点:μ作为迭代步长,需要人为给定。给的合适,收敛较好;给的不理想,收敛太慢甚至发散。
C-迭代步长μ的选取
细节不罗列了,需要说明的是分析是基于随机过程的均值。实际LMS应用中的μ并不完全与它吻合。
首先考虑平稳噪声的场景,需要满足:

其次考虑非平稳噪声的场景,需要满足:

具体推导看原文吧,实际应用中由于场景不同,μ的设定更多的依靠工程经验,这个单靠理论是行不通的。
参考
- Frost, Otis Lamont. "An algorithm for linearly constrained adaptive array processing." Proceedings of the IEEE 60.8 (1972): 926-935.
【论文:麦克风阵列增强】An Algorithm For Linearly Constrained Adaptive Array Processing的更多相关文章
- 【论文:麦克风阵列增强】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 ...
- 【论文:麦克风阵列增强】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 ...
- 【麦克风阵列增强】Delay and sum beamforming
作者:桂. 时间:2017-06-03 15:40:33 链接:http://www.cnblogs.com/xingshansi/p/6937576.html 前言 本文主要记录麦克风阵列的几个基 ...
- 【论文:麦克风阵列增强】Signal Enhancement Using Beamforming and Nonstationarity with Applications to Speech
作者:桂. 时间:2017-06-06 13:25:58 链接:http://www.cnblogs.com/xingshansi/p/6943833.html 论文原文:http://pan.bai ...
- 【论文:麦克风阵列增强】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 ...
- 基于麦克风阵列的声源定位算法之GCC-PHAT
目前基于麦克风阵列的声源定位方法大致可以分为三类:基于最大输出功率的可控波束形成技术.基于高分辨率谱图估计技术和基于声音时间差(time-delay estimation,TDE)的声源定位技术. 基 ...
- 麦克风阵列波束形成之DSB原理与实现
语音识别有近场和远场之分,且很多场景下都会用到麦克风阵列(micphone array).所谓麦克风阵列是一组位于空间不同位置的麦克风按一定的形状规则布置形成的阵列,是对空间传播声音信号进行空间采样的 ...
- 论文总结(negFIN: An efficient algorithm for fast mining frequent itemsets)
一.论文整体思路: 作者提出了一种基于前缀树的数据结构,NegNodeset,其实是对之前前缀树的一种改进,主要区别在于采用了位图编码,通过这种数据结构产生的算法称为negFIN. negFIN算法高 ...
- 【论文阅读】A practical algorithm for distributed clustering and outlier detection
文章提出了一种分布式聚类的算法,这是第一个有理论保障的考虑离群点的分布式聚类算法(文章里自己说的).与之前的算法对比有以下四个优点: 1.耗时短O(max{k,logn}*n), 2.传递信息规模小: ...
随机推荐
- Oracle数据泵(上)
导出 (以导出表空间为例) 1.给用户创建密码 alter user system identified by 00000000; 2.创建导出目录 create or replace dire ...
- apache用户认证,ssl双向认证配置
安装环境: OS:contos 6.4 httpd:httpd-2.2.15-59.el6.centos.i686.rpm openssl:openssl-1.0.1e-57.el6.i686.rpm ...
- 用ajax判断用户是否已存在?----2017-05-12
首先在用ajax之前,先说一下JSON: JSON:javascript object notation js对象标记 对于json,我们只需要知道如何定义json?如何输出?怎么遍历? 1.定义 ...
- 【 js 基础 】【 源码学习 】 setTimeout(fn, 0) 的作用
在 zepto 源码中,$.fn 对象 有个 ready 函数,其中有这样一句 setTimeout(fn,0); $.fn = { ready: function(callback){ // don ...
- XAF_GS_01_准备环境
各位久等了,接下来我们开始学习XAF入门的第一节,搭建XAF的环境 Setp 1 第一步不是创建什么项目,而是先安装我们的XAF环境也就是安装DevExpress 由于笔者安装的是16.2.3所以演示 ...
- .Net Core中使用ref和Span<T>提高程序性能
一.前言 其实说到ref,很多同学对它已经有所了解,ref是C# 7.0的一个语言特性,它为开发人员提供了返回本地变量引用和值引用的机制. Span也是建立在ref语法基础上的一个复杂的数据类型,在文 ...
- nodeJS中的包
前面的话 Node组织了自身的核心模块,也使得第三方文件模块可以有序地编写和使用.但是在第三方模块中,模块与模块之间仍然是散列在各地的,相互之间不能直接引用.而在模块之外,包和NPM则是将模块联系起来 ...
- 如何升级php版本---从php5.5.12 升级php7.1.5 wamp实践
1.从官网下载一个php7.1.5 2.将刚下载的压缩包解压缩,修改命名为php7.1.5,即php+版本号. 3.将这个文件夹放在wamp/bin/php 目录下. 4.将原来版本的php5.5.1 ...
- 基于Android的上课助手的概况及第一周冲刺详情
基于Android平台的上课助手 一. 功能简介 课表查询 课程提醒 空闲教室的查询 二. 开发环境 Android 三. 开发成员 组长:李志岩 成员:王亚蕊.孙 ...
- 第 12 章 MySQL 可扩展设计的基本原则
前言: 随着信息量的飞速增加,硬件设备的发展已经慢慢的无法跟上应用系统对处理能力的要求了.此时,我们如何来解决系统对性能的要求?只有一个办法,那就是通过改造系统的架构体系,提升系统的扩展能力,通过组合 ...