我是靠谱客的博主 愤怒芝麻,最近开发中收集的这篇文章主要介绍发送端未知信道状态信息情况下MIMO系统容量仿真,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在发送端与接收端天线个数不同的情况下,MIMO系统的容量

clear all;
close all;
M=1000;%循环次数
n_bins=round(M/10);%round函数用于舍入到最接近的整数
Nt=[2:2:8];%发送端天线个数
SNR=[10];%信噪比,单位为dB
figure(1);
title('发送端未知CSI情况下MIMO系统容量的CCDF','FontSize',14);
xlabel('容量(bit/s/Hz)','FontSize',12);
ylabel('Pr(容量>=横坐标)','FontSize',12);
hold on;
text(1.8,0.8,'1*1','FontSize',12);
text(3,0.9,'2*2','FontSize',12);
text(6,0.8,'2*4','FontSize',12);
text(8,0.7,'2*6','FontSize',12);
text(10.4,0.2,'2*8','FontSize',12);
text(13,0.1,'4*4','FontSize',12);
text(19,0.1,'6*6','FontSize',12);
text(24,0.1,'8*8','FontSize',12);
%画1发1收时SISO系统容量
for n=1:1
    for m=1:M
        %产生瑞利信道,信道矩阵参见式(2-46)
        H=(randn(1,1)+1i*randn(1,1))/sqrt(2);
        rho=10^(SNR/10);%转换信噪比为幅值,而非dB值描述
        CU(m,n)=log2(real(det(eye(1)+rho*H*H')));
    end
    [cdf,c]=hist(CU(:,n),n_bins);%统计容量分布

    plot(c,1-(cumsum(cdf))/M);%画M个循环得到的容量平均值,用CCDF描述    cumsum累积和
end
    disp(length(Nt))
%画收、发天线个数为2*4、2*6、2*8时的容量
for n=2:length(Nt)
    N=Nt(n);
    for m=1:M
        H=(randn(2,N)+1i*randn(2,N))/sqrt(2);
        rho=10^(SNR/10);
        %计算发送端未知信道状态信息情况下的容量,参见式(4-10)
        CU(m,n)=log2(real(det(eye(2)+rho*H*H'/2)));
    end
    [cdf,c]=hist(CU(:,n),n_bins);%统计容量分布
    plot(c,1-(cumsum(cdf))/M);
end
%画收、发天线个数为2*2、4*4、6*6、8*8时的容量
for n=1:length(Nt)
    N=Nt(n);
    for m=1:M
        H=(randn(N,N)+1i*randn(N,N))/sqrt(2);
        rho=10^(SNR/10);
        %计算发送端未知信道状态信息情况下的容量,参见式(4-10)
        CU(m,n)=log2(real(det(eye(N)+rho*H*H'/N)));
    end
    [cdf,c]=hist(CU(:,n),n_bins);%统计容量分布
    plot(c,1-(cumsum(cdf))/M);
end
grid on; 

在这里插入图片描述

参考《MIMO-OFDM系统原理、应用及仿真》一书

最后

以上就是愤怒芝麻为你收集整理的发送端未知信道状态信息情况下MIMO系统容量仿真的全部内容,希望文章能够帮你解决发送端未知信道状态信息情况下MIMO系统容量仿真所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部