📄 图1-8.m
字号:
clear all;clc;
DWZ=eye(2);
i=1;
C=zeros(1,5);
SNR1=zeros(1,5);
for SNR=[1 sqrt(10) 10 sqrt(1000) 10^1.8]
rongliang=zeros(1,200);
for K=1:200
H=(randn(2)+j*randn(2))/sqrt(2);
G=H'*H;
rongliang(1,K)=log2(det(DWZ+SNR*G/2));
end
C(1,i)=sum(rongliang)/200/2;
SNR1(1,i)=10*log10(SNR);
i=i+1;
end
plot(SNR1,C,'-+');
hold on;
grid on;
axis([0,18,-2,6]);
DWZ1=eye(8);
i=1;
C=zeros(1,5);
SNR1=zeros(1,5);
for SNR=[1 sqrt(10) 10 sqrt(1000) 10^1.8]
rongliang1=zeros(1,200);
for K=1:200
H=(randn(8)+j*randn(8))/sqrt(2);
G=H'*H;
rongliang1(1,K)=log2(det(DWZ1+SNR*G/8));
end
C(1,i)=sum(rongliang1)/200/8;
SNR1(1,i)=10*log10(SNR);
i=i+1;
end
plot(SNR1,C,'-*');
hold on;
grid on;
axis([0,18,-2,6]);
DWZ2=eye(16);
i=1;
C=zeros(1,5);
SNR1=zeros(1,5);
for SNR=[1 sqrt(10) 10 sqrt(1000) 10^1.8]
rongliang2=zeros(1,200);
for K=1:200
H=(randn(16)+j*randn(16))/sqrt(2);
G=H'*H;
rongliang2(1,K)=log2(det(DWZ2+SNR*G/16));
end
C(1,i)=sum(rongliang2)/200/16;
SNR1(1,i)=10*log10(SNR);
i=i+1;
end
plot(SNR1,C,'-s');
hold on;
grid on;
axis([0,18,-2,6]);
C2=zeros(1,5);
SNR1=zeros(1,5);
i=1;
for SNR=[1 sqrt(10) 10 sqrt(1000) 10^1.8]
C2(1,i)=log2(SNR)-1;
SNR1(1,i)=10*log10(SNR);
i=i+1;
end
plot(SNR1,C2,'-.');
hold on;
grid on;
axis([0,18,-2,6]);
C3=zeros(1,5);
SNR1=zeros(1,5);
i=1;
for SNR=[1 sqrt(10) 10 sqrt(1000) 10^1.8]
C3(1,i)=log2(SNR)-1+(sqrt(1+4*SNR)-1)/(2*SNR)+2*atanh(1/sqrt(1+4*SNR));
SNR1(1,i)=10*log10(SNR);
i=i+1;
end
plot(SNR1,C3,'--.');
hold on;
axis([0,18,-2,6]);
xlabel('信噪比 dB');
ylabel('容量n/(bit/s/hz)');
legend('n=2 tx/rx antennas','n=8 tx/rx antennas','n=16 tx/rx antennas','bound limit','Asymptotic value');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -