Rieccomi con qualche risultato ottenuto....%%%%%%%%%%%%%%%%%%%%%%%%%%%%PROGRAMMA
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%MISURE
%%%%%%tutte le misure sono in metri
L=2; %distanza tra il sensore tx e il sensore rx che si trovano di fronte
%d=0.2; %distanza tra un sensore tx e l'altro, distanza tra un sensore rx e l'altro
%posxtx1=d; %coordinata x del primo tx
%posxtx2=posxtx1+d; %coordinata x del secondo tx
%posxtx3=posxtx2+d; %coordinata x del terzo tx
%posxtx4=posxtx3+d; %coordinata x del quarto tx
%coordinate y dei trasmettitori
%posytx1=0;
%posytx1=posytx2;
%posytx2=posytx3;
%posytx3=posytx4;
%posxrx1=d; %coordinata x del primo rx
%posxrx2=posxrx1+d; %coordinata x del secondo rx
%posxrx3=posxrx2+d; %coordinata x del terzo rx
%posxrx4=posxrx3+d; %coordinata x del quarto rx
%coordinate y dei ricevitori
%posyrx1=L;
%posyrx1=posyrx2;
%posyrx2=posyrx3;
%posyrx3=posyrx4;
%xval=0.4; %larghezza della valigia
%yval=0.7; %lunghezza valigia
%distanze tra trasmettitore e ricevitore posti di fronte
%dtx1rx1 = L;
%dtx1rx1 = dtx2rx2;
%dtx1rx1 = dtx2rx2;
%dtx2rx2 = dtx4rx4;
%distanza tra tx e rx posti in parte all' rx di fronte
%dtx1rx2 = sqrt(d^(2) + L^(2));
%dtx1rx2 = dtx2rx1;
%dtx2rx1 = dtx2rx3;
%dtx2rx3 = dtx3rx2;
%dtx3rx2 = dtx3rx4;
%dtx3rx4 = dtx4rx3;
%distanza tra tx e rx posto due rx in parte all' rx di fronte
%dtx1rx3 = sqrt((2*d)^2 + L^(2));
%dtx1rx3 = dtx2rx4;
%dtx2rx4 = dtx3rx1;
%dtx3rx1 = dtx4rx2;
%distanza tra tx e rx posto tre rx in parte all' rx di fronte
%dtx1rx4 = sqrt((3*d)^2 + L^(2));
%dtx1rx4 = dtx4rx1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
d0=1; %distanza di riferimento (1m)
d=L; %distanza tra tx e rx posti di fronte (2m)
PL0l=35.4; %pathloss di riferimento nel caso los(misurata alla distanza di 1m) in dB
PL0nl=57.9; %pathloss di riferimento nel caso nlos(misurata alla distanza di 1m) in dB
a=1;
i=1;
PL1=[]; %pathloss tx1-rx1
PL2=[]; %pathloss tx2-rx2
PL3=[]; %pathloss tx3-rx3
PL4=[]; %pathloss tx4-rx4
while i==1;
i=round(rand(size(a))); %crea la valigia
if i==1;
val=[0 0 0 0 0 0 0]; %valigia
k=1;
for t=0:10:1500; %progressione del tempo in millisecondi
if t<=200;
val=[0 0 0 0 0 0 0];
PL1(k)=los(d,d0,PL0l);
PL2(k)=los(d,d0,PL0l);
PL3(k)=los(d,d0,PL0l);
PL4(k)=los(d,d0,PL0l);
end
if t>200 & t<=300;
val=[0 0 0 0 0 0 1];
PL1(k)=nlos(d,d0,PL0nl);
PL2(k)=los(d,d0,PL0l);
PL3(k)=los(d,d0,PL0l);
PL4(k)=los(d,d0,PL0l);
end
if t>300 & t<=400;
val=[0 0 0 0 0 1 1];
PL1(k)=nlos(d,d0,PL0nl);
PL2(k)=los(d,d0,PL0l);
PL3(k)=los(d,d0,PL0l);
PL4(k)=los(d,d0,PL0l);
end
if t>400 & t<=500;
val=[0 0 0 0 1 1 1];
PL1(k)=nlos(d,d0,PL0nl);
PL2(k)=nlos(d,d0,PL0nl);
PL3(k)=los(d,d0,PL0l);
PL4(k)=los(d,d0,PL0l);
end
if t>500 & t<=600;
val=[0 0 0 1 1 1 1];
PL1(k)=nlos(d,d0,PL0nl);
PL2(k)=nlos(d,d0,PL0nl);
PL3(k)=los(d,d0,PL0l);
PL4(k)=los(d,d0,PL0l);
end
if t>600 & t<=700;
val=[0 0 1 1 1 1 1];
PL1(k)=nlos(d,d0,PL0nl);
PL2(k)=nlos(d,d0,PL0nl);
PL3(k)=nlos(d,d0,PL0nl);
PL4(k)=los(d,d0,PL0l);
end
if t>700 & t<=800;
val=[0 1 1 1 1 1 1];
PL1(k)=nlos(d,d0,PL0nl);
PL2(k)=nlos(d,d0,PL0nl);
PL3(k)=nlos(d,d0,PL0nl);
PL4(k)=los(d,d0,PL0l);
end
if t>800 & t<=900;
val=[1 1 1 1 1 1 0];
PL1(k)=los(d,d0,PL0l);
PL2(k)=nlos(d,d0,PL0nl);
PL3(k)=nlos(d,d0,PL0nl);
PL4(k)=nlos(d,d0,PL0nl);
end
if t>900 & t<=1000;
val=[1 1 1 1 1 0 0];
PL1(k)=los(d,d0,PL0l);
PL2(k)=nlos(d,d0,PL0nl);
PL3(k)=nlos(d,d0,PL0nl);
PL4(k)=nlos(d,d0,PL0nl);
end
if t>1000 & t<=1100;
val=[1 1 1 1 0 0 0];
PL1(k)=los(d,d0,PL0l);
PL2(k)=los(d,d0,PL0l);
PL3(k)=nlos(d,d0,PL0l);
PL4(k)=nlos(d,d0,PL0nl);
end
if t>1100 & t<=1200;
val=[1 1 1 0 0 0 0];
PL1(k)=los(d,d0,PL0l);
PL2(k)=los(d,d0,PL0l);
PL3(k)=nlos(d,d0,PL0nl);
PL4(k)=nlos(d,d0,PL0nl);
end
if t>1200 & t<=1300;
val=[1 1 0 0 0 0 0];
PL1(k)=los(d,d0,PL0l);
PL2(k)=los(d,d0,PL0l);
PL3(k)=los(d,d0,PL0l);
PL4(k)=nlos(d,d0,PL0nl);
end
if t>1300 & t<=1400;
val=[1 0 0 0 0 0 0 ];
PL1(k)=los(d,d0,PL0l);
PL2(k)=los(d,d0,PL0l);
PL3(k)=los(d,d0,PL0l);
PL4(k)=nlos(d,d0,PL0nl);
end
if t>1400 & t<=1500;
val=[0 0 0 0 0 0 0];
PL1(k)=los(d,d0,PL0l);
PL2(k)=los(d,d0,PL0l);
PL3(k)=los(d,d0,PL0l);
PL4(k)=los(d,d0,PL0l);
end
k=k+1;
end
end
end
%%%%%%%%%%%%%%% LOS
function [PL]=los(distanza, distanza0, PLref);
%funzione che calcola la pathloss nel caso di los
n=1.63; %pathloss exponent in office environment
sigmas=1.9; %deviazione standard della variabile Sgauss
Sgauss=randn(1)*sigmas; %variabile casuale con distribuzione gaussiana con media nulla e dev. standard sigmasrapp=distanza/distanza0;
rapp=distanza/distanza0;
T=10*n;
K=T*log10(rapp);
PL=PLref+K+Sgauss; %PLref e K sono in dB e quindi anche il risultato PL è in dB
end
%%%%%%%%%%%%%%%% NLOS
function [PL]=nlos(distanza, distanza0, PLref);
%funzione che calcola la pathloss nel caso di los
n=3.07; %pathloss exponent in office environment
sigmas=3.9; %deviazione standard della variabile Sgauss
Sgauss=randn(1)*sigmas; %variabile casuale con distribuzione gaussiana con media nulla e dev. standard sigmasrapp=distanza/distanza0;
rapp=distanza/distanza0;
T=10*n;
K=T*log10(rapp);
PL=PLref+K+Sgauss; %PLref, K e Sgauss sono in dB e quindi anche il risultato PL è in dB
end
il programma funziona ora però devo trovare un modo per dire al mondo esterno tipo stampa a video o disegnino di come procede la valigia sul nastro.......avete qualche idea???come potrei fare?????