Small Satellites

Home » Featured » Phased Array Antenna, Radiation Pattern and Array Configuration

Phased Array Antenna, Radiation Pattern and Array Configuration


Phased array consisting of N lined up individual isotropic antennas with the composite main antenna beam into vertical direction. This code based on the governing equation (J. Röttger, The Instrumental Principles of MST Radars, Ch.2.1) and shows how the radiation pattern changes as the parameters are modified.

clc; clear all;
close all;

Ratio between wavelength and distance between individual elements Linear Array of N isotropic radiators

N    = 64;
alfa = -90:0.1:90;       % Zenith angle
d_l  = [0.1,0.5,1,2,5] ; % Ratio
for i = 1:5
    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

PhasedArray_01 PhasedArray_02 PhasedArray_03 PhasedArray_04 PhasedArray_05

Distance between individual elements

f_EISCAT =  233E6;   % Centre frequency 233 Hz
c = 3*10^8;          % Light Speed m/s
l = c/f_EISCAT;
d = [0.1,0.5,1,2,3];  % m
for i = 1:5
    % Normalizied gain
    Ed = abs(sin(N*pi*d(i)/l*sind(alfa))./sin(pi*d(i)/l*sind(alfa)))/N;
    % Ed - Array Factor, Radiation patern for isotropic radiators
    fig = figure(i+5);
    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([' Distance between individual elements (space weighting) = ',...
        num2str(d (i)),' m,  F = 233Mhz']);
        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');
    hold off;
 end

PhasedArray_06 PhasedArray_07 PhasedArray_08 PhasedArray_09 PhasedArray_10

Number of antenna elements The distance between individual elements equals to the half wavelength of the signal

d_l = 0.5;
N   = [4 16 64 100 169]; % Number of elements was varied from 4 to 256.
for i = 1:5
    Ed = abs(sin(pi*d_l*N(i)*sind(alfa))./sin(pi*d_l*sind(alfa)))/N(i);
    fig = figure(i+10);
    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 array factor,Radiation pattern');
    title(['Number of elements = ',num2str(N(i)),', d/\lambda = 0.5']);
    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');
    hold off;
end

PhasedArray_11 PhasedArray_12 PhasedArray_13 PhasedArray_14 PhasedArray_15

Radiation pattern change when the beam is not pointed vertically

clc;clear all;
N = 8;
d_l = 0.5;
alfa0 = 30;
alfa = -180:0.1:180;       % Zenith angle
Ed = abs(sin(pi*d_l*N*(sind(alfa) - sind(alfa0) ))./...
                        sin(pi*d_l*(sind(alfa) - sind(alfa0))))/N;
Ed0 = abs(sin(pi*d_l*N*(sind(alfa)))./...
                        sin(pi*d_l*sind(alfa)))/N;
Edl = 20*log10(Ed);
Edl0= 20*log10(Ed0);
    fig = figure(16);
    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 = 30 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']);
PhasedArray_16

PhasedArray_17

Electrical weighting techniques

N     = 64;
d_l   = 0.1;
Ed = abs(sin(pi*d_l*N*(sind(alfa) ))./...
                        sin(pi*d_l*sind(alfa)))/N;
Edl = 20*log10(Ed);
% Try to lower the first side lobe relative to main lobe
% To be able to reduce the side lobe levels, we design the array so its radiate
% more power towards the center, and less at the edges.
w  = zeros(1,N);
ws = zeros(1,N);
n = 1:N;
E = 0;Es = 0;
for n = 1:N;
    if n <= N/2
        w(n) = (n-1)/30.5;
    else
        w(n) = w(65 - n);
    end
    ws(n) = sin((n-1)*pi/(N-1));
    E  = E + (w(n)*exp(complex(0,((2*pi*(n-1)*d_l)*sind(alfa)))));
    Es  = Es + (ws(n)*exp(complex(0,((2*pi*(n-1)*d_l)*sind(alfa)))));
end
figure(19);
hold on; grid on;
plot(w,'g');
plot(ws,'r');
axis([1 64 0 1]);
ylabel('Normalized tapering weight');
xlabel('Array elements index');
legend('polynomial','sin');
hold off;
E = abs(E);
E = 20*log10(E/max(E));
Es = abs(Es);
Es = 20*log10(Es/max(Es));
    fig = figure(18);
    set(fig,'Position', [100, 100, 600, 700]);
    hold on;
    subplot(3,1,1);
    plot(alfa,Edl);
    grid on;
    axis([-90 90 -100 0]);
    legend('Isotropic');
    ylabel('Radiation pattern dB');
    title(['Number of elements = ',num2str(N),', d/\lambda = ',num2str(d_l)]);
    subplot(3,1,2);
    plot(alfa,Es,'r');
    axis([-90 90 -100 0]);
    ylabel('Radiation pattern dB');
    grid on;
    legend('Weighted Sin');
    subplot(3,1,3);
    plot(alfa,E,'g');
    axis([-90 90 -100 0]);
    grid on;
    xlabel('Zenith angle [deg]');
    ylabel('Radiation pattern dB');
    legend('Weighted Poly');
    hold off;

PhasedArray_18 PhasedArray_19

 

Advertisement

2 Comments

  1. gaurav lalkiya says:

    how to transmit a signal from antenna to the atmosphere .. and how this signal is recive by the antenna … ?????using matlab please help me

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Recent Post

%d bloggers like this: