《1 引言》

1 引言

在多用户OFDM(orthogonalfrequencydivisionmulliplexing)系统中,不同用户的衰落参数是相互独立的,对于某一用户来讲是深衰落的子载波对于其他用户来讲不一定也是深衰落的,某个子载波对于所有用户都是深衰落的情况出现的概率非常小。因此,如何为每个用户分配系统的子载波,进而在所分得的子载波上分配比特和发送功率成了研究热点。根据各个用户对于各个子载波的瞬时信道信息,为每个用户自适应地分配子载波、比特和功率能够充分利用宝贵的系统资源。

文献[1]讨论了子载波分配问题的最优方案,放松对整数变量的要求,假设变量可以为任意实数,这样所得到的最优解在实际中并不实用,而且计算复杂度很高,因此,提出一些具有实用性的子载波分配算法。文献[2]提出的子载波分配算法具有实用性,并且仿真结果表明其性能接近最优方案。在此算法中,为每个用户分配的子载波个数假定是事先给定的,为定值,然后在分配好的子载波上进行比特和功率分配。而实际中移动信道快速变化,为了降低计算复杂度,为每个用户分配固定数目的子载波并不是一个理想的方案,根据瞬时信道情况,对子载波个数和比特个数及功率联合进行自适应分配,将进一步降低所需的发送功率。

笔者主要研究多用户OFDM系统下行链路传输中一种动态的子载波、比特和功率分配联合算法。假设基站知道所有用户对应于所有子载波的信道增益,在满足每个用户的数据速率和系统误比特率的条件下使总的发送功率最小。联合算法进行子载波、比特和功率分配,在分配过程中,每个用户所使用的子载波序号以及所使用的子载波个数根据信道情况进行自适应调整,在满足各个用户数据速率要求的条件下,每个子载波上承载的比特个数与所需发送功率也进行相应的调整。与动态子载波分配方案算法(WSA)相比,性能有一定改善,计算复杂度相当。

《2 系统模型》

2 系统模型

采用TDD方式的多用户OFDM系统,基站根据上行传输链路中的信息估计所有用户的瞬时信道信息,根据所有用户的瞬时信道信息通过某种优化算法为所有用户的下行传输分配发送功率、子载波和信息比特。传送子载波和比特功率分配信息的控制信令通过一条独立的控制信道来传输。假定信道估计是理想的,所用的系统参数如表1所示。

《表1》

表1 系统参数

Table1 System parameter

\(\gamma_{n k} \in\{0,1,2, \cdots, M\}\)表示第个用户在第n个子载波上的比特个数,M表示每个符号期间每个子载波上能够传输的最大比特数。\(\gamma_{n k}\)的数目决定了每个子载波上的自适应调制方式,或者为BPSK,或者为QPSK,或者为xQAM。在频率选择性衰落信道中,不同用户具有不同的信道增益。\(h_{k} =\left[h_{1 k}, h_{2 k}, \cdots, h_{N k}\right]^{\mathrm{T}}\)表示第个用户对应于N个子载波的信道增益,在一定的比特错误率条件下fk仅是\(\gamma_{n k} \)的函数。如果第k个用户使用第n个子载波,在一定的比特错误率条件下,在每个符号期间第n个子载波上传送\(\gamma_{n k} \)个比特所需要的发送功率为

\(P_{n k}=f_{k}\left(\gamma_{n k}\right) / h_{n k}^{2}\)          (1)

在多用户OFDM系统中,不允许多个用户同时使用同一个子载波,即某个时间内某个子载波只能被菪一个用户使用。定义参量

\(\rho_{n k}=\left\{\begin{array}{l} 1, \text { 若 } \gamma_{n k} \neq 0 \\ 0, \text { 若 } \gamma_{n k}=0 \end{array}\right.\)    (2)

\(\rho_{n k}\)a值为1或0,对于任一个固定的n,其和等于1,意显着某个时刻只有一个用户可以使用第n个子载波。所需要的总的发送功率为

\(P_{n k}=\sum_{n=1}^{N} \sum_{k=1}^{K}\left(f_{k}\left(\gamma_{n k}\right) / h_{n k}^{2}\right) \rho_{n k}\)   (3)

假设每个用户的数据途率为\(\left\{R_{1}, R_{2}, \cdots\right. , \left.R_{K}\right\}\)。在一定的Qos要求下,使得发送功率最小的子载波、比特和功率分配为

\(\begin{array}{ll} & \min _{\substack{\gamma_{k k}, \rho_{n k}}} \sum_{n=1}^{N} \sum_{k=1}^{K}\left(f_{k}\left(\gamma_{n k}\right) / h_{n k}^{2}\right) \rho_{n k}, \\ \text { s.t. } \quad & \sum_{k=1}^{K} \rho_{n k}=1,(n=1,2, \cdots, N), \end{array}\)\(\begin{array}{c} \sum_{n=1}^{N} \sum_{k=1}^{K} \rho_{n k}=N, \gamma_{n k} \in\{0,1,2, \cdots, M\} \\ R_{k}=\sum_{n=1}^{N} \gamma_{n k},(k=1,2, \cdots, K) \end{array}\)    (4)

《3 多用户系统的子载波分配算法》

3 多用户系统的子载波分配算法

Hungarian算法[3]是对多用户系统子载波分配的最优算法,其算法复杂度达到0(N4)。Wong提出子载波分配的试探(Heuristie)算法,称为WSA(Wong's subeanier alloeation)算法[2],计算复杂度比最优Hungarian算法降低了很多,能够很快完成子载波分配,并且性能接近Hungarian算法。

3.1 WSA算法[2]

WSA算法是一种动态子载波分配方案,分两步进行,初始分配阶段先根据各用户的信道特性初步给出子载波的分配短阵ρ;迭代逼近阶段通过迭代交换不断地逼近最终结果,以尽可能地减小发送总功率。算法简要描述如下:

Step1    建设性的初始分配阶段(CIA, construetive initial assignment)假设为第k个用户所分配的子载波数为Sk

1) 首先根据每个用户对各子载波的信道增益分别接从高到低的顺序排列,将接这种顺序的各子信道序号组成一个K x N短阵Nsort

2) 然后从矩阵N的第一列子载波序号开始,依次给每个用户分配子载波。如果该子载波还未分配,并且该用户还没得到所需的子载波数,则将此子载波分配给该用户。如果某个子载波在两个用户中的排序相同,则将它分配给信道增益较大的那个用户。

3) 完成一列的分配后转向下一列,直到所有子载波分配完毕,所有Sk(k=1,2,…,K)都已经满足,分配过程结束。

Step2    迭代优化过程    定义功率减小因子

\(P_{i j}=\Delta P_{i j}+\Delta P_{j i}\)

对每一组用户组合(i,j) i, j =1,2,K,且i≠j,\(\Delta P_{i j}\)表示暂时分配给用户i的子载波重新分配给用户j所带来的功率减小量,然后找出使减小量\(\Delta P_{i j}\),最大的那一个子载波\(n_{i j}\),由最大的\(\Delta P_{i j}\)与最大的\(\Delta P_{j i}\)形成Pij。在所有组合(i,j)中,找出功率减小因子最大的那一个\(\hat{P}_{i j}\),以及相应的用户\((\hat{i}, \hat{j})\)和子载波史\(\hat n_{i j}\)\(\hat n_{j i}\)。若\(\hat{P}_{i j}\)>1,则进行\(\hat n_{i j}\)\(\hat n_{j i}\)子载波在用户\((\hat{i}, \hat{j})\)之间交换, 即将原先分配给用户\(\hat{i}\)的子载波\(\hat n_{i j}\)分配给用户方\(\hat{j}\), 而原先分配给用户\(\hat{j}\)的子载波\(\hat n_{j i}\)分配给用户\(\hat{i}\)。交换后,更新功率减小因子\(\left\{P_{i j}\right\}\)并进行下一步迭代。直到所有的功率减小因子均小于0,说明系统总功率已不能再减小,结束分配。

WSA算法的Step1中计算复杂度为O(KN\(\lg N\));Step2中的主要计算量为计算功率凑小因子,计算复杂度为\(O\left(C_{2}^{K}(N / K)^{2}\right) \approx O\left(N^{2}\right)\),总的复杂度为\(O\left(K N \lg N+N^{2}\right)\)

《3.2 UA算法(联合子载波比特功率分配算法)》

3.2 UA算法(联合子载波比特功率分配算法)

WSA算法中每个用户所用的子载波序号是根据移动信道的变化来自适应调整的,但是每个用户所用的子载波个数Sk是固定的。如果在分配过程中,在满足各个用户数据速率要求的条件下,Sk值也能够根据信道情况进行自适应调整,一步减小所需的总发送总功率。假设以帧为单位,每帧中对每个用户所使用的子载波序号以及所使用的子载波的个数进行调整,则在不同帧中同一个用户所用的子载波序号可能是不同的,所用的子载波的个数也可能是变化的。此算法简称为UA算法。

根据图1,UA算法的Step1中,根据每个用户所需的数据速率为每个用户分配一定的子载波数。例如有3个用户、8个子载波的系统,每个用户的数据速率为R1:R2:R3=3:2:3,可以初始化,令(S1,S2,S3)=(3,2,3)。U&A算法中增加了一个功率减小因子\(P_{i j}^{\prime}\)。在Step1(CIA阶段)中分配给用户i的某个子载波在Step2(迭代优化过程)中重新分配给用户j(而不是2个用户相互交换子载波),与Step1子载波分配后的结果相比,用户j所用的子载波多了一个,而用户i所用的子载波少了一个,同时还必须满足每个用户的数据速率{Ri, Rj},用户i和j所用的子载波上的比特和功率必须进行重新分配,见表2。在重新分配时,在用户i所使用的信道增益最大的子载波上增加传输比特,在用户j所用的信道增益最小的子载波上减少传输比特。

用户k需要的数据速率为Rk,所使用的子载波数为Sk,所需的发送功率为P(Sk)。对于任意一组用户(i,j)定义由于再分配带来的功率减小因子为:

\(P_{i j}^{\prime}=\Delta P_{i j}^{\prime}+\Delta P_{j i}^{\prime} \)    (6)    \(\Delta P_{i j}^{\prime}=P\left(S_{i}\right)-P\left(S_{i}-1\right)\)       (7)

《图1》

图1 UA算法框图

Fig.1 The block diagram of the UA algorithm

《表2》

表2 子载波再分配前后情况

Table2 The situation of before subcarriers reallocated and after reallocated

\(\Delta P_{i j}^{\prime}=P\left(S_{i}\right)-P\left(S_{i}+1\right)\)   (8)

由于增加了一个功率减小因子,完整的功率减小因子变为

\(P_{\mathrm{r}}=P \bigcup P^{\prime}=\left\{\begin{array}{lll} P_{12}, & P_{13}, \cdots, P_{21}, \cdots, P_{i j}, \cdots \\ P_{12}^{\prime}, & P_{13}^{\prime}, \cdots, P_{21}^{\prime}, \cdots, P_{i i}^{\prime}, \cdots \end{array}\right\}\)(9)

\(\begin{array}{c} P=\left\{P_{12}, P_{13}, \cdots, P_{i j}, \cdots\right\}, \\ P^{\prime}=\left\{P_{12}^{\prime}, P_{13}^{\prime}, \cdots, P_{21}^{\prime}, \cdots, P_{i j}^{\prime}, \cdots\right\}, \end{array}\)

在Pr中选择最大的Pij,如果最大值Pij属于集合P,且为正,则在用户i与j之间进行子载波交换;如果最大值Pij属于集合P',且为正,则将对应的原先分配给用户i的某个子载波重新分配给用户j并且对2个用户的子载波上的传输比特和功率进行重新分配;子载波交换或者再分配完成以后更新功率减小因子。重复上述过程直到所有的功率减小因子均为负值,总的发送功率无法再减小了。

UA算法中由于引进了一个新的功率减小因子,使计算量增大,增加的计算量主要取决于每次迭代中需要重新分配的子载波数。增加的计算量为\(O\left(2 C_{2}{ }^{K} N / K\right) \approx O(N K)\),总的计算量为\(O(K N \lg N+ \left.N^{2}+N K\right) \approx O\left(K N \lg N+N^{2}\right)\),与WSA算法的计算量相当。

《4 仿真结果》

4 仿真结果

仿真采用ITU-RM.1225[4]中提出的Vehicular Test A模型为移动信道模型。总的子载波个数256,总的传输比特速率768 b/symbol,每个子载波上所能允许传输的最大比特数为8 b。假定信道估计是理想的,每个用户的数据速率要求都相同,系统中未采用信道编码技术。

图2为系统有2个用户时两种算法对应的误比特率BER和平均比特信噪比SNR关系曲线。WSA算法中,每个用户在各自分得的子载波上采用自适应比特、功率分配算法。从图2中可以看出,为达到相同BER,采用UA算法与采用WSA算法相比,可以节省平均比特信噪比2dB左右。

《图2》

图2 平均比特信噪比与BEK的关系

Fig.2 Performance of BER with avemge SNR

图3为系统中所有用户为达到pe=10-4的误比特率性能的前提下,采用WSA算法和UA算法所需平均比特SNR与系统中用户数的关系曲线。可以看出,采用两种算法所需平均比特SNR随着用户数的增加而下降,这是因为,系统中的用户数趣大,即参与分配的用户越多,一个子载波作为良好子载波而被利用的概率也就越大,从而节省总的发送功率;同时UA算法比WSA算法所能节省的平均比特信噪比也随着用户数的增加而有所增大,2个用户的系统,节省的平均比特信噪比多于1dB,8个用户的系统,节省的平均比特信噪比已经大于2.5dB;可见,随着用户数目的增加,UA算法的优越性体现得越明显。

《图3》

图3 用户数与所需平均比特SNR的关系

Fig.3 Performance of average SNR with number of sers

《5 结论》

5 结论

提出了一种具有实时性的子载波、比特和功率分配算法(UA),能够对付信道的瞧时变化。该算法对子载波、比特和功率进行联合分配与动态子载波分配算法(WSA)相比,计算复杂度相当,在移动信道环境下仿真结果表明,为达到相同的BER能够每比特信噪比节省2dB左右;随着系统用户数目的增加,能够节省的发送功率越多。