Antenna optimizers
Ian White GM3SEK wrote:
In a different thread, N5MK wrote:
I've tried some programs with "optimizers" etc, etc.. MMANA has one
fer instance, and it's freeware. In many cases, I can manually churn
out a better design by ignoring it, and doing it myself. I've seen a
few churn out some pretty funky designs which were not even close to
being optimum. Overall, I don't have much use for them. I don't need
the program to hold my hand while using it.
Can we start a new discussion, specifically about optimizers?
Having used Brian Beezley's YO and AO (Yagi Optimizer and Antenna
Optimizer) extensively in the past, I'm not quite as pessimistic as Mark
about the value of optimizers.
If they're simply allowed to run wild, they can produce some very
foolish antenna designs. Usually that is not a criticism of the
automated modeling... it mostly means that, for some practical reason or
another, the user would be a fool to build the thing.
On the other hand, an optimizer can be very useful for tasks that have a
very simple target, so it can't go far wrong. For example: "Adjust the
length of that wire to make it resonant at this frequency." That doesn't
take long to do by hand, but an optimizer can also handle more
complicated tasks like: "Adjust the lengths of these three interacting
wires to make the antenna resonant on three different bands." Then you
really start to see some benefit from the automation.
At the other end of the spectrum is the kind of complex optimization for
which YO was developed. You quickly learn that you can't just say
"Optimize that yagi!" Quite the opposite: to use the program at all, you
are forced to think very hard about what you really mean by "optimum" -
for example, how much importance you attach to forward gain, a clean
pattern, a convenient feedpoint impedance, and to maintaining that good
performance over a wide bandwidth. Playing with an optimizer, you
quickly come to understand that it isn't possible to get the best of
everything, all at the same time... which is a very valuable lesson to
learn.
The same applies to all other antenna optimizers, of course; and circuit
optimizers too. The learning process alone can be worth the money.
Having gone through that learning process, an automatic optimizer can
then zip out some really good antenna designs in a matter of minutes -
which leaves you wondering what took you so long :-) But that isn't
going to happen in the first evening, or even maybe the first month.
[Sorry, I don't know how or even if you can buy AO or YO any more.]
However, there are other optimizers out there. Arie has one in 4nec2
that works fairly well. There's also a program called GENOPT which can
optimize ANYTHING (or at least, anything where the modeling program can
be invoked from the command line and which takes a file as input and
generates a file as output).. You can specify all sorts of contstraints
and evaluation functions, and it just keeps shooting new models out,
running the modeler, and parsing the output. For use with NEC, you need
to write a little postprocessor to extract your desired "figure of
merit" from the NEC output file (e.g. NEC doesn't give you something
like F/B or SWR Bandwidth.. and while the GENOPT parser *could* be set
up to do it, it would be painful...)
And, there's a variety of ways to do things like fire off NEC from
Excel, and you can use Excel's optimizer (such as it is..).
If you get into more esoteric optimizers like particle swarm or genetic
optimizers, they're all available in fairly generic form.
So, what you need is the following 4 pieces of softwa
1) The optimizer engine
2) Something that takes a list of "parameters being optimized" (your
independent variables) and turns it into a suitable model file
3) The modeler (e.g. NEC)
4) Something that post processes the output of the modeler to generate
your "evaluation function".
If you can get each of the latter 3 in a form which is invokable from
the command line, then almost all of the existing #1 programs can use it.
For doing #2, there is a perl script/program out there that can do
fairly nice parameter substitution. Not quite as nice as Arie's 4nec2
symbol substitution with math, but at least it will take a file with one
parameter per line, and substitute them into a "skeleton" NEC input deck
that has parameter references, with some arithmetic. There's actually a
lot of these sorts of scripting tools around.
for #3, it exists already
for #4, it would be nice if there were a library of little programs that
could parse a NEC output deck and just emit a few numbers for some
standardized analyses.. For instance, you could feed in a NEC output
file and it would give you front/back ratio, or SWR bandwidth.
Obviously, such things exist, embedded in programs like EZNEC and 4nec2,
but they're not readily available as little usable components (and I
don't expect Roy or Arie to provide them, either.. That's their
proprietary improvements on the raw NEC engine, and they should use them
as they see fit, in exchange for the considerable work they've put into it.)
Maybe a good start would be to define some common "figure of merit"
numbers that might be applied to antennas. Not just define in words,
but in a more rigorous quantitative specification sort of way. Some are
easy (forward gain, swr bandwidth for a single band), some are more
difficult.. how do you handle describing side/back lobe performance? Do
you cutoff above a certain elevation angle (on the basis that there's no
propagation there anyway)? The radar folks talk about things like Peak
Sidelobe Level, Integrated Sidelobe Level, and average sidelobe level.
Jim
|