盲源分离算法的研究

独立成分分析(Independent Component Analysis, ICA)的原理及简单应用。ICA也是一种矩阵分解算法。与之相关的是一个著名的“鸡尾酒会问题”。

2.形式化表达

python盲源分离 盲源分离算法研究_python盲源分离


主要就是找出对应的那个混淆矩阵。

3.算法步骤

1.将原始数据组装成为n行m列矩阵X

2.将X的每一行零均值化,即每个数减去对应那一行的均值。

3.对数据进行白化处理。

白化处理(“零均值化”和“空间解相关”)

白化的本质就是去相关加缩放。

4.设置参数学习率的数值。

即下图:

python盲源分离 盲源分离算法研究_python盲源分离_02


白化过程:

python盲源分离 盲源分离算法研究_三角函数_03

Fast-Ica

顾名思义,就是比ICA的分离要快的一种算法,改进方式也在下面。

python盲源分离 盲源分离算法研究_三角函数_04

EMD算法

1.参考这个之前写的博客就可以:EMD分解解析

小波变换(参考:形象易懂讲解算法I——小波变换

前奏

傅里叶变换处理非平稳信号有天生缺陷。它只能获取一段信号总体上包含哪些频率的成分,但是对各成分出现的时刻并无所知。因此时域相差很大的两个信号,可能频谱图一样。然而平稳信号大多是人为制造出来的,自然界的大量信号几乎都是非平稳的,所以在比如生物医学信号分析等领域的论文中,基本看不到单纯傅里叶变换这样naive的方法。

第一步:短时傅里叶算法

借鉴他人描述:把整个时域过程分解成无数个等长的小过程,每个小过程近似平稳,再傅里叶变换,就知道在哪个时间点上出现了什么频率了。”这就是短时傅里叶变换。

第二步:小波变换

为解决频率与时间的问题,又进一步提出了小波:小波直接把傅里叶变换的基给换了——将无限长的三角函数基换成了有限长的会衰减的小波基。这样不仅能够获取频率,还可以定位到时间了。
小波做的改变就在于,将无限长的三角函数基换成了有限长的会衰减的小波基。