Simulare antenă Yagi custom
Sari la navigare
Sari la căutare
Modelarea unei antene cu dimensiuni arbitrare, pentru 145MHz. Exemplul de mai jos a fost scris după o discuție avută pe radioamator.ro cu YO4BKM.
%% programatic, o antenă Yagi cu 4 directoare și un reflector
%% cleanup
clear; % șterge toate variabilele
clc; % golește consola
close all; % închide toate figurile (grafice, imagini etc)
%% parametri
Fc = 145e6; % frecvența centrală
diametru = 14e-3; % dimensiune material
c = physconst('lightspeed'); % viteza luminii
lambda = c/Fc; % lungimea de undă
Z0 = 50; % impedanța (lumped)
BW = 0.015 * Fc; % lărgimea de bandă pentru simulări
Fmin = 120e6; % frecvența minimă
Fmax = 160e6; % frecvența maximă
Nf = 101; % câte puncte de simulare
freq = linspace(Fmin, Fmax, Nf); % vectorul de distribuție (liniară) spațială
%% dipolul
dip = dipole;
dip.Length = 0.935;
% grosimea elemenților (aproximarea unui cilindru de diametru dat cu un
% stripline
dip.Width = cylinder2strip(diametru/2);
% implicit, Matlab plasează obiectul dipol aliniat cu axa 0-z
% trebuie rotit cu 90 grade, în jurul axei Y
dip.Tilt = 90;
dip.TiltAxis = 'Y';
%% antena
ant = yagiUda('NumDirectors',4);
% distanțele dintre directori
ant.DirectorSpacing = [0.598 1.438-0.598 2.106-1.438 2.979-2.106];
% lungimea directorilor
ant.DirectorLength = [0.902 0.890 0.898 0.890];
% poziția reflectorului
ant.ReflectorSpacing = 0.517;
% lungimea reflectorului
ant.ReflectorLength = 0.985;
% elementul de excitație este dipolul configurat anterior
ant.Exciter = dip;
% afișarea antenei
figure('NumberTitle','off','Name','Yagi - 6 elemente');
show(ant);
%% simulări
figure('NumberTitle','off','Name','Radiația antenei');
pattern(ant,Fc);
% valoarea impedanței la 145MHz
z = impedance(ant, Fc);
% raport față-spate
D_max = pattern(ant, Fc, 0, 90);
D_back = pattern(ant, Fc, 0, -90);
F_B = D_max - D_back;
%% grafice
% azimut
figure('NumberTitle','off','Name','Radiația antenei - azimut');
pattern(ant, Fc, 0:1:360, 0);
% elevație
figure('NumberTitle','off','Name','Radiația antenei - elevație');
pattern(ant, Fc, 0, 0:1:360);
% graficul impedanței
figure('NumberTitle','off','Name','Impedanța');
impedance(ant, freq);
figure('NumberTitle','off','Name','S11');
returnLoss(ant,freq,Z0);
% graficul directivității la frecvențe multiple
figure('NumberTitle','off','Name','Waterfall directivitate');
pattern(ant, [144e6 145e6 160e6], 0, 1:1:360, ...
'PlotStyle', 'waterfall', ...
'CoordinateSystem', 'rectangular');
-
Aspectul spațial al radiației
-
Elevația în plan vertical
-
Radiația în plan orizontal
-
Impedanța complexă
-
S11