% *************************************************** ***********************
% LOOP.m
% ************************ ************************************************
% Isto é um programa baseado em MATLAB calcula:
% I. Direcionalidade máxima (adimensional e em dB)
% II. Resistência à radiação
% III. Padrão de diretividade (em dB) na forma polar
% IV. Elevação normalizada de campo distante padrão (E-phi, em dB)
%
% e também traça o:
% I. directividade padrão polar (em dB)
% II. Normalizou-campo distante padrão polar amplitude (E-phi, em dB)
%
% para um circuito circular (com corrente constante). O loop está irradiando
% para o espaço livre.
%
% A diretividade e a resistência à radiação são calculadas usando
% o método da borda de fuga em incrementos de 1 grau em teta.
%
% Parâmetros de entrada **:
% 1. A: Raio Loop (em comprimentos de onda)
%
% ** Nota:
% A longe da zona do componente do campo eléctrico E-phi existe para
% 0 <teta <180 e 0 <Phi <360.
% ------------------------------------------------- ----------------
% convertido de Fortran para Matlab 3/2002 por Kelly O'Dell.
% Modificado por Marios Gkatzianas
% -------------------------------------------- ---------------------
%
limpar tudo;
feche tudo;
formato longo;
aviso desligado;
% —Escolha de saída—
fprintf ('Opção de dispositivo de saída \ n \ tOpção (1): Tela \ n \ tOpção (2): Arquivo \ n');
ERR = 1;
enquanto (ERR ~ = 0)
DEVICE = input ('\ nDispositivo de saída =', 's');
DEVICE = str2num (DEVICE);
se (DISPOSITIVO == 1)
ERR = 0;
elseif (DEVICE == 2)
FILNAM = input ('Insira o nome do arquivo de saída desejado:', 's');
ERR = 0;
senão
erro ('O número do dispositivo de saída deve ser 1 ou 2 \ n');
fim
fim
% —Definição de constantes e inicialização—
PI = 4,0 ou (1,0);
E = 120,0 PI;
THETA = PI / 180,0;
UMAX = 0,0;
PRAD = 0,0;
TOL = 1,0E-5;
% —Insira o raio do loop—
A = entrada ('\ nRádio do loop em comprimentos de onda =', 's');
A = str2num (A);
% Inserir loop de erro de dados de entrada **
%-Programa principal------------------------------------
I = 1;
enquanto (I <= 180)
XI = I PI / 180,0;
X = 2,0 PI A sen (XI);
se (abs (X) <TOL)
F = 0,0;
senão
F = besselj (1, X);
final
U = A2 * (2,0 * PI) 2 / 8,0 E F ^ 2;
se (U> UMAX)
UMAX = U;
fim
UA = U sen (XI) THETA 2 PI;
PRAD = PRAD + UA;
I = I + 1;
final
D = (4,0 PI UMAX) / PRAD;
DDB = 10,0 log10 (D);
RR = 2,0 PRAD;
% —Cálculo dos padrões de campo distante de elevação em incrementos de 1
grau— fid = fopen ('ElevPat.dat', 'w');
fprintf (fid, '\ tLoop \ n \ n \ tTheta \ t \ tH (dB) \ n');
fprintf (fid, '\ t ----- \ t \ t ------ \ n');
T = zeros (180,1);
HT = zeros (180,1);
HdB = zeros (180,1);
x = 1;
enquanto (x <= 180)
T (x) = x-0,99;
Y = 2 PI A * sen (T (x) THETA);
HT (x) = besselj (1, Y);
x = x + 1;
final
HT = abs (HT);
HTmax = max (HT);
HdB = 20 log10 (abs (HT) / HTmax);
x = 1;
enquanto (x <= 180)
fprintf (fid, '\ n% 5,0f% 12,4f', T (x), HdB (x));
x = x + 1;
fim
fclose (fid);
% —Criar saída ------------
if (DEVICE == 2)
fid = fopen (FILNAM, 'w');
else
fid = DEVICE;
fim
x = espaço interno (0,4 pi A, 500);
dx = x (2) -x (1);
den = soma (besselj (2, x) * dx);
teta = espaço interno (0, pi, 300);
Dth = 4 pi A / den * (besselj (1,2 pi A sin (theta))). ^ 2;
Dth (1) = 0;
Dth_db = 10 log10 (Dth);
% —Parâmetros de entrada de eco e parâmetros computados de
saída— fprintf (fid, '\ nLOOP: \ n -----');
fprintf (fid, '\ n \ nParâmetros de entrada: \ n -----------------');
fprintf (fid, '\ nRádio do loop em comprimentos de onda =% 6.4f', A);
fprintf (fid, '\ n \ nParâmetros de saída: \ n ------------------');
fprintf (fid, '\ nDirectivity (dimensional) =% 6.4f', D);
fprintf (fid, '\ nDirectividade (dB) \ t =% 6.4f', DDB);
fprintf (fid, '\ nResistência à radiação (Ohms) =% 9.4f', RR);
fprintf (fid, '\ n \ n *** NOTA: \ nO padrão de elevação normalizado é armazenado \ n');
fprintf (fid, 'em um arquivo de saída chamado… ElevPat.dat \ n \ n');
if (DISPOSITIVO == 2)
fclose (fid);
fim
% —Padrão de campo distante de elevação do
lote ------ % plot (T, -abs (HdB), 'b');
% eixo ([0 180 -60 0]);
% grade ligada;
% xlabel ('Theta (graus)');
% ylabel ('Amplitude (dB)');
% legend (['a =', num2str (A), '\ lambda'], 0);
% title ('Loop Far-Field Elevation Pattern');
T = T '; HdB = HdB ';
T = [T T + 180];
Hdb = [HdB fliplr (HdB)];
% Figura 1
% ********
polar_dB (T, -abs (Hdb), - 60, max (Hdb), 4);
título ('Padrão de amplitude normalizada do plano de elevação (dB)', 'fontsize', 16);
% Figura 2
% ********
figura (2);
polar_dB ([theta theta + pi] * 180 / pi, [Dth_db fliplr (Dth_db)], - 60, max (Dth_db), 4);
title ('Elevation plane directivity pattern (dB)', 'fontsize', 16);
% —Fim do programa -----------------------------------------