荣国成,王昊,沙莎
(1.长春理工大学 电子信息工程学院,长春 130022;2.长春电子科技学院 电子工程学院,长春 130114)
在下一代无线接入网络中,由于通信系统应具备严谨的用户应用和测试用例的需求,以及服务和功能的高度异构性,因此服务质量(QoS)供应更具挑战性[1]。考虑到信道条件的多样性,在获得最大系统传输速率的同时保证用户间速率较好的公平性,如何有效地分配资源是一个需要解决的问题[2-4]。
通常,现有的OFDMA资源分配算法需进行大量运算[5]。因此需要降低算法复杂度来寻找资源分配的解决问题[6]。目前将资源分配问题转换成凸函数,虽然对算法的复杂性降低,但对用户比例公平性处理并不好[7]。使用贪婪算法对MIMO-OFDMA子载波功率分配,使网络吞吐量达到最大化,但并未考虑用户间公平性[8]。根据拉格朗日对偶法结合次梯度法对资源分配,在得出功率和子载波的最优的同时也增加了系统的复杂性[9]。在使用遗传算法进行资源分配,在保证用户比例公平性下使系统吞吐量有了很大改善[10-11]。本文在其基础上使用两种优化技术公平的分配子载波和功率,采用具有公平性保护因子的子载波分配技术(FSF)以确保用户之间的公平,使用混合优化算法对功率进行分配,确保吞吐量最大化,同时降低算法复杂度。
图1显示了下行OFDMA系统模型的框图。在基站中,每对OFDMA发射与接收的所有信道状态信息会通过反馈信道发送到子载波和功率算法部分。发射机将每个用户数据加载到其分配的子载波上。采集到信息以后,便会将子载波与功率信息以单独信道方式发送给每个用户,并更新资源分配方案。
图1 OFDMA系统模型
使用两种优化技术公平的分配子载波和功率,首先假定一个系统中具有K个用户和N个子载波,具有总发射功率为Ptot。目的是优化子载波和功率分配,在同时保证用户比例公平的前提下满足给定的Ptot和最小用户速率需求Rk,min实现更高的整体系统吞吐量。
假设每个子载波被反馈给每个时隙中的至多一个用户,以避免不同用户之间的干扰。Pk,n表示在第k个用户第n个子载波下的瞬时传输功率,则在第K个用户第n个子载波下最大瞬时传输速率为:
其中,B为可用总带宽;N0是功率谱密度;N0(B/N)表示每个子信道上的噪声功率;hk,n表示子信道n中的对应用户k的信道增益;Γk是信噪比(SNR)的间隙常数。此时用户K的吞吐量定义为
其中,ρk,n只能是 0 或者 1,表示子载波n是否分配给用户k,本文基于无线资源管理(RRM)考虑最终优化问题如下:
将Ptotal分配给用户K,以最大限度地提高系统的总吞吐量。为了通用性,在信噪比间隔Γ中加入指标k,是为了考虑每个用户不同误码率需求时情况,在实际信号星座中Γ与误码率有关,使用未编码的QAM调制时:
假设所有子载波的功率分配相等,基于子载波分配的优化是次优的,且子载波分配与功率分配相互独立。
Ck,n是分配的子载波,Ck,n=1 表示子载波“n”已分配给用户“k”,Rtot是所有用户的总数据率。
(1)确定分配每个用户的子载波数并初始化变量。假设前提为分配给每个用户的子载波比例近似,且数据速率完全相同。
(2)将子载波分配给上一步确定的每个用户,将为使用的子载波分配给用户以提高系统的总容量。在此步骤中主要有三个部分构成:
第一部分向每个用户分配对该用户具有最大增益的子载波数。第一子载波是根据调度原则分配的,即预分配较少的用户具有更高的优先级来选择子载波。
第二部分子载波根据“瞬时传输速率最小的用户以其所需的比例优先选择一个子载波”这一策略分配给用户。由于重视比例率,用户的需要由容量最小的用户除以比例常数来确定,一旦用户获得子载波的分配,他将不会再分配到任何子载波。在此步骤中强调用户之间的比例公平性。
第三部分将剩余的子载波被分配给最好的用户,其中每个用户最多可以得到一个未分配的子载波。
(3)以用户最小容量以及比例公平原则对子载波进行分配。为此,引入了一个称为偏差指标(DI)的因子。这个因子表示所有用户与其期望的总体偏差比例,当此值变小时,比例公平将得到加强。DI=0时表示理想的公平性。DI由下式(5)计算:
公平保障因素(FSF)用于来控制子载波变化的数量。在每个循环中,两个选定用户之间的比例不公平子载波将会被改变。因此这是一个迭代改变的过程,以失去一定容量为代价来提高系统公平性。
在现有遗传算法和粒子群算法的基础上,描述了解决功率分配问题的PSO-GA算法的设计与实现。设OFDMA系统有K个用户和N个子载波。系统将N个子载波的子集分配给用户,并确定下行链路传输上每个分配的子载波的比特/符号数。
(1)设置参数:分别设置迭代次数U,粒子群粒子数M以及算法参数中的惯性权重W,学习因子、位置边界值、突变速度等常量。
(2)种群初始化,用同一组随机粒子解初始化粒子,计算每个粒子的适应度值,设置每个粒子的Pb值,从中选出最好的为Gb。
(3)根据公式(6)更新每个粒子的速度与位置。
其中,Xm表示粒子m的位置信息;Vm表示第m个粒子的速度;Pm表示在迭代第u次时获得的粒子最佳值,迭代后总群获得的全局最优值为Pg;r1和r2是两个[0,1]范围内的均匀分布的随机值;c1和c2是加速度系数。
(4)设定适合度函数,计算每个粒子的适应度值,量化所有解的最优性,即所有的粒子在算法中,可对其进行测量与分类,将公式(3)定义为适应度函数。
(5)根据步骤(4)中所求的粒子适应度值对粒子群中粒子进行标记,按顺序均分为三个部分,将每一粒子二进制编码作为基因序列,首先复制第一部分粒子的基因序列直接进入后代更新;然后使用交叉算子作用于原第一部分粒子与第二部分粒子,其子代结果替换为第二部分粒子;最后对第三部分的粒子进行变异操作,设定第三部分中的粒子每一位基因都具有Pm的概率发生变异。引入遗传算法中的交叉与变异操作,可有效地避免算法陷入局部最优值。
(6)更新每个粒子的Pb和Gb。
(7)如果满足终止条件,则继续进行下一步骤;否则,转到步骤(3)。
(8)停止并把Gb作为最终的解决方案。
流程图如图2所示。
图2 混合PSO-GA算法流程图
在仿真中,采用了四种测试函数来评估PSO-GA算法的有效性,测试函数被认为是评估算法性能的目标函数。如表1所示。
表1 测试函数
图3-图6则分别对应四种评估函数的曲线图,显示了模拟的GA、PSO、PSO-GA的四条适应度曲线,从以上四个图中可以总结出:三种函数均需数代的迭代才能达到最优解;GA算法的收敛相对于其他函数更慢一些。在收敛精度方面,通过图3可以发现PSO-GA算法最终可在20次迭代以后收敛到0。而PSO算法与GA算法均在40次迭代以后才逐渐达到平衡,收敛到极值,这表明PSO和GA已经下降到局部最优,不再得到最优解0。通过仿真看出,这三种算法中,在进行局部搜索和全局搜索时,PSO-GA算法可以获得比PSO和GA更好的结果,同时在收敛速度还是精度方面更优越。
图3 Rosenbrock测试函数的各算法比较
图4 Griewank测试函数的各算法比较
图5 Step测试函数的各算法比较
图6 Rastrigin测试函数的各算法比较
为了评估PSO-GA算法在系统吞吐量方面的性能,使用MATLAB在OFDMA系统中进行模拟仿真,发射端授权20 MHz总带宽,每个用户接收器随机分布在距离其发射器0.5 km的圆内,考虑路径损耗为32.4+20 log(D)(D代表距离)。设置算法中的参数:最大迭代次数为100,种群数为90,引用Clerc提出的标准C1=C2=1.496 1和惯性权重W=0.729 8[12],突变概率 Pm 为 0.05。表 2为部分参数,在系统吞吐量测试中分别应用PSO算法、GA算法以及PSO-GA算法求解适应函数得到数值结果如图7所示。
表2 参数设定
图7 系统吞吐量与进化次数关系图
对于这三种算法,总和容量最初随着迭代次数的增加而增加,然后逐渐饱和,获得较高并且稳定的值。这表明,最初粒子不断地移动到新的位置,寻找更高的适应度函数值,然后慢慢地收敛到一个接近最优的点。通过图7可以看出PSO-GA的适应度值相对较大,接近1.872,这意味着在此刻的系统吞吐量可以达到1.872 Mb/s,使用PSO-GA进行OFDMA系统的资源分配,其总容量始终高于PSO算法与GA算法。
资源分配模拟系统吞吐量与用户数量关系如图8所示。引入三个完善的经典资源管理算法,其中包括轮询调度(RR),最大载波干扰比(Max-C/I)和比例公平(PF)。将PSO-GA算法与这三种资源管理算法进行仿真比较,其中Max-C/I调度选择信道条件最佳的用户,最大限度地提高整个系统的吞吐量,它获得的吞吐量可以看作是所有调度算法的吞吐量上限。在RR调度中,每个用户具有相同比例条件,不考虑用户信道条件,因此在所有调度算法中,RR调度具有最好的公平性,但吞吐量最低。PF在系统吞吐量和公平性之间取得了平衡,因此其获得的吞吐量介于最大C/I和RR之间。这里提出的PSOGA算法的吞吐量也同样位于上界Max-C/I和下界RR之间。
图8 系统吞吐量与用户数量之间的关系
本文针对优化无线OFDMA中资源分配问题,将资源问题转化为函数优化问题,分别使用子载波分配算法以及PSO-GA混合算法这两种优化技术公平的分配子载波和功率,在保证用户比例公平性原则与系统整体吞吐量最大化条件下,降低算法复杂度。仿真结果表明,在测试函数中混合算法相比于遗传算法、粒子群算法具有更快的收敛速度,同时在系统资源分配方面的吞吐量性能明显优于另外两种算法。