基于FastICA的声源分离实例(matlab代码)


        文章的叙述将从三个部分展开,一:对独立成分分析(ICA)部分基础概念的论述,以及形象化理解;二:以两段独立声源为素材,先对其随机混合,得到观测信号(X)–(模拟自然混合声源),采用基于FastICA的估计方法,对观测信号进行解混,得到相应的独立成分,并将之与原素材对比,判断解混效果;三:学习ICA算法的部分心得体会。

1 独立成分分析(ICA)的形象化理解

        在进行正式的实例化代码演示前,先对独立成分分析(ICA)进行部分阐述,以便对后续代码的处理过程,有更为形象的认识。本部分的论述,分为盲源分离的认识;独立成分分析的基础概念;FastICA算法的理解。

1.1 盲源分离(BlindSource Separation,BSS)的认识

  1. 盲源分离与ICA的关系

       ICA 与盲源分离的方法具有非常密切的关系。ICA是实现盲源分离的其中一种,也是被最广泛使用的方法,故而,有必要在介绍ICA前,对盲源分离进行简要的介绍。

  1. 盲源分离的基础概念:

       盲源分离是由“鸡尾酒会问题”引出,该问题描述的是一场鸡尾酒会中有N个人一起说话,同时有N个录音设备,问怎样根据这N个录音文件恢复出N个人的原始语音,示意图如下[1]。(ICA就是针对该问题所提出的一个算法。

示意图
       盲源分离:根据源信号的统计特性,是指仅由观测的混合信号恢复(分离)出未知原始源信号的过程。通常观测到的混合信号来自多个传感器的输出,并且传感器的输出信号独立性(线性不相关)。

       盲信号的“盲”字强调了两点:1)原始信号并不知道;2)对于信号混合的方法也不知道。
在这里插入图片描述
       盲源分离的目的:求得源信号的最佳估计。(当盲源分离的各分量相互独立时,就成为独立分量分析)[2]

  1. 盲源问题的原理性分析:

在这里插入图片描述
       寻找一个类似于【公式1】中矩阵B确定线性变换,使得随机变量Yi,i=1,2,..n尽可能独立,流程示意如下图所示:
在这里插入图片描述
       因此,BSS的主要工作是寻找一个线性滤波器或者是一个权重矩阵B。理想的条件下,B矩阵是A矩阵的逆矩阵。由于参数空间不是欧几里得度量,在大多的情况下都是黎曼度量,因此对于B(或W)矩阵的求解选用自然梯度解法

  1. 自然梯度求解法:

在这里插入图片描述
在这里插入图片描述

1.2 独立成分分析(ICA)的基础概念

  1. ICA模型:
    在这里插入图片描述

       其中随机向量X=(x1,x2,…,xn)表示观测数据或观测信号(observed data),随机向量S=(s1,s2,…,sn)表示源信号,称为独立成分(independent components),A称为nxn的混合矩阵(mixing matrix),在该模型中,X表示的是一个随机向量,x(t)表示随机向量X的一个样本;Y=BX=BAS;Y是我们求解后的成分信号,S是源信号,若要使Y最大程度上逼近S,这实际上就是个优化过程,只需要满足解混合矩阵B是最佳估计A的逆矩阵就好。
       上图所示是标准的独立成分分析模型,可以看作成一个生成模型(generativemodel),它的意思是说观测信号是通过源信号混合而生成的,在这个意义下,独立成分也称为隐含或潜在交量(hidden/latent , nariable ),也就是说这些独立成分是无法直接观测到的,另一方面,混合系数矩阵A也是未知的

  1. ICA模型的直观理解
  • 76
    点赞
  • 421
    收藏
    觉得还不错? 一键收藏
  • 41
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值