Irradiance Distribution of parallel emitters. Phase control allows for focusing of light to specific points. Output of simulation shown:
Code can be found at ../groups/Fresnel_Simulation/
Code for simulation of far-field (beyond 1 lambda) output of phased array:
clc; clear all;
close all;
N = 10; % Number of Outputs
alfa = -90:0.1:90; % Zenith angle
d_l = [0.1,0.5,1,2,5] ; % Distance between outputs/wavelength of output light
for i = 1:5 % Graphing several ratios of d_l
Ed = abs(sin(N*pi*d_l(i)*sind(alfa))./sin(pi*d_l(i)*sind(alfa)))/N;
fig = figure(i);
set(fig,'Position', [100, 100, 1049, 400]);
subplot(2,2,[1 3]);
plot(alfa,Ed);
grid on;
axis([-90 90 0 1]);
xlabel('Zenith angle [deg]');
ylabel('Normalized radiation pattern');
title(['Ratio between distance and wavelength d/\lambda = ',num2str(d_l(i))]);
subplot(2,2,[2 4]);
polar(alfa*pi/180,Ed);
hold on;
polar((alfa+180)*pi/180,Ed);
xlabel(['Polar plot for the radiation pattern d/\lambda = ',num2str(d_l(i))]);
hold off;
end
Code for simulation of deflected far-field (beyond 1 lambda) output of phased array:
clc;clear all;
N = 10; % Number of Outputs
d_l = 0.5; % Distance between outputs/wavelength of output light
alfa0 = 50; % Deflection angle
alfa = -180:0.1:180;
Ed = abs(sin(pi*d_l*N*(sind(alfa) - sind(alfa0) ))./... % Deflected Output
sin(pi*d_l*(sind(alfa) - sind(alfa0))))/N;
Ed0 = abs(sin(pi*d_l*N*(sind(alfa)))./... % Normal Output
sin(pi*d_l*sind(alfa)))/N;
Edl = 20*log10(Ed); % Convert to Output power
Edl0= 20*log10(Ed0); % Convert to Output power
fig = figure(16); % Graphing simulation
set(fig,'Position', [100, 100, 1049, 400]);
subplot(2,2,[1 3]);
plot(alfa,Ed);
hold on;
plot(alfa,Ed0,'r');
grid on;
axis([-90 90 0 1]);
xlabel('Zenith angle [deg]');
ylabel('Normalized array factor,Radiation pattern');
title(['Number of elements = ',num2str(N),', d/\lambda = 0.5']);
legend('\beta = -15 deg','\beta = 0 deg','Location','NorthWest')
subplot(2,2,[2 4]);
polar(alfa*pi/180,Ed);
hold on;
polar(alfa*pi/180,Ed0,'r');
hold on;
xlabel('Polar plot for the radiation pattern');
hold off;
figure(17);
plot(alfa,Edl);
hold on;
plot(alfa,Edl0,'r');
grid on;
legend('\beta = 30 deg','\beta = 0 deg','Location','NorthWest')
axis([-90 90 -100 0]);
xlabel('Zenith angle [deg]');
ylabel('Radiation pattern dB');
title(['Number of elements = ',num2str(N),', d/\lambda = 0.5']);
This code was modified from the code listed at this site http://smallsats.org/2013/05/13/phased-array-antenna-radiation-pattern-and-array-configuration/ Examples of outputs can be found there.