单根发射天线和单根接收天线之间的信道容量受限于香农公式,要想在相同的频谱带宽下进一步提高信道容量,要采用多天线技术。
1. 什么是MIMO
MIMO:Multiple-Input Multiple-Output,即多入多出系统。这里的入和出是相对于发射天线和接收天线构成的天线系统来讲的。常见的通信系统都是一根发射天线和一根接收天线,如下图所示。
单个输入、单个输出,这就是单入单出系统SISO:Single-Input Single-Output。
采用了接收分集技术的系统,一根发射天线,多根接收天线,如下图所示。
单个输入、多个输出,这就是单入多出系统SIMO:Single-Input Multiple-Output。
如果发射天线和接收天线都采用多根,如下图所示。
多个输入、多个输出,这就构成了多入多出系统MIMO。
2. SISO系统信息传输速率受限于香农容量
香农公式给出了在高斯白噪声干扰的、带宽受限的信道上实现无差错传输的信息速率的最大值,也就是信道容量。要想进一步提高传输速率,需要在发射机和接收机之间使用多对天线。
3. 为什么MIMO能提高传输速率
考虑一种极端的情况。如下图所示,将2对收发天线拆掉,直接用2根射频电缆将发射机和接收机连起来。
两根射频电缆可以互不干扰地并行传送两路数据,发射机和接收机之间的信道容量整整提高了一倍。很明显,如果用N根射频电缆并行传送N路数据,信道容量可以提高到单根射频电缆的N倍。
如果不用射频电缆,而是用N对天线发送和接收,信道容量能够提高到一对天线的N倍吗?直观来看,是有可能的,前提是每对收发天线和其他天线对的距离要足够远。
如下图所示,只要TX1与TX2距离足够远,而且RX1与RX2距离足够远,TX1向RX1发送信号、TX2向RX2发送信号,二者就会互不相干,容量就可以提高一倍。
4. MIMO信道建模
前面讲的场景比较极端,两对天线距离要足够远,各自收发数据互不相干,因此容量可以提高一倍。实际上,受限于发射机和接收机的尺寸,两对天线之间的距离不可能很远,特别是终端尺寸一般都很小,天线间的距离自然也很小,这种情况下还可能利用MIMO来提升容量吗?要解答这个问题,需要为MIMO信道建模进行深入分析。
4.1 双入双出
以比较简单的双入双出系统为例,如下图所示。
这其中
天线的输入信号和输出信号应该都是射频信号,为什么这里却注明是基带数据呢?这与信道模型中隐含了IQ调制和解调有关,如下图所示。
在2对收发天线之间存在4条传输通道,信道增益如下表所示。
假定输入两个发射天线的基带数据分别为s1和s2,从两个接收天线输出的基带数据分别为y1和y2,则通过信道模型图很容易得到输出基带数据与输入基带数据和信道增益的关系:
为了简洁起见,一般用矩阵来表示信道增益、输入和输出基带数据。输入和输出基带数据构成输入矩阵S和输出矩阵Y,信道增益构成信道矩阵H:
由输出基带数据与输入基带数据和信道增益的关系,很容易得到输出矩阵与输入矩阵和信道矩阵的关系:Y=HS。
4.2 多入多出
在前面对双入双出系统的分析基础上,再来看一下Nt入Nr出的MIMO系统信道模型,如下图所示。
通过信道模型图很容易得到输出基带数据与输入基带数据和信道增益的关系:
为了简洁起见,一般用矩阵来表示信道增益、输入和输出基带数据。输入和输出基带数据构成输入矩阵S和输出矩阵Y,信道增益构成信道矩阵H:
注:信道矩阵的行数=接收天线的个数Nr,列数=发送天线的个数Nt。由输出基带数据与输入基带数据和信道增益的关系,很容易得到输出矩阵与输入矩阵和信道矩阵的关系:Y=HS。
4.3 MIMO信道矩阵
MIMO信道矩阵:
信道矩阵是由信道增益组成的:
第1行:由第1、2、3、…、Nt根发射天线到第1根接收天线之间的信道增益组成。
第2行:由第1、2、3、…、Nt根发射天线到第2根接收天线之间的信道增益组成。
……
第Nr行:由第1、2、3、…、Nt根发射天线到第Nr根接收天线之间的信道增益组成。
信道矩阵在MIMO系统扮演了重要角色,下来对信道矩阵在各种场景下的特征进行分析。
a 天线间距非常大
天线间距足够大时,相当于使用射频电缆将N对发射天线和接收天线用直连起来,让接收天线n只能接收来自于发射天线n的信号,屏蔽了来自其他发射天线的信号,如下图所示。
信道增益中除了h11、h22、h33、…、hNN外,其他的hmn都等于零,即:
很明显输出基带数据和输入基带数据及信道增益的关系如下:
在已知输出基带数据和信道增益的情况下,很容易得到输入基带数据:
下面利用矩阵来进行分析。这种场景下的信道矩阵H是一个对角阵:
输出矩阵Y与输入矩阵S及信道矩阵H的关系是:Y=HS,即:
已知输出矩阵Y和信道矩阵H的情况下,可以得到输入矩阵:S=H-1Y
b 接收天线间距非常小
因为:接收天线的间距非常小,如下图所示。
所以,同一发射天线到所有接收天线之间的信道增益都是相同的。
输出基带数据和输入基带数据及信道增益的关系如下:
通过上面的方程组,我们除了得到y1=y2=…=yNr=S1h1+S2h2+…+SNthNt外,无法从中解出输入基带数据s1、s2等。
这种场景下信道矩阵有什么特征呢?
很明显同一列的元素都相同。
c 发射天线间距非常小
因为:发射天线的间距非常小,如下图所示。
所以,所有发射天线到同一接收天线之间的信道增益都是相同的。
输出基带数据和输入基带数据及信道增益的关系如下:
这种场景下信道矩阵有什么特征呢?
很明显同一行的元素都相同。
4.4 MIMO系统可以并行传输几路数据
前面讲的这三种场景比较极端,可以很容易判断出来可以并行传输几路数据。
收发天线间距非常大:可以并行传送N路数据。
接收天线间距非常小:只能传送1路数据。
发射天线间距非常小:只能传送1路数据。
对于一般场景,如何判断可以并行传送几路数据呢?
a 双入双出系统
先看一下最简单的双入双出系统,即MIMO 2×2,如下图所示。
输出和输入的关系:
这个方程组中输出基带数据(y1、y2)和信道增益(h11、h12、h21、h22)是已知的,输入基带数据(s1、s2)是未知的。
如果:
则:y1=s1h11+s2h12=as1h21+as2h22=ay2
原来的方程组化为:
这个方程组是解不出s1和s2的,因此这种情况下系统只能传送1路数据。
例如:
对应的方程组:
是可以解出s1和s2的,因此这种情况下系统是可以并行传送2路数据的。
b 四入四出系统
再看一下四入四出系统,即MIMO 4×4,如下图所示。
输出和输入的关系:
这个方程组中输出基带数据(y1、y2、y3、y4)和信道增益(h11、h12、h13、h14等)是已知的,输入基带数据(s1、s2、s3、s4)是未知的。
直接解这个方程组有点复杂,下面举例子来看。
h11=0.9;h12=0.8;h13=0.5;h14=0.5
h21=0.6;h22=0.7;h23=0.8;h24=0.2
h31=0.3;h32=0.5;h33=0.1;h34=0.9
h41=0.8;h42=0.3;h33=0.2;h44=0.6
对应的方程组:
四个方程,四个未知数,s1、s2、s3、s4是可以解出来的,因此这种情况下系统是可以并行传送4路数据的。
再来看一个例子。
h11=0.9;h12=0.8;h13=0.5;h14=0.5
h21=0.6;h22=0.7;h23=0.8;h24=0.2
h31=0.3;h32=0.35;h33=0.4;h34=0.1
h41=0.8;h42=0.3;h43=0.2;h44=0.6
对应的方程组:
其中方程(8-2)的系数正好是方程(8-3)的2倍,也就是y2=2y3,这两个方程是等价的,换句话说上面的方程组实质上只包含3个方程,未知数却有4个,是不可能解出s1、s2、s3、s4的。
如果减少一个未知数,例如:令s4=s3,得
去掉其中第3个方程,得
三个方程,三个未知数,s1、s2、s3是可以解出来的,因此这种情况下系统是可以并行传送3路数据的。
再看一个更复杂的例子。
h11=0.60;h12=0.70;h13=0.80;h14=0.20
h21=0.30;h22=0.50;h23=0.10;h24=0.90
h31=0.00;h32=0.15;h33=-0.3;h34=0.80
h41=0.48;h42=0.50;h43=0.76;h44=-0.16
对应的方程组:
其中:
2y2=0.6s1+1.0s2+0.2s3+1.8s4
2y2-y1=0.0s1+0.3s2-0.6s3+1.6s4=2y3
也就是方程(8-7)可以由前两个方程(8-5)和(8-6)推导出来。
2y1=1.2s1+1.4s2+1.6s3+0.4s4
2y1-y3=1.2s1+1.25s2+1.9s3-0.4s4=2.5y4
也就是方程(8-8)可以由方程(8-5)和(8-7)推导出来,而第3个方程(8-7)又可以由前两个方程(8-5)和(8-6)推导出来,所以这个方程组中有效的方程实质上只有前面2个。
只要减少2个未知数,例如:令s3=s1,s4=s2,可得:
根据前面的分析,利用前面的2个方程就可以解出1s和2s。
因此这种情况下系统只可以并行传送2路数据。
4.5 信道矩阵的秩
通过上面的分析,可以得知:先根据MIMO系统输出基带数据与输入基带数据(未知数)和信道增益的关系列出方程组:
再找出方程组中有效的方程个数,就可以知道MIMO系统可以并行传送几路数据了。
对于有Nt个未知数、Nr个方程的方程组,有效方程个数最大不会超过min{Nt,Nr}。
找出方程组中有效方程的个数,这个计算过程很麻烦,有没有什么更好的办法呢?
找出方程组中有效方程个数的过程,实质上就是分析组成方程组的各方程之间的关系,如果某方程可以由其他方程经过线性运算得到,这个方程就是无效方程,找出所有的无效方程,剩下的就是有效方程。
而方程之间的关系与方程中未知数前面的系数密切相关,只要搞清楚各方程系数之间的关系,就可以找出有效方程。
方程中未知数是输入基带数据,未知数前面的系数是什么?信道增益!
前面讲过:如果将MIMO系统输出基带数据、输入基带数据、信道增益分别用矩阵Y、S、H来表示,则MIMO系统输出与输入和信道增益的关系可以表示为:Y=HS。
其中:
要研究方程组中各方程的关系,只要研究信道矩阵H就可以了。
如果信道矩阵H的某一行可以用其他行的线性运算得到,那这一行对应的那个方程就是无效的。因此我们可以对信道矩阵H进行线性变换,将可以用其他行的线性运算得到的那些行变换为零,剩下的非零行数就是有效方程的个数,也就是MIMO系统可以并行传送的数据路数。
事实上,上述计算过程就是求矩阵H的秩的过程。因此,MIMO系统可以并行传送的数据路数可以通过求矩阵H的秩得到。
看一下前面这个例子:
对应的信道矩阵:
对此矩阵进行线性变换:
非零行数为2,该矩阵的秩为2,因此系统可以并行传送2路数据,这与前面得出的结论是相同的。
下来看一下信道矩阵的秩的含义。
信道矩阵H是一个Nr×Nt矩阵,行数为Nr,列数为Nt。
如果向量组中至少有一个行向量可以表示为其他行向量的线性组合,则称这个向量组是线性相关的;否则称这个向量组是线性无关的。从向量组中挑出m个向量组成一个线性无关的向量组,如果m的最大取值为r,则将这个由r个向量组成的线性无关向量组称为原向量组的一个最大线性无关向量组,同时将r称为原向量组的秩。
矩阵的秩就等于构成矩阵的行向量组的秩,也就是构成矩阵的行向量组的最大线性无关向量组所含的向量个数。
从矩阵的秩的定义很容易得出:信道矩阵的秩不可能超过信道矩阵的行数Nr。
另外,信道矩阵的秩也不可能超过信道矩阵的列数Nt,这是因为:信道矩阵的列数Nt反映了方程组中未知数的个数,信道矩阵的行数Nr反映了方程组中方程的个数,当方程的个数超过未知数的个数时,其中一定有(Nr−Nt)个方程是可以表示为其他方程的线性组合,换句话说信道矩阵H中一定有(Nr−Nt)个行向量可以表示为其他行向量的线性组合,线性无关的行向量个数最多只有Nt个。
由此我们得到:
对于具有Nt根发射天线、Nr根接收天线的MIMO系统,信道矩阵的秩最大为:r=min{Nt,Nr},最多可以并行传送r路数据。
5. 空间复用和发送分集
MIMO系统中利用多根发射天线和多根接收天线来并行发送多路数据。并行发送的多路数据可以是不同的数据,也可以是相同的数据。
5.1 空间复用
SM:Spacial Multiplexing,空间复用
如果无线信道质量比较好,并且信道矩阵的秩大于1,并行发送多路不同的数据,可以提高数据传输的吞吐量,这就是空间复用,如下图所示。
5.2 发送分集
TD: Transmit Diversity,发送分集
接收机只有1根接收天线,发射机并行发送多路相同的数据,可以提高数据传输的可靠性,这就是发送分集。2T1R发送分集如下图所示。
5.3 波束赋形
多天线系统除了可以通过空间复用技术提高系统容量、通过分集技术改善无线信道的传输质量以外,还可以利用波束赋形技术将天线方向图的主瓣对准目标,改善无线覆盖和无线信道传输质量,提高频谱利用率。
a 什么是波束赋形
BF: Beam Forming,波束赋形。
波束赋形顾名思义就是赋予波束一定的形状,让波束的主瓣方向对准目标。
发射机采用多天线进行波束赋形,如下图所示。
接收机采用多天线进行波束赋形,如下图所示。
b 波束赋形原理
前面讲过波的干涉原理:P1点与波源A的距离为8个波长,与波源B的距离为6个波长,如下图所示。
波源A和B发出同频同相的正弦波,这两列波到达P1点时,刚好是同频同相的,合成的正弦波幅度是来自2个波源的正弦波幅度之和,这就是波的相涨干涉。
实际上,波束赋形就是应用了波的相涨干涉原理。以发射机的多天线波束赋形为例,就是控制从各发射天线发出的同频信号相位,让这些同频信号到达接收天线时刚好同相。
下面看一个例子。P2到波源A的距离:d1=6.5λ,到波源B的距离:d2=2λ,如下图所示。
如果波源A和B发出同频同相的正弦波,这两列波到达P2点时,刚好是同频反相的,合成的正弦波的幅度将是来自2个波源的正弦波幅度之差,这就是波的相消干涉。很明显,这种情况不是我们希望看到的,我们希望看到两列波在P2点相涨干涉。如何做才能让两列波在P2点相涨干涉呢?只要波源B延迟半个周期再将正弦波发送出去即可。
一般的移动通信系统中,发射机和接收机之间的距离远大于发射机天线间距,因此可以近似认为发射机的多根发射天线到接收天线之间的路径是平行的,与发射天线阵列法线的夹角为θ,如下图所示。
一般称夹角θ为电波传播方向角。
各发射天线到接收天线之间的路程不同,如果各发射天线发出的正弦波是同频同相的,这些正弦波到达接收天线时的相位将会各不相同,如下图所示。
假定:天线间距为d,正弦波频率为f,电磁波的传播速度为c,也就是光速。相邻发射天线发出的同频同相正弦波到达接收天线时的相位差:
带入波长的公式
得到相位差的表达式:
例如:天线间距d=3cm,电波传播方向角θ=30˚,信号频率f=2.5GHz。
只要适当调整各发射天线发出的正弦波的相位,就可以让这些正弦波到达接收机时相位完全相同,叠加后达到相涨干涉的效果,如下图所示。
通过控制各发射天线发出的射频信号的延迟,如下图所示,使得各射频信号到达接收天线时相位相同,叠加后信号得以增强。这就是发射天线波束赋形的基本原理。
信号延迟:
其中:d为天线间距,c为电磁波的传播速度,θ为电波传播方向角。同理,如果是多根接收天线,只要适当调整各接收天线收到的正弦波的相位,就可以让这些正弦波的相位完全相同,叠加后达到相涨干涉的效果,如下图所示。
通过调整各接收天线收到的射频信号的延迟,如下图所示,使得各射频信号的相位相同,叠加后信号得以增强。这就是接收天线波束赋形的基本原理。
c 如何实现波束赋形
通过前面的讲解可以知道:通过控制天线阵列各天线发射信号或接收信号的相位,就可以增强电波传播方向上的信号强度,实现波束赋形。利用这种方法实现波束赋形的天线阵列被称为相位控制阵列,简称相控阵列。
相控阵列只控制信号的相位,为了增强主瓣、降低旁瓣,达到更好的波束赋形效果,一般的天线阵列会同时控制信号的相位和幅度。
发射机的波束赋形实现原理如下图所示。
接收机的波束赋形实现原理如下图所示。