Compatibilità elettromagnetica:grafico path loss

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

zargleva
327 2 4 5
---
0
voti

[1] Compatibilità elettromagnetica:grafico path loss

Messaggioda zargleva » 5 set 2012, 20:21

? :ok: sALVE A TUTTI
ho un problema devo graficare il path-loss in funzione della distanza con il modello di ikegami, walfisch-ikegami e walfisch-bertoni...devo implementare un programmino in matlab dove l'utente scegli immette la distanza delle antenne e la loro altezza.Sapreste aiutarmi?io ho già svolto qualcosa ma alcuni risultati non mi tornano!Grazie ?%

Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere
2
voti

[2] Re: Compatibilità elettromagnetica:grafico path loss

Messaggioda Foto UtenteDirtyDeeds » 5 set 2012, 23:54

Se i risultati non ti tornano, è facile che ci sia un errore nel programma che hai fatto, però qui non abbiamo la sfera di cristallo e se non vediamo il programma non possiamo dare consigli ;-)

Nell'ipotesi che tu abbia strutturato un minimo il programma che hai fatto:

1) Riporta il codice della funzione che implementa il modello che ti dà i risultati sbagliati. Il codice va riportato tra i tag:

Codice: Seleziona tutto

[code]...[/code]


2) Riporta le equazioni del modello, in modo che anche chi non conosce quel particolare modello, ma conosce matlab, possa darti una mano. Le equazioni vanno scritte in LaTeX :!:

PS: ho spostato l'argomento in una sezione più adatta.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.

zargleva
327 2 4 5
---
0
voti

[3] Re: Compatibilità elettromagnetica:grafico path loss

Messaggioda zargleva » 6 set 2012, 10:41

grazie per aver spostato l'argomento :)

Codice: Seleziona tutto

clear all
close all
% posizionamento dell'antenna
x_TP=input('Distanza tra le antenne(in metri) \n'); % distanza tra antenne tramite funzione input%
y_TP=0;
x_SRB=0;
y_SRB=0;
z_SRB=input('altezza antenna trasmittente(in metri)\n');
z_TP=input('altezza antenna ricevente(in metri)\n');
z_TPp=z_SRB-z_TP; %calcolo della differenza tra le altezze delle due antenne %
freq=input('Frequenza del segnale trasmesso (MHz)\n');
lambda=3*(10^8)/(freq*10^6);
w=input('ampiezza strada\n');
hroof=input('\n Altezza tetti (m) \n');
fi =input('angolo fi tra 0 e 90 gradi\n');
h0=input('altezza primo edificio\n');
r_edif=input('Distanza edificio all antenna');

% % % %creazione matrici
L_FSL_db(x_TP)=zeros;
L_IK_db(x_TP)=zeros;
L_WB_db(x_TP)=zeros;
Lp_dB(x_TP)=zeros;
Lrts_dB(x_TP)=zeros;
Lmsd_dB(x_TP)=zeros;
Lorient_dB(x_TP)=zeros;
Lbsh_dB(x_TP)=zeros;
La(x_TP)=zeros;
%
% %calcolo dell'attenuazione
i=1:1:x_TP; %ASSE X della distanza%

for i=1:1:x_TP %calcolo punto per punto le attenuazioni in funzione della distanza%
    r=sqrt(i^2+z_TPp^2); %distanza dal campo diretto%
% %MODELLO FSL%%
   L_FSL_db(i)=32.4+20*log10(r/1000)+20*log10(freq);

 L_IK_db(i)=10*log10(freq)+10*log10(sin(fi))+20*log10(h0-1.5)-10*log10(w)-10*log10(1+(3/0.25^2))-5.8;

end


% %modello Walfish-Bertoni%
for i=1:1:x_TP %calcolo punto per punto le attenuazioni in funzione della distanza%
r=sqrt(i^2+z_TPp^2); %distanza dal campo diretto%
La(i)=5*log10((w/2)^2+(z_SRB-z_TP)^2)-9*log10(w)+20*log10(atan((2*(z_SRB-z_TP))/w));
L_WB_db(i)=La(i)+57.1+log10(freq)+18*log10(r/1000)-18*log10(z_SRB-z_TP)-18*log10(1-((r/1000)^2)/(17*(z_SRB-z_TP)));
end

% % % % % %  Calcolo dell'attenuazione dovuta all'orientamento con Walfish-ikegami
% if((fi>=0)&&(fi<35))
% Lorient_dB(i)=-10+0.354*fi;
% elseif((fi>=35)&&(fi<55))
%  Lorient_dB(i)=2.5+0.075*fi;
% elseif((fi>=55)&&(fi<=90))
%  Lorient_dB(i)=4+0.114*fi;
% end
% %     
% deltah_mob=hroof-z_TP;        %differenza fra le altezze edifici e rx
% deltah_base=z_SRB-hroof;         %differenza altezza tx ed edifici
% %
% % % % %Calcolo attenuazione diffrazione SKE
%  Lrts_dB(i)=-16.9-10*log10(w)+10*log10(freq)+20*log10(deltah_mob)+Lorient_dB(i);
% % %
% % % % %Calcolo kA
%  if(z_SRB>hroof)
%     kA=54;
% elseif(z_SRB<=hroof)
% end
%     if(r_edif>=0.5)
%         kA=54-0.8*deltah_base;
%     elseif(r_edif<0.5)
%         kA=54-0.8*deltah_base*d*10^(-3)/hroof;
%     end
% % % % %Calcolo Kd
% if(z_SRB>hroof)
%     kd=18;
% else
%     kd=18-15*deltah_base/hroof;
% end
% % %
% % % % %Scelta ambiente e calcolo Kf
% centro=input('\n Premi 1 per ambiente aperto o suburbano \n oppure premi 2 per ambiente urbano \n');
% if(centro==1)
%     kf=-4+0.7*(freq/925-1);
% elseif(centro==2)
%     kf=-4+1.5*(freq/925-1);
% end
% % %
% % % % %Calcolo attenuzione bsh
% if(z_SRB>hroof)
%     Lbsh_dB(i)=-18*log10(1+deltah_mob);
% elseif (z_SRB<=hroof)
%     Lbsh_dB(i)=0;
% end
% %
% % % % % Calcolo attenuazione da diffrazione multipla
% b=input(' \n Distanza fra gli edifici (m) \n ');
%
% Lmsd_dB(i)=Lbsh_dB(i)+kA+kd*log10(r_edif)+kf*log10(freq)-9*log10(b);
%
% % % %Calcolo attenuazione totale
% for i=1:1:x_TP %calcolo punto per punto le attenuazioni in funzione della distanza%
% if((Lrts_dB+Lmsd_dB)>0)
%     Lp_dB(i)=L_FSL_db(i)+Lrts_dB(i)+(i);
% else
%     Lp_dB(i)=L_FSL_db(i);
% end
% end
% % %visualizzazione dell'attenuazione per i modelli considerati

figure(1)
grid
xlabel('distanza(m)');
ylabel('Attenuazione(db)');
title('Attenuazione dei modelli FSL,PEL,Ikegami,Walfish-Bertoni');
 plot(L_FSL_db,'r','LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','r','MarkerSize',10); 
    hold on;
% plot(LikLin, 'b','LineWidth',2,'MarkerEdgeColor','b','MarkerFaceColor','b','MarkerSize',10);
% hold on;
plot(L_WB_db,'y','LineWidth',2,'MarkerEdgeColor','y','MarkerFaceColor','y','MarkerSize',10)
hold on;
% plot(Lp_dB,'k','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','k','MarkerSize',10);
% hold on;
legend('FSL',,'ikegami','Walfish-Bertoni','walfish-ikegami'));



Questo è il codice le equazioni delle attenuazioni sono riportate come da teoria, il mio problema è che nel grafico di ikegami invece di una curva mi esce una retta.
Grazie per la pazienza spero in un Vs risposta :)saluti


Codice: Seleziona tutto

% %  %  %%%andamento reale ambiente macrocellulare%%%
% % %     l2(d)=1/(((z_SRB)^2*z_TP)/(d^4*freq));
% % %     l2_dB(d)=10*log10(l2(d));
% % %     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %     
% % %    % plot(rprova,Lfs4_dB,'r','LineWidth',2,'MarkerEdgeColor','g','MarkerFaceColor','g','MarkerSize',10)
% % % hold on
% % % grid 
% % % xlabel('r (m)')
% % % ylabel('Attenuazione  (dB)')
% % % title('Andamento del path-loss in ambiente macrocellulare')
% %
Ultima modifica di Foto Utentelillo il 6 set 2012, 10:44, modificato 1 volta in totale.
Motivazione: Inserito codice tra i tag [code][/code]

Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere
0
voti

[4] Re: Compatibilità elettromagnetica:grafico path loss

Messaggioda Foto UtenteDirtyDeeds » 6 set 2012, 12:34

Teribbile... :roll:

Per capire cosa c'è che non va, tra le altre cose prova a pensare a cosa capiterebbe se tu volessi fare il grafico invece che a passi di 1 m a passi di 0.001 m (per dire).

Poi, in Matlab, per i calcoli su successioni di punti, non si usano MAI i cicli for, a meno che uno non ne sia assolutamente costretto, e un programma Matlab che utilizza i cicli for è quasi sempre un programma con potenziali problemi.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.

zargleva
327 2 4 5
---
0
voti

[5] Re: Compatibilità elettromagnetica:grafico path loss

Messaggioda zargleva » 6 set 2012, 12:52

ok allora grazie ci proverò, purtroppo Matlab non ci è stato mai spiegato.
Grazie! :oops:

Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere
0
voti

[6] Re: Compatibilità elettromagnetica:grafico path loss

Messaggioda Foto UtenteDirtyDeeds » 6 set 2012, 13:30

Inizia a fare un "esercizio" più semplice: prova a scrivere un programmino per fare il grafico della funzione

y = \sqrt{1+x^2}

per x compreso tra 0 e 1 a passi di 0.01. Posta qui il tuo programma, così è più facile spiegarti gli errori.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.

zargleva
327 2 4 5
---
0
voti

[7] Re: Compatibilità elettromagnetica:grafico path loss

Messaggioda zargleva » 6 set 2012, 14:21

okok perfetto a presto allora
Grazie ancora!


Torna a “Programmi applicativi: simulatori, CAD ed altro”