点对点MIMO信道容量
今天我介绍的内容是点对点MIMO信道容量:
将从以下几个方面进行介绍:
首先介绍基本的公式和线性代数结果。然后讨论MIMO通道的容量,接着给出容量行为的实例。最后讨论具有慢衰落MISO通道的发射机多样性。
在点对点MIMO通道的传输过程中,发射器有多个天线,接收器也有多个天线。我们将发射器的天线数量设置为K,接收器的天线我们将它们表示为m。这里面我们重点关注拥有恒定或确定性信道而不是衰落信道类型时的情况。
对于发射器和接收器上有多个天线的情况,如何求解信道的容量呢?
我们可以从一些基本的符号开始,使用这些结果推导出信道容量。
在这里,我们假设,在时间为L的时刻进行信息的传输。我们有k个发射天线。在天线1处,在时间L处发射信号
x
1
x_1
x1,在第k个发射天线处,我们在时间L发送K天线的信号
x
k
x_k
xk.
从特定天线发送的信号将到达所有不同的接收天线,意味着这里的信号
x
1
x_1
x1将与后面不同的信道响应相乘,以便到达不同的接收天线。
因此,从发射天线1到接收天线1的信道由这个复标量
g
1
,
1
g1,1
g1,1表示。从发射天线1到接收天线m的信道称为
g
m
,
1
gm,1
gm,1。然后,当我们从天线k到天线m时,称为
g
m
,
k
gm,k
gm,k.来自所有天线的信号,将乘以不同的通道响应,然后在特定的接收天线处相加。因此,第一个信号得到的多个不同的信号的总和与高斯热噪声进行相加,从而得到在天线一处的接收信号。对不同的接收天线都进行相同的过程,从而得到了来自所有发射天线的信号的总和。得到了我们所有的接收到的信号,有m个,因为我们有m个接收天线。我们也可以将天线m处的接收信号写为在时间L的
y
m
y_m
ym,然后我们就得到了所有发射天线的总和,在我们L的时间里发送的
x
k
x_k
xk的情况下,乘以信道响应
g
m
,
k
g_{m,k}
gm,k,然后添加噪声和 。得到接收信号,这里的噪声假设在不同天线之间是独立的。
因为噪声假设在不同天线之间是独立的,所以我们这里所得到的是无记忆通道,其中一个时间的传输独立于另一个时间的传输。因此,我们可以只处理一个任意时间,并丢弃时间索引,然后在该时间接受到的信号天线
y
m
y_m
ym等于发射天线上从天线k发射的信号
x
k
x_k
xk的总和。
我们将其写成更方便的矩阵形式:
将m个接受信号
y
m
y_m
ym堆叠在向量[y1,y2……
y
m
y_m
ym]。中间的每一个式子都是从不同的传输信号的总和。发射天线我们在这里有不同的信道响应,
g
1
g_1
g1到
g
M
g_M
gM就是接收天线产生差异的地方,这个表达式其他内容在这个向量中的每一行都是相同的。与噪声[
n
1
n_1
n1……
n
M
n_M
nM]相加。这里的求和也可以写成向量乘法的形式,这里的
[
x
1
,
x
2
,
⋅
⋅
⋅
x
k
]
[x1,x2,···xk]
[x1,x2,⋅⋅⋅xk]长度为k的列向量包含所有传输的信号,分别与矩阵G相乘。
因此,总的表达式可以写成粗体的
y
=
G
x
+
n
y=Gx+n
y=Gx+n
- 矩阵G他是一个m×k的矩阵,行数代表接收天线的数量,列数代表发射天线的数量。
- x表示包含发射信号的向量x。
这种带有信道矩阵和不同向量的描述不仅可以在一个接收天线处接收到信号,而且可以分析整个系统。
下面我们来考虑系统的信道容量:
我们考虑这样一种情况,发送一个向量x, 他经过一个信道矩阵G,并添加噪声,得到接收信号y.想要弄清楚清楚x发送了多少信息到y。这里有一些我们无法控制的附加噪声。并且信道容量被定义为互信息(即发射的信号x和接收的信号y).
我么就信号x进行随机分布最大化。
这里限制发射时可以使用的功率量,取平方范数x的期望这个随机数,我们希望他小于某个最大的能量q。
一般来说,互信息可以分为两个部分,一是不确定性也就是熵,减去另一部分就是条件熵。
当我们知道发射信号的熵,并且我们希望通过选择x在此功率约束条件下的分布以及受到的干扰来最大化互信息。
我们尝试通过计算熵,并找出他最大化的分布来计算容量。但我们一般不这样做,而是使用线性代数并使用接收信号和发射信号直接的矩阵向量关系进行求解。
我们先来回顾一下特征值与特征向量:
第一个是特征值与特征向量,这里面方阵A是一个
M
×
M
M×M
M×M的矩阵,u是对应的特征向量,如果将u与A相乘,得到的就是一个向量。这个向量可以使用一个标量值
λ
\lambda
λ乘以u表示,并且时与u等比例缩放并与u指向方向相同的向量。
基于特征值与特征向量,我们就可以对一个矩阵进行特征值进行分解。因此,如果矩阵A有m个线性独立地特征向量,这些向量指向不同的方向,并且他们满足线性独立性的要求,那我们就可以将矩阵A根据其特征向量和特征值进行分解。
同时如果A是对称的情况下,也就是
A
=
A
H
A=A^H
A=AH,那么矩阵
U
−
1
U^{-1}
U−1与
U
H
U^{H}
UH是相同的。这个具有单位范数列并满足此要求的矩阵就称为酉矩阵。
以上就是特征分解的概念。
下面将方阵扩展到非方阵:
类似的,对于我们的通道矩阵G来说,他可能是非方阵,因为可能有不同的发射和接收天线,对于非方阵的分解,我们称为单值分解。
对于每一个复杂的
M
×
K
M×K
M×K的矩阵,我们称为G(可能是我们的信道矩阵),他总是可以像上式一样进行分解,写成
G
=
U
∑
V
H
G=U \sum V^H
G=U∑VH
- U称为矩阵的左奇异矩阵,他的每一列称为奇异向量,他是一个m×m矩阵,这里他是酉矩阵。
- 矩阵V以类似的方式创建,称为右奇异矩阵,他是一个k×k矩阵,他也是一个酉矩阵。
-
∑
\sum
∑这个矩阵包含奇异值,他类似于特征值,他是一个m×k矩阵,也是一个对角矩阵,主对角线上的所有内容均非零,其他内容均为零。
这里假设他按照降序排序, s 1 s1 s1最大,位于对角线的第一个元素上,依次往下越来越小,最小值是下标 s m i n ( M , K ) s_{min(M,K)} smin(M,K),这些元素大于或等于零,因此不存在负的奇异值,但其中一些可以为零。这些奇异值与g的特征值相关,即 G G H GG^H GGH或者 G H G G^HG GHG等于这些奇异值 s 1 2 s1^2 s12, s 2 2 s2^2 s22, s 3 2 s3^2 s32,…… s m i n ( M , K ) 2 s_{min(M,K)}^2 smin(M,K)2。
我们可以使用奇异值分解,对MIMO通道进行对角化,并将其转化成不干所求结果的多个并行通道。通过乘以U和V这两个酉矩阵,不会破会系统的最优性(非破坏处理)。
通过在矩阵V中取正确的奇异向量,并将它们与带有数据的向量 x ~ \tilde{x} x~与V进行相乘,然后在接收器处,当我们受到接收信号y时,将其与 U H U^H UH(也就是G Hermitian)相乘,形成新的接收信号 y ~ \tilde{y} y~。
我们在传输的信号x是在发射器处通过取 x ~ \tilde{x} x~并乘以V形成的,然后x与矩阵G相乘,添加噪声n以获得y并在接收器进行处理,将y与发射相乘以创建 y ~ \tilde{y} y~
为什么这样创建呢?
我们将 y ~ \tilde{y} y~进行展开,使用奇异值分解,然后取G的Hermitian矩阵乘以n,就得到了我们新的噪声向量 n ~ \tilde{n} n~。
因为酉矩阵 U H U = I U^HU=I UHU=I, V H V = I V^HV=I VHV=I,所以得到下面的式子:
我们就得到了这个式子,沿着 ∑ \sum ∑上的对角线前s个元素将为非零,其余元素将为零。并可以再次将它们划分为下面的不同的方程,我们让大写S表示非零奇异值的数量, S k S_k Sk表示矩阵G的秩。可以使用这个向量矩阵表示,我们有m个接收到的信号, y ~ \tilde{y} y~是m维的。第一个将包含奇异值 s 1 s_1 s1乘以 x ~ \tilde{x} x~,他是 x ~ \tilde{x} x~向量中的第一个传输信号加上噪声的一个实现。
对于前S行的非零奇异值,取第一行的表达式。对于S+1到M,取第二行的表达式,因为如果有一个矩阵 ∑ \sum ∑有更多的行和列,那么奇异值将为零或者不存在,所以我们丢弃无用的子信道。
使用平行通道表示,第一个 x 1 ~ \tilde{x_1} x1~乘以 s 1 s_1 s1在添加上噪声 n 1 ~ \tilde{n_1} n1~得到 y 1 ~ \tilde{y_1} y1~,继续这样向下到其他的通道。
假设我们为每个通道分配特定量的功率,功率 q k q_k qk是我们分配给子信道k的功率量(也就是传输的每个符号的能量),就可以计算出信道的容量 R k R_k Rk.
R k = l o g 2 ( 1 + s k 2 q k N 0 ) R_k = log_2(1+s_k^2 {q_k\over N_0}) Rk=log2(1+sk2N0qk)
对信道响应 s k 2 s_k^2 sk2对其进行平方,除以噪声方差,对每个并行子通道执行此操作。
通道容量C可以写为s子通道的总和。
我们针对给定 q k q_k qk获取每个子通道的可实现速率,然后我们最大化这个表达式相对于[ q 1 q_1 q1到 q s q_s qs]的功率,分配给每个不同的子通道,使得元素总和等于q乘以我们可用的功率总量,从而优化通道容量C。
下面得到最佳的功率分配结果:
所以, q k q_k qk即为我们分配给子信道k的功率,就是两个数字中的最大值。要么为零,因为我们永远不能以小于零的能量进行传输,要么这个数字包含 u u u,这是我们要计算的参数,需要选择。然后减去 N 0 N_0 N0除以 s k 2 s_k^2 sk2.
这样我们就最终得到所有[q1到 q s q_s qs]的总和,得到我们分配的总功率q.
这里面,单个值 s k s_k sk越大,我们要减去的这项就越小.
这意味着具有最大 s k s_k sk的最强子信道将获得最大功率。然后单个值越低,功率将越来越小。并且我们减去该项,某些子信道可能获得零功率。
所以这被称为注水,因为这个过程可以被视为取水,并用该水填充水箱。所以,这里对u的描述被称为水级别,每个子通道1234在底部都有一个高度,即 n 0 s k 2 n_0\over s_k^2 sk2n0。因此最强的 s 1 s_1 s1具有最小的高度,最弱的 s 4 s_4 s4具有最大的高度。将水倒入水箱。首先,水将出现在最强的子通道中,然后一段时间,他会出现在最强的子通道和第二强的子通道,进一步加水,直到他到达第三个,在这种情况下,他最终也可能达到第四个。蓝色区域代表我们可用的所有功率,在这种情况下,子通道4没有获得任何功率。所以,我们可以看到,最强的通道可以获得最大的功率,也就是水量最多的代表最多的功率,第二大的通道可以获得第二大的功率。
通过这个注水的类比,我们可以发现,当我们具有低信噪比和最高信噪比时可以视为具有很少的能量或者更多的能量。如果能量很小或者最低,我能只能将能量放在最强的子通道上,当我们使用第二个最高的时候,我们永远不会超过这个限制。但是当我们有大量的能量的时候,我们开始填充第一个,第二个,第三个,第四个,然后继续填充,随着水位的继续增加,水池会产生很小的滚动,因此,当水池中有大量的水并达到很远的时候,我们可以视为这些子通道中大约具有相同的功率。
因此,在高同噪比的情况下,我们得出的结论是,最好将我们的功率在不同的子信道直接平均分配。
我们取 q 1 q_1 q1= q 2 q_2 q2=…… q s q_s qs,等于总功率 q s q\over s sq,在这种情况下,我们的容量表达式可以近似为C。我们就可以对记录到的所有子通道进行求和,使用1加SNR(信噪比)( q N 0 q\over N_0 N0q除以 N 0 N_0 N0)的形式。因为信噪比非常大,我们进行进一步近似,在这里删除这个1。
前面的
l
o
g
2
(
S
N
R
)
log_2(SNR)
log2(SNR)就是高复用增益,并不是容量。随着子通道数量增长,该项也随之增长。大S表示矩阵的秩,他小于或等于发射到接收天线的数量的最小值,该最小值限制了系统值可以拥有的子信道数量。如果矩阵的秩大,则获得更多的发射和接收天线数量最小值的复用增益,否则获取较小的复用增益。
现在,我们假设奇异值均不同,
s
1
s_1
s1严格大于
s
2
s_2
s2,
s
2
s_2
s2严格大于
s
3
s_3
s3……。在这种情况下,我们将拥有该水箱底部的不同水平面,这意味着我们将所有功率分配给第一种类型的通道,而不会分配给其余通道。那么,现在的容量近似为:
C
≈
l
o
g
2
(
1
+
S
N
R
s
1
2
)
C≈log_2(1+SNRs_1^2)
C≈log2(1+SNRs12)
如果我们分配近似最佳的功率,当我们对所有不同的子通道进行求和时,我们只保留最强的子通道,这是唯一获得功率的子通道。所以这是最强子通道的平方奇异值的最低限度。
我们可以说对数近似线性,所以我们得到
l
o
g
2
e
log_2{e}
log2e,乘以
S
N
R
s
1
2
SNRs_1^2
SNRs12。所以这里我们看到没有复用增益,即使我们有较高的信道等级,我们没有足够的功率来利用所有子信道,
我们注意力集中在最强的子信道上,我们拥有波束成形增益,因为
l
o
g
2
(
e
)
S
N
R
log_2({e})SNR
log2(e)SNR即为我们在SISO通道中得到的。现在,乘以
s
1
2
s_1^2
s12,他是所有奇异值中最大的,因此,我们能够选择我们正在形成的一个特定方向,并使用最大的奇异值,从而达到更好的效果。
现在,我们对通道容量的大小进行比较。在SIMO的情况下,我们提供相同的容量,和我们刚刚导出的MIMO容量。为了简单起见,我们假设我们正在处理的任何通道响应其绝对值始终是等于1,那么,通道容量C的大小,是:
C
=
l
o
g
2
(
1
+
S
N
R
)
C=log_2(1+SNR)
C=log2(1+SNR)
这是SIMO和MISO的情况。
对于接收器和发射器有m个天线,容量为:
C
=
l
o
g
2
(
1
+
M
∗
S
N
R
)
C=log_2(1+M*SNR)
C=log2(1+M∗SNR)
因为我们采用所有这些信道系数,我们将采用每个信道分量给出的子向量的平方范数。
我们一个1然后得到M,这就是波束成形。然后与信噪比相乘,就得到了MIMO情况下的容量。
我们假设我们有相同的发射和接收天线,我们正在处理的任何通道响应其绝对值始终是等于1,因为所有子通道强度都是一样的,奇异值等于
n
2
n^2
n2.
理想情况下,容量=M,他是复用增益,他是M和K的最小值(M=K),所以这里写M保持一致。然后我们有
l
o
g
2
(
1
+
S
N
R
log_2(1+SNR
log2(1+SNR,为什么我们不在这里有一个M,因为有一个M的平方根。他是平方的,所以我们得到平方的奇异值,但随后我们将幂分到m个不同的子通道上,这再次抵消了这项。所以我们得到
C
=
M
∗
l
o
g
2
(
1
+
S
N
R
)
C=M*log_2(1+SNR)
C=M∗log2(1+SNR)的表达式。M为复用增益。下面是对此的模拟:
下图为符号位的容量C和信噪比的图像,改变信噪比。引入带有四个天线的情况(m=4),信噪比最低曲线是这里的蓝色曲线,这里面引入了四根天线m=4。红色曲线与蓝色曲线具有相同的形状,但他朝左边。有四个天线,代表6db增益,所以我们将曲线向左移动了6db,这就是我们在MIMO通道的情况下从波束成形中得到的结果。再次使用波束成形,我们得到了更好的斜率,因此,现在最低限度,当我们仅使用一个或一个子通道,这里的红色和黑色曲线。其中,黑色曲线,在MIMO情况下表示,他们将是重叠,但随着我们增加信噪比,我们的斜率也会越来越高,现在斜率要比黑蓝色的线要快得多。所以当我们有四个天线时,我们得到
4
l
o
g
2
(
1
+
M
∗
S
N
R
)
4log_2(1+M*SNR)
4log2(1+M∗SNR).如果我们有一条具有这个斜率的蓝色曲线,那么黑色曲线的斜率是原来的四倍。天线越多,间隙就越大,点对点就可以得到更大的斜率。所以在最高的结处,我们可以获得更高的容量。
现在我们来考虑线性通道:
已知这些通道具有高噪声。当没有任何类似的散射时,信号将以更大的功率到达,沿途没有功率的消耗。
假设有一个带有k个天线的发射器,呈均匀线性射线,并且有一个带有m个天线的接收器,也位于均匀的线性射线中。发射器和接收器彼此相距很远,这意味着发射器上的每个天线朝向接收器的偏离角度将是固定的角度
ϕ
\phi
ϕ,对于所有的天线来说,发射器发射时,大约发生的角度是相同的。在接收器处,也有一个公共的角度
ψ
\psi
ψ.用于描述从发射器到此处所有接收天线的到达角。然后,我们可以使用G这个公式表示。
假设我们有一个参考天线,一个是发射器,一个是接收器。然后我们得到一个通道×根号
β
\beta
β,这是每个接收天线上每个发射天线之间的公共信道增益,他大致相同,因为距离大致相同,我们根据三角形这些部分的长度计算不同天线的不同相移,我们得到后面的矩阵。接着写成两个向量的外积。这里的第一个向量是我们将从参考天线传输到所有接收天线的信道向量,这里的第二部分是来自我们所有天线的信道发射天线到第一个接收天线,当然还需要再次涉及信道来说明这一点。这两个向量的外积意味着G矩阵是仅具有奇异值分解,非零奇异值和相应的奇异向量是这两个向量,然后秩等于1,最强奇异值
s
1
s_1
s1是
β
\beta
β平方。如果这两个向量归一化为长度为1,我们也从这部分得到m的平方根,从这部分得到k的平方根。因此,
β
\beta
β乘以m乘以k的最大奇异值平方根。
这意味着我们有一个1级通道,因此复用通道将是最佳的做法,是将所有功率分配给该子通道,这意味着容量等于:
C
=
l
o
g
2
(
1
+
β
M
K
∗
S
N
R
)
C=log_2(1+\beta{MK*SNR})
C=log2(1+βMK∗SNR)
我们可以将SIMO的情况进行比较,然后我们得到
β
∗
M
\beta{*M}
β∗M.这个M*K是MIMO情况下的波束形成增益,m是SIMO中的波束形成增益,所以我们在这里得到发射和接收天线数量的乘积。
C
=
l
o
g
2
(
1
+
β
M
K
∗
S
N
R
)
C=log_2(1+\beta{MK*SNR})
C=log2(1+βMK∗SNR)
在这里,我们只得到其中之一,因为我们在发射器或接收器上只有多个意图,当然这是MIMO情况的特殊情况。但当我们在发射机和接收机上有多个天线时,波束成形增益会更大,因此即使我们有一个等级一的实线信道,我们仍然受益于拥有多个天线。这是本课程对点对点MIMO部分的结尾。
现在将通过发射机使用多个天线再次考虑慢衰落情况:
使用相同的方法进行分析,在这种情况下,我们在单天线接收机出接收到的信号为
y
[
l
]
y[l]
y[l],为了简单起见,我们有两个发射天线。我们有g1和g2是从两个发射天线到接收天线的通道。我们在固定的时刻l发送信号
x
1
x_1
x1和
x
2
x_2
x2.分别来自天线1和天线2.然后添加噪声。这是满衰落信道,意味着g1和g2的实线是随机的。接收器知道他们,但是发射器不知道。在整个通信过程中都是相同的实线。通常我们会用发射器使用x的值选择此处的向量基于通道。但我们不能这样做,所以还能做些什么呢?
我们在时间1和时间2的两个时间实例y1和y2上进行传输,并且在这两种情况下,通道是相同的[g1,g2],[x1,x2]为在时间1,2传输的向量,称为X。[n1,n2]为时间1,2的噪声。这称为时空编码,因为我们使用空间来表示多个发射天线和时间,因为我们有两个时间实例。所以通过改变x,而不是改变信道G。这样我们就可以拥有多个发射天线的增益。
在时空编码块中,这里使用Alamouti code.x包含两条信息,
x
1
~
\tilde{x1}
x1~和
x
2
~
\tilde{x2}
x2~,他们以特定的方式放入x中,发射天线首先发射第一条信息,在发射第二条信息。天线二首先发送带有负号和复共轭的第二条信息,然后第二个复共轭的信息。除以根号2确保每次传输保持相同的功率。
写入接收到的场景的,就可以得到接收到的信号。得出具有传输信号1和2的向量。
G
~
\tilde{G}
G~这个通道矩阵称为g波形符。因为其两列是线性独立的,通过除以g的范数来标准化他。得到酉矩阵、对角矩阵、在右侧添加一个单位矩阵。
所以我们就得到了理想情况下MISO的通道容量。
下面是概率和信噪比比例的关系图:
黑色曲线表示SISO的情况,有一根天线。
红色曲线表示MISO的情况,有两根天线。
蓝色曲线表示SIMO的情况,有两根天线。他与红色具有相同的斜率,表示获得了相同的多样性增益。但他向右移动了三倍db,表明只有一半的信噪比。所以,证明了,我们不知道发送器端的信道,也可以实现分级增益。