一种基于非负矩阵分解的改进FastICA盲源分离方法

2018-05-23 04:37王艳芳
关键词:负熵盲源信噪比

王艳芳,王 敏

(江苏科技大学 电子信息学院, 镇江 212003)

目前,信号处理领域研究的热点之一是盲源分离(blind source separation,BSS)[1],即从混合信号中分离出无法直接观测到的各个源信号的过程.根据源信号数目和传感器数目的多少,将盲源分离问题分为3类:超定、正定和欠定问题,而欠定问题是其中研究的重点和难点.

针对欠定盲分离问题,文献[2]利用语音信号在时频变换域中的稀疏性实现欠定语音信号分离,提出了两步法,包括估计混合矩阵过程和重构源信号过程.该方法受信号稀疏性的约束,当信号稀疏性欠佳时,算法性能会明显下降.对于第一步,目前常用的算法是非负矩阵分解(non-negative matrix factorization,NMF)算法[2-4],它是一种低秩逼近算法,采用简单的乘性迭代规则,具有实现上的简便性、降低所占存储空间及分解结果的可解释性强等优点,广泛应用于数据挖掘、目标检测、模式识别、稀疏表示和盲源分离等领域[5].对于第二步,简单有效的方法之一就是快速独立分量分析(fast independent component analysis,FastICA)算法[6],其通过不动点迭代算法将信号的非高斯性极大化,而非高斯性最常用的评价函数是负熵的近似式.此算法结合了负熵良好的统计特性和较快的迭代速度,但是易受初始值选取的影响,以及由于计算量较大造成运行速率较慢.

因此,文中提出一种改进的FastICA算法[7-8],并将其用于混合语音信号的分离中,该方法首先利用语音信号的短时平稳性实现从时域到频域的转换;其次利用添加了稀疏性约束的NMF算法进行混合矩阵的估计;最后以负熵为目标函数,以梯度下降法为优化函数的FastICA算法进行信号分离.经仿真实验验证,与传统的基于负熵的FastICA算法相比,该算法在运行速率方面得到了优化,从而验证了该算法的有效性.

1 线性瞬时混合盲源分离模型

假定观测到n个相互独立源信号的m个线性混合,则线性瞬时混合盲分离模型[8]可表示为:

(1)

式中:t为观测时间序列,n、m分别为源信号个数和传感器个数,yi(t)(i∈{1,2,…,m})和xj(t)(j∈{1,2,…,n})分别为观测信号和源信号在t时刻的采样值.则观测信号可表示为:

(2)

式中:A∈Rm×n为未知混合矩阵,Y(t)=(yi(t)),X(t)=(xj(t)).

在常规假设条件下,该模型可以由Y(t)估计出唯一的系数矩阵A与混合信号的估计矩阵X(t).传感器设备中经常存在系统噪声,为了简化分析模型,将噪声项忽略不计.由于实际应用中,信号的大部分信息包含在波形中,因此盲源分离固有的幅值和排顺的不确定性可以忽略不计.

2 NMF分解算法

当系统为欠定状态(m

给定一个m×n阶非负矩阵V和一个正整数k,对V进行如下分解:

Vm×n≈Wm×k×Hk×n

(3)

式中:W和H分别为基矩阵和系数矩阵,且均为非负矩阵因子.若选择k≪min(m,n),则用系数矩阵H代替混合矩阵V,便可实现对源数据的降维处理,从而降低数据存储空间.

非负矩阵分解实质是一种低秩逼近的算法,旨在寻求约束条件下损失函数(目标函数)最小的矩阵分解因子,在文献[9]提出的基于欧式距离的算法基础上,增加了对基矩阵W的2-范数约束和对系数矩阵H的最小相关性约束[10],得到改进的目标函数为:

(4)

(5)

NMF算法步骤如下:

(1) 随机初始化非负矩阵W和H;

(2) 按照式(5)更新规则进行迭代;

(3) 对每次迭代W和H中生成的负值元素置零,并对W按列进行归一化;

(4) 循环进行步骤(2)和(3)直至收敛,得到最优化的基矩阵W和系数矩阵(即解混矩阵)H.

3 基于负熵的FastICA算法

ICA算法是盲源分离最常用的方法,其基本思想:假设观测信号Y(t)的一个分量为yi(t)=hX(t),其中h是解混矩阵H的一个行向量,根据Y(t)的统计特性确定一个目标函数,然后选取适宜的迭代规则极大化或极小化目标函数得到最优的解混矩阵H,最后求得使yi(t)非高斯性最大化的一个行向量h,即可分离出其中一个信号分量.

FastICA算法的实质是通过不动点迭代算法来实现yi(t)的非高斯性极大化,而常用的非高斯性度量的评价函数之一就是负熵,然而由于随机变量概率密度的未知会增加计算的复杂度,为此Hyvarinen提出一种负熵的近似方法[8]:

J(yi)≈[E{G(yi)}-E{G(u)}]2

(6)

式中:yi和u分别为具有零均值和单位方差的输出变量和高斯随机变量,G为一个非平方的非线性函数.

对于信号Y(t)=HX(t),通过极大化目标函数来求解v的最优解:

JG(H)=[E{G(hTx)-E{G(u)}}]2

(7)

式中:x是X(t)经过预处理后得到的更新信号.根据Kuhn-Tucker条件,当E{G(hTx)2}=‖h‖2=1时,该优化问题可以转化为求解:

E{xG′(hTx)}+βh=0

(8)

记非线性函数为:

F(h)=E{xG′(hTx)}+βh

(9)

则F关于v的梯度近似为:

(10)

其中,I=E(xxT).

从而,可得到H的迭代规则为:

h←E{xG′(hTx)}-E{G″(hTx)}h

(11)

4 基于NMF的改进FastICA算法

语音信号的频谱包含该信号的主要特征,且NMF算法具有提取事物局部特征的特点,将其与以负熵为目标函数、梯度下降法为初始值的优化算法的改进FastICA算法相结合,由此得到分离信号.算法具体步骤如下:

(1) 将多个语音信号同时输入传感器进行线性混合,得到混合源信号作为观测信号y(t);

(2) 对y(t)进行预处理,包括均值化、白化及分帧加窗处理;

(3) 利用语音信号的短时平稳性[11],对每一帧信号进行离散短时傅立叶变换(short-time Fourier transform,STFT)[12],得到短时幅度谱Yf,n,其中f=1,2,…,F为频数,n=1,2,…,N为帧数,然后将Yf×n作为NMF分解的输入矩阵;

(4) 令V=Yf×n,运用NMF算法,通过设定降维参数k的值进行随机初始化,得到非负矩阵W和H,也即初始基矩阵和系数矩阵,同时将短时幅度谱Yf×n代入代价函数,进行迭代更新直至收敛,停止循环迭代,即得到最优化基矩阵Wbest和系数矩阵Hbest;

(5) 将Hbest作为观测信号y(t)的估计矩阵,运用基于负熵的FastICA算法的迭代规则式(11)更新H(k+1),并进行归一化;

(6) 若|F(H(k+1))|<|F(H(k))|,则算法收敛,停止循环迭代,得到估计信号;

(7) 利用傅里叶逆变换生成分离滤波器,将步骤(6)得到的估计信号输入分离滤波器,即可得到时域源信号的估计,并将信号幅值进行归一化处理,最后分析算法性能.

5 仿真实验及结果分析

5.1 数据集

语音信号的频率范围通常为300~3 400 Hz,一般情况下采样率为8 kHz,文中针对3路语音信号Z1,Z2和Z3的线性瞬时混合,采取长度为10 s、采样频率为 8 kHz 、经过数字化了的语音信号s1,s2和s3(分别为女声、一段动物叫声和一段乐器音乐)作为源信号.由于梯度下降法对初始值不敏感,3路源信号通过由MATLAB随机生成的3×3的权矩阵进行线性混合.短时傅立叶变换的具体参数设置如下:帧长为 16 个采样点,帧移为 8 个采样点,为处理方便,将重叠率设置为 50%,窗函数选取汉明窗.

5.2 性能评价指标

文中采用信噪比(signal-to-noise ratio,SNR)和运行时间来定量评估所述算法的有效性和稳健性.

信噪比SNR[11]公式为:

式中:Ps和Pn分别为信号和噪声的有效功率,且SNR值越大噪声越弱.语音信号SNR的典型值范围为45~55 dB.

5.3 结果分析

文中以传统的基于负熵的快速独立分量分析(FastICA)方法作为对比算法,两种方法采用相同的数据集和性能评价标准.另外,文中算法在NMF分解过程中,输入矩阵(即系数矩阵H)的维数为65×1 373,经过数次测试调节,考虑到NMF分解的可行性和降维的目的,降维参数k值取3.由于原始信号幅值有正有负,而经过NMF分解过程之后幅值被非负化,为了便于比较分离前后波形图,将信号波形进行归一化处理.归一化处理会造成波形轻微失真,但视觉误差不明显,可以忽略不计.

为了比较运行速率,设置迭代参数i分别为20、50、100、200,各自运行10次,取消耗时间的平均值作为参考数据.运行结果如图1、2,性能比较如表1、2.

图1 预加重前后信号频谱Fig.1 Before and after the pre-emphasis signalspectrum waveform chart

图2 盲源分离前后频谱波形对比Fig.2 Before and after the blind source separationspectral waveform comparison chart表1 文中改进算法和传统算法信噪比比较Table 1 Comparison of SNR between improved algorithmin this paper and traditional algorithm

源信号信噪比/dB传统算法改进算法s140.248540.75738s240.464440.60698s340.708240.45336平均值40.473740.6059

表2 文中改进算法和传统算法耗时平均值Table 2 Average of time-consuming between improvedalgorithm in this paper and traditional algorithm

综上所示,文中算法无论从信号波形,还是信噪比方面,都成功分离出了源信号.如图1,预加重处理实现了对语音信号的高频部分进行加重,避免了口唇辐射带来的影响,增加了语音信号的高频分辨率.由如图2可知,这两种算法均能分离出源信号,并且与源信号波形相似度很高.由表1数据可知,相比于传统FastICA算法,文中改进算法分离出的信号的信噪比稍大,但不明显,说明两种算法分离效果相当.由表2可知,相同迭代次数下,改进算法耗时短,说明比传统FastICA算法运行速率快.

6 结论

文中提出基于非负矩阵分解的改进FastICA算法,首先利用语音信号的短时平稳性,进行预加重和分帧加窗处理,然后将得到的短时幅度谱作为NMF的输入矩阵进行数据降维处理,最后利用以负熵为目标函数,牛顿迭代法为优化函数的FastICA算法来达到信号分离的目的.仿真实验结果表明,文中算法在运行速率方面优于传统的基于负熵的FastICA算法,但信号分离信噪比没有得到明显改善,有待进一步提高.

参考文献(References)

[ 1 ] 李昌利,曹嘉毅.基于循环优化的矩阵联合对角化算法及在盲源分离中的应用[J].四川大学学报(工程科学版),2011,43(5):159-163.

LI Changli,CAO Jiayi.Loop optimization based joint diagonalization algorithm and its application in blind source separation[J].Journal of Sichuan University (Engineering Science Edition),2011,43(5):159-163.(in Chinese)

[ 2 ] 卢宏,赵知劲,杨小牛.基于行列式和稀疏性约束的NMF的欠定盲分离方法[J].计算机应用,2011,31(2):553-555.DOI:10.3724/sp.j.1087.2011.00553.

LU Hong,ZHAO Zhijing,YANG Xiaoniu.Algorithm for underdetermined blind source separation based on DSNMF [J].Journal of Computer Applications,2011,31(2):553-555. DOI:10.3724/sp.j.1087.2011.00553.(in Chinese)

[ 3 ] 闵苏,刘庆华.基于非负矩阵分解的欠定卷积盲源分离方法[J].桂林电子科技大学学报,2013,33(1):1-3.

MIN Su,LIU Qinghua.Underdetermined convolution blind source separation algorithm based on nonnegative matrix factorization [J].Journal of Guilin University of Electronic Technology,2013,33(1):1-3. (in Chinese)

[ 4 ] 杨习贝,徐苏平,戚湧,等.基于多特征空间的粗糙数据分析方法[J].江苏科技大学学报(自然科学版),2016,30(4):370-373.DOI:10.3969/j.issn.1673-4807.2016.04.011.

YANG Xibei, XU Suping, QI Yong,et al.Rough data analysis methool based on multi-feature space[J].Journal of Jiangsu University of Science and Technology(Nature Science Edition).2016,30(4):370-373.DOI:10.3969/j.issn.1673-4807.2016.04.011.(in Chinese)

[ 5 ] 易慧子,肖林.语音盲源分离相关实验研究[J].中山大学研究生学刊(自然科学·医学版),2011,32(4):84-95.

YI Huizi,XIAO Lin.Experimental research related on speech blind source separation[J].Journal of the Graduates (Natural Sciences.Medicine),2011,32(4):84-95.(in Chinese)

[ 6 ] 赵忠华,杨晓梅.基于FastICA的语音盲源分离方法[J].四川大学学报(自然科学版),2015,52(4):830-834.

ZHAO Zhonghua,YANG Xiaomei.Blind separation of sound signal by using FastICA[J].Jouranl of Sichuan University (Natural Science Edition),2015,52(4):830-834.(in Chinese)

[ 7 ] RASHID A,QURESHI I M,SALEEM A.Electrocardiogram signal processing for baseline noise removal using blind source separation techniques:a comparative analysis [C]∥Machine Learning and Cybernetics (ICMLC),2011 International Conference on Machine Learning and Cybernetics.Guilin,China:IEEE,2011,4:1756-1761.

[ 8 ] 刘俊良,于凤芹.基于盲分离算法的混叠语音分离的研究[D].江南大学,2013:7-18.

[ 9 ] 李臣明,张师明,李昌利.非负矩阵分解的一个约束稀疏算法[J].四川大学学报(工程科学版),2015,47(2):108-111.

LI Chenming,ZHANG Shiming,LI Changli.A constrained sparse algorithm for nonnegative matrix factorization [J].Journal of Sichuan University(Engineering Science Edition),2015,47(2):108-111.(in Chinese)

[10] 平沙沙,褚蕾蕾.基于投影梯度法的非负矩阵分解稀疏算法[J].计算机与数字工程,2012, 40(12):20-22.

PING Shasha,ZHU Leilei.A sparse algorithm for non-negative matrix factorization based on projection gradient method[J].Computer & Digital Engineering,2012,40(12):20-22.(in Chinese)

[11] 方凯,郑能恒.基于 CNMF 的语音和噪声分离算法研究[D].深圳大学,2015:5-25.

[12] GAO H, LIANG L, CHEN X, et al. Feature extraction and recognition for rolling element bearing fault utilizingshort-time Fourier transform and non-negative matrix factorization[J]. Chinese Journal of MechanicalEngineering, 2014, 28(1): 96-105. DOI:10.3901/cjme.2014.1103.166.

猜你喜欢
负熵盲源信噪比
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
基于干扰重构和盲源分离的混合极化抗SMSP干扰
基于深度学习的无人机数据链信噪比估计算法
你要和他们不一样
你要和他们不一样
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
基于JADE盲源分离算法的雷达信号研究
自组织管理在慈善机构中应用的初探
不同信噪比下的被动相控阵雷达比幅测角方法研究
一种基于时频分析的欠定盲源分离算法