发明内容
本发明是一种适用于OFDM通信***的自适应比特和功率分配算法,用于设计OFDM***中的自适应调制方案。本发明的目的是根据不同时刻的信道条件,为OFDM通信***中的各个子信道确定最优的调制方式和发射信号平均功率。该算法的优化目标为:在***数据速率和误码率一定的条件下,确定各个子信道最优的比特数目,使***所需要的总的发送功率最低。该优化目标及约束条件可简述如下:
同时满足
Pi≥0,bi≥0,i=1,2,…,NC。
其中Pi是***中第i个子信道为达到一定的误码率所需要的信号传输功率,bi是分配给第i个子信道的比特数目。NC是所有子信道的数目。Rb是每个OFDM符号所包含的比特数目(即每次分配过程中待分配比特数目),由***数据速率决定。
下面首先说明算法描述中用到的一些参数的物理意义及参数之间的关系:
NC——OFDM***中需要分配比特和功率的子信道总数
Rb——每个OFDM符号所包含的比特数目(每次分配过程的待分配比特总数)
NU——所有子信道分组的数目
NC′——每个子信道分组中包含的子信道数目(NC′=NC/NU)
L——每个子信道簇中包含的子信道数目
NS——每个子信道分组中的子信道簇的数目(NS=NC/(LNU))
Rb′——每个分组中待分配的比特总数(Rb′=Rb/NU)
Rb *——每个分组中实际所需要进行分配的比特总数(Rb *=Rb′/L)
本发明所提出的一种用于OFDM***自适应调制的比特和功率分配算法,其主要步骤可以简述为:首先,根据***应用环境,以及***采用的自适应分配处理器的数目,确定子信道的分组数目NU,以及每个分组中的子信道簇包含的子信道数目L;其次,对所有NC个需要分配比特和功率的子信道,按照它们在频谱中的位置,进行等间隔划分,分成NU个分组,每个分组中包含相同数目的子信道;然后,在每个分组中分别进行比特和功率的分配:在每个分组中进行比特和功率的分配时,首先按照子信道增益的幅度的大小,对该分组中的子信道按从小到大或者从大到小的顺序进行排序;然后在每个分组中,将排序后的子信道,按连续划分的方式,分成NS个子信道簇(NS=NC/(LNU)),每个子信道簇中包含的子信道数目均为L;接下来为每个子信道簇生成一个采样子信道,生成采样子信道的方案可以选择“最小增益”方案或“倒数平均”方案;接着在所有采样子信道上按贪婪分配的方法进行比特分配,按贪婪分配的方法进行比特分配时,实际所需分配的比特数为Rb/(LNU);比特分配完后,将各采样子信道上分配的比特数目,复制给对应的子信道簇中的各个子信道;最后分别计算每个子信道所需要的信号功率。比特和功率的分配过程结束。
本发明算法的流程图如说明书附图中的图1所示。
下面对本发明算法的各个步骤进行详细说明。
首先,根据***应用环境,以及***采用的自适应分配处理器的数目,确定子信道的分组数目NU,以及每个分组中的子信道簇包含的子信道数目L。
***中的自适应分配处理器的数目,由***硬件复杂度要求决定。这些处理器具有相同的功能,并且能够并行运行。每个分组中的比特和功率分配,分别由一个分配处理器来完成。因此子信道的分组数目NU不大于***中的自适应分配处理器的数目。NU和L的选择,应该根据在不同应用环境下,算法的性能与算法的复杂度之间的关系来确定。所遵循的准则是,在达到***性能要求的前提下,使算法的复杂度最低。算法的复杂度是由NU和L这两个参数决定的。NU和L越大,算法的复杂度越低,分配过程所需要的时间也越短。不同环境下***的性能与算法的复杂度的关系,可以通过预先对***在特定环境下,在不同的NU和L数值下的性能仿真来得到。另外,子信道的分组数目NU必须能够整除子信道的总数NC,以保证每个分组中有相同数目的子信道。并且L能够整除NC/NU,以保证每个子信道簇中能够包含相同数目的子信道。一般来说,NC、NU和L都是2的整数次幂。
算法的第二步是,对所有需要分配比特和功率的子信道,按照它们在频谱中的位置,进行等间隔划分,分成NU个分组,每个分组中包含相同数目的子信道。对信道进行等间隔划分的方式如说明书附图中图2所示。每个分组所包含的子信道数目NC′按照下式计算
NC′=NC/NU
对子信道进行分组的作用是,经过分组后,比特和功率的分配可以在这些分组中并行的进行,这样完成分配过程所需要的时间可以有效降低。另一方面,经过分组后,每个分组中的子信道数目和待分配比特数目均为下降为原来的1/NU,这样每个分配处理器硬件的复杂度可以大大减小,完成分配过程所需时间也可以大大减少,便于实际当中的应用。对信道分组时采用等间隔划分方式的原因是,由于算法中规定每个分组中的待分配比特总数都是相等的——为了使这一结果符合或接近最优的比特分配结果,每个分组中子信道的传输特性整体上应该比较接近。采用等间隔划分的方式时,将相邻的、处于相关带宽之内的几个子信道(它们具有相似的传输特性),划分到不同的分组中去,可以保证各个分组中的子信道具有相近的整体传输特性。分组的数目NU应该满足的约束条件是:NU与子信道带宽的乘积,应该小于信道的相干带宽。同时,NU应该能够整除NC,以保证每个分组有相同数目的子信道。这样一方面能够保证每个分组的传输特性整体上比较接近,另一方面也简化了分配过程的复杂度。
分组完成后,将待分配的比特总数,平均分给各个分组。每个分组中所要需要分配的比特数目Rb′按照下式计算
Rb′=Rb/NU
算法的第三步,就是在各个分组中同时分别进行比特和功率的分配。每个子信道分组中,比特和功率分配的过程主要包括六个步骤:排序,划分子信道簇,生成采样子信道,按贪婪分配方法分配比特,复制比特数目,计算子信道所需功率。
在每个分组中进行比特和功率的分配时,首先要按照子信道增益的幅度的大小,对每个分组中的子信道进行排序。排序可以按照从大到小的顺序进行,也可以按照从小到大的顺序进行。经过信道估计、子信道分组后,得到的第i个分组中的子信道的信道增益集合可以表示为{Hi,j|j=1,2,…,NC′},其中i=1,2,…,NU。经过排序后,得到第i个分组中的子信道集合可以表示为{Hi,j′|j=1,2,…,NC′},该集合满足下列关系
|Hi,1′|≤|Hi,2′|≤…≤|Hi,NC′-1′|≤|Hi,NC′′|
或者
|Hi,1′|≥|Hi,2′|≥…≥|Hi,NC′-1′|≥|Hi,NC′′|
其中函数|x|表示复数x的幅度值。
排序完成之后,需要进行子信道簇的划分。划分子信道簇时,是在每个分组中,将排序后的子信道分成Ns个子信道簇。划分子信道簇采用的是连续划分的方式。即在排序后的子信道中,将相邻的几个子信道划分为一簇。每个子信道簇包含相同数目的子信道。划分子信道簇的方式如说明书附图中图2所示。分成的子信道簇的总数NS,按照下式计算
NS=NC′/L=NC/(LNU)
采用这种先排序、再连续划分的方式,可以使每个子信道簇中的各个子信道增益的幅度值非常接近。在算法中,每个子信道簇中的各个子信道最终被分配的比特数目是相同的。而按照最优的比特和功率分配算法进行分配时,那些信道增益的幅值非常接近的子信道,最终很有可能被分配相同的比特数目。因此采用这种先排序、再连续划分的方式,可以使最终得到的比特和功率分配结果与最优的比特和功率分配结果非常接近。这样在保证算法性能的同时,能够使接下去的比特和功率分配过程得以简化。
排序和划分子信道簇完成之后,需要为每个子信道簇生成一个对应的“采样子信道”。采样子信道的增益,是对应的子信道簇中所有子信道的增益的函数。生成采样子信道的方案有两种可供选择:“最小增益”方案和“倒数平均”方案。
“最小增益”方案,是取每个子信道簇中,所有子信道的增益幅度值中的最小值,作为该子信道簇对应的采样子信道的增益。如果第i个分组中,第m个子信道簇中的子信道增益幅度可表示为 其中i=1,2,…,NU,m=1,2,…,NS。则第i个分组中的第m个子信道簇对应的采样子信道增益|H|m i可以表示为
其中函数min[X]表示取集合X中的最小值元素。
“倒数平均”方案,是取每个子信道簇中,所有子信道的增益幅度倒数的平均值,作为该子信道簇对应的采样子信道的增益的倒数值。如果第i个分组中,第m个子信道簇中的子信道增益幅度可表示为 其中i=1,2,…,NU,m=1,2,…,NS。则第i个分组中的第m个子信道簇对应的采样子信道增益|H|m i可以表示为
实际应用中选择“最小增益”方案还是选择“倒数平均”方案,应该综合考虑算法性能要求和硬件复杂度要求来决定。“倒数平均”方案的运算复杂度要高于“最小增益”方案,但是性能要比“最小增益”方案好。如果实际应用中,对算法性能要求很高,而允许较高一些的运算复杂度,可以选择“倒数平均”方案。如果实际应用中,对算法性能要求不是很高,但是只允许较低的运算复杂度,可以选择“最小增益”方案。
生成采样子信道完毕后,按照贪婪分配算法进行比特分配。按照贪婪分配方法进行比特分配的过程,是分别在每个分组中的采样子信道上进行的,而不是在所有子信道上进行的。并且每个分组中的比特和功率分配过程是可以并行进行的。
在每个分组中,按照贪婪分配算法进行比特分配时,所需要考虑的子信道的总数即为采样子信道的总数NS(或每个分组中子信道簇的总数)。由于最终的分配结果中,每个子信道簇中的所有子信道分配的比特数目相同。因此,在每个分组中的NS个采样子信道上进行比特分配时,实际所需要分配的比特总数R*为
R*=Rb′/L=Rb/(LNU)
由此可见,按照本发明提出的算法,在按照贪婪分配方法进行比特和功率分配时,实际所需要考虑的子信道数目仅为所有子信道数目的1/(LNU),并且所需要分配的比特数目也为所有待分配比特总数的1/(LNU)。因此实际的比特和功率分配过程复杂度大大降低了。
按照贪婪分配方法进行比特分配时,考虑实际***当中采用的调制方式为正交幅度调制(QAM,Quadrature Amplitude Modulation)。比特分配过程中,计算第j个子信道发送bj个比特时所需要的信号平均功率Pj时,按照下式计算
其中P
j n是第j个子信道中的噪声平均功率。K是一个常数,仅由***的目标误码率决定。不同目标误码率下的K值,可以参照下表选择
目标误码率Pe |
10-2 |
10-3 |
10-4 |
10-5 |
10-6 |
10-7 |
K |
1.9 |
3.3 |
4.8 |
6.2 |
7.7 |
9.1 |
按照贪婪分配方法分配比特时,需要确定比特分配步长和子信道所允许的最大比特数目。这些由实际***中可用的调制方式决定。例如,如果***所有可用调制方式为{0,BPSK,QPSK,8QAM,16QAM,32QAM,64QAM,128QAM}(其中0表示该子信道不发送信号),它们对应的每个调制后的符号包含的比特数分别为0、1、2、3、4、5、6、7。那么比特分配步长为1,每个子信道的最大比特数目为7。类似的,如果***所有可用调制方式为{0,QPSK,16QAM,64QAM},它们对应的每个调制后的符号包含的比特数分别为0、2、4、6。那么比特分配步长为2,每个子信道的最大比特数目为6。
在每个分组的采样子信道上,按照贪婪分配方法进行比特分配的过程如下:
1.进行初始化,设置所有采样子信道当前分配比特数目为0。即令bm=0,m=1,2,…,NS。计算所有待分配比特总数R*=Rb/(LNU)。
2.分别计算每个采样子信道增加d个比特时,所需要增加的平均传输功率ΔPm(这里d为比特分配的步长,由实际***所采用的调制方式决定),计算按照下式进行
其中m=1,2,…,NS,D为每个子信道所能被分配的比特数目的最大值(由实际***中采用的最高阶的调制方式决定)。Pm(b)表示第m个采样子信道每符号传输b个比特时,所需要的信号平均功率,按照(*)式计算。
3.找到功率增量值最小、且不为零的采样子信道m0,将该采样子信道当前分配比特数增加d。即
4.计算当前分配的比特总数
如果Rtot<R*,返回到第2步。如果
所有的待分配比特均已分配完毕,比特分配过程结束。
在每个分组中,按照贪婪分配方法进行比特分配的过程结束后,将每个采样子信道被分配的比特数,复制给对应的子信道簇中的所有子信道。这样,每个子信道簇中的所有子信道有相同的比特数目。所有比特均已经分配完毕。
所有比特分配完毕后,在每个分组中,分别计算每个子信道所需要的信号平均功率。信号平均功率按照(*)式来计算。
至此,比特和功率的分配过程全部结束。
比特和功率的分配过程完成后,OFDM***根据分配的结果,在各个子信道上进行调制、功率调整,然后再经过IFFT变换、加循环前缀等工作,得到OFDM符号,并将OFDM符号调制到射频上,发射到信道中进行传输。
整个比特和功率分配过程的主要步骤可归纳如下:
第一步,根据***应用环境,以及***采用的自适应分配处理器的数目,确定子信道的分组数目NU,以及每个分组中的子信道簇包含的子信道数目L。
第二步,对所有子信道,按照它们在频谱中的位置,进行等间隔划分,分成NU个分组,每个分组中包含相同数目的子信道。
第三步,在每个分组中,分别进行比特和功率的分配。每个分组中的比特和功率分配过程如下:
(1)按照分组中子信道增益的幅度的大小,对该分组中的子信道按从小到大或者从大到小的顺序进行排序。
(2)将排序后的子信道,按连续划分的方式,分成NS个子信道簇(NS=NC/(LNU)),每个子信道簇中包含的子信道数目均为L。
(3)选择“最小增益”方案或“倒数平均”方案,为每个子信道簇生成一个采样子信道。
(4)在所有采样子信道上按贪婪分配的方法进行比特分配。
(5)将各采样子信道上分配的比特数目,复制给对应的子信道簇中的各个子信道。
(6)分别计算每个子信道所需要的信号平均功率。
比特和功率的分配过程结束。
本发明除了可以用于固定数据速率的通信***,使***所需要的信号平均功率最小化,也可以用于在数据速率和信号总功率一定的条件下,使***的余量最大化(***余量是指***在保持一定误码率性能时所能容忍的信噪比的下降量,表示***的抗干扰能力)。具体过程可以这样来进行:在比特和功率分配完毕之后,计算各子信道当前分配功率之和
然后计算额定的信号总功率PT与Ptot的比值k=PT/Ptot,即
最后,将各个子信道分配的功率值Pi′调整为原来分配功率值的k倍,即Pi′=kPi(i=1,2,…,NC),即为各个子信道最终分配的功率。此时各个有信号传输的子信道具有相同的余量,并且该余量为最大化的余量。
本发明最大的特点是,分配过程可以在多个分组中并行进行,分配过程所需时间与一个分组中的分配过程所需时间相等。并且,每个分组中,比特分配不是在所有子信道上进行,而是在一些采样子信道上进行,分配过程中需要考虑的子信道数目和比特数目大大减少,每个分组中的运算复杂度很低,分配过程所需时间很短。因此,与现有的分配算法相比,本发明的最大优点是,算法复杂度非常低,运算时间也非常小。有利于降低硬件成本,提高硬件的自适应分配的响应时间。同时,在参数选择合适的时候,算法分配结果与最优的比特和功率分配结果非常接近,因此算法的性能非常接近最优的性能。
另一方面,算法的复杂度可以通过调整算法中的参数来调节。在保证***性能要求的同时,可以根据信道条件的好坏,来灵活的调整算法的参数,以使算法的复杂度最低。因此在实际应用中具有很高的灵活性。
为说明本发明算法在复杂度方面的优势,下面将本发明算法与已有的两种分配算法的复杂度进行比较。其中一种算法是比较有名的Hughes-Hartogs算法。另一种是由S.K.Lai提出的在Hughes-Hartogs算法基础上进行简化的一种算法。下表列出了这几种算法在分配过程中各自所需要的比较次数、除法次数和查表次数。
上表中M为***可用调制方式的总数。从上表中可以看出,在***当中,本发明方法的复杂度主要由NU和L的乘积决定。NU和L的乘积越大,算法所需要的运算次数越少,算法的复杂度越低。另外,当NU和L的乘积固定时,NU越大,算法所需要的运算次数也越少,算法的复杂度越低。当NU和L大小选择合适时,本发明方法与其他两种算法相比,所需要的运算复次数能够大大减少,算法的复杂度能够有效的降低。尤其当OFDM***的子信道数目和传输速率比较大的时候,复杂度降低的效果更为明显。因此本发明更有利于在实际当中的应用。
具体实施方式
在FDD(频分双工)通信***中,本发明可以放在发射端来实现、作为发射机功能的一部分,也可以放在接收端来实现、作为接收机功能的一部分。(注:当接收机发射数据、发射机接收数据时,这里所说的发射机和接收机角色互换。)
如果本发明放在发射端来实现,发射端首先发送导频信号,接收端接收到导频信号后,对所有子信道的信道增益进行估计,同时估计各子信道噪声功率值。估计完成之后,接收端把这些估计信息反馈到发射端。发射端解调出这些信道信息之后,即进行比特和功率的分配,确定各子信道的调制方式和发送信号功率,然后对各子信道的数据进行调制、功率调整,将信号发送到信道中。同时,发射端还要把比特和功率的分配的结果发送到接收端(采用接收端已知的信号格式)。接收端首先解调出比特和功率的分配的结果、得到自适应调制参数的信息,然后对接收到的自适应调制信号进行解调。
如果本发明放在接收端来实现,发射端首先发送导频信号,接收端接收到导频信号后,对所有子信道的信道增益和各子信道噪声功率值进行估计。估计完成之后,接收端根据这些信道估计信息,进行比特和功率的分配,确定发送端发送信号时各子信道的需要采用的调制方式和信号功率,然后把比特和功率分配的结果反馈给发射端(采用发送端已知的信号格式)。发送端根据接收端反馈回来的比特和功率分配结果,对各子信道的数据进行调制、功率调整,将信号发送到信道中。接收端接收到信号后,即可以对接收到的信号进行正确解调(此时接收端对自适应调制参数的信息是已知的)。
在TDD(时分双工)通信***中,除了可以采用与FDD***相同的应用方式之外,还可以采用如下的工作方式:发射端首先根据从接收端发送过来的数据信号或者导频信号,对信道进行估计,得到各子信道的增益值和噪声功率。然后进行比特和功率的分配,确定发送信号时各子信道的需要采用的调制方式和信号功率。然后按照分配结果,调制和发射信号。同时,发射端也要把自适应调制的信息发送到接收端(采用接收端已知的信号格式,使接收端能够正确解调信号。
比特和功率自适应调整的周期应根据实际信道变化的快慢来优化选取。
分组数目NU和每个子信道簇中包含的子信道数目L的选择,应该根据在不同应用环境下,算法的性能与算法的复杂度之间的关系以及实际***的硬件复杂度要求来确定。所遵循的准则是,在达到***性能要求的前提下,使算法的复杂度最低。实际应用时,应首先针对应用环境的信道传输特性,通过测量或者仿真,得出在不同数据速率时NU和L与***性能之间的关系。然后根据***性能要求,综合考虑***硬件复杂度的要求,选取在满足***性能要求条件下、使***复杂度最低的NU和L的值。
NU和L的选择,一般先确定NU。NU主要由***的硬件复杂度决定。由于实际当中可以用一个自适应分配处理器来处理一个分组中的比特和功率分配,因此NU的最大值一般可以取为***中自适应分配处理器的数目。***中自适应分配处理器的数目一般可以取1,2,4,8等2的整数次幂。
确定NU之后,就可以通过在特定环境下,NU和L与***性能之间的关系来确定L的值。根据在特定环境下NU和L与***性能之间的关系曲线,可以找到满足***性能要求的最大的L的值,作为算法实际用到的参数值。一般来说,L的值可取为1,2,4,8等2的整数次幂。
实际应用当中,NU和L都可以随着信道传输特性的变化来进行调整。进行调整的准则也是在满足***性能要求的前提下,使算法的复杂度最低。例如,当信道的频率选择性特性变弱、信道相关带宽变宽时,可以增大NU和L,以降低***复杂度。而当信道的频率选择性特性变强、信道相关带宽变窄时,可能需要减小NU和L以满足***性能要求。这些调整需要对信道的传输特性进行估计。
下面结合一个例子,来说明算法的执行过程。
一个OFDM***的主要参数如下:
子载波数目(NC) |
512 |
数据速率 |
400Mbps |
目标误码率 |
10-5 |
每次分配比特总数(Rb) |
2560 |
可用调制方式 |
0,QPSK,16QAM,64QAM,256QAM |
首先,需要确定NU和L的取值。
为降低复杂度,在生成采样子信道时,***采用“最小增益”方案。考虑该***在开阔的室内环境中的应用。进行计算机仿真时,采用的信道模型为开阔的室内环境信道模型。通过计算机仿真,得到在采用“最小增益”方案时,***达到目标误码率10-5所需要的比特能量与噪声功率谱密度的比值(Eb/N0),与NU和L之间的关系曲线,如说明书附图中图4所示。图中还标出了达到最优的比特和功率分配结果时***的性能曲线(用方框标注的曲线)。
根据实际***中硬件复杂度的要求,***中自适应分配处理器的数目为4,因此可以选择NU=4。确定了NU的值后,再根据***性能要求,来确定L的值。如果***要求在达到目标误码率时,所需要的Eb/N0的值不超过19dB,在上图中NU=4的那条曲线上,找到满足Eb/N0<19dB时的最大的L的值为24=16,则选择L=16。如果要求所需要的Eb/N0的值不超过18.6dB,在上图中NU=4的那条曲线上,找到满足Eb/N0<18.6dB时的最大的L的值为23=8,则选择L=8。假设实际中***选择L的值为16。
确定了NU和L的值后,***即可进行比特和功率的分配。在每次分配过程的开始,首先通过信道估计,得到512个子信道的信道增益的幅度值。将这512个信道幅值,按照等间隔划分的方式(参见附图2),分成4组,每组包含NC′=512/4=128个子信道。然后,将4个分组各自所包含的128个信道幅值,分别送进4个自适应分配处理器中,在4个处理器中同时进行比特和功率的分配。在每个处理器中,首先对128个信道幅值进行排序,再将排序后的信道幅值,按照连续划分的方式(参见附图3),分成NS=128/16=8个子信道簇,每个子信道簇包含16个子信道。然后为每个子信道簇生成一个对应的采样子信道。根据“最小增益”方案,计算得到每个采样子信道的信道增益幅值。接下来,在采样子信道上,按照贪婪分配方法,进行比特分配。分配时需要注意,在每个处理器中进行比特分配,实际所需分配的比特数目为Rb *=2560/(4×16)=40。根据***可用调制方式,可以得到比特分配的步长为d=2,并且每个子信道最大允许比特数目为8。比特分配完毕后,将8个采样子信道上的比特数,分别复制给对应的子信道簇中的16个子信道。最后,分别为每个子信道,计算各自所需要的发送功率。这样,比特和功率分配过程完成。
从可用调制方式可以看到,比特分配的步长为d=2,可用调制方式总数为M=5,每个子信道最大允许比特数目为D=8。下表给出了N
U=4、L=16时,本发明算法以及Hughes-Hartogs算法和S.K.Lai算法各自的运算复杂度。
分配算法 |
Hughes-Hartogs算法复杂度 | S.K.Lai算法复杂度 |
本发明算法复杂度(每个分组中) |
比较次数 |
654,080 |
9728 |
1036 |
除法次数 |
1791 |
1284 |
131 |
查表次数 |
1791 |
1284 |
11 |
由上表可见,通过本发明提出的算法,每个自适应分配处理单元所需要的运算复杂度大大降低,则每个自适应分配处理器的硬件复杂度可以大大降低,自适应分配处理器的响应时间大大减少,并且***性能接近于最优的性能。因此本发明算法适合于实际当中的应用。