A short antenna optimization tutorial using MMANA-GAL
Al Couper NH7O
These pages will present a short guide to antenna optimization using MMANA-GAL. This program has a very complete optimization engine, which is unique for free software. (The amateur radio community seems to have focused on the EZNEC software, which is lacking in these abilities.) The first part is an overview of the process, using a 3 element 20m yagi as an example. Part 2 will go over the array of options in more detail. These methods are mainly those which I have found useful in designing HF, mostly monoband antennas. I assume the reader has some initial familiarity with MMANA-GAL already, having opened up some of the example files and clicked around a bit; and also knows some basic antenna theory. The optimization page in the MMANA-GAL help file is necessary reading, as I am trying here to give a little more explanation to the very brief information given by the programmer. Any comments, corrections, or improvements can be sent to me.
MMANA-GAL uses only meters and millimeters for all its purposes. For use in an international setting, for engineering and scientific purposes, this is appropriate. The old system of units still hangs on in the USA (one of 3 countries in the world not officially adopting the metric system, along with Myanmar and Liberia), but MMANA-GAL does allow entering data into any of its numeric cells in feet or inches, where it will convert them to metric units. To do this, type the number of feet and add *f after the number for feet, and *i for inches. For example, 30*f will result in an entry of 9.144, which is in meters.
To begin, let's enter a three element 20m yagi from scratch. Click the "New" icon in the toolbar. We want to enter some very approximate element lengths for the director, driven element, and reflector. Let's guess to begin with, and say the reflector should be 11 meters wide, the driven 10.5m, and the director 10m. For spacing we can also guess at 2.5m for each element. These guesses are not important, save as a set of initial conditions to start the algorithm in its search for the best design that meets our goals. One can also take the measurements from a similar commercial antenna, and go from there. MMANA-GAL uses a three dimensional grid for all its definitions, that is X, Y, and Z. One standard procedure that will define our design is to use elements parallel to the Y axis, so that the pattern will be developed along the X axis. Z will be height in the vertical direction.
Hit Control-E to bring up the Edit element window. Right click in the first box in the first line and select "Add" from the pop up window. This will give you a line starting with "H Line" which means a horizontal wire parallel to the Y axis. Type 11.0 into the width box and hit enter. Go down to the next line, right click and hit "Add" again, and enter 10.5m for the width. Do the same for the third line with 10.0m. Click on OK and return to the Geometry tab. Give the antenna a name, and enter 5.0 into the element radius column for each element. (This is an unrealistic tubing size, but will serve for the tutorial until later.) In the Sources1 table, enter "w2c" into the Pulse column. This defines the middle element, wire 2, as the driven, and places the source in the center.
Your Geometry tab should now look like this:
Give your new file a name and save it at this point. Note that there is no concept of a "boom" here, only the wire lengths and positions are specified. The boom does not enter into the electrical design of the antenna at this stage. Switch to the View tab to rotate your design in 3D. Now switch to the Calculate tab. Select the Alu Pipe material, Real ground, and give the antenna some height, i.e. 15m off the ground. Now at the bottom hit the Optimization button and bring up the optimization window.
The goal of optimizing an antenna is to pick a set of criteria that are to be met, a ranking of importance for each of the criteria, and a set of limits which put a boundary on the possible dimensions that can be checked by the routine. The software will then calculate the Gain, F/B ratio, and feed point Z for the initial conditions of the given design, and using that as a reference, change one of the dimensions by the given step size and recalculate. If the new design meets the goal better than the previous, the new design is kept, and another dimension is changed and checked. Again there may be an improvement, or there may be a degradation. If the latter, the dimension is reverted, and is stepped in the opposite direction. This process of more or less blind searching is tried many times and eventually a point is reached where there is no possible way to make an improvement given the limits set. At this point the algorithm stops.
Is this the best possible solution? Not necessarily. The best way to visualize the process is to think of a terrain that is comprised of rolling hills. The area of this hilly terrain symbolizes the complete set of all possible antennas, with the height of any hill indicating the degree of conformance with the desired goal. The optimization routine wanders around this terrain, looking for the highest hill. But it may find a lesser hill, and home in on that local peak instead. This is where some experience and intuition on the part of the antenna designer is needed to decide if things could be better or not. Restarting the algorithm with a different initial condition can be sufficient to set the search path in an entirely different direction. However, in the present case, the algorithm does very well.
In the optimization table, we need to fill in all the items that we want to vary. For the 3 element yagi, we will let the element lengths vary, and we will let the program find the element spacing as well. First, left click in the first Type cell on the first line. A small pop up window appears, select "Element". Enter "1" into the Position cell. Left click into the What cell, left click again and while holding down the mouse, select "Width Y" from the pop up list. (You can also use the arrow keys to move the cursor in the table, and use the enter key to get the pop up menus.) Do this again for the other two elements on the next two lines, putting "2" and then "3" in the Position cells. The position indicates the elements in the order we defined them in the element table. Now set the limits. We suspect that a 20m yagi won't have elements shorter than 8m, or longer than 13m, so type those values into the Min and Max cells. We can accept the default step sizes for now.
Next we need to define the element spacing variables. At the start of the next available line, left click as before and select "Element". Then in the Position cell type "2". (We will leave the first element alone, as it is the base element, and let the other two vary.) In the What cell, select "Position", which indicates the distance from the base element. Do the same on the next line, setting it to position "3". In the Min cells, type "1", in the Max cell for element 2 type "5", and in the Max cell for element 3 type "10". This puts some reasonable limits on the physical size of the yagi's boom length.
Now for the goals we want to design for. At the top you see several sliders that represent the relative importance of each of the given parameters. If we want to design for maximum gain with no other criterion, then we can slide that slider to the right, and set all the others to zero. If we want more F/B ratio, then we can slide that parameter over as well. The Elev parameter selects for a given elevation of the main lobe of the array pattern (which for HF antennas is not normally used). jX selects for a resonant feed point. SWR selects for overall match as defined below, and raising this slider can produce a flatter SWR curve. The Match parameter is somewhat mysterious, but appears to relate to the matching circuit described in Part2. The Current parameter can be used to minimize or maximize the current through a given source. (This is another one I have not found useful.) For now, let's leave the sliders as is, with an equal goal of Gain, F/B ratio, and a resonant driven element. Note that only the relative settings of the sliders is important, as the program scales the total weight of all the sliders to 100% in any case. You should now see this:
At this point we can now hit the start button, and begin the algorithm. You can now jump to each of the tabs and watch as the dimensions are changed, the view changes, and the field plots change. If you have a fast computer this is over in a flash for a simple antenna. A pop up window asks if you want to save a *.mao file. Click yes, if you want to save the settings in the optimization table, and you want to have a record showing each of the steps along the route the algorithm took. Otherwise, just say no. Next we want to see how our antenna model performs. Go to the Calculate tab, and at the bottom hit the Plots button. Select the "Detailed" button to have a plot made over the frequency range selected in the BW textbox. Now look at the field, the SWR and the impedance as they vary over frequency. As a first try, out antenna is not so good, being a bit sharp in bandwidth.
Our antenna ended up with a somewhat evenly spaced reflector and director. To illustrate the multiplicity of possible solutions, go to the Geometry tab and set the driven element X1 and X2 dimensions to "2", then go back to the Optimization window and hit start. The algorithm now searches in a new area, and arrives at a new design, with a wide spaced director, and a narrower reflector. One may try a number of these sorts of trials to home in on the best of the best. In the present case, our design was optimized at a feed point impedance of around 13 ohms, which as a practical matter is not desirable due to loss factors. So lets go back and specify a feed point impedance.
Bring up the Optimization window again, and click on Advanced. (Woohoo, we're getting somewhere now...) In the environment tab set the standard Z value for R to 28 ohms. You can select this from the drop down list, or just type in any number you like into the text field. For a yagi such as the present, a feed point impedance of 28 ohms is a good compromise. You should see this:
Click OK, and now slide the SWR slider over to the middle. Restart the optimizer and note that the spacings are readjusted as the design is tuned to the new impedance. The first trials were made with no concern over SWR, as the slider was left at zero, and the algorithm homed in on a very low feed point impedance which is associated with higher gain. Now, using the SWR slider to steer the algorithm towards the new feed point impedance we selected above gives a completely new design. The resulting plots show less gain but better bandwidth. This is the way of optimizing, as one value trades off for another. Bandwidth, gain, F/B, and feed point impedance are all interdependent, so the art of antenna design is the art of compromise. You can't always get what you want, but if you try a number of times, you may get what you need.
The cycle of design revolves around setting the sliders, running the algorithm, checking the plots, and making a guess as to what needs to change, and restarting the process again. Going through this process is by far the best way to get an intuitive picture of how antennas behave. Going over the work of W4RNL, especially his papers on yagi design, will also be very helpful at this point.