引言
先进的接入技术码分多址(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维的搜索空间
织问题,这里定义粒子的位置和速度的含义及相关操作如下:
(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]间的随机数。