2. College of Automation, Harbin Engineering University, Harbin 150001, China
盲信号分离起源于鸡尾酒会问题[1],在鸡尾酒会场景下,没有源信号的任何先验信息,只知道混合的观测信号,这就使得盲信号分离成为了解决无源信号问题的最好方法,因为这种估计源信号方法无需知道混合过程的参数等信息[2]。盲信号分离最基本的方法就是独立分量分析(independent component analysis,ICA)的方法,其中Fast ICA算法[3]、随机梯度算法[4]、自然梯度算法[5]、EASI算法[6]、迭代求逆等方法都是常用的算法,这些算法都是最小均方(least mean square,LMS)型的算法。LMS算法有着固有的缺陷,就是稳态误差和步长成正相关性,收敛时间和步长成反相关性,这就使得这一类型的算法收敛速度和稳态误差特性不能同时得到满足[7]。为了改善这种状况,本文对前人自然梯度算法[8, 9, 10, 11]进行深入研究,采用文献[12]中把固定步长改变成变步长的思想,不仅大大提高了自然梯度算法分离效率,而且大幅提升了分离的收敛速度。
1 盲信号分离问题
语音信号盲分离问题瞬时混合模型通常如图 1所示。
st=s1t,s2t,…,smtT是n个说话者声音信号组成的n维向量;xt=x1t,x2t,…,xmtT是m个观测信号组成的m维向量,其元素是各个麦克风的输出;A是m×n维矩阵混合矩阵,其元素aij表示信号的混合情况,如果为语音信号,取决于第i个说话者和第j个麦克风之间的距离。即
或者简记为盲信号分离问题的提法就是只根据观测信号数据xt求得分离矩阵W,W是A的逆矩阵,使得变换后的输出
是源信号s(t)的一个估计或拷贝。1.1 信号分离的前提假设
为了保证ICA模型是可解的,做出如下3个合理假设,第1个假设就是源信号st为平稳随机向量且各个源信号是统计上相互独立的;第2个假设就是源信号中最多只有一个高斯信号,因为多个高斯信号的混合还是高斯信号,信号不可能被分开;第3个假设就是为了简化估计,未知的混合矩阵是一个方阵且混合矩阵是行满秩的,即独立源信号的数目和观测信号的数目是相等的。如果当信源的数目少于观测信号的数目时,可以利用主原分析(principal component analysis,PCA )的方法降低维数使混合矩阵为一个方阵。只有这3个假设同时有效时,源信号st才能从混合信号xt中被估计出来。
此时盲信号分离的实际过程如图 2所示。
式中C=WA。需要指出的是,对瞬时混叠信号盲分离,在源信号可以精确恢复的情况下应有W=A-1。然而由于源信号和混叠矩阵都未知,在以上假设条件约束下的一般分离方法,盲源分离存在2个不确定性,即恢复的信号的幅度不确定性和信源各分量次序的不确定性。在许多应用背景下,绝大多数信息包含在信号的波形而不是信号的幅度和次序中,所以在瞬时混叠情况下,盲信号分离的这2个不确定性是可以接受的。
1.2 信号的预处理
混合信号盲分离前,需要对信号进行预处理,可以大大减少计算和分离效率。最有用的预处理步骤就是对观测信号去均值和白化,一些特殊的问题,要用低通或高通滤波器去除噪声信号或扰动[13]。
1.2.1 信号的零均值处理
盲信号分离算法中,源信号的分量变换成零均值,可以大大减少计算量,并且对分离结果无影响。
假设x是一个非零均值的随机变量,其去均值过程可以用x0=x-Ex来表示,在真实的计算情况下,算术均值通常由数学期望来估计:
式中:xit是观测信号xt=[x1t,x2t,…,xn(t)]T的一个分量,其中i=1,2,…,N,t=1,2,…,N是随机变量x的N个采样点。1.2.2 信号的白化
盲信号分离中,白化是一个通用的改善分离性能的信号预处理方法,因而白化是非常有必要的。
随机矢量x的白化就是用变换矩阵T对x做一个线性变化:x~=Tx;通过变换,变换后的随机矢量x~的相关矩阵满足Rx~=Ex~x~H=I,混合信号的预白化是为了减小信号中各分量之间的相关性,其中T被称作白化矩阵。尽管白化不能确保源信号被分离出来,但是盲分离算法或者改善了盲分离算法的性能。
2 自然梯度算法
梯度算法有等变化性等优良的性能,应用场合广泛,但存在步长与稳态误差间的固有矛盾。
2.1 标准自然梯度算法
在盲信号分离或ICA问题中,输出y(k)相互独立性反应了分离的性能,通常情况下使用K-L散度作为独立性的度量。文中使用py(y,W)作为随机变量y=Wx的概率密度函数并且创造一个概率密度函数q(y),在q(y)中的所有分量都是在统计意义上独立的,并将其作为一个参考。当且仅当py(y,W)和q(y)同分布时,K-L散度才会是零,也不会随着变量yi的非线性变换而变化。独立性的自然度量表示为
如果K-L散度由输出y的差分熵H(y)来表示 由文献[4]得到K-L散度的互信息和差分熵表示为把式(1)、(2)代入式(3)得到
通过文献[13]中随机梯度在线学习算法,式(4)的广义梯度为
式中:η(k)是依赖于k的学习率,并且∂ρ/∂W是由元素∂ρ/∂wij组成的n×n的梯度矩阵。通过差分矩阵的操作,可以得到 式中fy=f1y1,f2y2,...,fnynT是一个列矢量,其第i个元素是 式中:qiyi是源信号si的概率密度函数的估计,梯度-∂ρ/∂W是欧几里得空间中目标函数最速下降方向。文献[13]中提到,Amari等人把W引进了自然黎曼空间中并证明了参数W黎曼空间中最速下降的方向并不是标准的负梯度所指向的方向-∂ρ/∂W,而是
根据黎曼空间中参数的结构,这种自然梯度修改了标准梯度的搜索方向,但是并没有改变最小值点因而确保了参数估计的全局最优解。自然梯度有着等变化的性质,且不用求逆运算,不受混合矩阵变化的影响,并且没有像牛顿法在目标函数的均方估计,算法阻止了Wk的畸变[14],很适合目标函数非线性的模型。综上,推导可以得到自然梯度算法为
文献[4]详细讲解了非线性函数fy的选择。2.2 改进的自然梯度算
标准自然梯度算法有着很好的收敛与分离性能,但是其码间干扰收敛速度很慢,为了加速码间干扰的收敛速度,参考文献[12]将传统算法中分离矩阵的Frobenius范数变化情况强加于梯度学习算法,将使算法在学习过程中保持相对稳定,采用该思想方法有η(k)迭代调节过程如下:
取 式中tr是求矩阵的迹,此时有 所以改进后的自然梯度算法表现形式仍然为综上所述,改进的自然梯度算法的步骤如下:
1)对观测信号去均值、白化,选取非线性函数fy=tan y;
2)初始化系统参数,选取迭代最大步数为l=100步,ρ=0.001,η(1)=0.05,那么,
3)分别计算如下各式:
如果1<lp≤100,则反复执行,直到l=100执行完。
3 仿真实验及实验结果分析
选用2路纯净的语音信号进行算法的验证性分离试验,验证算法的有效性:其中s1内容是:“这就是去洛克菲勒中心的地铁吗?是”;s2内容是:“I’m interesting about education!”。使用MATLAB软件仿真,得到源信号s1和s2的波形图如图 3所示。
随机产生一个混合矩阵A,取3位有效数字得到
源信号s1和s2在混合矩阵A作用下混合得到混合观测信号,其中x1t和x2t的波形如图 4。
对观测信号xt去均值,白化预处理后,用标准自然梯度算法和改进的自然梯度算法采取相同的参数和迭代步数,迭代计算出的分离矩阵分别为W1和W2,其值分别为
在MATLAB软件仿真环境下,仿真分离出的波形如图 5、6所示。
2种分离方法分离出的波形和原始语音信号的波形相比较,直观上分离结果波形相似度很高,由于自然梯度算法存在2种不确定性,所以需要引进分离性能评价指标。语音信号分离性能评价指标一般使用性能测度码间干扰(inter symbol interference,ISI)[13]作为分离性能的评价标准。码间干扰定义为
式中C=WA,cij,cik分别表示矩阵C的i行j列和i行k列的元素。当信号得以精确分离时,指标I(C)应该为零,实际上一般为较小的值。文中2种分离方法同取ρ=0.001,码间干扰曲线如图 7所示。从图 7中看到这2种算法在分离的初始阶段码间干扰都很大,随着分离程度的加深,码间干扰很快的降低,最后稳定在一个很小的值,说明这2种分离算法都能将混合信号得到精确的分离。从图 7中可以看出第10步迭代后码间干扰迅速下降,标准自然体算法码间干扰曲线迭代次数到了45步才稳定到一个很小的值;改进后的自然梯度法码间干扰曲线迭代到了35步就稳定到了一个很小的值。说明改进后的自然梯度算法收敛速度比原始的收敛速度有所提高。
选取不同的ρ得到码间干扰曲线如图 8所示。
图 8中所示,在改进的自然梯度算法中使用不同的ρ有着不同收敛速度。ρ=0.000 1和ρ=0.000 01这2条曲线几乎重合在一起,所以可以推得,当ρ小到一定程度时,码间干扰曲线几乎没有变化。由图 8知,当ρ=0.01时,在迭代次数20步的时候码间干扰都很小了,其他小于0.01的ρ的码间干扰迭代了30步以后才收敛到一个很小的数,所以ρ越小码间干扰收敛的速度越慢,从图中看出ρ=0.01时收敛的速度几乎是直线下降,所以在算法中取ρ相对大一些更符合实际要求。
4 结束语
运用标准自然梯度和改进的自然梯度算法都能将混合的语音信号分离开来,通过对比标准自然梯度算法和改进的自然梯度算法分离结果的串音误差曲线,二者都具备很好的分离性能,改进后的自然梯度算法具有更快的分离速度,这种更快的分离性能用在实时性要求更高的环境中就能获得更好的分离效果。在此考虑的都是纯净的语音信号,而在真实的环境中不可避免受到噪声信号的干扰,今后研究噪声污染的信号的分离更具有实际的意义。
[1] | HAYKIN S, CHEN Z. The cocktail party problem[J]. Neural Computation, 2011, 17(9): 1875-1902. |
[2] | CHOI S, CICHOCKI A, PARK H M, et al. Blind source separation and independent component analysis: a review[J]. Neural Information Processing-Letters and Reviews, 2005, 6(1): 1-57. |
[3] | PRASAD R P R. Fixed-point ICA based speech signal separation and enhancement with generalized Gaussian model[D]. Ikoma: Nara Institute of Science and Technology, 2010: 89-96. |
[4] | 杨福生,洪波. 独立分量分析的原理与应用[M]. 北京:清华大学出版社, 2006: 15-50. |
[5] | SANDIKO C M, MAGSINO E R. A blind source separation of instantaneous acoustic mixtures using natural gradient method[C]// 2012 IEEE International Conference on Control System, Computing and Engineering (ICCSCE). Melbourne, Australia, 2012: 124-129. |
[6] | CARDOSO J F, LAHELD B H. Equivariant adaptive source separation[J]. IEEE Transactions on Signal Processing, 2009, 44(12): 3017-3030. |
[7] | 裴学广. 基于变步长自然梯度算法的盲源分离[J]. 舰船电子对抗, 2007, 30(4): 65-68. |
[8] | 马建仓, 冯冰, 程存虎, 等. 自然梯度盲分离算法在振动信号处理中的应用[J]. 火力与指挥控制, 2011, 36(4): 154-157. |
[9] | 付卫红, 杨小牛. 改进的基于步长自适应的自然梯度盲源分离算法[J]. 华中科技大学学报: 自然科学版, 2007, 35(10): 18-20. |
[10] | 李广彪, 张剑云. 基于分离度的步长自适应自然梯度算法[J]. 信号处理, 2009, 23(3): 429-432. |
[11] | 刘颖超, 张纪元. 梯度下降法[J]. 南京理工大学学报: 自然科学版, 1993(2): 2-5. |
[12] | 张天骐, 李雪松, 夏淑芳, 等. 梯度自适应在线ICA的改进[J]. 北京邮电大学学报, 2010, 33(5): 108-111. |
[13] | 史习智. 盲信号处理——理论与实践[M]. 上海: 上海交通大学出版社, 2011: 61-85. |
[14] | BENESTY J. An introduction to blind source separation of speech signals[M]. New York: Springer, 2000: 321-329. |