You are on page 1of 7

Appendix A Fresnel Integral MATLAB function

function f_x = fresnel_diff( x )


%fresnel_diff calculates the Fresnel integral used in UTD
%
Using the Fresnel identities from Balanis this equation was found to
%
simplify the diffraction calculations.
%
This function has been split over three lines due to Word page width
%
constraints. In actuality this function is computed in one line.
%
The mfun function will be removed from future releases of Matlab, in
%
which case mfun(FresnelC,argument) should be replaced with
%
FresnelC(argument), and the same goes for FresnelS.
f_x = 2i.*abs(sqrt(x)).*exp(1i.*x).*(sqrt(pi./2).*(0.5.*(1-1i) -...
(mfun('FresnelC',sqrt(2.*x./pi)) -...
1i.*mfun('FresnelS',sqrt(2.*x./pi)))));
end

Appendix B Fresnel Integral Test function


clc;
clear all;
x = logspace(-3, 1,100);
F2 = TransitionF(x);
F = fresnel_diff(x);
figure(1)
[a1,b1,c1] = plotyy(x,abs(F),x,angle(F)*180/pi,'semilogx');
axis(a1(1),[0.001 10 0 1])
axis(a1(2),[0.001 10 0 50])
set(a1(1),'YTick',[0.2 0.4 0.6 0.8 1]);
set(a1(2),'YTick',[10 20 30 40 50]);
title('Using Equivalent Fresnel Integrals')
xlabel('\betaLa')
ylabel(a1(1), 'Magnitude')
ylabel(a1(2), 'Phase')
set(b1, 'linewidth',2,'color','b')
set(c1, 'linewidth',2,'color','r')
set(a1,{'ycolor'},{'b';'r'})
figure(2)
[a2,b2,c2] = plotyy(x,abs(F2),x,angle(F2)*180/pi,'semilogx');
axis(a2(1),[0.001 10 0 1])
axis(a2(2),[0.001 10 0 50])
set(a2(1),'YTick',[0.2 0.4 0.6 0.8 1]);
set(a2(2),'YTick',[10 20 30 40 50]);
title('Using Approximation of Fresnel Integrals')
xlabel('\betaLa')
ylabel(a2(1), 'Magnitude')
ylabel(a2(2), 'Phase')
set(b2, 'linewidth',2,'color','b')
set(c2, 'linewidth',2,'color','r')
set(a2,{'ycolor'},{'b';'r'})

Appendix C GO/UTD Plane


Plane wave incident on an electrically conducting halfplane
clc;
clear all;
m = 1;
n = 2;
shadow = 75*pi/180;
phi = linspace(0,2*pi,181);
beta = 2*pi;
L = 3;
for m = 1:1:length(phi)
if phi(m) < pi - shadow
vr(m) = exp(1j.*beta.*L.*cos(phi(m)+shadow));
else
vr(m) = 0;
end
if phi(m) < pi + shadow
vi(m) = exp(1j.*beta.*L.*cos(phi(m)-shadow));
else
vi(m) = 0;
end
%N+ phi+phi'
if abs(-1*(phi(m)+shadow)-pi) < abs(2*pi*n-(phi(m)+shadow)-pi)
N1 = 0;
else
N1 = 1;
end
%N+ phi-phi'
if abs(-1*(phi(m)-shadow)-pi) < abs(2*pi*n-(phi(m)-shadow)-pi)
N2 = 0;
else
N2 = 1;
end
%N- phi+phi'
if abs(-1*(phi(m)+shadow)+pi) < abs(2*pi*n-(phi(m)+shadow)+pi)
if abs(-1*(phi(m)+shadow)+pi) < abs((-2)*pi*n-(phi(m)+shadow)+pi)
N3 = 0;
else
N3 = -1;
end
else
if abs(2*pi*n-(phi(m)+shadow)+pi) < abs((-2)*pi*n(phi(m)+shadow)+pi)
N3 = 1;
else
N3 = -1;
end
end
%N- phi-phi'
if abs(-1*(phi(m)-shadow)+pi) < abs(2*pi*n-(phi(m)-shadow)+pi)
if abs(-1*(phi(m)-shadow)+pi) < abs((-2)*pi*n-(phi(m)-shadow)+pi)
N4 = 0;
else
N4 = -1;
end
else

if abs(2*pi*n-(phi(m)-shadow)+pi) < abs((-2)*pi*n-(phi(m)shadow)+pi)


N4 = 1;
else
N4 = -1;
end
end
a1 = 2*((cos((2*n*pi*N1-(phi(m)+shadow))/2))^2);
a2 = 2*((cos((2*n*pi*N2-(phi(m)-shadow))/2))^2);
a3 = 2*((cos((2*n*pi*N3-(phi(m)+shadow))/2))^2);
a4 = 2*((cos((2*n*pi*N4-(phi(m)-shadow))/2))^2);
F1 = fresnel_diff(beta*L*a1);
F2 = fresnel_diff(beta*L*a2);
F3 = fresnel_diff(beta*L*a3);
F4 = fresnel_diff(beta*L*a4);
D(m) = -exp(-1j*pi/4)/(4*sqrt(2*pi*beta))*...
(cot((pi+phi(m)+shadow)/(2*n))*F1 +...
cot((pi+phi(m)-shadow)/(2*n))*F2 +...
cot((pi-phi(m)-shadow)/(2*n))*F3 +...
cot((pi-phi(m)+shadow)/(2*n))*F4)*0.577;
end
phid = phi*180/pi;
figure(1)
plot(phid,abs(D),'r',phid,abs(vr+vi),'b',phid,abs(vr+vi+D),'g')

Appendix D GO/UTD Dipole


Dipole source illuminating a electrically conducting plate
clc;
clear all;
width = 5;
dist = 2;
shadow = atan(width/dist);
shadow2 = pi/2 - shadow + pi/2;
shadow_fix1 = 3*pi/2 - shadow;
shadow_fix2 = pi/2 - shadow;
shadow*180/pi
shadow2*180/pi
L = sqrt(width^2+dist^2);
phi = linspace(0,2*pi,361);
phi_fix = pi/2 - phi;
phi_deg = phi.*180./pi;
beta = 2*pi;
x = dist.*tan(phi);
l2 = dist./(cos(phi));
l1 = 2.*x.*sin(phi);
z = l2.*sin(phi);
p = 2.*x.*sin(phi);
l3 = p + l2;
direct = 0.5.*exp(-1j.*beta.*l1);
reflect = -0.5.*exp(-1j.*beta.*l2.*2);
n = 2;
for m = 1:length(phi)
if phi(m) >= shadow && phi(m) <= 2*pi-shadow
reflect(m) = 0;
end
if phi(m) >= shadow2 && phi(m) <= 2*pi-shadow2
direct(m) = 0;
end
%N+ phi+phi'
if abs(-1*(phi(m)+shadow)-pi) < abs(2*pi*n-(phi(m)+shadow)-pi)
N1 = 0;
else
N1 = 1;
end
%N+ phi-phi'
if abs(-1*(phi(m)-shadow)-pi) < abs(2*pi*n-(phi(m)-shadow)-pi)
N2 = 0;
else
N2 = 1;
end
%N- phi+phi'
if abs(-1*(phi(m)+shadow)+pi) < abs(2*pi*n-(phi(m)+shadow)+pi)
if abs(-1*(phi(m)+shadow)+pi) < abs((-2)*pi*n-(phi(m)+shadow)+pi)
N3 = 0;
else
N3 = -1;
end
else
if abs(2*pi*n-(phi(m)+shadow)+pi) < abs((-2)*pi*n(phi(m)+shadow)+pi)
N3 = 1;
else
N3 = -1;

end
end
%N- phi-phi'
if abs(-1*(phi(m)-shadow)+pi) < abs(2*pi*n-(phi(m)-shadow)+pi)
if abs(-1*(phi(m)-shadow)+pi) < abs((-2)*pi*n-(phi(m)-shadow)+pi)
N4 = 0;
else
N4 = -1;
end
else
if abs(2*pi*n-(phi(m)-shadow)+pi) < abs((-2)*pi*n-(phi(m)shadow)+pi)
N4 = 1;
else
N4 = -1;
end
end
a1 = 2*((cos((2*n*pi*N1-(phi_fix(m)+shadow_fix1))/2))^2);
a2 = 2*((cos((2*n*pi*N2-(phi_fix(m)-shadow_fix1))/2))^2);
a3 = 2*((cos((2*n*pi*N3-(phi_fix(m)+shadow_fix1))/2))^2);
a4 = 2*((cos((2*n*pi*N4-(phi_fix(m)-shadow_fix1))/2))^2);
F1 = fresnel_diff(beta*L*abs(a1));
F2 = fresnel_diff(beta*L*abs(a2));
F3 = fresnel_diff(beta*L*abs(a3));
F4 = fresnel_diff(beta*L*abs(a4));
diff_coef1(m) = (-1*exp(-1j*pi/4)/(2*n*2*pi))...
*(cot((pi+(phi_fix(m)-shadow_fix1))/(2*n))*F2...
+cot((pi-(phi_fix(m)-shadow_fix1))/(2*n))*F4...
+cot((pi+(phi_fix(m)+shadow_fix1))/(2*n))*F1...
+cot((pi-(phi_fix(m)+shadow_fix1))/(2*n))*F3);
a1 = 2*((cos((2*n*pi*N1-(phi_fix(m)+shadow_fix2))/2))^2);
a2 = 2*((cos((2*n*pi*N2-(phi_fix(m)-shadow_fix2))/2))^2);
a3 = 2*((cos((2*n*pi*N3-(phi_fix(m)+shadow_fix2))/2))^2);
a4 = 2*((cos((2*n*pi*N4-(phi_fix(m)-shadow_fix2))/2))^2);
F1 = fresnel_diff(beta*L*abs(a1));
F2 = fresnel_diff(beta*L*abs(a2));
F3 = fresnel_diff(beta*L*abs(a3));
F4 = fresnel_diff(beta*L*abs(a4));
diff_coef2(m) = (-1*exp(-1j*pi/4)/(2*n*2*pi))...
*(cot((pi+(phi_fix(m)-shadow_fix2))/(2*n))*F2...
+cot((pi-(phi_fix(m)-shadow_fix2))/(2*n))*F4...
-cot((pi+(phi_fix(m)+shadow_fix2))/(2*n))*F1...
-cot((pi-(phi_fix(m)+shadow_fix2))/(2*n))*F3);
if phi(m) >= shadow && phi(m) <= 2*pi-shadow
m_sav = m;
diff(m) = diff_coef1(m).*exp(-1j.*beta.*l2(m).*2) + ...
diff_coef2(m).*exp(-1j.*beta.*l2(m).*2);
else
diff(m) = diff_coef1(m).*exp(-1j.*beta.*l2(m).*2) + ...
diff_coef2(m).*exp(-1j.*beta.*l2(m).*2);
end
end
diff = diff/max(diff)*0.25.*exp(-1j.*pi/2);
total = abs(direct + reflect);
total2 = ((direct + reflect)+ diff);
figure(1)
plot(phi_deg,abs(total),'b',phi_deg,abs(diff),'r',phi_deg,abs(total2),'g','
LineWidth',2)
display('Done')

You might also like