盲源分离算法学习笔记

盲源分离算法学习笔记


麦克风阵列算法有两大类,一类是波束形成算法,另一类是盲源分离算法,两者互有优劣。本篇博客先通过比较盲源分离和波束形成来说明盲源分离的优缺点,盲源分离的基础知识,然后分别介绍盲源分离的常见实现方式。本篇盲源分离算法主要是记录ICA算法,若无指明,BSS和ICA在本篇博客中是等价的。

优缺点(Pros & Cons)

优点

  • 盲源分离不需要目标语音VAD的先验信息。
    这个先验信息对于波束形成算法是很关键的,其准确程度直接影响性能。而盲源分离不需要做自适应滤
  • 盲源分离不需要目标语音的DOA信息。

缺点

  • 盲源分离的结果是混淆的。
    比如两个声源s1s2s_1,s_2,分离出来的顺序可以是s1^,s2^\hat{s_1}, \hat{s_2},也可能是s2^,s1^\hat{s_2}, \hat{s_1}
  • 盲源分离要求输入的信号最多一个是高斯分布。
    ICA算法的假设是两个声源s1s2s_1,s_2是相互独立的,那么分离出来的s1^,s2^\hat{s_1}, \hat{s_2}也是相互独立的。如果s1s_1s2s_2都是高斯分布,且相互独立。那么通过任意的正交矩阵混合后,仍然相互独立。对于ICA算法来说就有无穷多解,导致无法分开。
  • 盲源分离无法应对长混响场景。
    • 长混响场景,信号的幅度都是高斯分布。
    • 长混响场景,解卷积的长度不好设定。长度太短无法包含长混响的冲激响应。长度太长不满足相互独立的假设。
    • 长混响场景,麦克风阵列得到的信号从各个方向过来。盲源分离本质上相当于多组ABF,波束形成也无法应对这种场景。
  • 盲源分离需要多次迭代,运算量大,收敛速度慢。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章