Diseño de Antena Yagi-Uda en MATLAB
Diseño de Antena Yagi-Uda en MATLAB
Docente:
Integrantes:
Grupo: 3T2-Eo
[Fecha] 1
Índice
Objetivos --------------------------------------------------------------------------------------------- 3
Objetivo general ---------------------------------------------------------------------------- 3
Objetivos específicos ----------------------------------------------------------------------3
Introducción ----------------------------------------------------------------------------------------- 4
Marco teórico ---------------------------------------------------------------------------- 5
Elementos de una antena Yagi ---------------------------------------------- 7
Funcionamiento ------------------------------------------------------------------ 7
Parámetros de diseño ---------------------------------------------------------- 8
Diseño de antena Yagi ---------------------------------------------------------------- 10
Parámetros de una antena Yagi de 5 elementos ----------------------- 10
Códigos de simulación
Primer código --------------------------------------------------------------------- 16
Segundo código ------------------------------------------------------------------ 17
Resultados de simulación en MATLAB ----------------------------------------- 45
Conclusión -------------------------------------------------------------------------------- 49
Bibliografía ------------------------------------------------------------------------------------50
[Fecha] 2
Objetivos
Objetivo General:
Objetivo especifico
Crear una antena Yagi-uda para frecuencia modulada (FM), tomando como base
una frecuencia de 195 MHz cumpliendo todos los parámetros para su correcta
elaboración y ejecución
[Fecha] 3
Introducción.
En el presente documento se encontrará información de cómo hacer un diseño de antena
contando con los parámetros básicos, partes de una antena , funcionamiento, elementos de
una antena etc y cálculos varios para poder así realizar su simulación en MATLAB
La antena es una estructura que sirve de transición entre el espacio libre y un dispositivo de
guía. Este dispositivo de guía o línea de transmisión puede tener la forma de una línea
coaxial o un tubo hueco (guía de ondas) y se utiliza para llevar energía electromagnética
desde la fuente del transmisor a la antena o del receptor a la antena. Una antena transmisora
convierte la energía eléctrica en ondas electromagnéticas, mientras que una antena
receptora realiza la función contraria.
[Fecha] 4
Marco teórico
La antena Yagi, ampliamente conocida y utilizada, fue patentada en 1926 por el Dr.
Hidetsugu Yagi de la Universidad de Tokio, y desde entonces se ha consolidado como una
de las antenas más populares en todo el mundo.
[Fecha] 5
rectilíneos que consta de un elemento de alimentación y otros elementos parásitos. Este
conjunto se describe como un conjunto de fuego final, lo que significa que funciona como
una sola antena formada por antenas conectadas internamente.
La antena Yagi-Uda es una antena que opera en HF (3-30 MHz), VHF (30-300 MHz) y
UHF (300-3,000 MHz) y consta de varios elementos dipolares lineales, uno de los cuales es
alimentado directamente por una línea de transmisión. Los demás actúan como radiadores
parásitos, cuyas corrientes son inducidas por acoplamiento mutuo. Un dipolo plegado es el
elemento de alimentación común para una antena Yagi-Uda.
El radiador de la antena Yagi-Uda está diseñado específicamente para funcionar como una
matriz de fuego final. Se logra esto haciendo que los elementos parásitos en el haz
delantero actúen como directores, mientras que los de atrás actúan como reflectores. La fila
de directores se designa como un “canal de olas”. La antena Yagi-Uda es una antena muy
efectiva para el dominio de alta frecuencia, ya que opera en el campo de alta frecuencia a
un dominio de frecuencia ultra alta. Los profesores S. Uda y H. Yagi de la Universidad
Imperial de Tohoku, Japón, describieron por primera vez el funcionamiento de este tipo de
antena.
El tamaño de los directores es generalmente más corto que el del elemento accionado y más
conciso que el del reflector. La ganancia de una antena Yagi-Uda depende del número de
elementos parásitos presentes. A medida que aumenta el número de elementos parásitos, la
ganancia total de la antena también aumenta, por lo que hay numerosos directores en una
antena Yagi-Uda. Solo hay un reflector en la antena, ya que su efecto en la ganancia de la
antena es insignificante.
[Fecha] 6
La amplitud de estas corrientes será de la misma magnitud que la corriente del elemento de
alimentación, aunque su fase puede variar.
[Fecha] 7
Parámetros de diseño:
Frecuencia de operación:
La frecuencia de operación es uno de los parámetros más importantes en el diseño
de una antena Yagi. La antena debe ser diseñada para operar en la frecuencia
específica de la aplicación. La frecuencia de operación determina la longitud y
separación de los elementos de la antena. La fórmula utilizada para determinar la
longitud de los elementos es:
L=λ/2
Longitud de onda:
La longitud de onda es un parámetro fundamental en el diseño de cualquier antena,
y la antena Yagi no es una excepción. La longitud de onda se refiere a la distancia
que recorre una onda electromagnética en un ciclo completo. Es importante que la
longitud de la antena Yagi sea aproximadamente igual a la mitad de la longitud de
onda de la frecuencia a la que se va a operar. Esto asegura una buena eficiencia y
ganancia.
Ganancia:
La ganancia es una medida de la eficiencia de la antena para captar o radiar energía
en una dirección particular. La ganancia se define como la relación entre la
intensidad de la señal recibida o transmitida por la antena y la intensidad de la señal
[Fecha] 8
recibida o transmitida por una antena isotrópica. La ganancia se expresa en
decibeles (dB) y se calcula como:
Directividad:
La directividad es una medida de la capacidad de la antena para enfocar la señal en
una dirección particular. La directividad se relaciona directamente con la ganancia y
puede ser determinada a partir del patrón de radiación de la antena. La directividad
se expresa en decibeles (dB) y se calcula como:
D = G - 2,15
Impedancia de entrada:
La impedancia de entrada es la resistencia que presenta la antena a la entrada de la
señal. La impedancia de entrada debe coincidir con la impedancia de la línea de
transmisión para evitar pérdidas de señal. La impedancia de entrada se expresa en
ohmios (Ω) y debe ser cuidadosamente seleccionada para maximizar la eficiencia de
la antena.
Ancho de banda:
El ancho de banda es el rango de frecuencias en el que la antena puede operar
eficientemente. El ancho de banda es importante para asegurar que la antena pueda
operar en diferentes frecuencias de acuerdo a las necesidades de la aplicación. El
ancho de banda se expresa en Hertz (Hz) y debe ser lo suficientemente amplio para
abarcar el rango de frecuencias de la señal.
[Fecha] 9
incorrecta puede resultar en una mala adaptación de impedancia y una pérdida de
ganancia.
Patrón de radiación:
Los patrones o diagramas de radiación describen la intensidad relativa del campo
radiado en varias direcciones desde la antena a una distancia constante. El patrón de
radiación es también de recepción, porque describe las propiedades de recepción de
la antena. El patrón de radiación es tridimensional, pero generalmente las
mediciones de los mismos son una porción bidimensional del patrón, en el plano
horizontal o vertical. Estas mediciones son presentadas en coordenadas
rectangulares o en coordenadas polares.
Datos base
Los siguientes datos serán utilizados para el diseño de nuestra antena y esta tenga el más
optimo funcionamiento.
Parámetros de la antena
Nuestro primer valor a encontrar será lambda ya que este será la base para calcular la
longitud de directores, reflectores y dipolo.
8
3 x 10 m/ s
λ= 6
=1.53 m
195 x 10 Hz
Lambda representa nuestra longitud de onda debido a eso se realizaron los cálculos de
nuestra antena tomando en cuenta su valor.
[Fecha] 10
λ
Reflector = =0.765 m
2
λ
Dipolo = (0.95)=0.72 m
2
λ
1er director = (0.90)=0.68 m
2
λ
2do director = (0.885)=0.67 m
2
λ
3er director = (0.867)=0.66 m
2
λ
4to director = (0 . 860)=0 . 65 m
2
λ
5to director = (0 . 817)=0 . 62 m
2
Separación entre reflector y el dipolo:
0.18 ( 1.53 m )=0.27 m
Factor de ganancia:
10 log ( 7 ) =8.45 dB
Cálculos de la antena
Potencia del transmisor en dBm
[Fecha] 11
P¿ =Ptx −Lc−Ltx
Wrad=PxdBm−LLC −LLTx+Gfag
Wrad=43.97 dBm−0 ,19 dB−0.83 dB+ 8.45 dB=51.4 dBm
El siguiente paso a realizar es calcular la eficiencia de nuestra antena, lo cual
determinaremos de convirtiendo la potencia radiada de dBm a Watts:
( P .radW
Prad dBm=10 log
1w )
+30
=log (
1w )
51.4 dBm−30 P . radW
10
2.14
10 =Prad W
138.03 W =P rad W
W rad
η=
W¿
138.03 W
η= =5.52 W ≈ 37.41 dBm
25 W
Potencia de perdida
P Ioss=P ent + Prad
En dBm:
P Ioss=42.95 dBm−51.4 dBm
P Ioss=−8.45 dBm
En Watts:
P Ioss=19.49W −138.03 W
P Ioss=−118.54 W
[Fecha] 12
Intensidad de radiación isotrópica
Prad
U0=
4π
51.4 dBm
u0 = =4.09 dBm
4π
Coeficiente de reflexión
Impedancia de la carga:
1
Z L =Z R +Z C =R +
jω ∁
Z L =50 Ω− j2 πf ∁
Z L =50 Ω−0 , 09 j Ω
Z L −Z 0
r L=
Z L +Z 0
−7 −4
r L=2.024 x 10 −4.99 x 10 j
−7
r L=4.49 x 10 ∠−89.97
Resistencia de perdida
R Ioss =
√
l ω μ0
2 P 2σ
0.475 (1.53 m)
R Ioss = √¿ ¿ ¿
2(7 x 10−3 πλ)
[Fecha] 13
R Ioss =0.0434 Ω
Resistencia de radiación
Rrad =R ent −R Ioss
Rrad =49.95 Ω
Cálculo del I 0
I 0=
√ 2 (138.03 w)
19.95 Ω
I 0=2.35 A
fc
Ancho de Haz
Plano E : 52.06°
Plano H: 61.26°
Directividad
4π
D= °°
(52.06 )(61.26 )
D=5.95 dBm
Intensidad de radiación
[Fecha] 14
I=
√ p¿
Z
I=
√ 19.49 w
50
I =0.62 A
( )
2
I
U =120 π 2
senθ
8π
( )
2
(0.62 A)
U =120 π 2
sen 98°
8π
U =1.81 w
PIRE (dBm)
PIRE=P ¿ +Ga¿
PIRE=42.95 dBm+ 8.45 dBm
PIRE=51.4 dBm
Cálculo del campo eléctrico
N
Eθ =∑ Eθ =¿ jω A θ ¿
n
n=1
{ [ ]}
N N + I n /2
μ e− jkr
Aθ =∑ A θ =¿− sen θ ∑ e ( X n sen θ cos ϕ+Y n sen θ sen ϕ ) × ∫
'
jk jk z n cosθ '
I ne d Zn ¿
n=1
n
4 πr n=1 − I n/ 2
d=0.35 km
E=135.21 dBm
[Fecha] 15
Área efectiva
( )
2
x
Aefe =( D )
4π
Antena en mathlab
%% Antenna Properties
antennaObject = design(yagiUda,195*1e6);
[Link] = 0.72;
[Link] 'Aluminium';
[Link] = 3.77*1e7;
[Link] = 0.000762;
[Link] = 50;
[Link] = 5;
[Link] = 0.68; [Link]
= 0.27;
[Link] = 0.765;
[Link] = 0.27;
[Link] = 'Aluminium';
[Link]. Conductivity = 3.77 1e7;
[Link] = 0.000762;
[Link] = 50;
% Show
figure;
show(antennaobject)
%% Antenna Analysis
% Define plot frequency
plotFrequency = 195*e6;
% Define frequency range
freqRange = (175.5:1.95:214.5) * 1e6;
% Reference Impedance
refImpedance = 50;
% impedance
figure;
impedance(antennaObject, freqRange)
% sparameter
figure;
[Fecha] 16
s = sparameters(antennaObject, freqRange);
rfplot(s)
% pattern
figure;
pattern(antennaObject, plotFrequency)
% azimuth
figure;
patternAzimuth(antennaObject, plotFrequency,0,'Azimuth',[0:5:360])
% elevation
figure;
patternElevation(antennaObject, plotFrequency,0,'Elevation',
[0:5:360])
% current
figure;
current(antennaObject, plotFrequency)
function [] = YAGI_UDA
%***********************************************************************
% YAGI_UDA.M
%******************************************************************
% THIS IS A MATLAB M-FILE THAT COMPUTES, FOR THE YAGI-UDA ARRAY,
% THE
%
% I. FAR-ZONE E- AND H-PLANE AMPLITUDE PATTERNS (IN dB)
% II. DIRECTIVITY OF THE ARRAY (IN dB)
% III. E-PLANE HALF-POWER BEAMWIDTH (IN DEGREES)
% IV. H-PLANE HALF-POWER BEAMWIDTH (IN DEGREES)
% V. E-PLANE FRONT-TO-BACK RATIO (IN dB)
% VI. H-PLANE FRONT-TO-BACK RATIO (IN dB)
%
% THE PROGRAM IS BASED ON POCKLINGTON'S INTEGRAL EQUATION
% FORMULATION OF SECTION 10.3.3, EQUATIONS (10-42) - (10-65a).
% M ENTIRE DOMAIN COSINUSOIDAL (FOURIER) BASIS MODES ARE USED
% FOR EACH OF THE ANTENNA ELEMENTS.
%
% ** INPUT PARAMETERS BY USER
% 1. M = NUMBER OF ENTIRE DOMAIN BASIS MODES
% 2. N = NUMBER OF ANTENNA ELEMENTS
% 3. L = LENGTH OF EACH ELEMENT (IN WAVELENGTHS)
% 4. ALPHA = RADIUS OF EACH ELEMENT (IN WAVELENGTHS)
% 5. S = SEPARATION BERWEEN THE ELEMENTS (IN WAVELENGTHS)
%
% ** NOTES
% 1. REFER TO FIGURE 10.19 FOR THE GEOMETRY.
% 2. DRIVER ELEMENT IS LOCATED AT THE ORIGIN.
% 3. FIRST ELEMENT (N=1) IS THE FIRST DIRECTOR.
% 4. REFLECTOR IS THE N-1 ELEMENT; ONLY ONE REFLECTOR.
% 5. DRIVEN ELEMENT IS N.
[Fecha] 17
%
% THE FORMULATION OF THE PROBLEM IS BASED ON THE PAPER `ANALYSIS OF
% YAGI-UDA-TYPE ANTENNAS' BY GARY A. THIELE, IEEE TRANS. ANTENNAS
% PROPAGAT., VOL. 17, JAN. 1969.
% ******************************************************************
% Written by: Mingwei Hsu, Arizona State University
%
% ******************************************************************
close all;
clear all;
clc;
%
% Choice of output
%
fprintf (1, '\n\n');
fprintf (1, ' OUTPUT DEVICE OPTION\n');
fprintf (1, ' OPTION (1): SCREEN\n');
fprintf (1, ' OPTION (2): OUTPUT FILE\n\n');
device = input (' OUTPUT DEVICE = ', 's');
device = str2num (device);
if (device == 1)
fid = 1;
elseif (device == 2)
filename = input ('\n INPUT THE DESIRED OUTPUT FILENAME = ', 's');
fid = fopen (filename, 'wt');
else
fprintf (1, '\n');
fprintf (1, ' ***ERROR***\n');
fprintf (1, ' OUTPUT DEVICE NUMBER SHOULD BE EITHER 1 OR 2\n\n\n');
return
end
%
% INPUT THE LENGTH OF THE ELEMENTS, L, AND THEIR RELATIVE SEPARATION IN FREE
% SPACE WAVELENGTHS, S. THE VARIABLE YP DEFINES THE ABSOLUTE DISTANCE OF
% THE ELEMENTS ALONG THE Y-AXIS, WITH THE DRIVEN ELEMENT AT THE ORIGIN.
% ALPHA IS THE ELEMENT WIRE RADIUS IN WAVELENTGHS.
%
% ***********************************************************************
% INPUT NUMBER OF MODES PER ELEMENT
% ---------------------------------
M = input ('\n NUMBER OF MODES PER ELEMENT (A POSITIVE INTEGER) = ', 's');
M = str2num (M);
M = round (M);
if (M > MMAX)
[Fecha] 18
fprintf (1, '\n *** ERROR: Need to increase MMAX in the program.\n\n');
return
elseif (M <= 0)
fprintf (1, '\n *** ERROR: The number has to be greater than 0!\n\n');
return
elseif isempty (M) % If the user enters a value other than a number
fprintf (1, '\n ***** ERROR *****\n');
fprintf (1, ' INPUT DATA ARE NOT OF THE RIGHT FORMAT.\n\n');
return
end
N = str2num (N);
N = round (N);
if (N > NMAX)
fprintf (1, '\n *** ERROR: Need to increase NMAX in the program.\n\n');
return
elseif (N <= 0)
fprintf (1, '\n *** ERROR: The number has to be greater than 0!\n\n');
return
elseif isempty (N) % If the user enters a value other than a number
fprintf (1, '\n ***** ERROR *****\n');
fprintf (1, ' INPUT DATA ARE NOT OF THE RIGHT FORMAT.\n\n');
return
end
[Fecha] 19
elseif (ANS == 'N') | (ANS == 'n')
a = 1;
while a <= (N-2)
fprintf (1, ' LENGTH (in WAVELENGTHS) OF DIRECTOR # %2d =', a);
b = input (' ', 's');
b = str2num (b);
if (isempty (b)) | (b <= 0)
fprintf (1, '\n ***** ERROR *****\n');
fprintf (1, ' INPUT DATA ARE NOT OF THE RIGHT FORMAT.\n\n');
return
else
L (a) = b;
end
a = a + 1;
end
else
% ELEMENT SEPARATION BETWEEN THE DRIVEN ELEMENT AND THE 1ST DIRECTOR
b = input ('\n SEPARATION (in WAVELENGTHS) BETWEEN DRIVEN ELEMENT & 1ST
DIRECTOR = ', 's');
b = str2num (b);
if (isempty (b)) | (b <= 0)
fprintf (1, '\n ***** ERROR *****\n');
fprintf (1, ' INPUT DATA ARE NOT OF THE RIGHT FORMAT.\n\n');
return
end
[Fecha] 20
S_1 = b;
if (N > 3)
fprintf (1, '\n IS THE SEPARATION BETWEEN DIRECTORS UNIFORM?\n');
ANS = input (' ANSWER: (Y OR N) ...... ', 's');
fprintf (1, '\n');
else
ANS = 'N';
end
else
fprintf (1, '\n ***** ERROR *****\n');
fprintf (1, ' INPUT DATA ARE NOT OF THE RIGHT FORMAT.\n\n');
return
end
S (1) = S_1;
[Fecha] 21
end
S (N-1) = b;
%
********************************************************************************
****
%
********************************************************************************
****
fprintf (fid, '\n RADIUS FOR ALL ELEMENTS USED = %12.5e WAVELENGTHS\n\n\n',
ALPHA);
[Fecha] 22
% Warn the user the program takes time to execute.
fprintf (1, ' WAIT ... This may take a few minutes !!!\n\n\n');
%
********************************************************************************
****
%
********************************************************************************
****
% The real computation starts here.
RES = 0;
G2 = 0;
INDEX = 0;
DZ = L / (2 * M - 1);
ETA = 120 * pi;
MU = 4 * pi * 10 ^ (-7);
C = 3 * 10 ^ 8;
K = 2 * pi;
RTOD = 180 / pi;
DTOR = pi / 180;
A = zeros (M * N, M * N);
B = 1:(M*N);
B = B * 0;
Inm = zeros (N, M);
I = 1;
h=waitbar(0,'Program is running ...');
while I <= (M * N)
waitbar(0.8*I/(M*N),h);
IFACT = floor ((I - 1) / M);% This determines the position of the
observer with
N1 = IFACT + 1; % N1 being the element at which the observer
is.
IMODE = I - IFACT * M;
[Fecha] 23
Z = (M - IMODE) * DZ (N1); % Based on the mode # and element find the
distnce Z
J = 1;
while J <= (M * N)
end
I = I + 1;
end
ISIZE = N * M;
[A, IPERM, PIVOT] = LUDEC (A, ISIZE);
B = LUSOLV (A, ISIZE, IPERM, B);
%
% CONVERT THE SINGLE ARRAY OF THE CURRENT COEFFICIENTS TO A
% DOUBLE ARRAY OF THE FORM Imn.
[Fecha] 24
%
NCUT = 0;
I = 1;
while I <= N
J = 1;
while J <= M
Inm (I, J) = B (J + NCUT);
J = J + 1;
end
NCUT = NCUT + M;
I = I + 1;
end
%
% CALCULATE THE RADIATED FIELDS IN THE E-PLANE
%
% IN THIS PLANE THETA VARIES FROM 0 < THETA < 180, WHEREAS
% PHI = 90 IN HALF OF THE PATTERN AND PHI=270 IN THE OTHER
% HALF. THE PATTERN IS CALCULATED AT ONE DEGREE INCREMENTS.
%
NCUT = 0;
ML = 1;
% h=waitbar(0,'Program is running ...');
while ML <= 2
if (ML == 1)
PHI = 90 * DTOR;
MAX = 181;
else
PHI = 270 * DTOR;
MAX = 180;
end
ICOUNT = 1;
while ICOUNT <= MAX
waitbar(ICOUNT/MAX*ML*0.5*0.2+0.8,h);
THETA = (ICOUNT - 1) * DTOR;
EZP = 0;
I = 1;
while I <= N
IZP = 0;
J = 1;
while J <= M
[Fecha] 25
MODE = J;
LEN = L (I);
ANG = THETA;
IZP = IZP + Inm (I, J) * ...
(ZMINUS (ANG, LEN, MODE) + ...
ZPLUS (ANG, LEN, MODE));
J = J + 1;
end
I = I + 1;
end
ICOUNT = ICOUNT + 1;
end
I = 1;
while I <= 361
THETA = I - 1;
ARG = abs (ETHETA (I));
[Fecha] 26
% RECORD THE E-PLANE VALUES FOR FUTURE PLOTTING.
E_PLANE = ETH;
%
% FIND THE FRONT-TO-BACK RATIO IN THE E-PLANE PATTERN
%
EFTOB = - ETH (271);
%
% FIND THE 3-dB BEAMWIDTH IN THE E-PLANE PATTERN
%
I = 91;
while I <= 270
ETH (I) = ETH (I) + 3;
I = I + 1;
end
I = 91;
while I <= 270
THETA = I-1;
if (ETH (I) == 0)
E3D_BW = 2 * ((I - 1) - 90);
I = 300; % Terminate while loop early
elseif ((ETH (I - 1) > 0) & (ETH (I) < 0))
E3D_BW = 2 * (- ETH (I) / (ETH (I) - ETH (I - 1)) + (I - 1) - 90);
I = 300;
end
I = I + 1;
end
%
% CALCULATE THE RADIATED FIELDS IN THE H-PLANE
%
% IN THIS PLANE THETA = 90 AND PHI VARIES FROM 0 < PHI < 360.
%
THETA = 90 * DTOR;
MAX = 361;
ICOUNT = 1;
while ICOUNT <= MAX
I = 1;
while I <= N
IZP = 0;
J = 1;
while J <= M
MODE = J;
[Fecha] 27
LEN = L (I);
ANG = PHI;
IZP = IZP + Inm (I, J) * ...
(ZMINUS (ANG, LEN, MODE) + ...
ZPLUS (ANG, LEN, MODE));
J = J + 1;
end
%
% FIND THE MAXIMUM VALUE IN THE H-PLANE PATTERN
%
EMAX = 10 ^ (-12);
abs_ETHETA = abs (ETHETA);
ARG = max (abs_ETHETA);
if (ARG > EMAX)
EMAX = ARG;
end
%
% NORMALIZE THE PATTERN TO THE MAXIMUM VALUE, CONVERT IN dB, AND
% WRITE OUT THE RESULTS
%
fprintf (fid2, '# H-PLANE PATTERN OF THE YAGI UDA ANTENNA\n');
fprintf (fid2, '# =======================================\n#\n');
fprintf (fid2, '# PHI E-THETA (PHI, THETA=90)\n#\n');
I = 1;
while I <= 361
PHI = I - 1;
ARG = abs (ETHETA (I));
[Fecha] 28
% FIND THE FRONT-TO-BACK RATIO IN THE H-PLANE PATTERN
%
HFTOB = - ETH (271);
%
% FIND THE 3-dB BEAMWIDTH IN THE H-PLANE PATTERN
%
I = 1;
while I <= 181
ETH (I) = ETH (I) + 3;
I = I + 1;
end
I = 91;
while I <= 270
PHI = I - 1;
if (ETH (I) == 0)
H3D_BW = 2 * ((I - 1) - 90);
I = 300;
elseif (ETH (I-1) > 0) & (ETH (I) < 0)
H3D_BW = 2 * (- ETH (I) / (ETH (I) - ETH (I - 1)) + (I - 1) - 90);
I = 300;
end
I = I + 1;
end
%
% CALCULATE THE ANTENNA DIRECTIVITY
%
THETA = 90 * DTOR;
PHI = 90 * DTOR;
AZ = 0;
I = 1;
while I <= N
IZP = 0;
J = 1;
while J <= M
MODE = J;
LEN = L (I);
ANG = THETA;
IZP = IZP + Inm (I, J) * ...
(ZMINUS (ANG, LEN, MODE) + ...
ZPLUS (ANG, LEN, MODE));
J = J + 1;
end
I = I + 1;
end
[Fecha] 29
UMAX = 3.75 * pi * abs (AZ) ^ 2 * sin (THETA) ^ 2;
IL = 1;
while IL <= N
I = 1;
while I <= 51
Z = (I - 1) * DZ (IL);
IZP = 0;
J = 1;
while J <= M
F2M = 2 * J - 1;
IZP = IZP + Inm (IL, J) * cos (F2M * pi * Z / L (IL));
J = J + 1;
end
I = I + 1;
end
[Fecha] 30
fprintf (fid3, ' DISTANCE CURRENT CURRENT\n');
fprintf (fid3, ' MAGNITUDE PHASE \n\n');
I = 1;
while I <= 51
Z = (I - 1) * DZ (IL);
fprintf (fid3, ' %12.5f %12.5f %12.5f\n', Z, CUR (I), PHA (I));
I = I + 1;
end
I = 1;
while I <= N
J = 1;
while J <= M
J = J + 1;
end
I = I + 1;
end
I = 1;
while I > 0
if fid == 1
I = 0; % exit the loop
else
fid = 1; % print same message on the screen again
end
end
[Fecha] 31
fclose ('all');
figure;
plot (angle, E_PLANE, '-b', 'LineWidth', 2);
hold on;
plot (angle, H_PLANE, '--r', 'LineWidth', 2);
legend ('E-Plane', 'H-Plane');
xlim ([1 360]);
ylim ([-60 0]);
title ('Yagi-Uda Analysis');
xlabel ('Theta(E)/Phi(H) degrees');
ylabel ('Field Pattern (dB)');
hold off;
figure;
INDEX = 1:1:N;
if N >= 3
CENTER_CURRENT = [CENTER_CURRENT(N-1:N) CENTER_CURRENT(1:N-2)];
INDEX = [INDEX(N-1:N) INDEX(1:N-2)];
end
plot (CENTER_CURRENT, 'LineWidth', 2);
set (gca, 'XTick', 1:1:N);
set (gca, 'XTickLabel',INDEX);
title ('Current Distribution');
ylim ([0 1]);
xlabel ('Element Number');
ylabel ('Element Current Amplitude');
figure;
h1=elevation(angle*pi/180,E_PLANE,-40,0,5,'b'); hold on;
h2=elevation(angle*pi/180,H_PLANE,-40,0,5,'r--');
set([h1 h2],'linewidth',2);
legend([h1 h2],{'E-Plane','H-Plane'});
%*****************************************************************
% FUNCTION SINTEG (SINGLE PRECISION)
%
% PURPOSE
% TO PERFORM COMPLEX SINGLE INTEGRATION
% DOES SIXTEEN POINT GAUSSIAN QUADRATURE INTEGRATION
% WITH INCREASING ACCURACY SET BY INTEGER NO
%
% USAGE
% ANS = SINTEG(UL,LL,NO)
%
% DESCRIPTION OF PARAMETERS
% UL - UPPER LIMIT OF THE INTEGRATION (REAL)
[Fecha] 32
% LL - LOWER LIMIT OF THE INTEGRATION (REAL)
% NO - NUMBER OF DIVISIONS BETWEEN LL AND UL (INTEGER)
%
% ANS - INTEGRATION RESULT
% L - THE LENGTHS OF THE ARRAY ELEMENTS (GLOBAL VARIABLE)
GAUSS = [-0.0950125098376370
-0.2816035507792590
-0.4580167776572270
-0.6178762444026440
-0.7554044083550030
-0.8656312023878320
-0.9445750230732330
-0.9894009349916500
0.0950125098376370
0.2816035507792590
0.4580167776572270
0.6178762444026440
0.7554044083550030
0.8656312023878320
0.9445750230732330
0.9894009349916500];
LEGEND = [0.1894506104550680
0.1826034150449240
0.1691565193950020
0.1495959888165770
0.1246289712555340
0.0951585116824930
0.0622535239386480
0.0271524594117540
0.1894506104550680
0.1826034150449240
0.1691565193950020
0.1495959888165770
0.1246289712555340
0.0951585116824930
0.0622535239386480
0.0271524594117540];
J = 1;
while J <= NO
S = LL + (2 * J - 1) * DEL;
I = 1;
while I <= 16
X = S + GAUSS (I) * DEL;
SUM = SUM + LEGEND (I) * FF (X);
I = I + 1;
end
J = J + 1;
[Fecha] 33
end
%*****************************************************************
% FUNCTION FF
%
function value = FF (X)
global Z RHO N2 NMODE L
K = 2 * pi;
F2M = NMODE * 2 - 1;
%****************************************************************
% FUNCTION KERNEL
%
function G2 = KERNEL (ZP)
global Z RHO
K = 2 * pi;
end
%****************************************************************
% FUNCTION ZMINUS
%
function value = ZMINUS (TH, LG, NM)
K = 2 * pi;
[Fecha] 34
F2M = 2 * NM - 1;
end
%****************************************************************
% FUNCTION ZPLUS
%
function value = ZPLUS (TH, LG, NM)
K = 2 * pi;
F2M = 2 * NM - 1;
end
%****************************************************************
% FUNCTION FXZ
%
function value = FXZ (THETA, PHI, N, M, Inm, YP)
global L
K = 2 * pi;
AZ = 0;
I = 1;
while I <= N
IZP = 0;
J = 1;
while J <= M
MODE = J;
LEN = L (I);
ANG = THETA;
[Fecha] 35
(ZMINUS (ANG, LEN, MODE) + ...
ZPLUS (ANG, LEN, MODE));
J = J + 1;
end
I = I + 1;
end
end
%****************************************************************
% FUNCTION LUDEC
%
function [A, IPERM, SCAL] = LUDEC (Z, N)
I = 1;
while I <= N
ZMAX = 0;
J = 1;
while J <= N
% CROUT's algorithm.
J = 1;
while J <= N
I = 1;
while I <= (J - 1)
K = 1;
[Fecha] 36
while K <= (I - 1)
Z (I, J) = Z (I, J) - Z (I, K) * Z (K, J);
K = K + 1;
end
I = I + 1;
end
I = J;
while I <= N
K = 1;
while K <= (J - 1)
Z (I, J) = Z (I, J) - Z (I, K) * Z (K, J);
K = K + 1;
end
I = I + 1;
end
K = 1;
while K <= N
TEMP = Z (IMAX, K);
Z (IMAX, K) = Z (J, K);
Z (J, K) = TEMP;
K = K + 1;
end
SCAL (IMAX) = SCAL (J);
end
I = J + 1;
while I <= N
Z (I, J) = Z (I, J) / Z (J, J);
I = I + 1;
end
end
J = J + 1;
[Fecha] 37
end
A = Z;
end
%****************************************************************
% FUNCTION LUSOLV
%
function B = LUSOLV (Z, N, IPERM, V)
% FORWARD SUBSTITUTION.
I = 1;
while I <= N
J = 1;
while J <= (I - 1)
TEMP = TEMP - Z (I, J) * V (J);
J = J + 1;
end
V (I) = TEMP;
I = I + 1;
end
% BACKWARD SUBSTITUTION.
I = 1;
while I <= N
II = N - I + 1;
TEMP = V (II);
J = II + 1;
while J <= N
TEMP = TEMP - Z (II, J) * V (J);
J = J + 1;
end
B = V;
% End of the LUSOLV function
%****************************************************************
end
[Fecha] 38
%******************************************************************
% FUNCTION SCINT2
% SCINT2 IS A SINGLE PRECISION, COMPLEX, INTEGRATION ROUTINE
% IN 2 DIMENSIONS. THIS ROUTINE USES 16 POINT GAUSSIAN QUADRATURES,
% WITH LEGANDRE COEFFICIENTS. ENTER WITH:
%
% (R)X1 LOWER LIMIT OF X INTEGRATION
% (R)X2 UPPER LIMIT OF X INTEGRATION
% (R)Z1 LOWER LIMIT OF Z INTEGRATION
% (R)Z2 UPPER LIMIT OF Z INTEGRATION
% (C)RES RESULTS OF INTEGRATION
% (I)N NUMBER OF ELEMENTS IN THE ARRAY
% (I)M NUMBER OF MODES PER ELEMENT
% (R)Inm THE ARRAY OF CURRENT COEFFICIENTS
% (R)YP THE ELEMENT DISTANCES ALONG THE Y AXIS
%
%***********************************************************************
%
%
function RES = SCINT2 (X1, X2, Z1, Z2, N, M, Inm, YP)
R = [0.0950125098
0.2816035508
0.4580167777
0.6178762444
0.7554044084
0.8656312024
0.9445750231
0.9894009350
-0.9894009350
-0.9445750231
-0.8656312024
-0.7554044084
-0.6178762444
-0.4580167777
-0.2816035508
-0.0950125098];
W = [0.1894506105
0.1826034150
0.1691565194
0.1495959888
0.1246289713
0.0951585117
0.0622535239
0.0271524594
0.0271524594
0.0622535239
0.0951585117
0.1246289713
0.1495959888
0.1691565194
0.1826034150
0.1894506105];
[Fecha] 39
SX = 0.5 * (X2 + X1);
DX = 0.5 * (X2 - X1);
SZ = 0.5 * (Z2 + Z1);
DZ = 0.5 * (Z2 - Z1);
TT = 0;
J = 1;
while J <= 16
Z = SZ + DZ * R (J);
SS = 0;
I = 1;
while I <= 16
X = SX + DX * R (I);
SS = W (I) * FXZ (X, Z, N, M, Inm, YP) + SS;
I = I + 1;
end
S = DX * SS;
TT = S * W (J) + TT;
J = J + 1;
end
RES = DZ * TT;
% End of the SINT2 function
%****************************************************************
end
%***********************************************************************
% elevation(theta,rho,rmin,rmax,rticks,line_style)
%**********************************************************************
% GAINPLOT makes an antenna gain plot using polar coordinates of
% the angle THETA, in radians, versus the radius RHO, where RHO may
% be negative.
%
% - rmin sets the value of the center of the plot. (for ex. -40 dB)
% - rmax sets the value of the outer ring of the plot (for ex. 0 dB)
% - rticks is the # of radial ticks (or circles) you want.
% it is NOT THE SPACING BETWEEN THEM. Also, if rticks is an even
% number > 5, then it will be divided by 2, or else if rticks > 5
% and divisible by 3, rticks will be divided by 3.
% - linestyle is solid or dashed etc. (default is a solid yellow line)
%
% POLAR(THETA,RHO,S) uses the linestyle specified in string S.
% See PLOT for a description of legal linestyles.
% See also PLOT, LOGLOG, SEMILOGX, SEMILOGY.
%********************************************************************
% Credits:
% S. Bellofiore
[Fecha] 40
% S. Georgakopoulos
% A. C. Polycarpou
% C. Wangsvick
% C. Bishop
%
% Tabulate your data accordingly, and call polar_dB to provide the
% 2-D polar plot
%
% Note: This function is different from the polar.m (provided by
% MATLAB) because RHO is given in dB, and it can be negative
%-----------------------------------------------------------------------------
if nargin < 5
error('Requires 5 or 6 input arguments.')
elseif nargin == 5
if isstr(rho)
line_style = rho;
rho = theta;
[mr,nr] = size(rho);
if mr == 1
theta = 1:nr;
else
th = (1:mr)';
theta = th(:,ones(1,nr));
end
else
line_style = 'auto';
end
elseif nargin == 1
line_style = 'auto';
rho = theta;
[mr,nr] = size(rho);
if mr == 1
theta = 1:nr;
else
th = (1:mr)';
theta = th(:,ones(1,nr));
end
end
if isstr(theta) | isstr(rho)
error('Input arguments must be numeric.');
end
if any(size(theta) ~= size(rho))
error('THETA and RHO must be the same size.');
end
[Fecha] 41
% Hold on to current Text defaults, reset them to the
% Axes' font attributes so tick marks use them.
fAngle = get(cax, 'DefaultTextFontAngle');
fName = get(cax, 'DefaultTextFontName');
fSize = get(cax, 'DefaultTextFontSize');
fWeight = get(cax, 'DefaultTextFontWeight');
set(cax, 'DefaultTextFontAngle', get(cax, 'FontAngle'), ...
'DefaultTextFontName', get(cax, 'FontName'), ...
'DefaultTextFontSize', get(cax, 'FontSize'), ...
'DefaultTextFontWeight', get(cax, 'FontWeight') )
% define a circle
th = 0:pi/50:2*pi;
xunit = cos(th);
yunit = sin(th);
% now really force points on x/y axes to lie on them exactly
inds = [1:(length(th)-1)/4:length(th)];
xunits(inds(2:2:4)) = zeros(2,1);
yunits(inds(1:2:5)) = zeros(3,1);
rinc = (rmax-rmin)/rticks;
% label r
% change the following line so that the unit circle is not multiplied
% by a negative number. Ditto for the text locations.
for i=(rmin+rinc):rinc:rmax
is = i - rmin;
plot(xunit*is,yunit*is,'-','color',tc,'linewidth',0.5);
text(0,is+rinc/20,[' ' num2str(i)],'verticalalignment','bottom' );
end
% plot spokes
th = (1:6)*2*pi/12;
[Fecha] 42
cst = cos(th); snt = sin(th);
cs = [-cst; cst];
sn = [-snt; snt];
plot((rmax-rmin)*cs,(rmax-rmin)*sn,'-','color',tc,'linewidth',0.5);
% Reset defaults.
set(cax, 'DefaultTextFontAngle', fAngle , ...
'DefaultTextFontName', fName , ...
'DefaultTextFontSize', fSize, ...
'DefaultTextFontWeight', fWeight );
for i = 1:length(rho)
if (rho(i) > rmin)
if theta(i)*180/pi >=0 & theta(i)*180/pi <=90
xx(i) = (rho(i)-rmin)*cos(pi/2-theta(i));
yy(i) = (rho(i)-rmin)*sin(pi/2-theta(i));
elseif theta(i)*180/pi >=90
xx(i) = (rho(i)-rmin)*cos(-theta(i)+pi/2);
yy(i) = (rho(i)-rmin)*sin(-theta(i)+pi/2);
[Fecha] 43
elseif theta(i)*180/pi < 0
xx(i) = (rho(i)-rmin)*cos(abs(theta(i))+pi/2);
yy(i) = (rho(i)-rmin)*sin(abs(theta(i))+pi/2);
end
else
xx(i) = 0;
yy(i) = 0;
end
end
[Fecha] 44
Análisis de la antena
Impedancia
[Fecha] 45
Patrón de radiación EL
Patrón de radiación AZ
[Fecha] 46
Distribución de la corriente
[Fecha] 47
Patrón de radiación 3D
[Fecha] 48
Conclusión
Durante el desarrollo de este proyecto se pudo concluir el conocimiento acerca de temas
generales como es la construcción de las antenas yagui, de las características, pero
específicamente sobre los elementos que la conforman.
Como primer paso se realizó el cálculo de la frecuencia en dependencia del uso de
la propia antena, en nuestro caso “radiodifusión”, ósea entre 176-214Mhz y gracias
a este se elaboró la evaluación teórica de los diferentes parámetros y cálculos
necesarios para su eficacia.
Como segundo paso se elaboró un código en el software Matlab para concluir sus
gráficos tanto en 2D y 3D, para así tener una mejor imagen de las funciones de la
propia antena.
Como tercero y final, se hizo una reevaluación de los anteriores puntos con
diferentes datos, para así tener una mejor idea de los cambios en su
comportamiento.
El diseño de una antena Yagi es un proceso complejo que requiere la consideración
cuidadosa de varios parámetros. Desde la frecuencia de operación hasta la altura de la
antena, cada parámetro es crucial para obtener el máximo rendimiento de la antena. Es
importante tener en cuenta que una antena Yagi bien diseñada puede ofrecer una ganancia y
directividad significativas en la dirección deseada, lo que la convierte en una excelente
opción para aplicaciones de comunicaciones inalámbricas. Sin embargo, es fundamental
recordar que cada aplicación es única, por lo que el diseño de la antena debe adaptarse a las
necesidades específicas de la aplicación. En nuestro caso, basándonos en las pruebas de las
simulaciones y en los cálculos previos, nuestro diseño de antena es óptimo para la
comunicación inalámbrica entre radios.
[Fecha] 49
Bibliografía
A., B. C. (2005). Antenna Theory Analysis and Design (tercera edición ed.). New Jersey: Wiley.
Recuperado el 20 de Abril de 2022
[Fecha] 50