⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 capacity_ccdf.m

📁 本人详细分析后的mimo信道容量的仿真代码
💻 M
字号:
%% Channel Capacity of MIMO 
%quad(fun,a,b)函数是对表达式fun在a到b的范围内积分

temp=MyAngleSpread/2/180*pi;%这是把扩展角的一半转换成弧度的形式,后面作为扩展角积分的范围
Coefficient_1_2=quad(@CorrCoe_1d,-temp,temp)/2/temp; %在扩展角范围内进行积分,得到
Coefficient_1_3=quad(@CorrCoe_2d,-temp,temp)/2/temp;
Coefficient_1_4=quad(@CorrCoe_3d,-temp,temp)/2/temp;

%下面确定接收天线的相关矩阵
Re_CorrelationMatrix(1,2)=Coefficient_1_2;
Re_CorrelationMatrix(1,3)=Coefficient_1_3;
Re_CorrelationMatrix(1,4)=Coefficient_1_4;
Re_CorrelationMatrix(2,1)=Coefficient_1_2;
Re_CorrelationMatrix(2,3)=Coefficient_1_2;
Re_CorrelationMatrix(2,4)=Coefficient_1_3;
Re_CorrelationMatrix(3,1)=Coefficient_1_3;
Re_CorrelationMatrix(3,2)=Coefficient_1_2;
Re_CorrelationMatrix(3,4)=Coefficient_1_2;
Re_CorrelationMatrix(4,1)=Coefficient_1_4;
Re_CorrelationMatrix(4,2)=Coefficient_1_3;

Re_CorrelationMatrix(4,3)=Coefficient_1_2;
%c=Re_CorrelationMatrix
Re_CorrelationMatrix=real(Re_CorrelationMatrix);

Capacity=zeros(1,1);

X_Capacity=0:0.1:7;
ccdf=zeros(1,max(size(X_Capacity)));

for nn=1:1500
     WhiteMatrix=sqrt(1/2)*randn(4)+j*sqrt(1/2)*randn(4); %复高斯随机信道矩阵Hw.
     ChannelMatrix=Re_CorrelationMatrix*WhiteMatrix;%应该是信道协方差矩阵 ??????
     Capacity=log2(det(eye(4)+25*(Re_CorrelationMatrix)'...
           *WhiteMatrix*eye(4)*WhiteMatrix'));%对于该式,已有理论依据,这是接收相关发送不相关的信道容量公式
     Capacity=real(Capacity)/4;
    for nnn=1:max(size(X_Capacity))
        if Capacity>=X_Capacity(nnn);
           ccdf(nnn)=ccdf(nnn)+1;
        else 
           ccdf(nnn);
        end
    end
end
ccdf=ccdf/1500;
%该程序循环了1500次,总共求得了1500个信道容量,我不清楚 Capacity=real(Capacity)/4;的含义,但内嵌循环
%循环了71次,并且每次求得的信道容量和0到7之间以0.1为步长的数进行比较,大于则ccdf(n)加1,否则不加,即
%每次在capacity<X_Capacity(nnn)的时候,ccdf(1)到ccdf(nnn)都加1,这样的结果应该是一种累计概率分布形式
%就是ccdf(complementary cumulative distribution function),互补累计分布函数。
%我把ccdf定义为:ccdf=P(Capacity>X_Capacity(nnn)),就是信道容量大于某一个数的概率是多少,
%这些数组成的向量就是X_Capacity=0:0.1:7;观察运行结果可以得到感性认识,很明显,随着X_Capacity的增大,ccdf递减






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -