This paper is aimed at creation of an easy to use
Antenna Graphical User Interface(GUI) Tutorial Demonstration
using JAVA in BlueJ environment which provides the user with
ample opportunity to feed desired input parameters and to study
the basic antenna patterns and parameters according to the
inputs using MATLAB® interfacing. It also presents three
dimensional physical appearances using the JAVA3D utility
2. It consists of domain-dependent simulation programs,
experimental units called objects that encompass data fields
and tools that operate on these objects. It allows students more
opportunities to practice experiments, particularly for those
antennas that may not be easily available due to lack of
resources and time, without the need for supervision
A. Physical Appearance
It is not always possible to give a detailed structural view
of an antenna to institutional students, so to give a look at the
physical appearance can be of adequate knowledge to
beginners in quick time. The 3D appearance has been created
using JAVA 3D API [2], [3], [4], [8]. Java 3D is a scene graph-
based 3D application programming interface (API) for the Java
platform [5] which is downloadable from an open source [6],
[7]. Figure 2 shows the physical appearance of two commonly
used antennas.
JAVA3D contains inbuilt classes that can be used in order
to construct various 3D shapes which can eventually be added
to the scenegraph created for the purpose. A brief example has
been shown below: [2], [3]:
SimpleUniverse u= new SimpleUniverse();
BranchGroup bg= new BranchGroup();
TransformGroup tg=new TransformGroup();
This creates the required TransformGroup object ‘tg’ which
is eventually added onto the BranchGroup object ‘bg’ which is
part of a SimpleUniverse object ‘u’. These are utility classes
contained in package com.sun.j3d.utils.universe [2], [3], [8]
which is a part of the said API. A requisite geometric shape
object, ‘shape’ is created using classes contained in package
com.sun.j3d.utils.geometry which is eventually added to ‘tg’ as
shown below:
tg.addChild(shape);
bg.addChild(tg);
u.addBranchGraph(bg);
MouseRotate behavior has been incorporated in order that
the user has the flexibility to observe all possible views of the
created 3D object by clicking and dragging the cursor. Figure
3 shows a mouse driven 3D physical appearance of a dipole
antenna. This class is a part of package
com.sun.j3d.utils.behaviors.mouse [3].
Figure 2. Three dimensional physical appearance of reflector
antenna(left) and rectangular horn(right).
Figure 3. Mouse driven 3D appearance of a dipole
B. Interfacing
An interface is a concept that refers to a point of interaction
between one or more softwares to the effect that one software
can be used to access and modify objects created in the other.
Here an interface has been devised between JAVA and
MATLAB® as mentioned before. The GUI has been designed
using JAVA [8], [9]. It takes user inputs as shown in Figure 4
which are thereby written to files using suitable code [5].
The data from those files are read from MATLAB® and
codes are prepared for the parameters [1]. The codes for
outputs are built as executable files which are then called from
the JAVA [5] code upon click on easy to understand buttons
as shown in Figure 5.
And to run the required executable file from java the class
‘RunTime’ is used whose inbuilt function ‘exec’ serves the
purpose given the file path as shown [5]:
Process <objectname>=run.exec(<filepath>);
Figure 4. Data being taken as inputs for a dipole antenna
Figure 5. Easy to use buttons for observations
3. Figure 6. Flowchart showing the tasks involved in the module
But all the executable files and the java class should be in
the same package folder. For the numerical data outputs and
for file opening, closing and appending, separate MATLAB®
functions are used [1]. The files are then read from JAVA [5]
and added to a panel window [3], which displays the required
result.
Figure 6 demonstrates the complete process undertaken for
this module using a flowchart [10].
III. OBSERVATION OF PARAMETERS
To briefly explain the patterns and plots the example of half
wavelength dipole antenna is chosen from among the antennas
worked on in this module. It is easy to implement and
commonly used as its radiation resistance is very close to the
commonly used transmission lines’ impedance (75 Ohms) [11],
[12].
The parameters have been theoretically verified. [11], [12],
[13], [14], [18], [19].
The following equation is used to plot the field pattern [11]:
Eθ ≅ −jηLIOe−jkr
cos(π cos θ/2) . (1)
2πr sin θ
In (1), L is the antenna length, I0 is the peak amplitude of
the operating current and k is the wave propagation constant.
The symbol η refers to the free space wave impedance (=120π)
Figure 7. Field Pattern of a dipole antenna working at 250 MHz
[11]. To implement (1) the imaginary part is ignored and
real plot is considered using Euler’s identity [15], [16]. The
equation is in spherical polar plot. It is converted into Cartesian
coordinates using the following instance [17]:
Ex=E.*cos (phi).*sin (theta);
Ey=E.*sin (phi).*sin (theta);
Ez=E.*cos (theta);
MATLAB® provides for three dimensional plots of
Cartesian coordinates in a flexible manner using the function
‘mesh’. To plot the 2d pattern instead the function ‘polar’ is
used [1]. Figure 7 shows both the patterns.
Similarly power pattern, dB field pattern, radiation intensity
plot, and directivity plot, current distribution has been
employed.
The radiation intensity U is plotted using [11]
U ≅ ηIO
2
cos(π cos θ/2) 2
(2)
8π2
sin θ
≅ ηIO
2
sin3
θ . (3)
8π2
The maximum value of U gives the maximum radiation
intensity, Umax.
Figure 8. Directivity Plot of a Half Wavelength Dipole working at 60 MHz