===== Phased Array Output ===== Irradiance Distribution of parallel emitters. Phase control allows for focusing of light to specific points. Output of simulation shown:{{ :playground:irradiancedistribution.png?500 |}} 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.