Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
% Entrada de dados
% O arquivo de dados precisa estar no mesmo diretório do
programa de MATLAB
nome_do_arq_dados = input('Qual é o arquivo de dados:
','s');
dados = xlsread(strcat(nome_do_arq_dados,'.xlsx'));
v = reshape(dados,[1 numel(dados)]); % reformata a matriz
obtida
% em um vetor linear
if resposta == 'S'
dados_final = fliplr(v); % espelha o vetor se a
medição é
else % efetuada de longe para
perto
dados_final = v;
end
% plotagem final
nfig = nfig+1;
figure(nfig);
% plotagem do gráfico
plot(dados_final,'b-','LineWidth',1); grid on; hold on;
% plotagem do FMM
plot(indices_FMM_f, FMM_f,'r*-', 'LineWidth',1); hold
off;
xlabel('Samples'); ylabel('Power (dBm)');
legend('Received power','Moving average filter');
%%
% Aplicando dfittool nas janelas
for n = 1 : num_set %iteração sem o ultimo setor
setor= 1:1:janela_final; %Cria um vetor para cada
setor
setor=dados_final((1 + (n-1) *janela_final) :
(n*janela_final));
dfittool(setor)
end
if isnan(FMM_ultimo) == 0
setor_final = dados_final( [(1 + janela_final * ...
(numel(indices_FMM_f)-1)):numel(dados_final)] );
% dfittool para o ultimo setor
dfittool(setor_final);
% a partir da janela de dfittool, procurar as
distribuições de ajuste
end
%
%%
% conversão do vetor de amostras para distância
% Casos em que a TX e/ou RX não estão na mesma direção do
deslocamento
H = 4.7;
D = input('Valor da distância até a antena: ');
% Rota Principal = 39.5m
% Rota 1 = 50.9m
% Rota 2 = 62.0m
% Rota 3 = 80.0m
% Rota 4 = 80.0m
% Rota 5 = 194.0m
questao_2 = 'Você irá analisar rotas horizontais (H) ou
verticais (V)? (H/V) ';
resposta_2 = input(questao_2,'s'); %Rotas P, 1, 2 e 3 =
H; 4 e 5 = V , 's' de string
if resposta_2 == 'H'
d0 = sqrt(H^2+D^2);
else
d0 = sqrt((39.5^2+D^2)); %39.5 é a distancia vertical
entre a linha em que esta a TX e o inicio das rota
verticais
end
delta = dist/length(dados_final);
distancia = ([1:length(dados_final)] * delta);
dist_plano = sqrt(D^2 + distancia.^2);
d0_n = sqrt(H^2 + dist_plano.^2);
v = d0_n/d0;
d_log = log10(v); %vetor de log(d0_n/d0)
% iii) ITU-R
ITUR = FSL - (0.2 * freq^0.3 * d0_n.^0.6);
% iv) UFPA
a1 = 1.7; b1 = 0.0024; c1 = 9.49;
H_ob = 4; % altura méd. obstáculos
X = (H_t + H_r)*lambda/(0.1*H_ob);
K0 = a1 - b1 * X;
gamma_ufpa = K0 * (a1 - b1 * H_t + c1/H_t);
X_f = 20.35 * log10(freq/2000);
X_h = 4.5 - 9.78 * log10(H_r/2);
L0 = 20*log10(4*pi*dist_0/lambda);
UFPA = 2.93 + G_t - ( L0 +
10*gamma_ufpa*log10(d0_n/dist_0) + X_f + X_h)...
+ G_r - L_cabo;
% v) Log distance
%%%% GRAFICO MODELO LOG-DISTANCIA (em escala log)
o = [1 1 1 1 1 1 1 1 1 1];
P0 = (dados_final(1:10)*o')/10; % Média da potencia em d0
PL = P0 - 10*(alpha)*d_log ; %%ajustar positivo
grid on;
% plotagem
nfig = nfig+1;
figure(nfig); % nova janela
plot(d0_n, dados_final, 'k', 'LineWidth',1); grid on;
title('Application of propagation models'); ...
xlabel('Distance (m)'); ylabel('Power (dBm)');
hold on; plot(d0_n, FSL, 'LineWidth',2);
plot(d0_n, ITUR, 'LineWidth',2);
plot(d0_n, ylog, 'LineWidth',2);
plot(d0_n, BRLJ_1, 'LineWidth',2);
plot(d0_n, BRLJ_2, 'LineWidth',2);
plot(d_log, PL, 'g');
plot(d0_n, UFPA, 'LineWidth',2); hold off;
legend('Power','Free-space loss','ITU-R','Log fitting
curve', ...
'BRLJ (cross route)','BRLJ (direct
route)','UFPA'),'LOG-Distancia ';
%%
%%% Cálculo dos erros quadráticos médios (EQM/MSE)
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% FIM DO PROGRAMA %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%