[0050] 下面结合附图和具体的实施例对本发明技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0051] m路输入、d路输出的MIMO系统模型,如图1中模块一所示,其第j路接收信号可表示为:
[0052]
[0053] 式中,i=1,2,…,m,j=1,2,…,d, 表示卷积,yj(k)为第j路的接收信号;ai(k)为第i路的发射信号且相互之间独立、均值为零;hji(k)为第i路发射天线到第j路接收天线的信道冲激响应;向量wj(k)是叠加在第j路接收信号上的高斯白噪声。对于图1所示的MIMO系统,原有的m路信号相互之间叠加和干扰后,变成了d路信号。
[0054] 基于上述MIMO系统模型,为了恢复出发射信号,在接收端需要引入均衡器组,MIMO系统的盲均衡器组原理,如图1中模块二所示。
[0055] 首先将均衡器接收到的信号yj(k)分为实部yj.re(k)和虚部yj.im(k)分别处理,可以写为
[0056] yj(k)=yj.re(k)+jyj.im(k) (2)
[0057] 每个子均衡器的输出信号可以写为
[0058] zi.re(k)=yre(k)fi.reH(k) (3)
[0059] zi.im(k)=yim(k)fi.imH(k) (4)
[0060] 输出信号可以写为
[0061] zi(k)=zi.re(k)+jzi.im(k) (5)
[0062] 式中:zi.re(k)为每个子均衡器的输出信号的实部,zi.im(k)为每个子均衡器的输出信号的虚部,实部信号的均衡器为:
[0063] fi.re(k)=[fi1.re(0),…,fi1.re(L),…,fid.re(0),…fid.re(L)]T;
[0064] 虚部信号的均衡器为:fi.im(k)=[fi1.im(0),…,fi1.im(L),…,fid.im(0),…fid.im(L)]T,H表示共轭,T表示转置,L为信道阶数。
[0065] 将单输入单输出的MMA算法扩充到m用户的情况下,其代价函数可以写为[0066]
[0067] 式 中 , 表 示 实 部 的 模 值 ;表示虚部的模值;E用来求期望。利用随机梯
度下降法最小化代价函数J1(f),可得各子均衡器权向量的迭代公式,可以写为[0068]
[0069]
[0070] 式中, 为误差函数的实部, 为误差函数的虚部,μ为迭代步长,*表示共轭。
[0071] 传统的混合蛙跳算法(Shuffled frog leaping algorithm,SFLA)是一种群体智能优化算法,它继承其他优化算法的优点同时,还具有寻优能力更强,参数更少的优点,但也存在易于陷入局部最优和收敛速度慢等的缺陷,为了提高算法的优化性能,国内外学者从各个方面对算法提出了改进,例如变步长、利用新的青蛙移动步长公式等等,本文中提出的方法是用DNA遗传算法(DNA genetic algorithm,DNA-GA)来提高混合蛙跳算法的性能,得到DNA蛙跳算法(DNA-SFLA),来改善混合蛙跳算法的缺点。
[0072] 图1中模块三为DNA-SFLA的流程图,一种基于DNA蛙跳算法的MIMO系统多模盲均衡方法,包括如下步骤:
[0073] 步骤1、初始化:
[0074] A)初始化青蛙种群,确定青蛙总数Size、青蛙个体维数l,进化代数G;
[0075] B)初始化盲均衡的运行次数T、信噪比SNR、信道矩阵h和均衡器的抽头个数,其中,均衡器的抽头个数等于青蛙个体维数l;
[0076] 步骤2、计算青蛙个体的适应度值;
[0077] 步骤3、将青蛙个体的位置向量按照适应度值从小到大进行排序,将排序后的青蛙种群的前一半作为优质种群,后一半作为劣质种群,适应度值最小的位置向量所对应的青蛙个体作为最优个体,令Ncnew1为优质种群执行交叉操作生成的新的青蛙个体数,Ncnew2为劣质种群执行交叉操作生成的新的青蛙个体数,并将Ncnew1和Ncnew2的初始值都设为零;
[0078] 步骤4、从优质种群中随机选择两个父体,并随机产生一个0到1的随机数ζ1,若ζ1小于置换交叉概率pP,则执行置换交叉操作,然后再随机产生一个0到1的随机数 若 小于转位交叉概率Pt,则执行转位交叉操作,由此生成2个新的青蛙个体,同时Ncnew1的值加2,重复操作,直到Ncnew1>1/4Size;
[0079] 然后从优质种群和劣质种群中分别选取一个青蛙个体,并随机产生一个0到1的随机数ζ2,若ζ2小于置换交叉概率pP,则执行置换交叉操作,然后再随机产生一个0到1的随机数 若 小于转位交叉概率Pt,则执行转位交叉操作,由此生成2个新的青蛙个体,保留从劣质种群中选择的青蛙个体通过交叉操作产生的新的青蛙个体,同时Ncnew2的值加2,重复操作,重复操作,直到Ncnew2>1/4Size;
[0080] 步骤5、对新产生的青蛙和优质种群中的青蛙分别产生一组与青蛙个体DNA序列位置向量维数相同的0到1之间的随机数,若随机数小于变异操作概率pm,则执行变异操作,并将新产生的个体代替原来青蛙个体;
[0081] 对于劣质种群中的青蛙,首先随机产生一组与劣质种群中青蛙对应的0到1之间的随机数,若随机数小于反密码子变异操作概率pI,则该随机数对应的青蛙执行反密码子变异操作,否则将这个随机数与最大最小变异操作概率pV相比,若小于最大最小变异操作概率,则执行最大最小变异操作,将变异产生的新个体代替原来青蛙个体;
[0082] 步骤6、当所有青蛙个体变异操作完成后,重复执行Size-1次联赛选择,从而挑选出Size-1个青蛙个体组成下一代青蛙种群;同时将步骤3中的最优个体保留到下一代种群中。
[0083] 在自然进化中,对生存环境适应程度高的物种遗传到下一代的机会更多。模拟这个过程,采用联赛选择方法来产生新一代种群。其基本思想为每次随机选择两个青蛙个体进行适应度值比较,适应度值较小的个体遗传到下一代种群中,重复Size-1次,从而选择出Size-1个下一代青蛙个体。对下一代种群进行DNA解码得到解码后的种群,将当前进化代数加1;
[0084] 步骤7、若当前进化代数达到预设的进化代数G,则输出最优青蛙个体的位置向量;否则返回步骤3;
[0085] 步骤8、将步骤7中的最优青蛙个体的位置向量作为MIMO系统多模盲均衡算法中每个均衡器的初始权向量,进行盲均衡运算,得到均衡后的各路信号。
[0086] 优选,步骤2中,采用多模盲均衡算法的代价函数JMMA(Xf)的倒数作为青蛙个体的适应度函数fitness(Xf),即:
[0087]
[0088] 式中,Xf表示第f只青蛙的位置向量,1≤f≤Size。
[0089] 步骤3中,将编码前青蛙个体的十进制位置向量按照适应度值从小到大进行排序,且在步骤4之前,对青蛙个体进行四进制的DNA编码。DNA-GA具有独特的编码方式,一个DNA序列可以简单抽象为由腺嘌呤(A)、鸟嘌呤(G)、胞嘧啶(C)和胸腺嘧啶(T)这4种碱基组成的碱基串,由于这种DNA编码方式不能被计算机直接处理,因此采用0,1,2,3这4个数字分别对应这4种DNA碱基。在这种编码方式中利用了Watson-Crick互补原理,A与T互补,C与G互补,采用的映射方式为:0123/CGAT。通过这种编码方式就能把一段DNA序列表示为一个数字序列,便于计算机处理。
[0090] 下面进行仿真分析。
[0091] 为了验证所提出算法的有效性,以传统的MIMO-MMA作为对比对象。文中对所提出的算法在MATLAB环境下进行仿真,MIMO系统的发射端为2根天线、接收端为3根天线,实验1和实验2的信道矩阵通过高斯信道产生:
[0092]
[0093] 实验3和实验4的信道矩阵通过莱斯信道产生:
[0094]
[0095] 均衡器权长为11,信噪比为20dB,训练样本个数为N=20000,MIMO-MMA的两路信号的实部和虚部的第12个中心抽头为1,青蛙总数500个,最大进化代数为100,置换交叉概率为0.8,转位交叉概率为0.3,变异概率为0.1,反密码子变异概率为0.5,最大最小变异概率为0.1,实验采用100次蒙特卡洛仿真。文中以收敛后均衡器输出星座图及码间干扰作为对算法性能进行评估的依据,具体如下:实验1:信源采用16QAM信号,MIMO-MMA步长为0.001,DNA-SFLA-MIMO-MMA的步长为0.000093。仿真结果如图2a-2e所示。
[0096] 由图2可知,DNA-SFLA-MIMO-MMA算法(本发明方法)与MIMO-MMA算法相比,DNA-SFLA-MIMO-MMA算法的收敛速度和码间干扰都比较好。从收敛速度上来看,第一路信号和第二路信号用DNA-SFLA-MIMO-MMA算法比用MIMO-MMA算法快了约3000步;从码间干扰上来看,两路信号用DNA-SFLA–MIMO-MMA算法要比用MIMO-MMA算法的码间干扰都小约2.5dB。从星座图上看,两路信号用DNA-SFLA–MIMO-MMA算法输出的星座图比MIMO-MMA算法的星座图更清晰、紧凑。
[0097] 实验2:信源采用16APSK信号,MIMO-MMA步长为0.000001,DNA-SFLA-MIMO-MMA的步长为0.000079。仿真结果如图3a-3e所示。
[0098] 由图3可知,DNA-SFLA-MIMO-MMA算法与MIMO-MMA算法相比,DNA-SFLA-MIMO-MMA算法的收敛速度和码间干扰都比较好。从收敛速度上来看,第一路信号和第二路信号用DNA-SFLA-MIMO-MMA算法比用MIMO-MMA算法快了约2000步;从码间干扰上来看,两路信号用DNA-SFLA–MIMO-MMA算法要比用MIMO-MMA算法的码间干扰都小约3dB。从星座图上看,两路信号用DNA-SFLA–MIMO-MMA算法输出的星座图比MIMO-MMA算法的星座图更清晰、紧凑。
[0099] 实验3:信源采用16QAM信号,MIMO-MMA步长为0.00001,DNA-SFLA-MIMO-MMA的步长为0.000083。仿真结果如图4a-4e所示。
[0100] 由图4可知,DNA-SFLA-MIMO-MMA算法与MIMO-MMA算法相比,DNA-SFLA-MIMO-MMA算法的收敛速度和码间干扰都比较好。从收敛速度上来看,第一路信号和第二路信号用DNA-SFLA-MIMO-MMA算法比用MIMO-MMA算法快了约4000步;从码间干扰上来看,两路信号用DNA-SFLA–MIMO-MMA算法要比用MIMO-MMA算法的码间干扰都小约2dB。从星座图上看,两路信号用DNA-SFLA–MIMO-MMA算法输出的星座图比MIMO-MMA算法的星座图更清晰、紧凑。
[0101] 实验4:信源采用16APSK信号,MIMO-MMA步长为0.000019,DNA-SFLA-MIMO-MMA的步长为0.000067。仿真结果如图5a-5e所示。
[0102] 由图5可知,DNA-SFLA-MIMO-MMA算法与MIMO-MMA算法相比,DNA-SFLA-MIMO-MMA算法的收敛速度和码间干扰都比较好。从收敛速度上来看,第一路信号和第二路信号用DNA-SFLA-MIMO-MMA算法比用MIMO-MMA算法快了约2000步;从码间干扰上来看,两路信号用DNA-SFLA–MIMO-MMA算法要比用MIMO-MMA算法的码间干扰都小约1.2dB。从星座图上看,两路信号用DNA-SFLA–MIMO-MMA算法输出的星座图比MIMO-MMA算法的星座图更清晰、紧凑。
[0103] 可见,将DNA蛙跳算法应用于MIMO系统多模盲均衡算法中,可以显著提高MIMO系统多模盲均衡算法的收敛速度、减少码间干扰,并且使得星座图更加紧凑和清晰。
[0104] 本方法将DNA遗传算法和混合蛙跳算法相结合得到DNA蛙跳算法,通过DNA蛙跳算法的局部和全局搜索,寻优出一个最优青蛙位置向量并应用到MIMO系统多模盲均衡中,从仿真结果表明,通过这种改进,该算法有效的提高了MIMO系统多模盲均衡的收敛速度、并降低码间干扰和得到清晰紧凑的星座图,因此该算法对通信信号处理研究具有一定的参考价值。
[0105] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或者等效流程变换,或者直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。