穆 昌,姚俊良
(1.陕西工业职业技术学院,陕西 咸阳 712000;2.西安理工大学,西安 710048)
作为盲源分离技术最重要的分支,独立分量分析(Independent Component Analysis,ICA)已经越来越受到学术界的广泛关注[1-4]。目前ICA技术已成功应用于雷达信号、脑电信号、音频信号等信号处理领域,但对通信信号的处理才刚刚起步,这主要受限于通信信号对信号处理速度和处理能力的高要求。随着ICA和信号处理技术的不断发展,ICA已经开始应用于通信接收机[5-6]和无线网络协议设计[7]。
A.Hyvarinen提出的快速固定点算法 FastICA[8]是一种批处理算法,它以收敛速度快、算法稳定收敛而备受关注。在顺序提取各个独立分量(IC)的One-unit FastICA算法中,作者通过使每次分离向量相互正交来保证每次分离出不同分量,但它每次迭代都是对所有混合数据进行的,存在算法复杂度高的缺点。而并行提取独立分量的FastICA算法[9]只是算法的不同执行形式,本质上并没有降低算法计算复杂度。文献[10]提出一种针对实信号的降低复杂度方法,无法适用于通信复信号。
针对通信系统对处理时间的高要求和现有ICA算法的一些缺点,在经典One-unit FastICA算法基础上,我们结合多用户检测(Multiuser Detection,MUD)的串行干扰抵消思想,提出了一种基于多用户检测的快速定点算法(MUD_FastICA)。与FastICA相比,该算法在更低维的数据空间中进行迭代,因此有更好的收敛速度和更低的算法复杂度。仿真结果证明了所提算法的有效性。
我们先给出ICA的线性混合模型如下:
其中,t是样本标号,
表示随机变量的m个观测,也称为混合信号;
表示n个非高斯的独立成分,也称为源信号;A表示未知的混合矩阵;
表示接收天线加性高斯噪声。为了表述的方便,在本文的后面叙述中省略了时间变量t。
ICA的目的就是在仅能观测到x的情况下同时估计出A和s。这个目的看起来很有挑战性,我们能利用的所有信息只有s的统计独立性。由s的统计独立性可以将ICA表述为寻找一个线性变换:
式中,y(t)=[y1(t),y2(t),…,yn(t)]T为经过线性变换后的输出分量,也称为分离信号;W=[w1,w2,…,wn]为m×n的矩阵,通常称为分离矩阵。因此ICA的目标就是寻找wi,使得y的各个分量尽可能独立。
在非高斯统计独立源信号的盲源分离中,通常采用非高斯性来衡量变量的独立性。如果暂时忽略噪声的影响,将公式(1)代入公式(2)可得
ICA算法一般包含两部分:代价函数和对代价函数进行的优化算法。因为通信信号大多为亚高斯信号,在本文中我们利用峭度作为代价函数来衡量分离信号的非高斯性。
构造一个基于峭度的代价函数:
其中
考虑到通信信号一般为复信号,系统模型中假设源信号s、混合矩阵A、噪声信号N都是复信号。对代价函数(公式(4))应用固定点优化算法,可以得到文献[7]的经典算法FastICA,算法具体过程如下:
(1)对观测信号x进行白化处理
其中,Q为白化矩阵,且令i=1;
(2)随机选取一个单位模值初始向量w;
(3)w+=E{z(wHz)*|wHz|2}-2E{|wHz|2}w;
(4)计算 w+=w+-BBHw+=(I-BBH)w+,wnew=w+/‖w+‖;
z表示混合信号x的白化信号。上述算法执行一次,则可以输出一个w,即分离出一个源信号。因此要分离n个源信号,算法必须执行n次。步骤4中矩阵B是由已分离信号的分离向量w组成,第一个表达式的目的是使本次迭代得出的w与B中各分量正交,这可以保证算法每次分离出不同的源信号。
FastICA具有很好的收敛性和算法稳定性,和其他批处理算法相比有较好的分离性能,并且不需要选取迭代步长来保证收敛,但算法的每次执行都是对所有混合数据进行处理,使得每次迭代的计算复杂度都很高。为了更加适合通信系统的要求,有必要降低计算复杂度来缩短算法执行的时间。我们通过引入多用户检测串行干扰抵消的思想,提出了可以显著降低算法计算复杂度的MUD_FastICA算法,算法的基本结构如图1所示。
图1 MUD_FastICA算法的结构框图Fig.1 Block diagram of MUD_FastICA algorithm
算法的基本思想是先利用One-unit FastICA算法分离出一路信号(比如s1),再将s1从原混合信号中减去以形成新混合信号,对新混合信号重新白化后,重复上述过程,直到分离出所有信号。这个过程类似于多用户检测接收,因此命名为MUD_FastICA。
如果第i个分离信号yi=s1,原混合数据用zi表示,新混合数据用z'i表示,则
幂等矩阵有一个很重要的性质:所有幂等矩阵的秩与迹相等[9],由这个性质可得
从公式(6)可以发现,新混合数据z'i的维数比原混合数据zi小1。这样,通过公式(5)的减法运算降低了混合数据的维数。
在执行One-unit FastICA之前,需要对混合数据进行白化预处理,如果每次都对混合数据z'i执行白化,则构造白化矩阵的算法复杂度为O(T),其中T为样本数目。我们对PPH进行特征值分解:PPH=EDEH,令 Q=D-1/2EH,则
因此Q为新混合数据的白化矩阵。上述方法构造白化矩阵只需要进行低维特征值分解,其算法复杂度为O((n-i)3),nT。因此新的白化数据zi+1可以表示为
综上所述,利用图1所示的结构,具有如下优点:一是保证每次分离出不同的独立分量;二是使混合信号的维数不断降低;三是仅利用前次的分离向量来构造白化矩阵。
MUD_FastICA算法的具体过程如下:
(1)随机选取一个单位模值初始向量w;
(2)w+=E{z(wHz)*|wHz|2}-2E{|wHz|2}w;
(3)wnew=w+/‖w+‖;
(6)令 Q=D-1/2EH,z=QPz,返回步骤 1 继续执行。
下面分析两种算法的计算复杂度,如果将一次乘法或一次加法的计算复杂度记为1,两种算法的计算复杂度比较见表1。
表1 两种算法分离第i+1个独立分量的计算复杂度Table 1 Computation complexity of two algorithms for separating(i+1)th independent component
在表1中,正交化过程表示为了保证第i+1个分离信号的唯一性所需要的计算单位,第二项表示利用固定点算法分离第i+1个分量所需的计算单位,其中n和T的含义如前所述,分别表示独立分量的个数和采样数目,k表示算法收敛所需的迭代次数。
下面通过两组仿真来验证所提的算法,同时选取FastICA算法作为对照:第一组对两种算法随着信噪比(Signal Noise Ratio,SNR)的变化,分离所有信号的平均干信比(Interference Signal Ratio,ISR)和平均迭代次数进行仿真;第二组给出两种算法平均迭代次数和计算复杂度。
两组仿真的源信号都是调制方式为16QAM、32QAM、QPSK、8PSK的4个通信信号。接收端采用六阵元的等距线阵,混合矩阵A取值服从独立复高斯分布,这在散射体丰富的无线环境下是满足的。利用奈奎斯特采样获得的样本数量T=2000,为了保证算法收敛的精度,预设门限α=10-7,仿真结果是对2000次仿真运行取平均所得,可以达到统计平均的目的。
第一组:随着输入信噪比的变化,两种算法的平均分离性能和平均迭代次数比较。
在仿真中,分离性能用分离信号的ISR来表示,ISR定义为
式中,G的含义同公式(3)。
图2给出分离信号平均ISR随信噪比的变化曲线,两种算法分离信号的ISR相差不大,但FastICA要略好于MUD_FastICA,这是由FastICA的高复杂度换取的。图3给出平均迭代次数随信噪比的变化曲线,随着信噪比的增大,两种算法所需迭代次数都呈下降趋势。从仿真结果可以看出,当信噪比大于10dB时,平均迭代次数趋于稳定,稳定后MUD_FastICA分离一路信号平均只需要4.6次迭代,而FastICA需要5.1次。
图2 平均ISR随信噪比的变化Fig.2 Average ISR vs.SNR
图3 平均迭代次数随信噪比的变化Fig.3 Number of average iterations vs.SNR
第二组:分离信号计算复杂度比较,输入信噪比SNR=0dB。
图4给出平均迭代次数随分离信号次序的变化曲线,可以看出MUD_FastICA算法所需的迭代次数要少于FastICA,特别是随着分离信号的增多,优势越来越明显,这是因为前者每分离一路信号,剩余混合信号的维数都会减1,因此收敛速度会加快。FastICA是在已分离向量的正交空间进行迭代,因此随着分离信号的增多,其迭代次数也呈下降趋势,但由于每次都要对高维的混合数据进行处理,因此所需迭代次数还是要多于MUD_FastICA。
图4 迭代次数随分离信号次序的变化Fig.4 Number of iterations vs.the separation order
图5给出两种算法的所需计算单位随分离信号次序的变化曲线。从图中可以看出,MUD_FastICA所需的计算单位都要明显小于FastICA,这是由于随着分离信号的增多,MUD_FastICA所需迭代次数和每次迭代的计算复杂度都要小于FastICA。图中最后一个分离信号看似FastICA下降比较快,其实它下降的比例远小于MUD_FastICA。
图5 所需计算单元随分离信号次序的变化Fig.5 Computing units vs.the separation order
本文提出一种基于多用户检测串行干扰抵消的新型顺序提取ICA算法MUD_FastICA。该算法利用简单的减法和低维特征值分解来达到每次分离不同独立分量和降低算法复杂度的目的,相对于传统FastICA算法,MUD_FastICA在基本不影响分离性能的前提下,显著降低了算法的迭代次数和计算复杂度,减少了算法执行的时间,满足无线通信对实时性越来越高的要求。针对本课题的研究内容,下一步工作将重点解决算法分离信号的顺序模糊性,以及串行算法带来的误差累积问题,为独立分量分析技术的应用和普及奠定理论基础。
[1]Hsieh H L,Chien J T,Shinoda K,et al.Independent component analysis for noisy speech recognition[C]//Proceedings of 2009 International Conference on Acoustics, Speech and Signal Processing.Taipei:IEEE,2009:4369-4372.
[2]Shen X,Lee S Y,Bai M,et al.Application of independent component analysis to AC dipole based optics measurement and correlation at the relativistic heavy ion collider[J].Physical Review Special Topics:Accelerators and Beams,2013,16(11):1-10.
[3]Loesch B,Yang B.Cramer-rao bound for circular and noncircular complex independent component analysis[J].IEEE Transactions on Signal Processing,2013,61(2):365-379.
[4]Chen L Y,Lu C J.An improved independent component analysis algorithm based on artificial immune system[J].International Journal of Machine Learning and Computing,2013,3(1):93-97.
[5]Kostanic I,Mikhael W.Blind source separation technique for reduction of co-channel interference[J].Electronics Letters,2002,38(20):1210-1211.
[6]Yao J L,Yang X N,Li J D.A novel blind collision resolution protocol based on cooperative transmission[J].Wireless Personal Communications,2012,64(22):273-286.
[7]Kostanic I,Mikhael W.Independent component analysis based QAM receiver[J].Digital Signal Processing,2004,14(3):241-252.
[8]Hyvarinen A,Bingham E.A fast fixed-point algorithm for independent component analysis of complex valued signals[J].Journal of Neural Systems,2000,10(1):1-8.
[9]Hyvarinen A,Karhunen J,Oja E.Independent Component Analysis[M].New York:Wiley-Interscience Publication,2001.
[10]Zhang K,Chan L W.Dimension reduction as a deflation method in ICA[J].IEEE Signal Processing Letter,2006,13(1):45-48.
[11]张贤达.矩阵分析与应用[M].2版.北京:清华大学出版社,2013.ZHANG Xian-da.Matrix analysis and applications[M].2nd ed.Beijing:Tsinghua University Press,2013.(in Chinese)