You are on page 1of 11

PLOTTING RADIATION PATTERNS

Juan R. Mosig, LEMA-EPFL Nov. 2004



Typically, the result of the calculation or measurement of the radiated electric field on
an antenna can be always cast as a complex vector depending on the two spherical
angles , and having two transverse components, typically also along the spherical
, directions:

( , ) ( , ) E E

= +

E e e

where :
( , ) ( , )exp[ ( , )]
( , ) ( , )exp[ ( , )]
E A
E A




=
=

with
,
A

being real amplitudes and
,
real phases.

Of course, many other alternatives are possible where, for instance, the field can be
projected into a different set of components, expressed through its real and imaginary
parts, or a logarithmic scale (dBs) be used for the amplitudes.

The easiest way to graphically represent this field is to consider two-dimensional
cuts. The most commonly used are meridian cuts. Those are defined in spherical
coordinates by the combination of the following values:
0 0
; [0, ] ; [0, ] = = + U
In order to cover the full cut with a single span of the angle , engineers dont
hesitate to introduce negative angles and define a meridian cut by a single value:
0
; [ , ] =
but it is well understood that when is negative we use in the formulas its absolute
value and replace
0
by
0
+ .
The two important meridian cuts correspond to the xz and yz planes:
1) Meridian cut in the xz-plane: 0; [ , ]
2) Meridian cut in the yz-plane: / 2; [ , ]


=
=

To these two it could be added an equatorial cut:
3) Equatorial cut in the xy-plane: / 2; [0,2 ] =

Now, it is easy to plot standard Cartesian 2D plots with the angle in the horizontal
axis and any quantity of interest (real part, imaginary part, amplitude, phase, squared
field values) in the vertical axis.

This is something that any standard software will easily accomplish.



For instance, consider a radiated field whose angular dependence is given by:

[(sin3 /sin ) sin cos ] sin (1 sin ) = + +

E e e +
And we want to study the cut 0 =
To plot a Cartesian 2D plot of the squared field components and of their sum (power
densities along theta, phi and total) we just write:
PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 1 -

phideg=0 % Define the phi-cut in degrees
stepdeg=2 % Increment in degrees of theta angle
thetadeg=[-180:stepdeg:180]+eps; % Theta values in degrees

% Mathematical spherical angles in radians
theta=abs(thetadeg)*pi/180+eps;
phi=ones(size(thetadeg))*phideg*pi/180+(thetadeg<0)*pi;

% Introduce formulas for field components:

etheta=sin(3*theta)./sin(theta)+sin(theta).*cos(phi);
ephi=j*2*sin(theta).*(1+sin(phi));
power=abs(etheta).^2+abs(ephi).^2;

% Linear cartesian plots

plot(thetadeg,abs(etheta).^2,'b',thetadeg,abs(ephi).^2,'r',thetadeg,
power,'k','LineWidth',2)
grid on

And the graphical result is:

-200 -150 -100 -50 0 50 100 150 200
0
1
2
3
4
5
6
7
8
9
10

PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 2 -
While a simple polar 2D-plot is obtained with the additional statements



% Linear polar plots

latitude_angle=thetadeg*pi/180+pi/2;
polar(latitude_angle,abs(etheta).^2,'b')
hold on
polar(latitude_angle,abs(ephi).^2,'r')


It must be pointed out that with this programming strategy, the angle 0 = is on the
top of the diagram (North Pole) as expected. However, Matlab default labeling of the
angles is the typical one for polar coordinates and dont correspond to theta values.
But this can be corrected with some formatting cosmetic.

2
4
6
8
10
30
210
60
240
90
270
120
300
150
330
180 0

PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 3 -

Now, lets try some logarithmic (decibels) 2D Cartesian plots. Matlab has also a
plotting instruction to produce semilogarithmic graphs, namely (only the theta-
component is plotted)



% Decibel plots in cartesian coord.

figure
semilogy(thetadeg,abs(etheta).^2)
grid on


But this will produce a disappointing figure from the antenna engineer point of view.

-200 -150 -100 -50 0 50 100 150 200
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
10
1

PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 4 -
What is the standard practice is to plot dBs in a linear scale. For instance:


figure
etheta_db=20*log10(abs(etheta));
ephi_db=20*log10(abs(ephi));
power_db=10*log10(power);
plot(thetadeg, etheta_db,'b','LineWidth',2)
grid on


The vertical scale of resulting figure represents now automatically decibel values.

-200 -150 -100 -50 0 50 100 150 200
-50
-40
-30
-20
-10
0
10

PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 5 -
The problem with logarithmic scales and decibels is that field values close to zero will
result in a number of decibels close to minus infinity. Typically, we want to define a
meaningful dynamic range and a threshold below whom any value is irrelevant.
Therefore, we first look for the maximum value of the quantity to be represented and
then we introduce normalized values by dividing all the values by the maximum one.
Thus, the max. normalized value is 1 (or in decibels 0 dB). As a second step, we
introduce a threshold level (for instance -30 dB) and any value below the threshold is
raised to the threshold to limit the dynamic range. This is achieved with the following
lines:


figure
etheta_dbmax=max(etheta_db);
etheta_db_norm =etheta_db - etheta_dbmax;
level=-30
flag=etheta_db_norm <level;
etheta_db_sat=etheta_db_norm.*(1-flag)+level*flag;
plot(thetadeg, etheta_db_sat,'b','LineWidth',2)
grid on


And the result has now the relevant features of a professional antenna diagram:


-200 -150 -100 -50 0 50 100 150 200
-30
-25
-20
-15
-10
-5
0

PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 6 -
Finally to make a 2D logarithmic (decibel) plot in polar coordinates, we add to the
normalized values in decibels the threshold. This will result in all the values below the
threshold disappearing inside the origin of coordinates (like in a blackhole!).


% Decibel plots in polar coord.

figure
polar(latitude_angle,etheta_db_sat-level)


The graphical result is essentially correct but, as before, it would need some cosmetic
for labeling correctly the values of the angle . Also, traditionally the radial decibel
scale should vary from 0 dB (outer circle) to -30 dB (origin) rather than from +30 dB
to 0 dB.


10
20
30
30
210
60
240
90
270
120
300
150
330
180 0



Finally, it is obvious that all the above figures can be repeated for any other desired
phi-cut. Indeed it is typical to include the 0 = and 90 = cuts in the same figure.

But of course, we could also try 3D diagrams including all possible and values.
PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 7 -
For instance the following script will produce a 3D Cartesian plot, where the angle s
and are represented as x and y coordinates.


M=90
N=90
thetadeg=linspace(0,180,M+1);
phideg=linspace(-180,180,N+1);
theta=thetadeg*pi/180+eps;
phi=phideg*pi/180+eps;
[theta,phi]=meshgrid(theta,phi);

etheta=sin(3*theta)./sin(theta)+sin(theta).*cos(phi);

maxvalue=max(max(abs(etheta)));
etheta_norm=abs(etheta)/maxvalue;

surf(phideg,thetadeg,abs(etheta_norm))




PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 8 -

Matlab allows rotating this kind of graph, to change the angle of view and obtain, for
instance a birds eye view which correspond to a isolevel plot.


The big challenge will be to produce other 3D spherical plots that gives a more
intuitive and physical description of the radiated fields. An attempt to produce such a
plot is giving below. Here the field is represented as the radial coordinate as a
function of the true spherical angles and . The most evident drawback of this plot
is that the coloring code depends on the vertical z-coordinate, while it is obvious that
in this type of figures the coloring should depend on the radial coordinate.
PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 9 -

In the beginning of the 20
th
century, the first antenna engineers used to build solid
models of radiation patterns in the form of plaster casts!
I let the reader to decide whether this was funnier or not than developing his own
Matlab script.


1904-2004



PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 10 -
CHALLENGES:

1) Correct the obvious drawbacks of all the previous MatLab minicodes
(comments about cosmetic improvements).
2) Write the MatLab programme which produces the above 3D-graph with, if
possible the correct color code
3) Write a MatLab programme that produces 2D polar diagrammes with
coordinates ,
plot plot
r = = and the quantity under study is color-coded
and represented by isolevel lines in decibels. This is similar to the circular
diagrams obtained when the surface of a half-sphere is projected onto the
equatorial plane.
PLOTTING RADIATION PATTERNS, J uan R. Mosig, LEMA-EPFL Nov. 2004 - 11 -