📄 mimo1.asv
字号:
clear all;
close all;
% %Gaussian
Roul=zeros(3,9);RR=zeros(1,9);iters=60;
for num=1:iters
% N=[80 320 800 3200];
N=[8 80 100];
d=0:8;
lamda=3*1e8/(9*1e8);
m=10*pi/180;
sigma=3*pi/180;
S=(erf((pi-m)/(sqrt(2)*sigma))-erf((-pi-m)/(sqrt(2)*sigma)))/2;
roul=zeros(length(N),length(d));
for n=1:length(N)
for i=1:length(d)
for k=1:N(n)
theta(k)=sqrt(2)*sigma*erfinv(2*rand(1)-1)+m;
delta(k)=2*pi*d(i)*sin(theta(k))/lamda;
end
roul(n,i)=sum(exp(-j*delta))/N(n);
end
end
for ii=1:length(d)
thetar=-pi:1/3200:pi;
f=(1/(sqrt(2*pi)*sigma*S)).*exp(-(thetar-m).^2./(2*sigma^2));
R(ii)=sum(exp(-j*2*pi*d(ii).*sin(thetar)./lamda).*f)/3200;
end
Roul=Roul+roul;
RR=RR+R;
end
Roul=Roul/iters;RR=RR/iters;
Roul(:,1)=1;RR(1)=1;
% plot(d,abs(RR),'-',d,abs(Roul(1,:)),'-*',d,abs(Roul(2,:)),'-.',d,abs(Roul(3,:)),'--',d,abs(Roul(4,:)),':');
% legend('theory','simulation (N=80)','simulation (N=320)','simulation (N=800)','simulation (N=3200)');
plot(d,abs(RR),'-',d,abs(Roul(1,:)),'-*',d,abs(Roul(2,:)),'-.',d,abs(Roul(3,:)),'--');
legend('theory','simulation (N=8)','simulation (N=80)','simulation(N=100)');
xlabel('antenna spacing [1/λ]');
ylabel('spatial correlation');
%laplacian
% Roul=zeros(3,9);RR=zeros(1,9);iters=60;
% for num=1:iters
% % N=[80 320 800 3200];
% N=[32 80 100];
% d=0:8;
% lamda=3*1e8/(9*1e8);
% m=10*pi/180;
% sigma=9*pi/180;
% S=1-exp(-sqrt(2)*pi/sigma)*cosh(sqrt(2)*m/sigma);
% roul=zeros(length(N),length(d));
% for n=1:length(N)
% for i=1:length(d)
% for k=1:N(n)
% u=rand(1);
% if u>=0.5
% theta(k)=m-(sigma/sqrt(2))*log(2*(1-u));
% else
% theta(k)=m+(sigma/sqrt(2))*log(2*u);
% end
% delta(k)=2*pi*d(i)*sin(theta(k))/lamda;
% end
% roul(n,i)=sum(exp(-j*delta))/N(n);
% end
% % plot(d,roul);
% % hold on
% end
% for ii=1:length(d)
% thetar=-pi:1/3200:pi;
% f=(1/(sqrt(2)*sigma*S)).*exp(-sqrt(2)*abs(thetar-m)./sigma);
% R(ii)=sum(exp(-j*2*pi*d(ii).*sin(thetar)./lamda).*f)/3200;
% end
% Roul=Roul+roul;
% RR=RR+R;
% end
% Roul=Roul/iters;RR=RR/iters;
% Roul(:,1)=1;RR(1)=1;
% % plot(d,abs(RR),'-',d,abs(Roul(1,:)),'-*',d,abs(Roul(2,:)),'-.',d,abs(Roul(3,:)),'--',d,abs(Roul(4,:)),':');
% % legend('theory','simulation (N=80)','simulation (N=320)','simulation (N=800)','simulation (N=3200)');
% plot(d,abs(RR),'-',d,abs(Roul(1,:)),'-*',d,abs(Roul(2,:)),'-.',d,abs(Roul(3,:)),'--');
% legend('theory','simulation (N=32)','simulation (N=80)','simulation (N=100)');
% xlabel('antenna spacing [1/λ]');
% ylabel('spatial correlation');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -