zoukankan      html  css  js  c++  java
  • 【论文:麦克风阵列增强】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.
  • 相关阅读:
    思考的乐趣
    编程的知识体系
    Android用Intent来启动Service报“java.lang.IllegalArgumentException: Service Intent must be explicit”错误的解决方法
    手拼SQL小技巧,WHERE 1=1
    n+1 < n , are you sure?
    java swing 去掉按钮文字周围的焦点框
    MyBatis使用动态SQL标签的小陷阱
    String、StringBuffer、StringBuilder的一些小经验……
    SQL Server 2012安装后找不到服务器名称的解决办法!!!
    CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳)
  • 原文地址:https://www.cnblogs.com/xingshansi/p/6937635.html
Copyright © 2011-2022 走看看