0% found this document useful (0 votes)
589 views10 pages

Yagi Uda Antenna Array Design Using Matlab: Submitted

This document describes a MATLAB program for designing Yagi antenna arrays. The program allows the user to input parameters of the antenna elements like length, diameter, position and number of elements. It then calculates the input impedance, VSWR, gain and radiation patterns of the Yagi array in the E-plane and H-plane. The program uses MATLAB functions to calculate the impedance matrix and integrate functions for obtaining the radiation patterns.

Uploaded by

parlapalli
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
589 views10 pages

Yagi Uda Antenna Array Design Using Matlab: Submitted

This document describes a MATLAB program for designing Yagi antenna arrays. The program allows the user to input parameters of the antenna elements like length, diameter, position and number of elements. It then calculates the input impedance, VSWR, gain and radiation patterns of the Yagi array in the E-plane and H-plane. The program uses MATLAB functions to calculate the impedance matrix and integrate functions for obtaining the radiation patterns.

Uploaded by

parlapalli
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 10

YAGI UDA ANTENNA ARRAY DESIGN USING MATLAB

Submitted
By

G.MAHESH REDDY
D.RAGHURAM REDDY

(006-08-4024)
(006-08-4035)

Department of ECE
VASAVI COLLEGE OF ENGINEERING
HYDERABAD-31

YAGI UDA ANTENNA ARRAY DESIGN USING MATLAB


MATLAB CODE:clear all;
s=1;
while s==1
antenna=input('\nIf you want to calculate the radiation characteristics for a Yagi array,
type "yag"; \nfor a folded dipole or a yagi array fed with a coplanar folded dipole, type
"cfd"; \nand for a yagi array fed with a tranversal folded dipole, type "tfd".
','s');
p=1;
while p==1
if size(antenna)~=3
antenna=input('Enter not valid, "yag", "cfd" or "tfd"? ','s');
else
p=0;
end
end
n=1;
while n==1
if antenna=='yag'
yagi
n=0;
elseif antenna=='cfd'
yag_fd_cop
n=0;
elseif antenna=='tfd'
yag_fd_tra
n=0;
else
antenna=input('Enter not valid, "yag", "cfd" or "tfd"? ','s');
end
end
aux=input('\nDo you want to calculate the parameters for another antenna [y/n]? ','s');
k=1;
while k==1
if aux=='n'
s=0;

disp('Thank you...')
k=0;
elseif aux=='y'
s=1;
k=0;
close(1)
close(2)
else
aux=input('Enter not valid, "y" or "n"? ','s');
end
end
end
FUNCTION FOR YAGI:% PROGRAMA PARA CALCULAR LA IMPEDANCIA DE ENTRADA DE UNA
ANTENA YAGI
clear all
input('\n\nProgram for a Yagi array fed with a single dipole...Please press "intro"')
c=3e8;
mi=pi*4e-7;
epsilon=8.85418781761e-12;
etha=120*pi;
fc1=input('\nEnter the central frequency in MHz: ');
fc=fc1*1000000;
tubos=input('\nEnter the number of elements in the array: ');
if tubos~=1
talim=input('\nWhich element will be fed?: ');
else
talim=1;
end
diam1=input('\nEnter the diametre of the array elements in wavelengths: ');
rtl=input('\nEnter the impedance of the transmission line which will feed the folded dipole:
');
wc=2*pi*fc;
lambdac=c/fc;
fraclam=1/10;
num=3;

vec=ones(1,tubos);
diam=diam1*vec*lambdac;
ltubo1=zeros(1,tubos);
xtubo1=zeros(1,tubos);
for n=1:1:(tubos)
ltubo1(n)=input(sprintf('\nEnter the length of the element number %d in wavelengths:
',n));
xtubo1(n)=input(sprintf('Enter the position over the x-axis of the element number %d in
wavelengths: ',n));
end
ltubo=ltubo1*lambdac;
xtubo=xtubo1*lambdac;
radio=diam/2;
ltubo2=ltubo*(num/(num+1));
lsegm=ltubo2/num;
w=2*pi*fc;
lambda=c/fc;
while lsegm(1)>lambda*fraclam
num=num+2;
ltubo2 = ltubo*(num/(num+1));
lsegm = ltubo2/num;
end
k=2*pi/lambda;
NY=tubos*num;
NT=NY;
Zmn=zeros(NT);
disp('Calculating antenna radiation characteristics...please wait...')
%YAGI
for s = 1:tubos
for n = 1:num
Y(s,n)=(ltubo2(s)/2)-(lsegm(s)/2)-((n-1)*lsegm(s));
ord((s-1)*num+n)=Y(s,n);
ordmas((s-1)*num+n)=ord((s-1)*num+n)+lsegm(s)/2;
ordmenos((s-1)*num+n)=ord((s-1)*num+n)-lsegm(s)/2;
ordgorro((s-1)*num+n)=ord((s-1)*num+n);
ordmasgorro((s-1)*num+n)=ordmas((s-1)*num+n);
ordmenosgorro((s-1)*num+n)=ordmenos((s-1)*num+n);
abscisa((s-1)*num+n)=xtubo(s);

abscisamas((s-1)*num+n)=xtubo(s);
abscisamenos((s-1)*num+n)=xtubo(s);
absgorro((s-1)*num+n)=xtubo(s)-radio(s);
absmasgorro((s-1)*num+n)=xtubo(s)-radio(s);
absmenosgorro((s-1)*num+n)=xtubo(s)-radio(s);
cota((s-1)*num+n)=0;
cotamas((s-1)*num+n)=0;
cotamenos((s-1)*num+n)=0;
cotagorro((s-1)*num+n)=0;
cotamasgorro((s-1)*num+n)=0;
cotamenosgorro((s-1)*num+n)=0;
arg((s-1)*num+n)=pi/2;
l((s-1)*num+n)=lsegm(s);
lsup((s-1)*num+n)=lsegm(s);
end
end
c1=i*w*mi/(4*pi);
c2=1/(i*4*pi*epsilon*w);
% Impedance Matrix
for n = 1:NY
for m = 1:NT
difarg=arg(n)-arg(m);
PSI=(1/l(n))*quad8d4plus('intd4plus', 0, l(n), 1e-3, [], ordgorro(m), abscisa(n)absgorro(m), ordmenos(n)-ordgorro(m),cota(n)-cotagorro(m), k, arg(n), difarg);
PSIHH=(1/l(n))*quad8d4plus('intd4plus', 0, l(n), 1e-3, [], ordmasgorro(m), abscisa(n)absmasgorro(m), ord(n)-ordmasgorro(m), cota(n)-cotagorro(m),k, arg(n), 0);
PSIHL=(1/l(n))*quad8d4plus('intd4plus', 0, l(n), 1e-3, [], ordmenosgorro(m),
abscisa(n)-absmenosgorro(m), ord(n)-ordmenosgorro(m), cota(n)-cotagorro(m),k, arg(n),
0);
PSILH=(1/l(n))*quad8d4plus('intd4plus', 0, l(n), 1e-3, [], ordmasgorro(m), abscisa(n)absmasgorro(m), ord(n)-ordmasgorro(m)-l(n), cota(n)-cotagorro(m),k, arg(n), 0);
PSILL=(1/l(n))*quad8d4plus('intd4plus', 0, l(n), 1e-3, [], ordmenosgorro(m),
abscisa(n)-absmenosgorro(m), ord(n)-ordmenosgorro(m)-l(n), cota(n)-cotagorro(m),k,
arg(n), 0);
Zmn1(n,m)=c1*l(n)*lsup(m)*PSI;
Zmn2(n,m)=c2*(PSIHH-PSIHL-PSILH+PSILL);
Zmn(n,m) =Zmn1(n,m)+Zmn2(n,m);
end
end
alim=(talim-1)*num+(num+1)/2;
for n=1:max(size(Zmn))

for m=n:max(size(Zmn))
Zmn(m,n)=(Zmn(m,n)+Zmn(m,n))/2;
Zmn(n,m)=Zmn(m,n);
end
end
format compact
Ymn=inv(Zmn);
Zin=1/Ymn(alim, alim)
Ro=(Zin-rtl)./(Zin+rtl);
VSWR=(1+abs(Ro))./(1-abs(Ro))
V=zeros(max(size(Zmn)),1);
V(alim)=1;
I=Ymn*V;
angulo=0:pi:pi;
Px=100*cos(angulo);
Py=100*sin(angulo);
for p=1:2
Ex1(p)=0;
Ey1(p)=0;
Ey2(p)=0;
Ez1(p)=0;
Ex2(p)=0;
for n=1:NT
A(1)=0;
B(1)=0;
C(1)=0;
D(1)=0;
E(1)=0;
F(1)=0;
G(1)=0;
H(1)=0;
K(1)=0;
L(1)=0;
M(1)=0;
N(1)=0;
O(1)=0;
zf=cota(n);
PSIa=quad8d4('intd6a',abscisamenos(n),abscisamas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),ord(n));

PSIb=quad8d4('intd6b',abscisamenos(n),abscisamas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),ord(n));
PSIc=quad8d4('intd6c',abscisamenos(n),abscisamas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),ord(n));
PSId=quad8d4('intd6d',abscisamenos(n),abscisamas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),ord(n));
PSIh=quad8d4('intd6h',ordmenos(n),ordmas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),abscisa(n));
PSIi=quad8d4('intd6i',ordmenos(n),ordmas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),abscisa(n));
PSIj=quad8d4('intd6j',ordmenos(n),ordmas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),abscisa(n));
A=(I(n)*c2)*((k^2*((Py(p)-ord(n))^2+(0-cota(n))^2)+2)*PSIa+(2*i*k)*PSIb(3*i*k)*((Py(p)-ord(n))^2+(0-cota(n))^2)*PSIc-3*((Py(p)-ord(n))^2+(0-cota(n))^2)*PSId);
B=(I(n)*c2)*(Px(p)-abscisa(n))*(-k^2*PSIh+(3*i*k)*PSIi+3*PSIj);
C=A+B;
Ex1(p)=Ex1(p)+C(1);
PSIk=quad8d4('intd6k',ordmenos(n),ordmas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),abscisa(n));
PSIl=quad8d4('intd6l',ordmenos(n),ordmas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),abscisa(n));
PSIm=quad8d4('intd6m',ordmenos(n),ordmas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),abscisa(n));
PSIn=quad8d4('intd6n',ordmenos(n),ordmas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),abscisa(n));
PSIe=quad8d4('intd6e',abscisamenos(n),abscisamas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),ord(n));
PSIf=quad8d4('intd6f',abscisamenos(n),abscisamas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),ord(n));
PSIg=quad8d4('intd6g',abscisamenos(n),abscisamas(n),1e-3,
[],zf,Px(p),Py(p),k,arg(n),ord(n));
D=(I(n)*c2)*((k^2*((Px(p)-abscisa(n))^2+(0-cota(n))^2)+2)*PSIk+(2*i*k)*PSIl(3*i*k)*((Px(p)-abscisa(n))^2+(0-cota(n))^2)*PSIm-3*((Px(p)-abscisa(n)+(0cota(n))^2)^2)*PSIn);
E=(I(n)*c2)*(Py(p)-ord(n))*(-k^2*PSIe+(3*i*k)*PSIf+3*PSIg);
F=D+E;
Ey1(p)=Ey1(p)+F(1);
end
end
Etot1=zeros(1,2);
for n=1:2
Etot1(n)=sqrt((real(Ey1(n)))^2+(real(Ex1(n)))^2+(imag(Ey1(n)))^2+(imag(Ex1(n)))^2);

end
corrent=I(alim);
Gan1=(4*pi*1e4*((max(Etot1))^2))/(377*(abs(corrent)^2)*real(Zin));
Gain=10*log10(Gan1)
FBR=20*log10(Etot1(1)/Etot1(2))
disp('Calculating radiation patterns...please wait...')
patrondd
new_angulo=0:(2*pi/36000):2*pi;
new_Etot4=interp1(angulo, Etot4, new_angulo, 'spline');
new_Etot5=interp1(angulo, Etot5, new_angulo, 'spline');
new_Etot6=new_Etot4./max(new_Etot4);
new_Etot7=new_Etot5./max(new_Etot5);
figure(1)
polar(new_angulo, new_Etot6, 'k');
title('Radiation pattern
hold on;
figure(2)
polar(new_angulo, new_Etot7, 'k');
title('Radiation pattern
hold on;

E-Plane');

H-Plane');

Inputs:
Enter the central frequency in MHz: 144
Enter the number of elements in the array: 3
Which element will be fed?: 2
Enter the diametre of the array elements in wavelengths: .2
Enter the impedance of the transmission line which will feed the folded dipole: 50
Enter the length of the element number 1 in wavelengths: 0.5
Enter the position over the x-axis of the element number 1 in wavelengths: 1
Enter the length of the element number 2 in wavelengths: 0.46

Enter the position over the x-axis of the element number 2 in wavelengths: 1.1
Enter the length of the element number 3 in wavelengths: 0.419
Enter the position over the x-axis of the element number 3 in wavelengths: 1.2
Calculating antenna radiation characteristics...please wait...
Warning: Recursion level limit reached in quad8. Singularity likely.

Outputs:
Zin =11.0143 -29.8736i
VSWR =6.2195
Gain =-6.3063
FBR =1.7912

Radiation patterns..... E-Plane and H-Plane:H Plane pattern:-

Radiation pattern

H-Plane
90

120

60
0.8
0.6

150

30
0.4
0.2

180

210

330

240

300
270

E Plane pattern:-

Radiation pattern

E-Plane
90

120

60
0.8
0.6

150

30
0.4
0.2

180

210

330

240

300
270

You might also like