IDMA通信系统中的粒子群交织算法
扫描二维码
随时随地手机看文章
先进的接入技术码分多址(CDMA)能够有效利用带宽,提高系统容量,应用广泛。IDMA交织多址是一种特殊的CDMA通信方式,使用码片级的交织序列区分用户。交织序列打乱原来编码顺序,使相邻码片近似无关,且其接收端采用码片到码片的迭代多用户检测接收方式,计算复杂度较小。作为IDMA的关键技术,交织序列的产生必须是随机和独立的,且交织序列之间互相关系数较小。但在实际中,当数据帧长度较小,且用户数较大时,随机交织后序列的互相关系数以较大概率接近于1,使接收端不能正确检测出用户数据,严重影响通信性能。文献提出以互相关函数矩阵作为适应度函数,用进化算法获得最优交织序列,但进化算法易陷入局部最优解,不能获得全局最优的交织序列。本文把粒子群算法引入交织算法中,在较少迭代次数的情况下即可获得最优解,同时仿真大用户情况下的交织性能,实验结果表明此算法性能较优。
2 IDMA通信系统中的检测原理与方法
图1为IDMA通信系统发送和接收部分的结构图。该系统发送端包括K个用户,第k个用户发送的码元序列为:dk=[dk(1),…,dk(i),…,dk(I)](I为发送序列码元长度),经码长为S的重复编码扩频得到序列为:Gk=[Gk(1),…,Gk(j),…,Gk(J)],J为扩频后的码长,再经交织器打乱顺序重排后成为发送序列为:Xk=[xk(1),…,xk(j),…xk(J)]。
系统接收端采用Turbo型迭代译码结构,主要由基本信号检测器ESE、解交织器和K个用户译码器DEC组成。系统中考虑完全同步无记忆信道,接收信号r(j)表示为:
式中,n(j)为高斯白噪声采样,hk为第k个用户的信道衰落系数,ζk(k)为第后个用户第j个码片的失真,根据中心极限定理,ζk(j)满足近似高斯分布,可用均值和方差函数表示。
基本信号检测器模块ESE的检测算法概括如下:
式中E(.)表示均值,V(.)表示方差。
译码器DEC反馈的先验信息经交织后得到eDEC[xk(j)],更新ESE中接收信号的均值和方差,并产生输入到译码器DEC的外信息eESE(xk(j)),外信息经过解交织,作为译码器DEC输入端的先验信息,如此循环迭代直到规定的次数以后,K个用户的译码器分别产生相应信息序列的硬判决值dk。
3 基于粒子群的交织算法
3.1 粒子群算法的相关定义与操作
粒子群算法是一种基于迭代的优化方法,具有易于实现、需要调整的参数少等优点,并且在较少的迭代次数的情况下就可获得全局最优解。设粒子群粒子个数为M,在一个D维的搜索空间中,粒子i(1≤i≤M)在第k次迭代时的位置信息为速度信息表示为搜索空间的任意数,即粒子到目前为止所经历的最好位置为群体中所有粒子到目前为止所经历过的最好位置为其中b为具有最优位置粒子的索引。为使粒子群算法能正确解决交织问题,这里定义粒子的位置和速度的含义及相关操作如下:
(1)粒子定义粒子的位置定义为一序列。对于搜索空间为D维的种群,序列长度为D。假设某个粒子j的位置为xj,D=5,则可表示为xj=(1,2,3,4,5);速度定义为粒子位置的变换集,即一组置换序列的有序列表,表示为:v={(ik,jk),ik,jk∈D},k∈{1,2,…,|v|,其中|v|表示该速度所含置换序列的个数。
(2)置换操作 假设某粒子i的位置为xi,定义置换序列(mi,ni),置换操作用以交换xi中第mi和ni个值的位置,则x'i=xi+(mi,ni),其中x'i为经过置换操作后得到的新位置。
(3)加法操作包括粒子速度与速度的加法操作及粒子速度和位置的加法操作。设vi、vj、vk分别表示第i、第j及第k个粒子速度,xk为第k个粒子位置。vi+vj表示两个速度相加的操作,其结果为两个置换序列合并,产生一个新置换序列串;vk+xk表示速度和位置的加法操作,即将一组置换序列依次作用于某个粒子位置。其结果为一个新位置。
(4)减法操作主要指粒子位置与位置的减法操作。该操作相减后结果为一组置换序列,即速度。设xk为第k个粒子位置,xi为第i个粒子位置,则xi-xk为一个置换序列。例如:xi=(1,2,3,4,5),xk=(2,3,1,4,5),由于xi(1)=1,xk(3)=1,第1个交换序列为(1,3),xj=xk(1,3)=(1,3,2,4,5);又xi(2)=2,xi(3)=2,第2个交换序列为(2,3),xi=xj+(2,3),因此经上述操作得到:xi=xk+{(1,3),(2,3)},所以xi-xk={(1,3),(2,3)}。
(5)乘法操作 指实数与粒子速度的乘法操作。对于在(0,1)任意实数c,设速度v有i个置换序列,则乘法操作截取速度置换序列,使新的速度置换序列个数为|cxi|(cxi取整)。
根据以上定义,粒子群的更新公式可描述为:
式中,c1与c2是两个正的常数,称为加速因子,r1和r2为分布于[0,1]间的随机数。
3.2 粒子群交织算法
对于码片长度为J的序列,其交织方式有J!种。当J较小,而用户数较大时,随机产生的交织序列之间的互相关系数接近1,交织区分用户时,严重影响两个用户间通信的性能。粒子群算法能搜索到全局最优解,可选择互相关性最弱的交织序列区分用户,从而提高通信性能。
在数据传输中,码片长度J=IxS,其中I为传输序列码元长度。S为扩频码长度。粒子群交织是从J!个交织序列中选择K个互相关性弱的序列区分用户,但J!个解在实际操作中运算量较大,故选择N个作为初始解。粒子群交织算法中选择互相关矩阵作为适应度函数。X为N×J的数据矩阵,是N个可能的解,每个解是长度为J的交织序列,其元素为X(n,J)∈{-1,1}(n=1,…,N,j=1,…,J);INDEX表示一个,N×J的矩阵,其值是对应数据矩阵X的交织序列的索引值;R是X的互相关系数矩阵,为N×N维,R的元素R(i,j)由下式计算得到:
式中,Xi是矩阵X的第i行向量,μi=E(Xi),E表示数学期望。
基于粒子群的交织算法步骤为:(1)初始化种群,随机产生一个初始种群的索引值和一个初始置换序列,根据索引值产生数据矩阵X;(2)根据式(10)和式(11)计算适应度函数,保存全局最优解和局部最优解;(3)根据式(8)计算粒子速度。首先计算局部最优解得到置换序列,再计算全局最优解得到另一个置换序列,将其分别与系数相乘截取后与合并得到(4)根据式(9)更新粒子当前位置索引值,同时根据索引值更新数据矩阵X值;(5)重新计算适应度函数,更新(6)如果达到最大迭代次数,算法终止;否则转至步骤2。
4 性能仿真与分析
为检验基于粒子群交织算法(PSOI)的性能,将该算法与非随机交织迭代检测(Un-random)、随机交织迭代检测(Ran-dom)和进化交织迭代算法(EI)相比较。仿真条件为:未编码的高斯信道,信道衰落系数hk=k,k∈(1,2,…,K),数据码元长度I=10;扩频码元长度S=4;则交织码元长度J=I×S=40;N=10×K;所有用户使用相同的扩频码元,循环迭代译码10次,蒙特卡罗仿真10 000次,粒子群参数设置为:ω=1 ,c1=c2=2。图2为K=5时Un-random、Random、EI和PSOI的误码率和信噪比关系曲线。由图可知,由于Un-random有较高的互相关性,其性能最差。当信噪比大于8 dB时,PSOI的误码率已接近于零,远优于其他几种算法。图3为K=25时Un-random、Random、EI和PSOI的误码率与信噪比关系曲线。由图可知,当数据码片长度较小时,Random的交织序列的互相关系数较大,使其性能下降;EI由于搜索能力较差,易陷入局部最优解,使得交织性能下降,而PSOI性能较优。图4为SNR=6 dB时Un-random、Random、EI和PSOI的误码率与用户数的关系。由图可知,PSOI随用户数增加的误码率要低于其他几种算法。但由于信噪比较低,EI的误码率较接近PSOI。图5为SNR=9 dB,K=25时Un-random、Random、EI和PSOI的误码率与迭代次数的关系。由图可知。随着迭代次数增加,4种方法误码率都会下降,但PSOI的性能明显优于其他几种算法。
5 结束语
本文将粒子群算法用于交织中,以互相关矩阵作为适应度函数,提出粒子群交织算法。仿真表明,该算法在高信噪比时,性能远优于非随机交织、随机交织和基于进化算法的交织。