实际卷积混合情况下,基于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.

Evaluation of fast-convergence algorithm for ICA-based blind source separation of real convolutive mixture的更多相关文章

  1. 【HEVC帧间预测论文】P1.3 Fast Inter-Frame Prediction Algorithm of HEVC Based on Graphic Information

    基于图形信息的HEVC帧间预测快速算法/Fast Inter-Frame Prediction Algorithm of HEVC Based on Graphic Information <H ...

  2. Deep Learning 17:DBN的学习_读论文“A fast learning algorithm for deep belief nets”的总结

    1.论文“A fast learning algorithm for deep belief nets”的“explaining away”现象的解释: 见:Explaining Away的简单理解 ...

  3. Reducing the Dimensionality of data with neural networks / A fast learing algorithm for deep belief net

    Deeplearning原文作者Hinton代码注解 Matlab示例代码为两部分,分别对应不同的论文: . Reducing the Dimensionality of data with neur ...

  4. 论文笔记(2):A fast learning algorithm for deep belief nets.

    论文笔记(2):A fast learning algorithm for deep belief nets. 这几天继续学习一篇论文,Hinton的A Fast Learning Algorithm ...

  5. super fast sort algorithm in js

    super fast sort algorithm in js sort algorithm Promise.race (return the fast one) Async / Await // c ...

  6. Direction of Arrival Based Spatial Covariance Model for Blind Sound Source Separation

    基于信号协方差模型DOA的盲声源分离[1]. 在此基础上,作者团队于2018年又发布了一篇文章,采用分级和时间差的空间协方差模型及非负矩阵分解的多通道盲声源分离[2]. 摘要 本文通过对短时傅立叶变换 ...

  7. 【sqli-labs】 less48 GET -Error based -Blind -Numeric -Order By Clause(GET型基于盲注的整型Order By从句注入)

    图片还是47...访问的的确是48 这个是基于bool的盲注 http://192.168.136.128/sqli-labs-master/Less-48/?sort=1 and sleep(0.1 ...

  8. ICA(独立成分分析)笔记

    ICA又称盲源分离(Blind source separation, BSS) 它假设观察到的随机信号x服从模型,其中s为未知源信号,其分量相互独立,A为一未知混合矩阵. ICA的目的是通过且仅通过观 ...

  9. {ICIP2014}{收录论文列表}

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

随机推荐

  1. Python中使用@的理解

    Python函数中使用@ 稍提一下的基础 fun 和fun()的区别 以一段代码为例: def fun(): print('fun') return None a = fun() #fun函数并将返回 ...

  2. t100 debug常用指令

    1.     r.d 程式代號 Find (Ctrl+F) => Find Next(F3). 設中斷點(Toggle):Double Click => Run/Continue the ...

  3. liunx下Oracle安装

    1. 引言 将近一个月没有更新博客了,最近忙着数据库数据迁移工作:自己在服务器上搭建了oracle数据库,一步步走下来遇见很多BUG:现在自己记录下,方便以后有用上的地方: 2. 准备工作 oracl ...

  4. installer

    if (args.Length == 0) { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new MyServi ...

  5. 以yarn-client方式提交spark任务,任务一直卡在ACCEPTED状态

    问题背景 spark是以客户端的方式安装的,并没有启动spark的mesos集群,这时候的spark就相当与hive客户端. 以local模型和yarn-cluster方式提交任务,都能正确额执行,但 ...

  6. Fiddler-在fiddlerscript中修改某个请求的请求头内容

    1.进入  OnBeforeRequest函数 在里面添加如下代码 if(oSession.fullUrl.Contains("url")){// //headers中添加测试参数 ...

  7. Spring源码——IOC控制反转

    1.基础知识 Spring有两个核心功能,分别是ioc和aop,其中ioc是控制反转,aop是切面编程. 在ioc中,还有一个名次叫DI,也就是依赖注入.嗯,好像IOC和DI是指同一个,好像又感觉他俩 ...

  8. BFC 到底是什么?

    MDN 对 BFC 的描述: 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是布局过程中生成块级盒子的区域,也是浮动元素与其他元素 ...

  9. watch from Middle English wacche

    watch As a noun, from Middle English wacche, Etymology As a noun, from Middle English wacche,See bel ...

  10. 技术圈术语之LDAP

    导语:阅读一些程序的文档时经常看到支持ldap,由于对这个协议不太熟悉,平时也没有用过,所以一直也没怎么留意,今天看rabbitmq的文档又发现了ldap相关的介绍,于是想把这个问题搞清楚. 一.LD ...