刘广威,葛海波,程 浩,张 杰
(西安邮电大学 电子工程学院,陕西 西安 710061)
基于IPSO-ICA算法的盲多用户检测
刘广威,葛海波,程浩,张杰
(西安邮电大学 电子工程学院,陕西 西安 710061)
摘要:为了有效抑制CDMA通信系统中的多址干扰,提出了一种将新改进的粒子群(IPSO)算法应用到基于独立分量分析(ICA)的盲多用户检测中的方法。首先在IPSO算法中,使用自适应非线性递减惯性权重w降低早熟概率,利用拉伸技术打破早熟现象,从而使最优解更加精确。然后将IPSO算法融合到ICA算法中,得到IPSO-ICA算法来进行盲多用户检测。最后仿真结果表明,在相同通信环境下,该盲多用户检测比已有的基于FastICA和PSO-ICA算法的盲多用户检测的误码率更小,收敛速度更快。
关键词:盲多用户检测;粒子群优化;独立分量分析;拉伸技术
在同步码分多址(Code Division Multiple Access, CDMA)通信系统中,因为各用户所用的扩频码波形通常不可以完全正交,从而会出现多址干扰[1]。这种干扰严重影响着通信系统的性能。盲多用户检测就是一种常用的能够很好抑制多址干扰的技术。而为了更好地提高盲多用户检测的性能,将智能优化算法应用到盲多用户检测中的方法[2],近年来已受到人们的广泛关注。
粒子群(Particle Swarm Optimization, PSO)算法是由Eberhart博士和Kennedy博士提出的一种智能优化算法[3]。它是通过在一定范围内不断搜索适应度最值来寻找最优解的,该算法简单、易于应用,且需要设置的参数较少。但是对于存在多个峰值的函数,传统的PSO算法很容易陷入局部极值[4-6],不能找到整个函数准确的最优解,并且在算法后期有收敛速度慢的缺点。
首先针对PSO的这些问题,提出一种融合自适应非线性递减惯性权重w和拉伸适应度技术的PSO算法,本文将这种改进的PSO算法简称为IPSO(Improved Particle Swarm Optimization)。它可以很好地解决局部最优和后期收敛速度慢的缺陷。然后,利用IPSO算法代替牛顿迭代法对FastICA算法中的负熵极大化的目标函数寻找最优解,避免了FastICA中使用复杂的牛顿迭代法所带来的不易收敛的缺陷。两种算法结合起来使用,即为IPSO-ICA算法。本文最后分析了该算法的盲多用户检测的可行性,并通过MATLAB仿真验证了该检测器具有更小的误码率,更快的收敛速度。
1基于负熵的FastICA算法
假设信号源S=[S1,S2,…,SM]T共有M个,它们通过与矩阵A相乘处理后,输出端可以得出N个观测信号X=[X1,X2,…,XN]T=AS,其中,A为N×M维的混合矩阵。
ICA对信号进行盲源分离[7]就是要在源信号S和混合矩阵A未知的前提条件下,利用已知的观测信号X,根据高阶统计特性来解出一个矩阵W,使得输出最终信号Y=WX是用户发送信号S的最佳接近值。
在分离独立分量过程中,ICA算法是以各用户信号非高斯性作为判断依据[8],各用户信号的非高斯性越强,分离出来分量就越独立。而其中负熵是判断非高斯性优良的一种经典判断依据,它的效果是优于其他判断依据的[9-10]。
所以,采用基于负熵的FastICA算法的盲多用户检测是抗多址干扰中经常使用的一种检测方法。对负熵进行近似估计运算,可以表示成
(1)
式中:v是一个平均值等于零的高斯变量;G是一个非二次项函数,经过配置合适G能够使算法拥有比较强的鲁棒性。G(y)的选择共有3种,即
(2)
其中常数a1在1≤a1≤2范围内选取,通常就取1。
2IPSO算法的提出
FastICA算法是ICA算法中经常使用的一种方法,它是利用牛顿迭代法寻找式(1)的最优解。然而,由于牛顿迭代法对算法初值的选择要求很高,处理不当时,很容易导致算法不收敛。故将PSO算法应用到FastICA算法中,进行寻优。但是传统的PSO算法由于惯性权重是常数,易出现早熟现象[11],造成寻优结果不理想。所以本文提出了IPSO算法,改善了寻优效果。
2.1基本PSO算法
个体粒子i速度以及位置的迭代进化公式为
(3)
xi(k+1)=xi(k)+vi(k+1)
(4)
式中:c1和c2表示学习因子;wi表示惯性权重;r1和r2是在[0,1]区间内均匀分布随机数值;k表示当前迭代次数k=1,2,…,N。
2.2IPSO算法的描述
本文提出的IPSO算法将自适应非线性惯性权重w和拉伸技术进行了融合。在算法前期使用自适应非线性递减w,可以有效降低出现局部最优的概率。当陷入局部最优时,在算法后期,通过引入拉伸技术将局部收敛现象打破。两者相辅相成,实现了PSO算法的快速收敛和高精度的搜索。
首先,自适应非线性递减w具体方程为
(5)
式中:wmax表示最大值;wmin表示最小值;N表示总的更新次数;k表示当前更新次数;n表示下降指数。n可以取值为
(6)
根据以上公式可知,此时惯性权重w是一个自适应非线性递减函数,粒子i可以根据个体的实际状况选择不同的w。当粒子i距离最优位置比较远时,使用较小n,此时w减小较慢,粒子i可以在较大的区域内寻找最优值,提高了PSO算法的全局搜索性能;当粒子i离最优位置比较近时,使用较大n,w值减小变快,这样可以在最优值所在子区域进行精细搜索。这样就很好地降低了PSO陷入局部最优的概率。
然后在以上所说方法基础上引入了拉伸技术。引入拉伸技术本质,就是利用已经检测到的局部极值点x0,计算出f(x0),当f(x)>f(x0)时,把原来适应度值f(x)做两次拉伸变换,消除局部极值点x0,跳出局部最优,即
(7)
(8)
式中:β1、β2和μ为随机数,β1改变适应度f(x)向上拉伸的幅度,β2控制H(x)作用范围。可以设置β1=104/2,β2=1/2,,μ=10-10。第一次通过G(x)对适应度f(x)进行向上的拉伸变换,消除了适应度值高于f(x0)的部分极值;第二次通过H(x)对适应度f(x)进一步拉伸,距离局部极值点x0越近,拉伸程度会越大。最终拉伸了适应度函数,跳出局部最优。
3IPSO-ICA算法在盲多用户检测中的应用
将上述的IPSO算法和FastICA算法进行融合,即为IPSO-ICA算法。因为IPSO算法是在一定条件下对适应度函数进行寻优的,它通过不断更新个体的速度和位置,来对特定范围内的函数最优解进行搜索。而基于负熵的FastICA算法是优化负熵极大化的代价函数并使用牛顿迭代法找出最优解。两种算法的目的是基本一致的,都是寻找出算法中某个函数的最优解。所以IPSO-ICA算法的提出是具有可行性的。
将IPSO-ICA算法应用到盲多用户检测中。首先将两种算法的目标函数定义为一致的,已知负熵的近似估计是J(y)≈|E{G(y)}-E{G(v)}|2。
在这里,选取G(y)=G3(y)=-exp(-a1y2/2),因为G3(y)可以使估计的鲁棒性较强,a1=1。
v表示一个平均值为0的高斯变量,所以可以得到IPSO-ICA适应度函数为
fitness(y)=J(y)=E[-exp(-y2/2)]
(9)
然后根据前面两种算法的分析和推导,可以得出基于IPSO-ICA盲多用户检测的具体步骤为:
步骤1:将同步CDMA通信系统的接收数据r中心化,即进行去均值处理,r=r-E(r)。
步骤2:对经过均值处理的r白化处理,清除各用户信号彼此相关性,z=Λ-0.5VTr。
步骤3:对粒子群的速度vi=[vi1,vi2,…,vid]和位置xi=[xi1,xi2,…,xid]进行初始化。
步骤4:使用公式(9)计算得出所有粒子的适应度f(yi),也就是负熵估计值,其中yi=xiz=[yi1,yi2,…,yid]。
步骤6:使用式(3)和(4)对粒子的速度和位置进行迭代更新。
步骤7:利用早熟判定机制判断算法是否收敛于局部最优,如果收敛,执行步骤8,如果不收敛于局部最优,执行步骤9。
步骤8:使用两个拉伸变换函数(7)和(8)跳出算法局部最优,最终令f(y)=H(x)。
步骤9:如果能够满足算法的收敛条件,则停止更新迭代并且返回全局最优解;如果不能够满足算法的收敛条件,就重新返回继续执行步骤4。
4算法仿真分析
把FastICA,PSO-ICA以及本文的IPSO-ICA算法分别应用到同一同步CDMA通信系统中进行盲多用户检测,使用MATLAB验证算法可行度并从以下3个方面做性能对比。
4.1误码率检测性能对比
在这里,取同步CDMA通信系统中用户数量为8,采用Gold码扩频序列分别对8个用户信号进行扩频,扩频增益是N=31,用户发送的信号长度是1 000。传统PSO-ICA以及IPSO-ICA算法中,采用种群粒子数是20,两个学习因子相等c1=c2=1.5。其中,PSO-ICA算法中,惯性权重w=0.7。本文的算法中,wmax=1.1,wmin=0.74。对3种算法在以上通信系统做仿真对比,盲多用户检测的误码率BER随着信噪比逐渐增大的变化情况如图1所示。
图1 误码率与信噪比关系曲线
根据图1可以观察出,随着信噪比逐渐增大,3种盲多用户检测器计算出的误码率都在减小。这是因为在通信系统中信噪比越大,盲多用户检测器性能越好,所以误码率会越来越小。其中,在信噪比相同时,IPSO-ICA算法计算出的误码率相对于其他两种算法来说,误码率最小,曲线下降速度较快。说明本文所用改进的算法在相同信噪比下的误码率检测性能优于其他两种算法。
4.2用户数增加时算法性能对比
将用户的信噪比固定为SNR=5dB,系统其他配置不变,对3种算法进行仿真,观察误码率与用户数量的关系变化曲线。
根据图2可以看到,随着用户数量的增加,3种算法计算得到的误码率都在逐渐增大,曲线一直表现为上升趋势。主要因为随着用户数量增加,盲多用户检测难度越来越大,系统误码率也就变得越来越大。从图中可以看出,在用户数目相同时,FastICA误码率是最大的,IPSO-ICA误码率最小,而且用户数量越多,本文算法所表现出的检测性能越好。
图2 误码率随用户数变化曲线
4.3收敛速度对比
设用户数量为8,信噪比SNR=7dB,迭代次数为1 000。其他系统环境不变。连续进行20次仿真,计算出三种算法的平均运行时间并进行对比,以此来判断三种算法收敛速度的快慢。结果如表1所示。
表1运行时间对比
算法FastICAPSO-ICAIPSO-ICA运行时间/s1.0470.8820.791
由表1可以看出IPSO-ICA算法的运行时间最短,所以它的收敛速度最快。
5小结
针对CDMA系统中的多址干扰问题,提出了一种基于IPSO-ICA算法的盲多用户检测的方法。该算法首先综合了自适应非线性递减惯性权重w和拉伸技术来改进PSO算法,即IPSO算法,有效地解决了PSO算法易陷入局部最优的问题。然后在ICA算法中使用IPSO算法寻找目标函数的最优解,进行盲多用户检测。最后通过对IPSO-ICA,PSO-ICA和FastICA这3种算法进行仿真对比,可以看出基于IPSO-ICA算法的盲多用户检测有更小的误码率,更快的收敛速度,可以更好地解决多址干扰所带来的问题。
参考文献:
[1]高维廷. 直接序列扩频码分多址系统多用户检测算法研究[D].西安:西北工业大学,2014.
[2]LIUXiaozhi,FENGDawei,ZhANGTianshuang.MultiuserdetectionofDS-CDMAbasedonPSO-ICA.[C]//Proc.InternationalCongressonImageandSignalProcessing.Shanghai:IEEEPress,2011:2490-2493.
[3]ARASOMWANMA,ADEWUMIAO.Onadaptivechaoticinertiaweightsinparticleswarmoptimization[C]//Proc. 2013IEEESymposiumonSwarmIntelligence(SIS).Singapore:IEEEPress,2013:72-79.
[4]梅金平,张士兵,王海莲.基于PSO-GA算法的多用户OFDM系统资源分配[J].电视技术,2014,38(1):115-119.
[5]李瑞,谌贵辉,任诚.混合粒子群优化算法在CDMA系统多用户检测中的应用[J].电讯技术,2014,54(8):1113-1116.
[6]刘晓志,李静,冯大伟.基于CAPSO-ICA的DS-CDMA系统盲多用户检测[J].系统仿真学报,2014,26(6):1285-1290.
[7]李金磊.DS-CDMA系统多用户检测技术研究[D].重庆:重庆大学,2009.
[8]胡莉.DS-CDMA盲多用户检测新技术研究[D].西安:西安电子科技大学,2013.
[9]王猛,张文爱. 基于APSO的盲源分离算法在盲图像分离中的应用[J].电视技术,2014,38(19):32-35.
[10]王金宇. 基于负熵的自适应盲源分离算法研究[D].沈阳:东北大学,2011.
[11]任诚,唐普英,方峻. 拉伸技术粒子群优化算法的多用户检测器[J].电子科技大学学报,2007,36(5):915-917.
刘广威(1989— ),硕士生,主研扩跳频通信;
葛海波(1963— ),教授,硕士生导师,主研扩跳频通信和光通信;
程浩(1989— ),硕士生,主研扩跳频通信;
张杰(1989— ),硕士生,主研扩跳频通信。
责任编辑:薛京
Blind multiuser detection based on IPSO-ICA algorithm
LIU Guangwei, GE Haibo, CHENG Hao, ZHANG Jie
(SchoolofElectronicEngineering,Xi’anUniversityofPostsandTelecommunications,Xi’an710061,China)
Abstract:In order to effectively suppress multiple access interference in CDMA system, a new method that improved particle swarm optimization (IPSO) algorithm is applied to blind multiuser detection which is based on independent component analysis (ICA). Firstly, in IPSO algorithm, using nonlinear regressive w reduces the probability of premature, and using stretching techniques breaks premature phenomenon to get more accurate optimal solutions. Secondly, IPSO is used to ICA algorithm to obtain IPSO-ICA algorithm for blind multiuser detection. Finally, the simulation results show that the blind multiuser detection has a smaller bit error rate and faster convergence speed in comparison with the blind multiuser detection which is based on FastICA and PSO-ICA algorithm under the same communication environment.
Key words:blind multiuser detector; particle swarm optimization; independent component analysis; stretching techniques
中图分类号:TN914.4
文献标志码:A
DOI:10.16280/j.videoe.2016.02.004
基金项目:陕西省教育厅自然科学研究基金项目(2011JM8038)
作者简介:
收稿日期:2015-10-01
文献引用格式:刘广威,葛海波,程浩,等.基于IPSO-ICA算法的盲多用户检测[J].电视技术,2016,40(2):23-26.
LIU G W, GE H B, CHENG H, et al. Blind multiuser detection based on IPSO-ICA algorithm[J].Video engineering,2016,40(2):23-26.