何川 周铭 王惠
摘要:针对常模盲均衡算法(CMA)存在局部收敛和慢收敛的缺陷,提出了一种全局人工鱼群优化的动量常模盲均衡算法(GAFSA-MCMA)。该算法首先利用全局人工鱼群算法(GAFSA)收敛速度快、全局搜索能力强的优点,寻找人工鱼群的最优位置向量并作为CMA的初始优化权向量,从而使权向量在迭代过程中获得全局最优,同时将动量算法引入到CMA中,提高收敛速度。与CMA、MCMA相比,该算法均方误差较小、收敛速度较快。
关键词:常模盲均衡;动量;全局人工鱼群算法;收敛速度
中图分类号:G642.3 文献标志码:A 文章编号:1674-9324(2016)29-0123-02
一、引言
为了消除码间干扰,提高通信系统的性能,在接收端需采用一种盲自适应均衡技术[1]。常模盲均衡算法(CMA)的收敛速度和稳态误差取决于步长因子的大小[2,3]。收敛速度随着步长的增大而加快,同时剩余稳态误差随之增大;反之,收敛速度随着步长的减小而降低,同时也会降低算法的剩余稳态误差。在实际应用中,动量算法能够有效的提高收敛速度,因此,将动量算法应用于均衡器抽头权向量的更新调整,在不影响剩余稳态误差的情况下,能进一步加快收敛速度[4]。全局人工鱼群算法(Global Artificial Fish Swarm Algorithm,GAFSA)是一种智能算法,其全局搜索能力强、计算精度高,克服了基本人工鱼群算法易于陷入局部搜索等缺点[5]。本文将全局人工鱼群算法和动量常模盲均衡算法(MCMA)有机融合,提出一种全局人工鱼群优化的动量常模盲均衡算法(GAFSA-MCMA),并进行性能仿真验证。
二、动量常模盲均衡算法
CMA是Bussgang类盲均衡算法的一种基础算法。这种均衡器的思想最早是由Godard提出的。均衡器的性能由抽头系数决定,各抽头系数都是可以调整的。而MCMA是在CMA的基础上加入动量因此,在保证较小均方误差的同时,提高收敛速度。假设发射信号为a(k);信道脉冲响应为c(k);加性高斯白噪声为n(k);均衡器接收信号为y(k);权向量为f(k);均衡器输出信号为z(k),各物理量间的关系为
y(k)=cTa(k)+n(k) (1)
z(k)=fT(k)y(k)=yT(k)f(k) (2)
MCMA误差函数为
e(k)=|z(k)|-R (3)
式中,R为MCMA模值。MCMA的权向量迭代公式为
f(k+1)=f(k)-μe(k)z(k)y*(k)+αΔf(k) (4)
式中,μ为步长,α为动量因子,0<α<1,动量项Δf(k)=f(k)-f(k-1),且
Δf(k)=μαe(k)z(k)y*(k)+α[f(1)-f(0)]
(5)
显然,在|α|<1的条件下,算法会收敛。在CMA基础上采用引入动态动量因子的常模盲均衡算法(MCMA),在均衡开始阶段,动量因子可以选取较大的值,加快收敛速度;随着均衡过程的进行,动量因子的取值不断减小,降低稳态均方误差;在均衡后期,动量因子选取较小的值,进一步降低稳态均方误差。在均衡过程中,为了动态地控制动量因子的取值,本文采用误差e(k)来控制动量因子α的变化。α与e(k)的函数关系定义为
α(k)=β·e(k) (6)
式中,参数β为控制α(k)大小的常数。将式(6)替代式(4)中α,就得到了MCMA的均衡器权向量迭代公式。
三、全局人工鱼群算法
GAFSA是一种人工智能算法,与基本人工鱼群相比,该算法具有全局寻优的特点,不易陷入局部搜索,通过模拟鱼群的觅食、聚群、追尾等行为操作来进行随机搜索,具有计算精度高、收敛速度快、复杂度较低等优点。
觅食行为
人工鱼的当前位置向量v,在视野Visual范围内随机选择一个位置,该位置对应的位置向量为v,如果适应度函数值F(v)>F(v),则人工鱼按式(11)向位置向量v和全局最优位置向量v处移动,如果不满足移动条件,则在视野Visual范围内重新选择随机位置向量v,再判断是否满足条件,如果仍不满足移动条件,则按式(7)随机移动。
v=v+·step·rand(0,1) (7)
v=v+Visual·rand(0,1) (8)
式中,rand(0,1)表示(0,1)之间的随机数。
聚群行为
人工鱼的当前位置向量v,计算当前视野Visual内人工鱼的个数以及视野中心位置向量v,如果适应度函数值F(v)>F(v),则表明中心位置有较多食物且不太拥挤,按式(9)向中心位置和全局最优位置向量v处移动一步,若不满足条件,则进行觅食行为。
v=v+·step·rand(0,1) (9)
追尾行为
人工鱼的当前位置向量v,寻找当前视野Visual范围内的其他人工鱼中适应度函数最大值及其对应的位置向量v,如果v视野范围内伙伴数N满足N/N>δ,同时适应度函数值F(v)>F(v),则人工鱼向
v和全局最优位置向量v处移动一步,若不满足条件,则人工鱼进行聚群行为。
v=v+·step·rand(0,1)
(10)
四、全局人工鱼群优化的动量常模盲均衡算法
为了进一步加快盲均衡算法的收敛速度、降低均方误差,本文提出了全局人工鱼群优化的动量常模盲均衡算法,该算法是对动量常模盲均衡算法的进一步优化。算法步骤如下:
第1步:初始化人工鱼群并设置参数。人工鱼群初始种群v=[v1,v2,…,vN],第i条人工鱼的初始位置设为
v(0第2步:确定适应度函数。人工鱼群算法的目的是寻找到适应度函数最大值所对应的人工鱼所在的位置向量,所以,将均衡器代价函数的倒数作为人工鱼群算法寻优的适应度函数,即
F(v)=,i=1,2,…,N (11)
式中,v是第i条人工鱼的位置向量,J(f)是盲均衡算法的代价函数。
第3步:计算适应度函数。按式(15)计算每条人工鱼的适应度函数值,将适应度函数最大值及其对应的位置向量记录在公告牌中。
第4步:行为选择。人工鱼群中每条人工鱼按式(14)发生追尾行为操作,若追尾不成功,则按式(13)进行聚群行为操作,若聚群不成功,则按式(11)和式(12)进行觅食行为操作,人工鱼的当前位置向量发生改变。
第5步:比较更新公告板。在更新后的鱼群中,通过比较确定状态最优的一条人工鱼位置向量,将这条人工鱼的适应度函数值与公告板上的最优适应度函数值做比较,如果人工鱼的适应度函数值更优,则更新公告板,否则保持公告板记录。
第6步:判断人工鱼群是否已经完成最大迭代次数,如果完成,则停止步骤,并将公告板上的最优记录输出,即为最优均衡器初始权向量,否则跳转到步骤四执行。
五、仿真分析
为了检验GAFSA-MCMA的性能,以CMA、MCMA和人工鱼群优化的动量常模盲均衡算法(GAFSA-MCMA)为比较对象,进行仿真实验。
CMA、MCMA的均衡器权长为11,第6个抽头取1,其他的都取0,信噪比为20dB,训练样本个数N=10000。
GAFSA-MCMA的种群规模取30,人工鱼群中拥挤度因子取0.5,人工鱼步长取0.2,视野取0.8,人工鱼群迭代次数为20。
采用16QAM调制信号,水声信道h=[0.9656-0.0906 0.0578 0.2368],噪声采用高斯白噪声,步长μ=μ=0.00003、μ=0.00001。仿真结果如图1所示。
图1表明,与CMA、MCMA迭代1500次达到收敛相比,GAFSA-MCMA仅迭代800次左右即达到收敛,收敛速度得到了极大地提高。从均方误差上看,GAFSA-MCMA的均方误差比CMA、MCMA降低了2.2dB。从星座图上看,GAFSA-MCMA输出的星座图比CMA、MCMA输出的星座图更清晰、紧凑。可见,GAFSA-MCMA可以显著提高盲均衡算法的收敛速度并极大地减少均方误差。
六、结束语
文中将全局人工鱼群算法应用于动量常模盲均衡算法中,优化均衡器的初始化权向量,以减小均方误差,同时,动量常模盲均衡算法采用动态动量因子,使得动量因子能够随着误差的变化而发生线性变化,在保持均方误差不会变大的前提下,提高收敛速度。仿真结果表明,全局人工鱼群优化的动量常模盲均衡算法有均方误差较小、收敛速度较快的特点,具有实用价值。
参考文献:
[1]郭业才,胡苓苓,丁锐.基于量子粒子群优化的正交小波加权多模盲均衡算法[J].物理学报,2012,61(5):281-287.
[2]Jenq-Tay Yuan,Jen-Hung Chao and Tzu-Chao Lin. Effect of Channel Noise on Blind Equalization and Carrier Phase Recovery of CMA and MMA[J]. IEEE Transactions on Communications,2012,60(11):3274-3285.
[3]黄伟.基于人工鱼群优化的小波常模盲均衡算法[D].安徽理工大学,2013.
[4]韩迎鸽,郭业才,李保坤,周巧喜.引入动量项的正交小波变换盲均衡算法[J].系统仿真学报,2008,20(6):1559-1562.
[5]吴昌友.一种新的改进人工鱼群优化算法[J].智能系统学报,2015,10(3):1-6.