Yagi Uda Antenna Array Design Using Matlab: Submitted
Yagi Uda Antenna Array Design Using Matlab: Submitted
Submitted
By
G.MAHESH REDDY
D.RAGHURAM REDDY
(006-08-4024)
(006-08-4035)
Department of ECE
VASAVI COLLEGE OF ENGINEERING
HYDERABAD-31
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 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