The Yagi-Uda project's programme optimise.

Written by Dr. David Kirkby, G8WRB. email

After designing an antenna with first or input, calculating the antenna currents with yagi and analysing the antenna using output, it is probable the design you have is not very good. The programme optimise can optimise an antenna.

The manual page optimise.1  describes all the options of optimise. The manual page optimise.5 describes the file format for optimise. However, it is better to read this page before looking at the man pages.

The programme has various ways of optimising an antenna,  and can optimise for a lot of parameters:

a) Optimise the forward gain
b) Optimise front  to  back  ratio.
c)  Optimise the real part of the input impedance, to some value you want. Choosing 12. 5 Ohms is a good idea, as this allows one to feed the antenna with a 4:1 balun. The default is 50 Ohms, which assumes you will use a 1:1 balun.
d) Optimise to lower the input reactance (bring to resonance).
e) Optimise for lowest VSWR
f) Optimise the antenna to get the cleanest radiation pattern.
g) Any combination of the above.

Hence there are 63 ways to optimise an antenna (gain only, FB only, gain and FB, real part of Z etc.).

There are two different algorithms for optimising the antenna

1) The first method I developed used a purely random approach to optimisation. An antenna is analysed and then all elements are changed slightly in length and position. The changes are random  Next the new revised antenna's performance is calculated and compared to the original design. If the new design is better (according to what you decided to optimise for), it is used as a new starting point. If its poorer, so the programme tries to random change the original design again.

2) A genetic algorithm is used to optimise the antenna. Again, the user selects what parameter(s) are optimised.

There are lots of parameters that can be set when using optimise. After you have the basic ideas, see the manual  page.

We will now show the result of optimising the antenna, using the default set of optimisation parameters (gain, FB and aiming for the most significant side lobe to be better than 23 dB down). The will will perform 2000 iterations

parrot /export/home/drkirkby/yagiuda-1.18/src % optimise example1 2000
Will optimise insisting all selected parameters improve.
Optimising for maximum possible gain.
Optimising for an input resistance of Z0 +/- 5.000 Ohms
Optimising for the most significant sidelobe to be at least 23.000 dB down
    1 G= 9.65dBi,FB= 12.30dB,SL=12.30dB,SWR= 1.93,Z= 42.42-j 29.86
  532 G= 9.66dBi,FB= 13.73dB,SL=13.73dB,SWR= 1.86,Z= 42.76-j 28.26
  539 G= 9.68dBi,FB= 14.43dB,SL=14.44dB,SWR= 1.47,Z= 44.24-j 17.46
  567 G= 9.70dBi,FB= 15.44dB,SL=15.45dB,SWR= 1.46,Z= 44.57-j 17.24
  584 G= 9.71dBi,FB= 16.10dB,SL=16.11dB,SWR= 1.34,Z= 46.41-j 13.78
 1862 G=10.22dBi,FB= 24.04dB,SL=21.91dB,SWR= 1.15,Z= 45.01+j  4.32
 1868 G=10.22dBi,FB= 24.06dB,SL=21.92dB,SWR= 1.15,Z= 45.01+j  4.36
 1891 G=10.22dBi,FB= 24.08dB,SL=21.92dB,SWR= 1.15,Z= 45.02+j  4.45
 1952 G=10.22dBi,FB= 24.13dB,SL=21.92dB,SWR= 1.15,Z= 45.00+j  4.53

The best design is in a file "example1.bes". You should check it thoroughly
and if its better than example1, copy example1.bes to example1
For your information, the original data on the antenna was:
Start data:G= 9.65dBi,FB= 12.30dB,SL=12.30dB,SWR= 1.93
Final data:G=10.22dBi,FB= 24.13dB,SL=21.92dB,SWR= 1.15
Changes:   G= 0.57dBi,FB= 11.84dB,SL= 9.63dB,SWR=-0.78
parrot /export/home/drkirkby/yagiuda-1.18/src %

In this example, the gain has increased by 0.57 dB, the side lobes down by 9.63 dB and the input resistance changed from 42.42 to 45 Ohms.  The VSWR has gone down in this example too, but that was not entirely predictable, as VSWR was not optimised. However, we did optimise for input resistance, so it was likely the VSWR improved. However, there was nothing to stop the reactance going crazy, and here the VSWR rising.

Yagi antennas generally work better at a low impedance feed point, so lets optimise the antenna, using the parameters of gain, F/B ratio and VSWR, but aiming for an input resistance of 12.5 Ohms. (The antenna should hopefully become close to resonance, as the VSWR will be optimised, which means the input reactance should be low too.

In order to optimise for the parameters we want, we need to put a command line argument '-o' to optimise. The format is:

optimise -o 1  filename interations
(optimises for gain only)

optimise -o 2  filename interations
(optimises for F/B only)

optimise -o 4  filename interations
(optimises for F/B only)

optimise -o 8  filename interations
(optimises for reactance only)

optimise -o 16 filename interations
(optimises for VSWR only)

optimise -o 32 filename interations
(optimises for sidelobe performance  only)

Since we want to optimise for gain, FB and VSWR, we add the numbers 1+2 and 16=19, and call optimise with

optimise -o 19 -Z 12.5 example1 1000

Here are some examples of the calling optimise

#1 % optimise -o 19 -Z 12.5 example1 1000
(this optimises for gain, F/B and VSWR, while aiming for an input resistance of 12.5 Ohms)

 #2 % optimise -o1 example1 1000
(optimises for only gain - at the expense of everything else. This is not a good idea !!! )

#3 % optimise -g 19 -Z12.5  example1 1000
(optimise using a genetic algorithm for gain, F/B and VSWR, while aiming for an input resistance of 12.5 Ohms)

#4 % optimise -g 17 -G 0.95 -S 0.05 -Z 12.5 example1 1000
(Uses the GA, optimising for gain and VSWR only, but heavily weighted to gain.

This give a gain of 12.16 dBi, at an input Z of 12.49 + j 0.05 on 145 MHz. This is the best result we have, so lets check it more carefully over the full 2m ham band.

Dr. David Kirkby, G8WRB. email