Antenna Radiation - Steering Animation

 

This slideshow (animation) shows how a beam is steered by the time difference between pebbles impacting on the surface of water . The animation goes as follows : (NOTE : Compare this example with this case and see how the impact time difference lead to the overall waveform)

    i) 8 pebbles are falling at different time. In this example, the left most pebble is falling at first and the second from the lest is falling next and third one and so on. The distance between one pebble and another pebble right next to it is exactly same. Each of the pebble is equivalent to each antenna element in an antenna array and the distance between each pebble is equivalent to the distance between each antenna element in the array antenna.

    ii) The 8 pebbles are impacting on the surface of water at different timing. This is equivalent to the case in array antenna where the signal phase from each antenna element is different meaning there is some phase difference between one antenna and another antenna right next to it.

    iii) Water waves are generated from each of the pebble and propagate in all direction.

    iv) As waves propagates, they interfere each other constructively at some point and destructively at some other points. This inferference forms a pattern in which some are shows high wave crest and some other area shows low trough. This pattern is equivalent to a beam formed by an array atenna.

     

 

 

 

 

Followings are the code that I wrote in Octave to creates all the plots shown in this page. You may copy these code and play with these codes. Change variables and try yourself until you get your own intuitive understanding.

 

< Code 1 >

 

function main

  

xstep = -10*pi:pi/10:10*pi;

ystep = -10*pi:pi/10:10*pi;;

[X,Y] = meshgrid(xstep,ystep);

 

n=8; % should be even integer

k=2;

p = 36*pi/4;

s = (2*pi/10);

m = 0;

 

Z = zeros(length(xstep));

for i = ((0:(n-1))-((n-1)/2))

  [X1,Y1] = meshgrid(xstep+(i*pi/k),ystep);

  Z = Z+(waveCosPh(X1,Y1,p+m*s,p));

  m = m+1;

end;

 

hFig = figure(1,'Position',[300 300 700 280]);

subplot(1,2,1);

surface(X,Y,Z,'edgecolor','none');

xlim([-10*pi 10*pi]);ylim([-10*pi 10*pi]);zlim([-10,10]);

view([-40 70]);

set(gca,'xticklabel',[]);

set(gca,'yticklabel',[]);

set(gca,'zticklabel',[]);

set(gca,'xtick',[]);

set(gca,'ytick',[]);

set(gca,'ztick',[]);

 

subplot(1,2,2);

surface(X,Y,Z,'edgecolor','none');

xlim([-10*pi 10*pi]);ylim([-10*pi 10*pi]);zlim([-10,10]);

view([0 90]);

set(gca,'xticklabel',[]);

set(gca,'yticklabel',[]);

set(gca,'zticklabel',[]);

set(gca,'xtick',[]);

set(gca,'ytick',[]);

set(gca,'ztick',[]);

 

end

 

function z = waveCosPh(x,y,Ph,r)

 

 d = sqrt(x.^2 + y.^2)-Ph;

 dim = size(d);

 dr = dim(1);

 dc = dim(2);

 

 for i = 1 : dr

     for j = 1 : dc

         if d(i,j) > r

            d(i,j) = pi/2;

         end;    

     end;     

 end;    

 

 %z = cos(d-Ph);

 z = cos(d);

 

end