武汉理工大学信息处理课群综合训练与设计
4 盲语音信号分离的实现及抑噪分析
4.1 盲语音信号分离的实现 4.1.1 盲信号分离的三种算法 (1)二阶盲辨识(SOBI)
SOBI先对观测信号x(t)作白化处理,得到z(t)。定义z(t)和s(t)的时延相关矩阵为
TRz(?)?E?z(t)z?t?????? (4-1) TRs(?)?E?s(t)s?t?????? (4-2)
由
z(t)?Vs(t)易知:
TR(?)?VR(?)V z (4-3) sTTVV?VV?In,所以 (4-4) 又因为
TR(?)?VRz(?)V S (4-5)
由s(t)各分量相互独立可知,RS(?)是对角矩阵。由此可见,矩阵V可以将
Rz(?)对角化。在SOBI算法中,?取一组不同的值?1,?2,...,?q,要求V能同时使得各个Rz(?i)尽可能的对角化,其中1?i?q。
(2)CICA(Constrained independent component analysis,ClCA)算法
约束独立分量分析(Constrained independent component analysis,CICA)算法是一种改良的FastlCA算法。在ClCA提取过程中,通过引入简单的约束参考信号来帮助分离某特定目标分量,从而有利于去除干扰信号。ClCA算法的基本原理与FastlCA相同,每次提取一个独立分量。文中所选用的CICA算法,实际上是一种加入了约束参数的FastICA算法,从而使ICA算法不用再进行特征提取与目标判定,就可以容易的分离出所需要的目标分量。虽然CICA算法对信号分离具有良好的效果,但在实际应用过程中,CICA还需要进一步的探讨研究。如阈值?与学习率?的选择不当,就会很容易引起输出结果发散。同时收敛速度与
14
武汉理工大学信息处理课群综合训练与设计
误差函数?(y,r)的选择也有关系,误差函数的形式要根据输入数据和参考信号来进行选择。 (3)FastICA算法
FastICA算法,又称固定点(Fixed-Point)算法,是由芬兰赫尔辛基大学Hyv?rinen等人提出来的。是一种快速寻优迭代算法,与普通的神经网络算法不同的是这种算法采用了批处理的方式,即在每一步迭代中有大量的样本数据参与运算。但是从分布式并行处理的观点看该算法仍可称之为是一种神经网络算法。FastICA算法有基于峭度、基于似然最大、基于负熵最大等形式,这里,我们介绍基于负熵最大的FastICA算法。它以负熵最大作为一个搜寻方向,可以实现顺序地提取独立源,充分体现了投影追踪(Projection Pursuit)这种传统线性变换的思想。此外,该算法采用了定点迭代的优化算法,使得收敛更加快速、稳健。
因为FastICA算法以负熵最大作为一个搜寻方向,因此先讨论一下负熵判决准则。由信息论理论可知:在所有等方差的随机变量中,高斯变量的熵最大,因而我们可以利用熵来度量非高斯性,常用熵的修正形式,即负熵。根据中心极限定理,若一随机变量X由许多相互独立的随机变量Si?i?1,2,3,...N?之和组成,只要Si具有有限的均值和方差,则不论其为何种分布,随机变量X较Si更接近高斯分布。换言之,Si较X的非高斯性更强。因此,在分离过程中,可通过对分离结果的非高斯性度量来表示分离结果间的相互独立性,当非高斯性度量达到最大时,则表明已完成对各独立分量的分离。
负熵的定义:
Ng?Y??H?YGauss??H?Y? (4-6) 式中,YGauss是一与Y具有相同方差的高斯随机变量,H???为随机变量的微分熵 H?Y????pY???lgpY???d? (4-7)
根据信息理论,在具有相同方差的随机变量中,高斯分布的随机变量具有最大的微分熵。当Y具有高斯分布时,Ng?Y??0;Y的非高斯性越强,其微分熵越小,Ng?Y?值越大,所以Ng?Y?可以作为随机变量Y非高斯性的测度。
FastICA算法的优点:
15
武汉理工大学信息处理课群综合训练与设计
1.收敛速度快,FastICA收敛速度为2次以上,普通的ICA算法收敛仅为1次(线性)的。
2.和梯度算法不同,无须选步长参数,易于使用。
3.能利用任何的非线性函数直接找出任何非高斯分布的独立分量,而对于其他的算法来说,概率密度函数的估计不得不首先进行。
4.它的性能能够通过选择适当的非线性函数来最佳化。
5.独立分量可被逐个估计出来,类似于做投影追踪,这在仅需要估计几个(不是全部)独立分量的情况下,能减小计算量。
6.FastICA算法有许多神经算法的优点,它是并行、分布式的且计算简单,内存要求很少。
然而FastICA算法也尤其自身的缺点,首先是它对初值的选择较自然梯度算法敏感,当初值的选择不是很合适的时候,算法的分离性能急剧的下降,其次算法的迭代步长有待进行自适应的优化。
简单地说快速ICA算法通过三步完成:首先,对观测信号去均值;然后,对去均值后的观测信号白化处理;前两步可以看成是对观测信号的预处理,通过去均值和白化可以简化ICA算法。最后,独立分量提取算法及实现流程见流程图。
FastICA算法的方法输出向量,在排列顺序的时候可能出现颠倒和输出信号幅度发生变化。这主要是由于ICA的算法存在2个内在的不确定性导致的:
(1)输出向量排列顺序的不确定性,即无法确定所提取的信号对应原始信号源的哪一个分量;
(2)输出信号幅度的不确定性,即无法恢复到信号源的真实幅度。
但由于主要信息都包含在输出信号中,这2种不确定性并不影响其应用
16
武汉理工大学信息处理课群综合训练与设计
图4.1.1 Fastica算法流程图
算法原理:
独立分量分析(ICA)的过程如下图所示:在信源s(t)中各分量相互独立的假设下,由观察x(t)通过结婚系统B把他们分离开来,使输出y(t)逼近s(t)。
图4.1.2输出的一般过程
ICA算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大类,从原理上来说,它们都是利用了源信号的独立性和非高斯性。基于信息论的方法研究中,各国学者从最大熵、最小互信息、最大似然和负熵最大化等角度提出了一系列估计算法。如FastICA算法, Infomax算法,最大似然估计
17
相关推荐: