misocapacitylunwenyong.m

来自「本代码给出基于MIMO系统下的系统容量分析」· M 代码 · 共 73 行

M
73
字号
clear;
%%%%%%%%%%%%%%%%%%mimo3*3
Nr=3;
 Nt=3;
min_snr=0;
max_snr=30;
c33=zeros(1,((max_snr-min_snr)/2+1));
H=RayleighCH(Nr,Nt);
w=H*H';
u=eye(Nr,Nr);
for snr_in_db=min_snr:2:max_snr
    SNR=10^(snr_in_db/10);
v=u+w/Nt*SNR;
delt=det(v);
c33(snr_in_db/2+1)=log2(delt);
end
%%%%%%%%%%%%%%miso5*1
Nr=1;
 Nt=5;
min_snr=0;
max_snr=30;
c31=zeros(1,((max_snr-min_snr)/2+1));
h=randn(Nr*Nt,1)/sqrt(2)+j*randn(Nr*Nt,1)/sqrt(2);
w1=(abs(h(1))^2+abs(h(2))^2+abs(h(3))^2+abs(h(4))^2+abs(h(5))^2);
for snr_in_db=min_snr:2:max_snr
    SNR=10^(snr_in_db/10);
c31(snr_in_db/2+1)=log2(1+SNR*w1/5);
end

%%%%%%%%%%%%%%%%%%%%%%%%simo
Nr=5;
 Nt=1;
min_snr=0;
max_snr=30;
c15=zeros(1,((max_snr-min_snr)/2+1));
h=randn(Nr*Nt,1)/sqrt(2)+j*randn(Nr*Nt,1)/sqrt(2);
w=(abs(h(1))^2+abs(h(2))^2+abs(h(3))^2+abs(h(4))^2+abs(h(5))^2);
for snr_in_db=min_snr:2:max_snr
    SNR=10^(snr_in_db/10);
c15(snr_in_db/2+1)=log2(1+SNR*w);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%siso
Nr=1;
 Nt=1;
min_snr=0;
max_snr=30;
c11=zeros(1,((max_snr-min_snr)/2+1));
h=randn(Nr*Nt,1)/sqrt(2)+j*randn(Nr*Nt,1)/sqrt(2);
w=(abs(h)^2);
for snr_in_db=min_snr:2:max_snr
    SNR=10^(snr_in_db/10);
c11(snr_in_db/2+1)=log2(1+SNR*w);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%MIMO5*5
Nr=5;
 Nt=5;
min_snr=0;
max_snr=30;
c55=zeros(1,((max_snr-min_snr)/2+1));
H=RayleighCH(Nr,Nt);
w=H*H';
u=eye(Nr,Nr);
for snr_in_db=min_snr:2:max_snr
    SNR=10^(snr_in_db/10);
v=u+w/Nt*SNR;
delt=det(v);
c55(snr_in_db/2+1)=log2(delt);
end
plot(min_snr:2:max_snr,c31,'-*',min_snr:2:max_snr,c15,'b',min_snr:2:max_snr,c33,'-+',min_snr:2:max_snr,c11,'r--',min_snr:2:max_snr,c55,'k.')
legend('5Tx1Rx','1Tx5Rx','3Tx3Rx','1Tx1Rx','5Tx5Rx')
xlabel('SNR (dB)')
ylabel('信道容量 (b/s/Hz)')

⌨️ 快捷键说明

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