MIMO 系统容量仿真
仿真操作步骤
1.安装 MATLAB6.5 软件
2.打开 MATLAB6.5,在桌面上会弹出两个窗口:记事本窗口(如图 4-1)
和命令窗口(如图 4-2)
图 4-1
图 4-2
3.在弹出的命令窗口中依次单击 File|New|Mfile(见图 4-3)打开编辑窗口
图 4-3
4.在编辑窗口中编程
5.保存该程序,单击 Debug|Run 运行。这时程序的结果将显示在命令窗口
上
6.依次选择不同的天线数和信噪比,得出多组数据
7.用 plot 命令绘图
程序实现
根据第三章对 MIMO 系统容量的推导,得出了信道容量公式:
W 为每个子信道的带宽。则每单位带宽上的信道容量为:
其中:
n
R
为接收端天线数,n
T
为发射端天线数
Im 是 min(n
R
,n
T
)阶单位矩阵
H 为 n
R
×n
T
阶随机矩阵,数值服从正态分布
P/ 为信噪比,我们用 SNR 来表示
为了便于用 MATLAB 编程,我们定义单位信道容量 ,
其中 SNR=10 ,推出 。
发射天线数 为 4,接收天线 逐渐增大
(1)信噪比 SNR=0dB
当 =1 时, Q=H*H'
程序代码如下:
SNR=0; %定义信噪比为 0HZ
A=10^(SNR/10); %信噪比的单位转换关系式
Im=eye(1); %这里的"1"为发射天线和接收天线两者数目少的根数
sum=0; %初始化 sum 为 0
for i=1:10000 %程序循环 10000 次
H=randn(1,4); %产生高斯信号源
Q=H*H'; %求威沙特矩阵
sum=sum+log2(det(Im+A*Q/4)); %10000 次循环得到的信道容量总和
end
C=sum/10000 %10000 次循环的平均值
运行可以得到第一组数据: =1 时,C=0.9267
当 =2 时 Q=H*H'
只需把程序代码的 换掉即可,运行可以得到第二组数据:
=2 时,C=1.7682
依次可以得到:
=3 时,C=2.5436
=4 时,C=3.2482
=5 时,C=3.8977
=6 时,C=4.5062
=7 时,C=5.0686
=8 时,C=5.5634
评论1
最新资源