MIMO的信道容量以及实现

最近听了老师讲MIMO信道容量的实现,感触良多,作为刚入门通信的菜鸟,特贴上老师上课的学习笔记,以此激励自己!

信道容量

所谓信道容量,是指信道能无差错的传输信息的最大信息速率,从信息论的角度,信道容量定义为:
C = max ⁡ f ( x )   I ( x , y ) C=\underset{f(x)}{\mathop{\max }}\,I(x,y) C=f(x)maxI(x,y)
      其中 I ( x , y ) I(x,y) I(x,y)是随机变量x和y的互信息,f(x)是x的概率密度函数,相当于,我们通过改变发射信号的概率密度函数,可以实现互信息的最大值,这个最大值就是信道容量。
SISO信道
先看最简单的单输入单输出信道模型:
MIMO的信道容量以及实现_第1张图片
                                                            输出    y ( t ) = h x ( t ) + z ( t ) y(t)=hx(t)+z(t) y(t)=hx(t)+z(t)
通信原理我们学过,当输出x服从高斯分布时,可以达到信道容量:
C = log ⁡ 2 ( 1 + P σ 2 ∣ h ∣ 2 ) C={{\log }_{2}}(1+\frac{P}{{{\sigma }^{2}}}|h{{|}^{2}}) C=log2(1+σ2Ph2)
这里对带宽进行了归一化,所以没有B。
MIMO信道
MIMO的信道容量以及实现_第2张图片
                                                                 输出    y = H x + z y=Hx+z y=Hx+z
这里H是一个 r × t r\times t r×t维的矩阵,输入x是一个 t × 1 t\times 1 t×1维的向量,t表示发射,r表示接收。z是一个服从均值为0,方差为 σ 2 I {{\sigma }^{2}}I σ2I的复高斯噪声。
回顾信息论,我们有如下公式: I ( x , y ) = H ( y ) − H ( y ∣ x ) I(x,y)=H(y)-H(y|x) I(x,y)=H(y)H(yx)
这里x和y都是连续随机向量,H(y)是y的微分熵。
假设x和z相互独立,所以有H(y|x)=H(z)(个人理解是熵是不确定性的度量,x和z相互独立,所以x条件下y的熵,相当于求信道里面噪声的不确定性,也就是H(z)。
所以,求最大化互信息,当给定H(z)时,即为最大化H(y),所以 I ( x , y ) = H ( y ) − H ( z ) I(x,y)=H(y)-H(z) I(x,y)=H(y)H(z)
当x服从复高斯分布,y服从复高斯分布时,y的微分熵最大。
H ( y ) = log ⁡ 2 ( det ⁡ ( π e R y ) ) H(y)={{\log }_{2}}(\det (\pi e{{R}_{y}})) H(y)=log2(det(πeRy)) H ( z ) = log ⁡ 2 ( det ⁡ ( π e σ 2 I ) ) H(z)={{\log }_{2}}(\det (\pi e{{\sigma }^{2}}I)) H(z)=log2(det(πeσ2I))
这里Ry是接收信号y的自相关矩阵。
R y = E { y y H } {{R}_{y}}=E\{y{{y}^{H}}\} Ry=E{yyH} = E { ( H x + z ) ( H x + z ) H } =E\{(Hx+z){{(Hx+z)}^{H}}\} =E{(Hx+z)(Hx+z)H} = E { ( H x x H H H + H x z H + z x H H H + z z H ) } =E\{(Hx{{x}^{H}}{{H}^{H}}+Hx{{z}^{H}}+z{{x}^{H}}{{H}^{H}}+z{{z}^{H}})\} =E{(HxxHHH+HxzH+zxHHH+zzH)} = H E { x x H } H H + σ 2 I =HE\{x{{x}^{H}}\}{{H}^{H}}+{{\sigma }^{2}}I =HE{xxH}HH+σ2I = H S H H + σ 2 I =HS{{H}^{H}}+{{\sigma }^{2}}I =HSHH+σ2I
这里,S是发送信号的协方差矩阵。因为x、z相互独立,所以乘积为0;信号的自协方差矩阵相当于方差,所以噪声那一项就变为了 σ 2 I {{\sigma }^{2}}I σ2I
代入熵的表达式中H(y)中,有: I ( x ; y ) = log ⁡ 2 det ⁡ ( I + 1 σ 2 H S H H ) I(x;y)={{\log }_{2}}\det (I+\frac{1}{{{\sigma }^{2}}}HS{{H}^{H}}) I(x;y)=log2det(I+σ21HSHH)
所以,我们的目标就变为 C = max ⁡ I ( x ; y ) T r ( s ) < P   = max ⁡ T r ( s ) < P   log ⁡ 2 det ⁡ ( I + 1 σ 2 H S H H ) C=\underset{Tr(s)C=Tr(s)<PmaxI(x;y)=Tr(s)<Pmaxlog2det(I+σ21HSHH)
如何设计发送信号的协方差矩阵S,使得上式最大?
采用方法:SVD分解,hadamard不等式,注水法
1、SVD分解
(要想知道公式怎么来的可以去参考矩阵论,这里不做推导)
对信道矩阵H进行SVD分解,有 H = U Λ V H H=U\Lambda {{V}^{H}} H=UΛVH
其中,H的秩为m,U为 r × m r\times m r×m,V为 t × m t\times m t×m的矩阵,U、V都是酉矩阵,即装置乘以本身为单位阵。 Λ \Lambda Λ为m*m维,其对角元素为 λ i \lambda _{i} λi非负。
所以高斯信道容量可以写为:
C = max ⁡ I ( x ; y ) T r ( s ) < P   = max ⁡ T r ( s ) < P   log ⁡ 2 det ⁡ ( I + 1 σ 2 U Λ V H S V Λ U H ) C=\underset{Tr(s)C=Tr(s)<PmaxI(x;y)=Tr(s)<Pmaxlog2det(I+σ21UΛVHSVΛUH)定义 S ^ = V H S V \hat{S}={{V}^{H}}SV S^=VHSV,再利用det(I+AB)=det(I+BA),可以得到:
I ( x ; y ) = log ⁡ 2 det ⁡ ( I r + 1 σ 2 U Λ V H S V Λ U H ) I(x;y)={{\log }_{2}}\det ({{I}_{r}}+\frac{1}{{{\sigma }^{2}}}U\Lambda {{V}^{H}}SV\Lambda {{U}^{H}}) I(x;y)=log2det(Ir+σ21UΛVHSVΛUH) = log ⁡ 2 det ⁡ ( I m + 1 σ 2 V H S V Λ U H U Λ ) ={{\log }_{2}}\det ({{I}_{m}}+\frac{1}{{{\sigma }^{2}}}{{V}^{H}}SV\Lambda {{U}^{H}}U\Lambda ) =log2det(Im+σ21VHSVΛUHUΛ) = log ⁡ 2 det ⁡ ( I m + 1 σ 2 V H S V Λ 2 ) ={{\log }_{2}}\det ({{I}_{m}}+\frac{1}{{{\sigma }^{2}}}{{V}^{H}}SV{{\Lambda }^{2}}) =log2det(Im+σ21VHSVΛ2) = log ⁡ 2 det ⁡ ( I m + 1 σ 2 S ^ Λ 2 ) ={{\log }_{2}}\det ({{I}_{m}}+\frac{1}{{{\sigma }^{2}}}\hat{S}{{\Lambda }^{2}}) =log2det(Im+σ21S^Λ2)
2、Hadamard不等式
Hadamard不等式:对任意半正定矩阵A的行列式小于或者等于所有对角元素的乘积: d e t ( A ) ≤ ∏ i [ A ] i , i det (A)\le {{\prod\limits_{i}{\left[ A \right]}}_{i,i}} det(A)i[A]i,i
当且仅当A是对角阵的时候成立。
所以,我们得到, I ( x ; y ) ≤ ∑ i = 1 m log ⁡ 2 det ⁡ ( 1 + 1 σ 2 λ i 2 [ S ^ ] i , i ) I(x;y)\le \sum\limits_{i=1}^{m}{{{\log }_{2}}\det (1+\frac{1}{{{\sigma }^{2}}}\lambda _{i}^{2}{{[\hat{S}]}_{i,i}})} I(x;y)i=1mlog2det(1+σ21λi2[S^]i,i)当且仅当 S ^ {\hat{S}} S^是对角阵的时候等号成立。
为了最大化互信息,假设 S ^ = V H S V {\hat{S}}={{V}^{H}}SV S^=VHSV= Λ p {{\Lambda }_{p}} Λp,即为对角矩阵。 Λ p {{\Lambda }_{p}} Λp为功率分配矩阵 Λ p = d i a g { p 1 , p 2 . . . p n } {{\Lambda }_{p}}=diag\{{{p}_{1}},{{p}_{2}}...{{p}_{n}}\} Λp=diag{p1,p2...pn}
我们有 S = V S ^ V H S=V\hat{S}{{V}^{H}} S=VS^VH,代入I(X;Y)中,有:
C = m a x I ( x ; y ) = ∑ i = 1 m log ⁡ 2 ( 1 + λ i 2 p i σ 2 ) C=max I(x;y)=\sum\limits_{i=1}^{m}{{{\log }_{2}}(1+\frac{\lambda _{i}^{2}{{p}_{i}}}{{{\sigma }^{2}}})} C=maxI(x;y)=i=1mlog2(1+σ2λi2pi)
**通过这个公式,对比siso的信道容量公式,就可以将mimo看成若干个siso的并行子信道,每个子信道的功率增益为 λ i \lambda _{i} λi
同时,考虑发射功率会有约束, T r ( S ≤ P ) Tr(S\le P) Tr(SP),代入S,利用 T r ( A B = T r ( B A ) Tr(AB=Tr(BA) Tr(AB=Tr(BA),我们有:
T r ( S ) = T r ( V Λ p V H ) = T r ( Λ p V H V ) = T r ( Λ p ) = ∑ i = 1 m p i < = P Tr(S)=Tr(V{{\Lambda }_{p}}{{V}^{H}})=Tr({{\Lambda }_{p}}{{V}^{H}}V)=Tr({{\Lambda }_{p}})=\sum\limits_{i=1}^{m}{{{p}_{i}}}<=P Tr(S)=Tr(VΛpVH)=Tr(ΛpVHV)=Tr(Λp)=i=1mpi<=P
我们这里通过S,反过来设计最优发射信号x ,使得上面的功率约束取等号,这里没细说,等我想明白了再写上
接下来,每个信号的强弱不一样,对每个信号分配不同的功率,会影响信道容量。该如何分配这个功率,可以使信道容量达到最大值呢?
3、注水法
注水算法的基本原理就是根据香农公式和限制条件,通过拉格朗日乘数法组成的一个方程,先令其偏导为零,求出Pi的表达式,但是Pi的表达式中包含一个未知数,再根据限制条件可以先求解出该未知数,再回代到之前的方程中,可以求解得每个信道根据信道质量分配得到的Pi。求解问题如下:
mimo信道容量: max: C = ∑ i = 1 m log ⁡ 2 ( 1 + P i σ 2 λ i ) C = \sum\limits_{i = 1}^m {{{\log }_2}\left( {1 + \frac{{{P_i}}}{{{\sigma ^2}}}{\lambda _i}} \right)} C=i=1mlog2(1+σ2Piλi)
功率满足: ∑ i = 1 m P i = P \sum\limits_{i = 1}^m {{P_i} = P} i=1mPi=P
上面为等式约束问题,可用拉格朗日乘子法求解。
引入拉格朗日函数,有 Z ( λ , P i ) = ∑ i = 1 m log ⁡ 2 ( 1 + P i σ 2 λ i ) + L ( P − ∑ i = 1 m P i ) < = P Z(\lambda ,{P_i}) = \sum\limits_{i = 1}^m {{{\log }_2}\left( {1 + \frac{{{P_i}}}{{{\sigma ^2}}}{\lambda _i}} \right)} + L(P - \sum\limits_{i = 1}^m {{P_i}} )<=P Z(λ,Pi)=i=1mlog2(1+σ2Piλi)+L(Pi=1mPi)<=P
P i {{P_i}} Pi求偏导,有
在这里插入图片描述
解得: P i = 1 L ∙ ln ⁡ 2 − σ 2 λ i = μ − σ 2 λ i {P_i} = \frac{1}{{L \bullet \ln 2}} - \frac{{{\sigma ^2}}}{{{\lambda _i}}}=\mu-\frac{{{\sigma ^2}}}{{{\lambda _i}}} Pi=Lln21λiσ2=μλiσ2
其中 μ \mu μ为常数
因为功率不能为负数,将上述写为如下形式:
P i = ( μ − σ 2 λ i ) + {P_i} = {\left( {\mu - \frac{{{\sigma ^2}}}{{{\lambda _i}}}} \right)^ + } Pi=(μλiσ2)+
所以最优的分配策略如上式
其中 ( a ) + = max ⁡ ( a , 0 ) {\left( a \right)^ + } = \max (a,0) (a)+=max(a,0)
这里可用通过 ∑ i = 1 m P i = P = m μ − ∑ i = 1 m σ 2 λ 2 \sum\limits_{i = 1}^m {{P_i}} = P = m\mu - \sum\limits_{i = 1}^m {\frac{{{\sigma ^2}}}{{{\lambda ^2}}}} i=1mPi=P=mμi=1mλ2σ2
得到: μ = P + ∑ i = 1 m σ 2 λ 2 m \mu = \frac{{P + \sum\limits_{i = 1}^m {\frac{{{\sigma ^2}}}{{{\lambda ^2}}}} }}{m} μ=mP+i=1mλ2σ2
MIMO的信道容量以及实现_第3张图片
也就是说,当已知csi(信道状态信息时),发送端会选择好的信道,给它分配大功率,过程如图示
MIMO的信道容量以及实现_第4张图片

时间有限,刚入门通信理论,不足之处我会虚心修改,打公式真的好难!

你可能感兴趣的:(通信,信道容量,MIMO,注水法)