1 MIMO系统的3种主要技术
当前,MIMO技术主要利用发射分集的空时编码、空间复用和波束成型等3种多天线技术来提升无线传输速率及品质。
1.1 发射分集的空时编码
基于发射分集技术的空时编码主要有2种,即空时分组码(STBC)和空时格码(STTC)。虽然空时编码方案不能直接提高数据率,但是通过这些并行空间信道独立、不相关地传输信息,从而使信号在接收端获得分集增益,为数据实现高阶调制创造条件。
1.1.1 空时分组码(STBC)
STBC在发射端对数据流进行联合编码以减小由于信道衰落和噪声所导致的符号错误率,它通过在发射端增加信号的冗余度,使信号在接收端获得分集增益,空时分组码是将同一信息经过正交编码后从多根天线发射出去。MIMO系统的原理如图1所示,传输信息流s(k)经过空时编码形成N个信息子流 ci(k),i=1,...,N。这N个信息子流由N个天线发射出去,经空间信道后由M个接收天线接收。多天线接收机利用先进的空时编码处理能够分开并解码这些数据子流,从而实现最佳的处理。特别是这N个子流同时发射信号,各发射信号占用同一频带,因而并未增加带宽。若各发射接收天线间的通道响应独立不相关,则多入多出系统可以创造多个并行空间信道。
STBC是1998年,Alamouti提出的一种非常简单的发射分集技术,由于其简单的结构和良好的性能,很快进入了3GPP标准。STBC实质上是将同一信息经过正交编码后从2个天线上发射出去,2路信号由于具有正交性,在接收端就能将2路独立的信号区别出来,只需要做简单的线性合并就可以获得分集增益。
但是,STBC的正交码组的构建还存在一定的问题。对于实数信号星座(PAM星座),它才可以构造编码速率为1的空时编码算法。但是,对于一个普通的复数信号星座,例如MQAM(如16QAM)或MPSK(如8PSK),当发射天线阵子数目大于2时,是否存在编码速率为1的码组还有待更深入的研究。目前对于发射天线阵子数目等于3、4以及大于4的系统,如果采用复数信号星座,那么最大的空时编码速率只能达到3/4和1/2。可见,对于采用高阶调制的高速率多天线的无线通信系统,如果直接采用空时分组编码算法,不可能充分地利用系统的有效性。因此,寻找更好的空时分组码目前已成为一个研究方向;另外,如何在频率选择性信道、时间选择性信道中充分利用空时分组码的优势也是一个研究课题。总之,当前STBC还是基于发射天线阵子数目等于2的发射分集技术。
1.1.2 空时格码(STTC)
STTC是从空时延迟分集发展来的,而空时延迟分集可以看作是空时格码的一个特例。空时格码具有卷积码的特征,它将编码、调制、发射分集结合在一起,可以同时获得分集增益和编码增益,并且使得系统的性能有很大的提升。空时格码利用某种网格图,将同一信息通过多个天线发射出去,在接收端采用基于欧式距离的Viterbi译码器译码。因此译码复杂度较高,而且译码复杂度将随着传输速率的增加呈指数增加。
早期的分集模型采用延时发送分集,这种分集的框图如图2所示。编码后的数据首先被重复一次,然后通过一个串/并转换器,分成2个完全相同的数据流。其中一数据流经过调制后直接从一个天线发送出去;另一数据流经过一个符号的延时后,再经调制从另一个天线发送出去。由于数据在2个天线上同时发送,不同的只是一路数据被延时了一个符号,所以尽管采用了延时编码,却不会存在频带效率的损失。在接收端,通过Viterbi译码可以进行解调。这种延时的分集就是空时码的雏形。可以证明当前所讲的STTC可以由延时发送分集实现。
延时分集技术的产生使人们很自然地想到,能否存在一种更好的编码方式,不需要重复编码,就能在保持同样的数据速率、不牺牲带宽的情况下获得更好的性能,这样就产生了一种新的编码方式,这就是集空分、时分、调制于一体的空时编码。
在空时编码中,STTC能够在不增加传送宽带和不改变信息速率的情况下,获得最大的编码增益和分集增益。
1.2 空间复用
系统将数据分割成多份,分别在发射端的多个天线上发射出去,接收端接收到多个数据的混合信号后,利用不同空间信道间独立的衰落特性,区分出这些并行的数据流。从而达到在相同的频率资源内获取更高数据速率的目的。空间复用与发射分集技术不同,它在不同天线上发射不同信息。
空间复用技术是在发射端发射相互独立的信号,接收端采用干扰抑制的方法进行解码,此时的空口信道容量随着天线数量的增加而线性增大,从而能够显著提高系统的传输速率(见图3)。
使用空间复用技术时,接收端必须进行复杂的解码处理。业界主要的解码算法有迫零算法(ZF)、MMSE算法、最大似然解码算法(MLD)和贝尔实验室分层空时处理算法(BLAST)。
迫零算法,MMSE算法是线性算法,比较容易实现,但对信道的信噪比要求较高,性能不佳;MLD算法具有很好的译码性能,但它的解码复杂度随着发射天线数量的增加呈指数增加,因此,当发射天线的数量很大时,这种算法是不实用的;综合前述算法优点的BLAST算法是性能和复杂度最优的。
BLAST算法是贝尔实验室提出的一种有效的空时处理算法,目前已广泛应用于MIMO系统中。BLAST算法分为D-BLAST算法和V-BLAST算法。
D-BLAST算法是由贝尔实验室的G.J.Foschini于1996年提出的。对于D-BLAST算法,原始数据被分为若干子数据流,每个子流独立进行编码,而且被循环分配到不同的发射天线。D-BLAST的好处是每个子流的数据都可以通过不同的空间路径到达接收端,从而提高了链路的可靠性,但其复杂度太大,难以实际使用。