User Tools

Site Tools


phased_array_output

Phased Array Output

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.

phased_array_output.txt · Last modified: 2015/06/22 17:09 by spudbrai