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

信道容量

所谓信道容量,是指信道能无差错的传输信息的最大信息速率,从信息论的角度,信道容量定义为:
C=max⁡f(x)I(x,y)C=\underset{f(x)}{\mathop{\max }}\,I(x,y)C=f(x)max​I(x,y)
      其中I(x,y)I(x,y)I(x,y)是随机变量x和y的互信息,f(x)是x的概率密度函数,相当于,我们通过改变发射信号的概率密度函数,可以实现互信息的最大值,这个最大值就是信道容量。
SISO信道
先看最简单的单输入单输出信道模型:

                                                            输出   y(t)=hx(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+σ2P​∣h∣2)
这里对带宽进行了归一化,所以没有B。
MIMO信道

                                                                 输出   y=Hx+zy=Hx+zy=Hx+z
这里H是一个r×tr\times tr×t维的矩阵,输入x是一个t×1t\times 1t×1维的向量,t表示发射,r表示接收。z是一个服从均值为0,方差为σ2I{{\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(y∣x)
这里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⁡(πeRy))H(y)={{\log }_{2}}(\det (\pi e{{R}_{y}}))H(y)=log2​(det(πeRy​))H(z)=log⁡2(det⁡(πeσ2I))H(z)={{\log }_{2}}(\det (\pi e{{\sigma }^{2}}I))H(z)=log2​(det(πeσ2I))
这里Ry是接收信号y的自相关矩阵。
Ry=E{yyH}{{R}_{y}}=E\{y{{y}^{H}}\}Ry​=E{yyH} =E{(Hx+z)(Hx+z)H}=E\{(Hx+z){{(Hx+z)}^{H}}\}=E{(Hx+z)(Hx+z)H} =E{(HxxHHH+HxzH+zxHHH+zzH)}=E\{(Hx{{x}^{H}}{{H}^{H}}+Hx{{z}^{H}}+z{{x}^{H}}{{H}^{H}}+z{{z}^{H}})\}=E{(HxxHHH+HxzH+zxHHH+zzH)} =HE{xxH}HH+σ2I=HE\{x{{x}^{H}}\}{{H}^{H}}+{{\sigma }^{2}}I=HE{xxH}HH+σ2I =HSHH+σ2I=HS{{H}^{H}}+{{\sigma }^{2}}I=HSHH+σ2I
这里,S是发送信号的协方差矩阵。因为x、z相互独立,所以乘积为0;信号的自协方差矩阵相当于方差,所以噪声那一项就变为了σ2I{{\sigma }^{2}}Iσ2I
代入熵的表达式中H(y)中,有:I(x;y)=log⁡2det⁡(I+1σ2HSHH)I(x;y)={{\log }_{2}}\det (I+\frac{1}{{{\sigma }^{2}}}HS{{H}^{H}})I(x;y)=log2​det(I+σ21​HSHH)
所以,我们的目标就变为:C=max⁡I(x;y)Tr(s)<P=max⁡Tr(s)<Plog⁡2det⁡(I+1σ2HSHH)C=\underset{Tr(s)<P}{\mathop{\max I(x;y)}}\,=\underset{Tr(s)<P}{\mathop{\max }}\,{{\log }_{2}}\det (I+\frac{1}{{{\sigma }^{2}}}HS{{H}^{H}})C=Tr(s)<PmaxI(x;y)​=Tr(s)<Pmax​log2​det(I+σ21​HSHH)
如何设计发送信号的协方差矩阵S,使得上式最大?
采用方法:SVD分解,hadamard不等式,注水法
1、SVD分解
(要想知道公式怎么来的可以去参考矩阵论,这里不做推导)
对信道矩阵H进行SVD分解,有 H=UΛVHH=U\Lambda {{V}^{H}}H=UΛVH
其中,H的秩为m,U为r×mr\times mr×m,V为t×mt\times mt×m的矩阵,U、V都是酉矩阵,即装置乘以本身为单位阵。Λ\LambdaΛ为m*m维,其对角元素为λi\lambda _{i}λi​非负。
所以高斯信道容量可以写为:
C=max⁡I(x;y)Tr(s)<P=max⁡Tr(s)<Plog⁡2det⁡(I+1σ2UΛVHSVΛUH)C=\underset{Tr(s)<P}{\mathop{\max I(x;y)}}\,=\underset{Tr(s)<P}{\mathop{\max }}\,{{\log }_{2}}\det (I+\frac{1}{{{\sigma }^{2}}}U\Lambda {{V}^{H}}SV\Lambda {{U}^{H}})C=Tr(s)<PmaxI(x;y)​=Tr(s)<Pmax​log2​det(I+σ21​UΛVHSVΛUH)定义S^=VHSV\hat{S}={{V}^{H}}SVS^=VHSV,再利用det(I+AB)=det(I+BA),可以得到:
I(x;y)=log⁡2det⁡(Ir+1σ2UΛVHSVΛUH)I(x;y)={{\log }_{2}}\det ({{I}_{r}}+\frac{1}{{{\sigma }^{2}}}U\Lambda {{V}^{H}}SV\Lambda {{U}^{H}})I(x;y)=log2​det(Ir​+σ21​UΛVHSVΛUH)=log⁡2det⁡(Im+1σ2VHSVΛUHUΛ)={{\log }_{2}}\det ({{I}_{m}}+\frac{1}{{{\sigma }^{2}}}{{V}^{H}}SV\Lambda {{U}^{H}}U\Lambda )=log2​det(Im​+σ21​VHSVΛUHUΛ)=log⁡2det⁡(Im+1σ2VHSVΛ2)={{\log }_{2}}\det ({{I}_{m}}+\frac{1}{{{\sigma }^{2}}}{{V}^{H}}SV{{\Lambda }^{2}})=log2​det(Im​+σ21​VHSVΛ2)=log⁡2det⁡(Im+1σ2S^Λ2)={{\log }_{2}}\det ({{I}_{m}}+\frac{1}{{{\sigma }^{2}}}\hat{S}{{\Lambda }^{2}})=log2​det(Im​+σ21​S^Λ2)
2、Hadamard不等式
Hadamard不等式:对任意半正定矩阵A的行列式小于或者等于所有对角元素的乘积:det(A)≤∏i[A]i,idet (A)\le {{\prod\limits_{i}{\left[ A \right]}}_{i,i}}det(A)≤i∏​[A]i,i​
当且仅当A是对角阵的时候成立。
所以,我们得到,I(x;y)≤∑i=1mlog⁡2det⁡(1+1σ2λi2[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=1∑m​log2​det(1+σ21​λi2​[S^]i,i​)当且仅当S^{\hat{S}}S^是对角阵的时候等号成立。
为了最大化互信息,假设S^=VHSV{\hat{S}}={{V}^{H}}SVS^=VHSV=Λp{{\Lambda }_{p}}Λp​,即为对角矩阵。Λp{{\Lambda }_{p}}Λp​为功率分配矩阵Λp=diag{p1,p2...pn}{{\Lambda }_{p}}=diag\{{{p}_{1}},{{p}_{2}}...{{p}_{n}}\}Λp​=diag{p1​,p2​...pn​}
我们有S=VS^VHS=V\hat{S}{{V}^{H}}S=VS^VH,代入I(X;Y)中,有:
C=maxI(x;y)=∑i=1mlog⁡2(1+λi2piσ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=1∑m​log2​(1+σ2λi2​pi​​)
**通过这个公式,对比siso的信道容量公式,就可以将mimo看成若干个siso的并行子信道,每个子信道的功率增益为λi\lambda _{i}λi​。
同时,考虑发射功率会有约束,Tr(S≤P)Tr(S\le P)Tr(S≤P),代入S,利用Tr(AB=Tr(BA)Tr(AB=Tr(BA)Tr(AB=Tr(BA),我们有:
Tr(S)=Tr(VΛpVH)=Tr(ΛpVHV)=Tr(Λp)=∑i=1mpi<=PTr(S)=Tr(V{{\Lambda }_{p}}{{V}^{H}})=Tr({{\Lambda }_{p}}{{V}^{H}}V)=Tr({{\Lambda }_{p}})=\sum\limits_{i=1}^{m}{{{p}_{i}}}<=PTr(S)=Tr(VΛp​VH)=Tr(Λp​VHV)=Tr(Λp​)=i=1∑m​pi​<=P
我们这里通过S,反过来设计最优发射信号x ,使得上面的功率约束取等号,这里没细说,等我想明白了再写上
接下来,每个信号的强弱不一样,对每个信号分配不同的功率,会影响信道容量。该如何分配这个功率,可以使信道容量达到最大值呢?
3、注水法
注水算法的基本原理就是根据香农公式和限制条件,通过拉格朗日乘数法组成的一个方程,先令其偏导为零,求出Pi的表达式,但是Pi的表达式中包含一个未知数,再根据限制条件可以先求解出该未知数,再回代到之前的方程中,可以求解得每个信道根据信道质量分配得到的Pi。求解问题如下:
mimo信道容量: max: C=∑i=1mlog⁡2(1+Piσ2λi)C = \sum\limits_{i = 1}^m {{{\log }_2}\left( {1 + \frac{{{P_i}}}{{{\sigma ^2}}}{\lambda _i}} \right)}C=i=1∑m​log2​(1+σ2Pi​​λi​)
功率满足: ∑i=1mPi=P\sum\limits_{i = 1}^m {{P_i} = P}i=1∑m​Pi​=P
上面为等式约束问题,可用拉格朗日乘子法求解。
引入拉格朗日函数,有 Z(λ,Pi)=∑i=1mlog⁡2(1+Piσ2λi)+L(P−∑i=1mPi)<=PZ(\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}} )<=PZ(λ,Pi​)=i=1∑m​log2​(1+σ2Pi​​λi​)+L(P−i=1∑m​Pi​)<=P
对Pi{{P_i}}Pi​求偏导,有

解得:Pi=1L∙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​=L∙ln21​−λi​σ2​=μ−λi​σ2​
其中μ\muμ为常数
因为功率不能为负数,将上述写为如下形式:
Pi=(μ−σ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=1mPi=P=mμ−∑i=1mσ2λ2\sum\limits_{i = 1}^m {{P_i}} = P = m\mu - \sum\limits_{i = 1}^m {\frac{{{\sigma ^2}}}{{{\lambda ^2}}}}i=1∑m​Pi​=P=mμ−i=1∑m​λ2σ2​
得到:μ=P+∑i=1mσ2λ2m\mu = \frac{{P + \sum\limits_{i = 1}^m {\frac{{{\sigma ^2}}}{{{\lambda ^2}}}} }}{m}μ=mP+i=1∑m​λ2σ2​​

也就是说,当已知csi(信道状态信息时),发送端会选择好的信道,给它分配大功率,过程如图示

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

MIMO的信道容量以及实现相关推荐

  1. 初识MIMO(二):MIMO的信道容量及其仿真

    初识MIMO(二):MIMO的信道容量 一. SVD简介 SVD可以将一个矩阵分解为UΣVHU\Sigma V^HUΣVH的形式,U是大小为NRXN_{RX}NRX​的方阵,V是大小为NTXN_{TX ...

  2. 基于MATLAB计算MIMO信道容量(附完整代码与分析)

    目录 一.介绍 二. 代码 三. 运行结果及分析 3.1  MIMO信道容量:固定发射天线数为4 3.2 MIMO信道容量:固定接收天线数为4 3.3 AWGN信道与瑞利信道容量 四. 总结 一.介绍 ...

  3. 计算机理论什么是信道容量,信道容量

    信道能无错误传送的最大信息率.对于只有一个信源和一个信宿的单用户信道,它是一个数,单位是比特每秒或比特每符号.它代表每秒或每个信道符号能传送的最大信息量,或者说小于这个数的信息率必能在此信道中无错误地 ...

  4. MIMO-OFDM系统原理及其关键技术

    MIMO-OFDM系统原理及其关键技术 引言 未来的宽带无线通信系统,将在高稳定性和高数据传输速率的前提下,满足从语 音到多媒体的多种综合业务需求.而要在有限的频谱资源上实现综合业务内容的快速传输,需 ...

  5. 信息论基础(Part2)

    这一部分是第二部分,前一部分请参考笔者所写的part1博客. 一.目录 1.连续信源的熵 2.Shannon公式:波形信道的平均互信息,波形信道的信道容量.香农公式及其指导意义 3.MIMO信道容量分 ...

  6. MIMO-OFDM无线通信技术及MATLAB实现PDF及其代码

    MIMO-OFDM无线通信技术及MATLAB实现 MIMO OFDM无线通信技术及MATLAB实现.pdf 内容简介 MIMO和OFDM技术是B3G(LTE.LTE-A.4G)的关键物理层技术,该书详 ...

  7. MIMO信道的信道容量

    作者:alpswy,转载请注明出处 //受工作时间所限,本文中的仿真结果均未在博客中做出整理,如对仿真结果感兴趣,本文附带了本文中所有结果的仿真程序,请自行修改参数后使用Matlab仿真查看 假设信道 ...

  8. m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集

    目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 ·MIMO信道容量 平均功率分配的MIMO信道容量:通过Matlab仿真在加性高斯白噪声情况 ...

  9. 基于注水算法的MIMO信道容量matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 MIMO无线通信技术源于天线分集与智能天线技术,具有二者的优越性,MIMO系统的发射端与接收端都采用 ...

  10. 随机矩阵理论_MIMO 信道容量的理论模型

    今天我们给出了有关 MIMO 信道容量理论推导的更多细节. 利用 h (τk, t) 定义在时间 t 和时延 τk 处的信道脉冲响应,可以采用一个线性时变系统作为无线信道的模型,其中 k = 0,.. ...

最新文章

  1. taskset -pc PID 查看线程占用cpu核
  2. AJAX俺也不会,是真的,不过,以后就会了
  3. Windows 7防火墙配置FTP相关
  4. 图的割点、桥与双连通分支
  5. 口语学习Day2:今天来说说我的小客厅!
  6. 实验八 《Coderxiaoban团队》团队作业4:基于原型的团队项目需求调研与分析
  7. IntelliJ IDEA 15发布
  8. VC6.0: fatal error C1010: unexpected end of file while looking for precompiled head
  9. 计算机2018创业方向,推荐2018年创业的方向
  10. LNMP3.0一键安装
  11. sublime text 2 学习(一):快捷键
  12. Linux下安装NFS共享文件资源
  13. Abp Quartz配置Sqlite
  14. 【牛客网-公司真题-前端入门篇】——如何快速上手牛客
  15. 数据终端设备与无线通信模块之间串行通信链路复用协议(TS27.010)在嵌入式系统上的开发【转】...
  16. 一个独特的简历生成器,开源了!
  17. 陆游书法真迹,堪称书法大家!
  18. 使用 cookie 登录百度
  19. 转载:WVGA,QVGA,VGA,HVGA,WQVGA是什么意思?如何区别?
  20. 分享一个360加固脱壳模拟器

热门文章

  1. 关于STM32F103x系列ISP烧写出现“程序文件不是0x8000000和0x20000000区域的”解决办法。
  2. 1324. Print Words Vertically**
  3. Origin2018给两条曲线间画阴影/使用数据标记功能/绘制分段函数/求分段函数的微分图
  4. 计算机第十三套试题,2012年计算机二级VB第十三套上机试题及解析
  5. 五家渠市谷歌高清卫星地图下载
  6. 为 Form Library 开发工作流,如何读取 InfoPath 表单内容
  7. 关于应用界面引导性的设计模式
  8. 程序员进阶必看!Java进阶书籍推荐
  9. 使用diskpart制作U盘启动盘
  10. 小萌库 一周漫画精彩回顾