📄 tu1-32.m
字号:
clear
Dr=[1:5:101];
Dt=Dr;
Rr=50;
Rt=50;
R=10e3;%10km
SNRdB=20;
SNR=10.^(SNRdB./10);
alfa_r=2*atan(Dr./Rr);
alfa_t=2*atan(Dt./Rt);
alfa_s=2*atan(Dt./R);
f=900e6;%900MHz
lamda=3e8/f;%wave length
Transantannaposition=0:3*lamda:9*lamda;
Receiantannaposition=0:3*lamda:9*lamda;
S=32; %Scatter bodies number
CC(length(Dt))=0;%init
for s=1:10
for ss=1:length(Dt)
Scatterposition=rand(1,S).*2*Dt(ss);
Sita_r=sitafun(Receiantannaposition,lamda,alfa_r(ss));
Sita_t=sitafun(Transantannaposition,lamda,alfa_t(ss));
Sita_s=sitafun(Scatterposition,lamda,alfa_s(ss));
Kr=(llh(Sita_r));
Kt=(llh(Sita_t));
Ks=(llh(Sita_s));
simutimes=1000;
for sim=1:simutimes
Gr=(randn(4,S)+j*randn(4,S))./sqrt(2);
Gt=(randn(S,4)+j*randn(S,4))./sqrt(2);
H=1./sqrt(S).*(Kr*Gr*Ks*Gt*Kt);%eq1-141
C(sim)=log2(det(eye(4,4)+SNR./4.*H'*H));%1-30
end
Cmean(ss)=real(mean(C));
[s Dr(ss)] %display progress
end
CC=CC.*(s-1)./s+Cmean./s; %是对CC的调整,共进行了12次仿真 CC=CC.*s-CC./s+Cmean./s。
%plot(Dt, CC);grid on;axis([0 100 6 24]);
%drawnow;
end
plot(Dt, CC);grid on;axis([0 100 8 24]);
drawnow;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -