zoukankan      html  css  js  c++  java
  • Evaluation of fast-convergence algorithm for ICA-based blind source separation of real convolutive mixture

    实际卷积混合情况下,基于ICA的盲源分离算法快速收敛性能评估[1]。

    提出了一种新的盲源分离算法,该算法将独立分量分析ICA和波束形成BF相结合,通过优化算法来解决盲源分离的低收敛问题。该方法由以下三部分组成:(1)基于到达方向(DOA)的频域ICA估计;(2)基于估计DOA的零波束形成;(3)基于迭代和频域算法多样性的(1)和(2)的集成。通过迭代优化,用基于零波束形成的矩阵代替ICA得到的混合矩阵的逆,ICA与波束形成的时间交替可以实现快速、高收敛的优化。实验结果表明,即使在混响条件下,该算法的信号分离性能也优于传统的基于ICA的BSS方法。

    信号建模

     如下图,信源数目L,阵元数目K,本文假设K=L=2。

    频域中,混合信号可以表示为:,其中为混合信号,为源信号向量。是复值的混合矩阵,因为存在到达时延以及混响。

    频域ICA中,采用逐帧处理,进行DFT时频转换。,假设长度为L的解混信号为,并且相互独立。在每个frequency bins都这样处理。最后对采用IDFT和overlap-add技术,在时域重建源信号。

    传统基于ICA的BSS方法中,采用下式迭代估计最优

    其中表示时间平均算子,第i次更新,非线性向量函数:

    其中分别表示实部和虚部。

    提出算法

    传统ICA算法有一个重要的缺陷,在非线性优化过程中low convergence。本文提出了一种基于ICA和波束形成学习时间交替的算法。解混矩阵的逆矩阵可以通过ICA获得,用null BF的矩阵代替。具体参见图2。

    文中算法在all frequency bins 并行地施行下述步骤:

    1、初始化:随机设置,开始i=0.

    2、一次ICA迭代:根绝下式优化分离矩阵

    3、DOA估计:根据阵列指向性模式估计DOA:

     

    其中的元素。在方向性图中,方向零点只在两种情况下存在。通过在所有频率仓的零点方向的估计,可以估计得到源信号的DOA。第l个源信号的方向估计为:,其中N是DFT的点数。而且表示第l个源信号在第m个频率仓的DOA。并有:

    4、波束形成:

    在观测方向为,方向零点为时:

     

    反之,观测方向为,方向零点指向时:

     

    5、代价函数的多样性:代价函数的多样性关系到分离算法的多样性,我们采用两种分离信号间的余弦距离,该距离分别由ICA和BF得到:

    其中是由ICA分离得到的信号,是通过BF分离得到的信号。

     

     如果i+1次更新达到收敛,去到步骤6;否则返回步骤2.

     6、排序和缩放:根据第3步得到的DOA估计,可以纠正分离信号的排序和增益不一致性。

    实验结果

    采用2元线阵,间距4cm。语音信号在-30°和40°两个方向。实验中,原始语音和不同混响RTs(150msec和300msec)的脉冲响应卷积混合。采样率8k,帧长128msec,帧移为2msec,步长参数设置为10-5

     

    结合ICA与BF的兄弟篇

    详细见参考文献[2]。同一团队于2003写的一篇,结合子带ICA以及null BF的盲源分离方法。主要内容如下:

              

    参考文献

    [1] Saruwatari H, Kawamura T, Sawai K, et al. Evaluation of fast-convergence algorithm for ICA-based blind source separation of real convolutive mixture[C]// Signal Processing Conference, 2002, European. IEEE, 2002:1-4.

    [2] Saruwatari H, Kurita S, Takeda K, et al. Blind Source Separation Combining Independent Component Analysis and Beamforming[J]. Eurasip Journal on Advances in Signal Processing, 2003, 2003(11):569270.

  • 相关阅读:
    SQL数据库优化总结
    数据库设计的三大范式
    springmvc的原理与流程
    flask实现文件下载功能
    python操作excel向同一sheet循环追加数据
    python操作es处理超过10000条数据报错查询不到
    CentOS 安装rz和sz命令 lrzsz实现文件传输
    centOS安装ElasticSearch
    gunicorn启动fastapi命令
    如何获取协程的返回值
  • 原文地址:https://www.cnblogs.com/ytxwzqin/p/9717884.html
Copyright © 2011-2022 走看看