作者:alpswy,转载请注明出处

//受工作时间所限,本文中的仿真结果均未在博客中做出整理,如对仿真结果感兴趣,本文附带了本文中所有结果的仿真程序,请自行修改参数后使用Matlab仿真查看

假设信道容量分析模型的信道的衰落类型是频率非选择性衰落,信道系数为0均值单位方差的复高斯随机变量。假设系统的发射端配有NT根天线,接收端配有NR根天线,总的发射功率为P。假设发射端未知信道的瞬时状态信息,因此只能将所有的功率平分给所有的天线,所以每根发射天线的功率为P/NT,且每根接收天线上的噪声功率为sigma^2,于是每根接受天线上的信噪比(SNR)为

这样就可以用NR*NT的复数矩阵表示信道矩阵,H的第ji个元素H(j,i)表示第i根发射天线到第j根接收天线的信道衰落系数。

下面具体分析单输入单输出(SISO)、单输入多输出(SIMO)、多输入单输出(MISO)和多输入多输出(MIMO)四种情况下的信道容量。

1. SISO信道的信道容量

采用单根天线发射和单根天线接收的通信系统称为SISO系统。对于加性高斯白噪声SISO信道,NT=NR=1,信道矩阵H=H(1,1)=1,假设接收端的信噪比为$\xi$(希腊字母),则根据香农公式,该信道的归一化容量可以表示为:

该容量的取值不受编码或者信号设计复杂性的限制,即只要信噪比每增加3dB(2倍),信道容量增加1bps/Hz。

实际的无线信道是时变的,会受到衰落的影响,如果用H表示信道系数的瞬时值,则信道容量可以表示为

上式的结果是一个随机变量,可以计算其概率分布,瑞利平衰落的信道容量的累计概率分布的仿真结果如图XX所示。从图中可以看出,由于受到衰落的影响,其与加性高斯白噪声信道的信道容量有比较大的差距。

从信道容量的累计概率分布图中可以提取出两个与基带系统设计相关的统计参数,一个是平均信道容量Cav,即C的所有样本的平均值,它表示该无线链路能够提供的平均数据传输速率;另一个参数是终端容量(Outage Capacity)Cout,它定义了确保传输的高可靠性的数据传输速率,即prob{C>Cout}。

2. MISO信道的信道容量

对于多输入但出书信道,发射端配有NT根天线,接收端只有一根天线,即NR=1,信道矩阵H也随之变成一个矢量H=[H(1,1), H(1,2), … , H(1,NT)],其中H(1,i)表示从发射端的第i根天线到达接收端的信道的信道系数。

如果信道系数固定,则该信道的信道容量可以表示为:

其中

由于假定信道的系数固定,则受到功率归一化的影响,该信道容量不会随着发射天线数目的增长而增长。

如果信道系数随机变化,则该信道容量的表达式同上,但是变成一个随H变化的随机变量,norm(H, ‘fro’)^2服从自由度为2NT的$\chi^{2}$(希腊字母)分布。

图XX给出了信道容量随发射天线数变化的累计概率分布函数,仿真假定信道系数是复高斯随机变量,发射天线数分别取1,2,4,8,16,信噪比取为10dB和100dB,从图中可以看出,信道容量会随着发射天线数的增加而增加,增长的极限是加性高斯白噪声信道的信道容量,这就从信道容量的角度解释了分集能够带来的系统可靠性的提升。

3. SIMO信道的信道容量

对于单输入多输出信道,发射端只有一根天线,接收端配有NR,其信道可以看成是一个NR维列矢量:H=[H(1,1), H(2,1), … , H(NT,1)],其中H(j,1)是发射端的天线到接收端的第j根天线的信道系数。

如果信道系数是固定的,则该信道的信道容量可以表示为:

其中

由于信道系数被归一化,从信道容量的计算公式可以看出,SIMO信道与SISO信道相比获得了大小为NR的阵列增益。

类似地,信道系数是复高斯随机变量情况下的信道容量公式同上,C成为一个随机变量。

图XX给出了信道容量随接收天线数变化的累计概率分布函数,仿真假定信道系数是复高斯随机变量,发射天线数分别取1,2,4,8,16,信噪比取为10dB和100dB。

4. MIMO信道的信道容量

对于配备有NT根发射天线和NR根接收天线的MIMO信道,发射端在不知道传输信道的状态信息的条件下,其信道容量的公式可以表示为:

5. SISO、MISO、SIMO和MIMO信道的信道容量比较

通过上述比较可以看出,MIMO方式能够通过多种手段改善平均信道容量和中断概率,其改善平均信道容量主要是通过阵列增益和复用增益实现的,改善中断概率主要是利用了分集增益,这与前文中提到的MIMO系统的三种主要增益是吻合的。

图XX给出了四种信道情况下的比较累计概率分布曲线,可以从中看出分集增益、阵列增益和复用增益对信道容量的改善作用。

6. 天线相关对信道容量的影响

MIMO信道的信道容量在很大程度上取决于天线之间的相关性和MIMO信道矩阵的满秩情况。如前所述,对于收发端都具有相关性的MIMO信道,其信道矩阵可以表示为:

为了分析和比较天线的相关性对信道容量的具体影响,这里以2*2的信道为例进行仿真,相关系数分别取为0,0.2,0.5,0.9,结果如图XX所示。从图中可以看出,天线的相关系数越大,对信道容量的影响越大,而且信噪比越大,造成的损失越大。

7. 莱斯因子对信道容量的影响

在同时存在直射路径和散射分量的传播环境中,MIMO系统一般采用莱斯信道模型来近似,其中莱斯银子K的选择决定了该模型中直射分量的大小。实际情况中,MIMO莱斯信道矩阵可以表示为:

式中HLOS表示无散射,仅有直射路径的信道矩阵;HRay表示仅有散射、没有直射路径的信道矩阵。D^2和2sigma^2分别为直射分量和散射分量的功率,两者之比就是莱斯因子K。

为了分析和比较莱斯因子对MIMO信道容量的具体影响,本文以2*2的MIMO信道为例进行计算机仿真,选择HRay为独立同分布的瑞利平衰落,HLOS=[1, 1; 1, 1],而莱斯因子分别取0、1、10和100四种情况,得到的仿真结果如图XX所示,从图中可以看出当莱斯因子较小,如K=1时,对信道偶然那个亮的影响不大,而当K因子较大,如K=100时,对信道容量的影响较大,而且随着信噪比的增大,损害的程度不断加大。

从这里我们可以看出,直达径对MIMO系统的信道容量起到了破坏作用,这与前文中指出的MIMO系统适合工作在富散射环境中的结论是吻合的。

8. 自适应功率分配的信道容量

如果发射端获得了信道的状态信息,那么它可以利用信道状态信息对发射信息进行预处理,以获得最大的信道容量。

对信道矩阵H执行SVD分解,得到

在发射端预乘右矩阵V,在接收端乘上左矩阵U^H,则MIMO信道等效为对角矩阵Sigma,也就是说多条相互独立的链路可以分别传输数据。在这样的条件下,信道容量的公式可以改写为:

其中

在总功率受限的情况下找到C的最大值在数学上是一个拉格朗日乘数问题,在信息论上可以用最佳能量分配的注水算法[Thomas Cover, 1991]解决,其原理可以用图XX来描述.

注水的原理是,由1/λ和子信道的状态来决定在各子信道中如何分配功率。(图里面P*就表示对那个子信道分配的功率多少,也就是1/λ和阶梯层的差值)。信道状态越好,分配的功率越多,越差就越少,当状态差的程度超过阈值1/λ就不在该子信道上分配功率了。

注水算法的求解是一个迭代的过程,其复杂度相对较高,可以考虑寻找注水原理的目标函数的多项式逼近函数。

附:MIMO信道容量的Matlab仿真程序

%% Simulation of Capacity of MIMO channel
% Author: alpswy
% Email: alpswy@gmail.com
% Revise History:
%   2009-08-22 Created

%% Parameters for normal simulation
ChanType = 'Rayleigh'; % AWGN, Rayleigh, CorrRayleigh, Rice
LOOP = 10000; % number of channel tap samples
const = 1/sqrt(2); % constant number
NT = 4; % number of receive antennas
NR = 4; % number of transmit antennas
SNRdB = 10; % SNR in dB
SNRdec = 10^(0.1*SNRdB); % SNR in decibel

%% Parameters for displaying
numGroup = 100; % variable used to count samples
Range_MIN = 0; % minimum value of figure
Range_MAX = 6; % maximum value of figure

%% Parameters for simulation of correlation of channel
rho_t = 0;
rho_r = 0;

%% Parameters for simulation of Rice channel
K = 1; % Rice factor
D = sqrt(K);

switch ChanType
    case 'AWGN'
        H = ones(NR, NT);
        C = log2(det(eye(NR) + SNRdec/NT*H*H'));
        C_1 = [C, C];
        plot(C_1, 0:1);
        axis([Range_MIN, Range_MAX, 0, 1]);
    case 'Rayleigh'
        C = zeros(1, LOOP);
        C_2 = zeros(1, numGroup);
        for idx_LOOP = 1:LOOP
            H = const*(randn(NR, NT) + 1j*randn(NR, NT));
            C(idx_LOOP) = log2(det(eye(NR) + SNRdec/NT*H*H'));
        end
        C_min = min(C);
        C_max = max(C);
        C_1 = hist(C, numGroup);
        C_2(1) = C_1(1);
        for idx = 2:numGroup
            C_2(idx) = C_2(idx-1) + C_1(idx);
        end
        C_2 = C_2 / LOOP;
        Range_MIN = C_min;
        Range_MAX = C_max;
        X_axe = Range_MIN + [0:(numGroup-1)]/numGroup*(Range_MAX-Range_MIN);
        plot(X_axe, C_2);
    case 'CorrRayleigh'
        C = zeros(1, LOOP);
        C_2 = zeros(1, numGroup);
        R_tx = [1, rho_t; rho_t, 1];% for 2*2 only
        R_rx = [1, rho_r; rho_r, 1];
        for idx_LOOP = 1:LOOP
            H = const*(randn(NR, NT) + 1j*randn(NR, NT));
            H_Corr = R_rx * H * R_tx;
            C(idx_LOOP) = log2(det(eye(NR) + SNRdec/NT*H_Corr*H_Corr'));
        end
        C_min = min(C);
        C_max = max(C);
        C_1 = hist(C, numGroup);
        C_2(1) = C_1(1);
        for idx = 2:numGroup
            C_2(idx) = C_2(idx-1) + C_1(idx);
        end
        C_2 = C_2 / LOOP;
        Range_MIN = C_min;
        Range_MAX = C_max;
        X_axe = Range_MIN + [0:(numGroup-1)]/numGroup*(Range_MAX-Range_MIN);
        plot(X_axe, C_2);
    case 'Rice'
        C = zeros(1, LOOP);
        C_2 = zeros(1, numGroup);
        for idx_LOOP = 1:LOOP
            H = const*(randn(NR, NT) + 1j*randn(NR, NT)) + D * ones(NR, NT);
            C(idx_LOOP) = log2(det(eye(NR) + SNRdec/NT*H*H'));
        end
        C_min = min(C);
        C_max = max(C);
        C_1 = hist(C, numGroup);
        C_2(1) = C_1(1);
        for idx = 2:numGroup
            C_2(idx) = C_2(idx-1) + C_1(idx);
        end
        C_2 = C_2 / LOOP;
        Range_MIN = C_min;
        Range_MAX = C_max;
        X_axe = Range_MIN + [0:(numGroup-1)]/numGroup*(Range_MAX-Range_MIN);
        plot(X_axe, C_2);
    otherwise
        disp('Other Channel Type is still under construction. Only AWGN and Rayleigh fading is available.')
        keyboard
end

MIMO信道的信道容量相关推荐

  1. MIMO-OFDM无线通信技术及MATLAB实现(3)MIMO信道模型

    目录 MIMO统计信道模型 空间相关性 PAS模型 多簇 I-METRAMIMO信道 相关MIMO衰落信道的统计模型 相关MIMO信道系数的产生 I-METRAMIMO信道 多普勒谱 莱斯衰落 方向矩 ...

  2. 信道以及信道容量小结

    信道以及信道容量小结 1.信道的分类 2.信道的数学模型--互信息--平均互信息( I(X:Y)=H(X)- H(X|Y) 记住对称性) 3.信道容量--{离散无噪信道.离散对称信道.离散准对称信道. ...

  3. 基于MATLAB的MIMO信道估计(附完整代码与分析)

    目录 一. 介绍 二. MATLAB代码 三. 运行结果与分析 3.1 均方误差(MSE)与训练功率(dB)的关系 3.2 不同信道估计方法性能对比 一. 介绍 本篇将在MATLAB的仿真环境中对比M ...

  4. 6_3.信道与信道容量

    计算机网络原理[总学习笔记] 3.信道与信道容量 信道分类与模型 狭义信道:信号传输介质. 广义信道:信号传输介质和通信系统的一些变换装置. 调制信道:信号从调制器的输出端传输到解调器的输入端经过的部 ...

  5. 第三章-信道与信道容量(二)

    接上一节第三章-信道与信道容量(一) 3.2离散单个符号信道及其容量 一.对称DMC信道例子 1.      DMC信道的信道容量C计算 对称信道转移概率矩阵中,每行元素都相同 1)        信 ...

  6. 具有对称性的信道的信道容量计算方法

    1. 三类具有对称性的信道 在不同的<信息论>教材中,有关信道对称性的描述并不统一,这为学习对称性信道的信道容量计算方法造成的一定障碍.因此,本文在文章的开篇部分将对本文中所描述的三种具有 ...

  7. 相关高斯分布的MIMO信道矩阵的容量统计特征推导

    相关高斯分布的MIMO信道矩阵的容量统计特征推导 文章梗概 文章部分数学表述及系统模型 数学表述:定义在矩阵元上的三种积分 系统模型 数学分析架构 一般架构 AWGN噪声且无干扰 鞍点分析 平均互信息 ...

  8. 【转载】MIMO技术杂谈(二):犹抱琵琶半遮面--MIMO信道中隐藏的秘密

    犹抱琵琶半遮面--MIMO信道中隐藏的秘密 无线通信中,最让人难以捉摸的,就是那看不见,摸不着的无线信道了.但是,正因为它的变化莫测,才让无线通信具有了独特的魅力.正如Tse在他的大作<无线通信 ...

  9. 犹抱琵琶半遮面--MIMO信道中隐藏的秘密

    [原创]MIMO技术杂谈(二):犹抱琵琶半遮面--MIMO信道中隐藏的秘密 - 通信原理与基础 - 通信人家园 - Powered by C114  无线通信中,最让人难以捉摸的,就是那看不见,摸不着 ...

最新文章

  1. oracle数据库视图:定义、查询与更新 实践学习报告
  2. c语言实现4x4随机字母,求用C++编写一个4x4矩阵运算类(元素float),实现转置和相乘,具体见补充,在线等!谢谢啦~...
  3. ngDialog 点击窗口以外不允许关闭弹窗
  4. java 泛型集合应用_Java泛型集合的应用和方法
  5. x264 struct 学习
  6. mba案例分析_2020年(第八届)MBA企业案例分析实践课程暨大赛完美收官!
  7. javascript DOM 方法
  8. access_token is invalid or not latest hint
  9. Kakao Talk母公司第四季净利润暴跌80%
  10. 前端后端分离,怎么解决SEO优化的问题呢?
  11. 将执行文件转化为bat批处理文件的工具(批处理文件方式提供)
  12. webbrowser只对浏览器外应用程序以及在_常用浏览器大盘点!
  13. 绝缘检测是什么? 绝缘检测原理 绝缘检测检测的是什么?那个量?电压?电流?电阻?
  14. Windows Server 2008 R2 学习笔记——VMware Workstation中服务器(Windows Server 2008 R2)与客户机(Windows 7)的安装
  15. 断电oracle 01033,电脑非法关机 导致ORA-01033:解决方法
  16. 用HTML写一首绝句古诗,唐诗七绝绝句经典50首:唐诗七绝悲伤的句子让人心醉
  17. Alphabetic Removals详解(特殊算法巧解)
  18. 1038 Recover the Smallest Number
  19. android 背光控制,Android P背光策略分析(一)
  20. 安装了vmware tools还是不能复制粘贴,使用了很多种方法都不可以

热门文章

  1. 2020年全国大学生电子设计大赛赛后总结
  2. 负数在计算机中的表示和存储
  3. 风力发电机 有功功率 无功功率 理论有功功率
  4. 从零开始学统计 07 | 标准误差
  5. 吴恩达 - 第五周 - 笔记
  6. 计算机应用技能实验报告实验五,实验五excel应用—制作学生成绩表
  7. 怎么计算机械设备电机,电机功率计算公式是什么?电机正确选配方法
  8. 成成你好呀笔记整理(知识点合集一)
  9. 力天创见仓库客流管控方案
  10. 知道当年为什么黑鹰3800hk受欢迎了,文案做得好谁不喜欢?