Provided by: yagiuda_1.19-3_i386 bug
 

NAME

        optimise - Yagi-Uda project antenna optimiser
 

SYNOPSIS

        optimise  [  -dhvwO  ]  [  -aangular_stepsize  ] [ -bboom_extension ] [
        -ccleanliness_of_pattern ] [ -eelements ] [ -fFBratio ] [  -gGA_optimi‐
        sation_method  ]  -lpercent  ] [ -mmin_offset_from_peak ] [ -ooptimisa‐
        tion_criteria ]  [  -ppopulation  ]  [  -rresistance  ]  [  -sswr  ]  [
        -tlength_tolerance ] [ -xreactance ] [ -AAuto_gain ] [ -CCurrents_simi‐
        lar ] [  -Fweight_FB  ]  [  -Gweight_gain  ]  [  -Kkeep_for_tries  ]  [
        -Pweight_pattern_cleanliness ] [ -Rweight_resistance ] [ -Sweight_swr ]
        [ -Tposition_tolerance ] [ -WWeighted_algorithm ] [  -Xweight_reactance
        [ -ZZo ] filename iterations
 

DESCRIPTION

        The  program  optimise  is  one of a number of executable programs that
        forms part of a set of programs, collectively  known  as  the  Yagi-Uda
        project , which were designed for analysis and optimisation of Yagi-Uda
        antennas.  optimise attempts to optimise  the  performance  of  a  Yagi
        antenna  for one or more parameters that are considered important, such
        as gain, F/B ratio, VSWR etc. It does this  by  randomly  changing  the
        lengths and positions, of one or more elements, then comparing the per‐
        formance before and after the change.  Any improvements are written  to
        a  new  file  called  filename.bes  where  filename  is the name of the
        antenna description file created by input or first
 
        When Yagi’s are designed on paper, or using this program, its  possible
        that  they  will  be  almost  impossible to build, if their performance
        depends too critically on the dimensions. To determine if this  is  the
        case  with a design, we run optimise with just the options ’t’ and ’T’.
        These specify the tolerance with  which  you  can  build  the  antenna,
        expressed  as a standard deviation in mm. In this case, instead of try‐
        ing to optimise a poor design,  optimise  will  calculate  the  minimum
        gain,  maximum  VSWR,  and minimum FB ratio of a number of designs, all
        slightly different from the input file. 99.7%  of  the  components  lie
        within 3 SD of the mean, so if you think you can cut elements to with 1
        mm 99.7% of the time, specify t0.33. If you can put them in the boom to
        within 3 mm 99.7% of the time, specify T1.
 
        If  while optimise is running using the methods that require weights to
        be attached to the gain, FB, SWR etc, it becomes apparent, the  weights
        are  not  optimum,  its possible to pause the program and re-adjust the
        weights. If a file with the name of changes  is  created,  the  program
        will pause, then request new weights are entered at the keyboard.
 

AVAILABILITY

 

OPTIONS

        -d     Print  the default values of all the configureable parameters to
               stdout. Typing this option with any option that changes a param‐
               eter  (see  below)  will display the new value of the parameter,
               rather than the default.
 
        -h     Print a help message.
 
        -v     Print verbose status information.
 
        -w     Instead of optimising at one fixed frequency  (the  design  fre‐
               quency), this directs the program to optimise at 3 separate fre‐
               quencies (lowest, design and highest) then to  average  data  at
               all 3. This option is better for wideband antenna. Note that the
               input impedance printed is at the design frequency, *not*  aver‐
               aged  over  3  frequencies. Averaging an impedance, is likely to
               give a very misleading impression. The impedance averaged over 3
               frequencies  can  be  50+i0  Ohms, even if the VSWR is very poor
               over all 3 frequencies, as the following 3 pieces of data  show.
               Z=147 + j 300  SWR= 15.46:1
               Z=2   + j 100  SWR= 125:1
               Z=1   - j 400  SWR= 3250:1
               note  in  the above three cases, the average impedance is 50 + j
               0, but average SWR is 1130:1.
 
        -O     Over-optimisation allowed.  By default,  the  program  does  not
               over-optimise  a  parameter. For example, an SWR of 1.01 is usu‐
               ally considered good enough and any change, as long as  the  SWR
               stayed  good,  typically  below 1.1:1, would be allowed, even if
               the SWR rose. By default, FB’s of  27  dB,  VSWR’s  of  1.1  are
               acceptable.  However, by using the -O option, you can insist the
               program always improves things, no matter how good they are.
 
        -aAngular_stepsize
               When optimimising by trying to get a clean pattern, spec‐
               ifies  the  step size to use when looking for features in
               the pattern. If its set  too  small,  the  program   runs
               slow. If its set too large, the program may miss features
               in the pattern, such as a sidelobe.  Then  the  resulting
               antenna  will have poor sidelobe performance, even though
               you think it will be good. The program attempts to calcu‐
               late  a sensible value, based on 1/10th the approximate 3
               dB beamwidth, if you don’t set.
 
        -bboom_extension
               Generally speaking, the gain of  a  Yagi  increases  with
               boom  length.  Hence the optimiser would often give you a
               Yagi with a much longer boom than the  input  file.  This
               may  not  be  what  you desire due to space restrictions.
               These long antennas often have high gain,  but  are  very
               narrow  in  bandwidth.  The default limits the antenna to
               10x the original length, which means effectively there is
               no boom length limitation.  You can adjust the percentage
               by setting boom_extension to  whatever  you  wish.   -b30
               will  limit  the  boom  to no more than 30% more than the
               original length.
 
        -ccleanliness_of_pattern
               Specify the number of dB down on the peak gain to aim  to
               get  the  pattern.  Any antenna pattern cleaner than this
               will not effect the fitness, nor will  it  be  considered
               any better when comparing to antenna designs. 20 dB seems
               reasonable, so the default is 20, but this may of  course
               change  if it’s deceided too. Check the source code to be
               certain (see REASONABLE_SIDELOBE in yagi.h).
 
        -eelements
               is an integer which specifies the type of  elements  that
               are  changed  in the optimisation cycle.  Possible values
               are:
                1 - alter only the driven element(s) length  (useful  to
                bring to resonance)
                2 - alter only the driven element position. Don’t change
                its length.
                4 - alter only the reflector  length.  The  position  is
                always at x=0.
                8  - alter only the director lengths. Don’t change posi‐
                tions.
                16 - alter only the  director  positions.  Don’t  change
                lengths.
                32  - randomly adjust one element length, then makes all
                other the same. Don’t change the positions.
                64 - apply a linear taper to the lengths.
                128 - Set the driven element to a  resonate  length.  It
                may/may-not be altered after the first run, depending on
                the whether or not ’1’ is invoked  too.  Eg  -e128  will
                make  it  resonate  and  keep  it there forever. However
                ’-e129’ will bring to resonance, then alter to  maximuse
                performance.
               The  elements  altered  is made from a logical AND of the
               above, so for example to  alter  everything,  except  the
               driven  element length, use -e30, since 2+4+8+16=30.  The
               default is equivalent to -e31 , which changes  everything
               possible. Note the reflector position is *never* changed.
               It’s always at x=0.
 
        -fFBratio
               When optimising an antenna, consider any FB  ratio
               greater than FBratio dB to be equal to FBratio dB.
               This avoids optimising to a very  high  FB  ratio,
               which  is  impracticable,  as  the  bandwidth over
               which this FB ratio will  be  maintained  is  very
               small  and  mechanical considerations will prevent
               you from constructing it with such a high FB ratio
               anyway.  If this was not prevented, you might just
               happen to get an antenna with 100 dB FB ratio, but
               poor gain and swr. Since by default all parameters
               must improve, the optimisation routine  will  most
               likely  never  being able to improve on the 100 dB
               FB ratio, so no improvement will result. Most peo‐
               ple  would  prefer  to get a few extra dB of gain,
               even if the FB ratio dropped to 30 dB.
 
        -gGA_optimisation_method
               Use a genetic algorithm. With  the  genetic  algo‐
               rithm,  the  program does not take any account any
               of the initial lengths/positions of elements spec‐
               ified  in  the input file. Rather it works by ini‐
               tialising a number of different antenna, then com‐
               puting  a  ’fitness’  value for each.  The fitness
               value can depend on the gain, FB, real part of the
               input   impedance,  reactive  part  of  the  input
               impedance, VSWR or the level of the sidelobes. The
               integer  after  the  g tells the optimiser what to
               consider.  -g1  Use gain
               -g2  Use FB
               -g4  Use R
               -g8  Use X
               -g16 Use the SWR
               -g32 Use the level of the sidelobes.
 
               You can use a logical AND of these, so for example
               -g49  will use a genetic algorithm, optimising for
               gain,    swr    and    sidelobe    level,    since
               1(gain)+16(SWR)+32(sidelobe level)=49.
 
        -lpercent
               is a parameter (floating point number) which spec‐
               ifies the maximum percentage change in  the  posi‐
               tions or lengths of an elements at each iteration.
               If the option is not used, it will be  set  inter‐
               nally  at 10% for the first 25% of the iterations,
               1% for the next 25%, 0.1% for the third 25% of the
               iterations and 0.01% for the last 25% of the iter‐
               ations. If set to a positive number x (eg optimise
               -l  0.3 145e10) then the percentage will be set at
               x% for 25% of iterations, x/10 for the  next  25%,
               x/100 for the next 25 and x/1000 for the last 25%.
               If set to a negative number y (eg optimise -l -0.5
               145e10)  then  the paramters will stay fixed at y%
               (in this example 0.5%) all the time.
 
        -mmin_offset-from_peak
               Sets the minimum  angle  in  degrees  offset  from
               theta=90  degrees,  where the side lobes start and
               the main lobe finishes. The higher the  gain,  the
               smaller  it should be. It is set internally if not
               set on the command line.
 
        -ooptimisation_criteria
                1 -  Assume better if the gain has increased.
                2 -  Assume better if the front to back ratio has
                improved.
                4  -  Assume better if the real part of the input
                impedance is closer to the value that the program
                was  compiled  for, or set using the ’-Z’ option.
                This will usually be 50 Ohms, but you may wish to
                set  this  to  12.5  Ohms if you use a 4:1 balun.
                Generally you can get higher gain from a Yagi  if
                you  allow  the  input  impedance to fall, but of
                course feeding it becomes more difficult.
                8 -  Assume better if the magnitude of the  reac‐
                tive  component  of  the input impedance is lower
                (ie. the antenna is nearer resonance).
                16 - Assume better if the VSWR is lower.
                32 - Assume better if the level of all  sidelobes
                is lower.
               The  optimisation_criteria  may  be  formed from a
               logical AND  of  these  numbers,  so  for  example
               choosing -o19 will only consider a revised antenna
               better than the previous, if the SWR, gain and F/B
               ratio have all simultaneously improved.
 
               Clearly an antenna which originally had 12 dB gain
               and 1.01:1 VSWR but then changes to 20 dB  gain  @
               1.02:1  VSWR, would to most people be better, even
               though the VSWR has increased. By  default,  opti‐
               mise  only  optimises  to sensible maximums, so to
               not let the  optimisation  stall  prematurely.  By
               running  optimise  with  no arguments, the program
               will list  the  limits  of  acceptability.   These
               might  be  typically  F/B  ratio  >  27 dB, VSWR <
               1.1:1, magnitude of input reactance  less  than  5
               Ohms  and  the  real  part  of the input impedance
               within 5 Ohms of  Zo.  Choosing  -o19  (1+2+16=19)
               will  optimise  for  gain  (since  G=1), FB (since
               FB=2) and SWR (Since SWR=16), but would consider a
               higher  gain  and  FB  ratio antenna better than a
               previous one, even if the SWR rose, as long as  it
               stayed  below 1.1:1 (or as was set during compila‐
               tion).  The  default  behaviour  (no  options)  is
               equivalent  to  -o37 which optimiseas for gain(1),
               the real part of the input impedance(4) and  side‐
               lobes(32)  but this may be changed at any time, so
               type optimise -d to check the current settings. If
               you  insist on the program optimisang for the very
               best of all selected parameters, use the -O option
               too,  but  be warned the optimisation will probely
               stick once it gets one parameter really good.
 
        -ppopulation
               This determines the initial population used   with
               the genetic algorithm.
 
        -rresistance
               When  optimising  an  antenna,  consider any input
               resistance closer to Zo  (usually  50  Ohms)  than
               resistance  Ohms  to  be  acceptable.  This avoids
               optimising to an input resistance too close to Zo,
               which  is  impracticable,  as  the  bandwidth over
               which the input resistance could be maintained  is
               very small and mechanical considerations will pre‐
               vent you from constructing the antenna  with  such
               an  ideal  input  resistance. If this was not pre‐
               vented, you might just happen to  get  an  antenna
               with  an  input  resistance of 50.000001 Ohms, but
               poor gain, FB and possibly even a poor swr, if the
               antenna  is  well  away  from  resonance. Since by
               default all parameters must improve, the optimisa‐
               tion routine will get most likely never being able
               to improve on the antenna,  whereas  we  might  be
               happier  with  a  few  more  dB gain, if the input
               resistance went to 50.1 Ohms. It should  be  noted
               that  the  default optimisation routine never uses
               the input resistance directly (only VSWR), so this
               option  cant  be  used  without the ’-o’ option to
               optimise for other  than  the  default  parameters
               (gain, VSWR and FB ratio).
 
        -sswr  When  optimising an antenna, consider any SWR less
               than swr to be equal to swr This avoids optimising
               to  a very low swr, which is impracticable, as the
               bandwidth over which such a low swr could be main‐
               tained  would be very small and mechanical consid‐
               erations will prevent you from  constructing  such
               an  antenna  anyway. If this is was not prevented,
               you might just happen to get an  antenna  with  an
               swr  of 1.000000000001:1, but poor gain, FB ratio.
               Since by default all parameters must improve,  the
               optimisation  routine will most likely never being
               able to improve on the  antenna,  even  though  in
               practice  you  would like to get a few extra dB of
               gain if the SWR would rise to 1.02:1. The  default
               was  equivalent  to  -s1.1  but run optimise -d to
               display this and any other defaults.
 
        -tlength_tolerance
               length_tolerance is the standard deviation  in  mm
               of  the  accuracy with which you can cut elements.
               Since 99.7% of elements will be  with  3  standard
               deviations  of  the mean length (stats theory says
               this), set -t0.2 if virtually all (well 99.7%)  of
               elements  are  within  3x0.2=0.6 mm of the correct
               length. This option *must* be used with  the  ’-T’
               option  and  can’t  be used with any other options
               apart from
 
        -xreactance
               When optimising an  antenna,  consider  any  input
               reactance  of less than reactance to be reactance.
               This avoids over optimising the reactance, at  the
               expense of something else.
 
        -Aauto_gain
               When  the  auto_gain  option  is used. the program
               maximes the gain  of  the  antenna  (ignoring  all
               other  parameters  such  as  SWR, FB ratio etc) by
               adjusting the length (not position) of one element
               only.  -A-1  will  maximuse the gain, by adjusting
               the length of the reflector, -A0 will maximise the
               gain  by  adjusting  the length of the driven ele‐
               ment. Its generally *not* a good idea to  maximise
               the  gain by adjusting the driven element, but the
               program lets you do it, but using the option  -A0.
               Using  -A1  will  maximise  gain  by adjusting the
               length of  the  first  director,  -A2  the  second
               director  and  so on, up to the last director. You
               must check carefully that the input  impedance  in
               particular  does  not  fall to silly values if you
               use this option. On a yagi with many  elements  (>
               10  or so), you can pretty safely maximise the 8th
               or more director, but doing it on  the  reflector,
               driven  element  or early directors often leads to
               silly input impedances - so beware!  Note, no mat‐
               ter  how many iterations you specify, this process
               is only done once.Its unlikely you will be able to
               do it again, without things going out of hand, but
               if you must do  it,  you  must  re-run  ’optimise’
               again.
 
        -Ccurrents_similar
               If  this option is used, where currents_similar is
               an integer, the program looks to make the currents
               in  the  last currents_similar elements as similar
               as possible. It computes the sum of the squares of
               the  deviations of the absolute values of the ele‐
               ment currents from the mean. If  this  falls,  and
               the  criteria specified with the -W option is also
               satisfied, the antenna is  considered  better.  If
               currents_similar  is three less than the number of
               directors, it tries to make the  currents  in  the
               the  directors  (but  ignoringing the first 3) all
               similar. If currents_similar is equal to the  num‐
               ber  of directors, it tries to make all the direc‐
               tors have similar currents. If currents_similar is
               one more than the number of directors, it tries to
               make all the directors and the reflector have sim‐
               ilar currents. If currents_similar is equal to the
               total number of elements, then it  fails  with  an
               error message.
 
        -Fweight_FB
               is  the floating point number (default 1.0) speci‐
               fying the weight to attach to the FB ratio of  the
               antenna  when  using the ’-W’ option, which calcu‐
               lates a fitness for the antenna based  on  one  or
               more parameters (FB, gain, input resistance, input
               reactance, SWR, cleanliness of  antenna  pattern).
               The  ’-F’ option is similar to the options -G, -P,
               -R, -S, -X (which specify weights for  gain,  pat‐
               tern  cleanliness, input resistance, SWR and input
               reactance).  When using the -W  option  the  exact
               algorithm  used  to compute the fitness (and hence
               the effect of this parameter) is best  checked  by
               looking  at  the source code (see perform.c). This
               is  one  area   of   constant   program   improve‐
               ment/changes/development,  so its difficult to say
               exactly the effect  the  parameter  has.  However,
               increasing  the  weight  of a parameter (using the
               -F, -G, -R, -S or -X options) will make  the asso‐
               ciated parameter have a greater effect on the fit‐
               ness.  However, unless you optimise for a high  FB
               ratio  with  the  -W  option,  then setting the -F
               option will have no effect. For  example,  setting
               the options -F2.5 -W1 is a complete waste of time.
               There you have used the  -W1  option  to  optimise
               only  for gain (see -W option section of man page)
               but have changed the weight of the FB  ratio  from
               its  default 1.0 to 2.5. If you are not optimising
               for FB ratio, the  weight  you  attach  to  it  is
               irrelavent.
 
        -Gweight_gain
               is  the floating point number (default 1.0) speci‐
               fying the weight to attach  to  the  gain  of  the
               antenna  when  using the ’-W’ option, which calcu‐
               lates a fitness for the antenna based  on  one  or
               more parameters (FB, gain, input resistance, input
               reactance, SWR, cleanliness of  antenna  pattern).
               The  ’-G’ option is similar to the options -F, -P,
               -R, -S, -X (which specify weights  for  FB  ratio,
               pattern  cleanliness,  input  resistance,  SWR and
               input reactance).  When using the  -W  option  the
               exact  algorithm  used to compute the fitness (and
               hence  the  effect  of  this  parameter)  is  best
               checked  by  looking  at the source code (see per‐
               form.c). This is  one  area  of  constant  program
               improvement/changes/development,  so its difficult
               to say exactly the effect the parameter has.  How‐
               ever,  increasing the weight of a parameter (using
               the -F, -G, -R, -S or -X options) will  make   the
               associated  parameter have a greater effect on the
               fitness.  However, unless you  optimise  for  gain
               with  the  -W  option,  then setting the -G option
               will have no  effect.  For  example,  setting  the
               options  -G2.5  -W2  is  a complete waste of time.
               There you have used the  -W2  option  to  optimise
               only  for  FB  ratio (see -W option section of man
               page) but have changed the weight of the gain from
               its  default 1.0 to 2.5. If you are not optimising
               for  gain,  the  weight  you  attach  to   it   is
               irrelavent.
 
        -Kkeep_for_tries
               keep_for_tries  is  the  number  of  tries for the
               optimise to persist using the original  data  file
               as the starting point for optimisation. By default
               it is 1, which means the program immediately looks
               from a new position once a better one is found. It
               is theeoretically possible that this might  result
               in  a  quick,  but poor local maximum. If however,
               keep_for_tries is 1000, it will stay at a position
               for  1000  iterations  after finding the last best
               result, before considering this  to  be  a  global
               optimum.  Then  it starts for the new position. In
               practice, I have found this option to make matters
               worst  in  most  cases.  It was added to avoid the
               local-minimum problem, but it appears the  optimi‐
               sation  surface is pretty smooth, so it just slows
               the program, without gaining much. Anyway, it  can
               stay   as   an   option,  but  check  the  results
               with/without carefully before using extensively.
 
        -Ppattern_cleanlyiness
               is the floating point number (default 1.0)  speci‐
               fying the weight to attach to the cleanness of the
               antenna pattern when using the ’-W’ option,  which
               calculates  a fitness for the antenna based on one
               or more parameters (FB,  gain,  input  resistance,
               input  reactance, SWR, cleanliness of antenna pat‐
               tern). The ’-P’ option is similar to  the  options
               -F,  -G,  -R, -S, -X (which specify weights for FB
               ratio, gain, input resistance, SWR and input reac‐
               tance).   When  using  the  -W  option  the  exact
               algorithm used to compute the fitness  (and  hence
               the  effect  of this parameter) is best checked by
               looking at the source code (see  perform.c).  This
               is   one   area   of   constant  program  improve‐
               ment/changes/development, so its difficult to  say
               exactly  the  effect  the  parameter has. However,
               increasing the weight of a  parameter  (using  the
               -F, -G, -R, -S or -X options) will make  the asso‐
               ciated parameter have a greater effect on the fit‐
               ness.   However,  unless  you optimise for a clean
               antenna pattern with the -W option,  then  setting
               the  -P  option  will have no effect. For example,
               setting the options -P2.5 -W1 is a complete  waste
               of  time.  There  you  have used the -W1 option to
               optimise only for gain (see -W option  section  of
               man  page) but have changed the weight of the pat‐
               tern cleanliness from its default 1.0 to  2.5.  If
               you  are not optimising for a clean radiation pat‐
               tern, the weight you attach to it  is  irrelavent.
               With  appropiate use of the -W option (eg -W49 for
               gain, SWR and a clean pattern), the computer  pro‐
               gram finds the level of the most significant side‐
               lobe, wherever it may be outside the main bean. It
               then optimises to reduce this. The -P option tells
               it how much weight to put on reducing  this  side‐
               lobe.
 
        -Rweight_resistance
               is  the floating point number (default 1.0) speci‐
               fying the weight to attach  to  the  obtaining  an
               input  resistance  close to Zo on the antenna when
               using the ’-W’ option, which calculates a  fitness
               for  the  antenna  based on one or more parameters
               (FB, gain, input resistance, input reactance, SWR,
               cleanliness  of  antenna pattern). The ’-R’ option
               is similar to the  options  -F,  -G,  -P,  -S,  -X
               (which  specify  weights  for  FB,  gain,  pattern
               cleanliness, SWR and input reactance).  When using
               the  -W option the exact algorithm used to compute
               the fitness (and hence the effect of this  parame‐
               ter) is best checked by looking at the source code
               (see perform.c). This is one area of constant pro‐
               gram  improvement/changes/development, so its dif‐
               ficult to say exactly  the  effect  the  parameter
               has. However, increasing the weight of a parameter
               (using the -F, -G, -R, -S or -X options) will make
               the  associated parameter have a greater effect on
               the fitness.  However, unless you optimise for  an
               an  input  resistance  close  to  Zo,  with the -W
               option, then setting the -R option  will  have  no
               effect. For example, setting the options -R2.5 -W1
               is a complete waste of time. There you  have  used
               the  -W1  option to optimise only for gain (see -W
               option section of man page) but have  changed  the
               weight  of  the resistance from its default 1.0 to
               2.5. If you are not optimising for an input resis‐
               tance  close to Zo, the weight you attach to it is
               irrelavent.
 
        -Sweight_swr
               is the floating point number (default 1.0)  speci‐
               fying  the  weight  to  attach  to  the SWR of the
               antenna when using the ’-W’ option,  which  calcu‐
               lates  a  fitness  for the antenna based on one or
               more parameters (FB, gain, input resistance, input
               reactance,  SWR,  cleanliness of antenna pattern).
               The ’-S’ option is similar to the options -F,  -G,
               -P,  -R,  -X  (which specify weights for FB, gain,
               pattern cleanliness, input  resistance  and  input
               reactance).   When  using  the -W option the exact
               algorithm used to compute the fitness  (and  hence
               the  effect  of this parameter) is best checked by
               looking at the source code (see  perform.c).  This
               is   one   area   of   constant  program  improve‐
               ment/changes/development, so its difficult to  say
               exactly  the  effect  the  parameter has. However,
               increasing the weight of a  parameter  (using  the
               -F, -G, -R, -S or -X options) will make  the asso‐
               ciated parameter have a greater effect on the fit‐
               ness.   However,  unless you optimise for SWR with
               the -W option, then setting  the  -S  option  will
               have  no  effect. For example, setting the options
               -S2.5 -W1 is a complete waste of time.  There  you
               have used the -W1 option to optimise only for gain
               (see -W option  section  of  man  page)  but  have
               changed the weight of the SWR from its default 1.0
               to 2.5. If you are not  optimising  for  SWR,  the
               weight you attach to it is irrelavent.
 
        -Tposition_tolerance
               position_tolerance is the standard deviation in mm
               of the accuracy with which you can  cut  elements.
               Since  99.7%  of  elements will be with 3 standard
               deviations of the correct position  (stats  theory
               says  this), set -T2 if virtually all (well 99.7%)
               of elements are within 3x2=6  mm  of  the  correct
               position.This  option *must* be used with the ’-t’
               option and can’t be used with  any  other  options
               apart from
 
        -WWeighted_algorithm
               Try to get an antenna which is better according to
               a weighted combination of parameters, rather  than
               require them all to improve. The integer specifies
               what to consider in the weighted parameters.
               W1 Gain.
               W2 FB
               W4 R
               W8 X
               W16 SWR
               W32 SIDE_LOBE
               You can logically AND these together, so for exam‐
               ple -W3 will optimise using a weighted combination
               of gain and FB. -W49, will use a weighted combina‐
               tion   of  gain,  swr  and  sidelobe  leve,  since
               32+16+1=49.
 
        -Xweight_reactance
               is the floating point number (default 1.0)  speci‐
               fying  the  weight  to  attach  to achieving a low
               input reactance on the antenna when using the ’-W’
               option, which calculates a fitness for the antenna
               based on one or more parameters (FB,  gain,  input
               resistance,  input  reactance, SWR, cleanliness of
               antenna pattern). The ’-X’ option  is  similar  to
               the  options  -F,  G, -P, -R and -S (which specify
               weights for FB ratio, gain,  pattern  cleanliness,
               input  resistance,  and  SWR).   When using the -W
               option the exact algorithm  used  to  compute  the
               fitness  (and  hence the effect of this parameter)
               is best checked by looking at the source code (see
               perform.c).  This  is one area of constant program
               improvement/changes/development, so its  difficult
               to  say  exactly  the  effect  the  parameter has.
               However, increasing  the  weight  of  a  parameter
               (using the -F, -G, -R, -S or -X options) will make
               the associated parameter have a greater effect  on
               the  fitness.   However, unless you optimise for a
               low input reactance with the -W option, then  set‐
               ting  the -X option will have no effect. For exam‐
               ple, setting the options -X2.5 -W1 is  a  complete
               waste  of time. There you have used the -W1 option
               to optimise only for gain (see -W  option  section
               of  man  page)  but have changed the weight of the
               reactiance from its default 1.0 to 2.5. If you are
               not  optimising  for  a  low  input reactance, the
               weight you attach to it is irrelavent.
 
        -ZZo
               Zo is the characteristic impedance used when eval‐
               uating  the VSWR, reflection coefficient and other
               similar calculations. The optimiser usually  tries
               to  bring  the  input  impedance of the antenna to
               this value. It is set by default to  50  Ohms,  so
               the  default  is equivalent to -Z50 but may be set
               to any positive number. Set to 12.5  Ohms  if  you
               are  going  to  feed the antenna with a 4:1 balun.
               Generally speaking, the gain  of  a  Yagi  can  be
               higher  for  low  input  impedances, but of course
               such antennas are more difficult to feed.
 
        filename
               This is  the  name  of  the  file  containing  the
               antenna  description.  It  is  expected to be in a
               format created by either  input  or  first  -  two
               other  programs  in the Yagi-Uda project.  This is
               an ASCII text file.
 
        iterations
               is an integer specifying the number of  iterations
               for  the  optimiser  to  perform to try to get the
               best antenna.  Time  will  limit  the  number  you
               choose. 1000 iterations of a 1ele yagi takes about
               5 seconds, a 6ele approximately 60 seconds, an  11
               element  350 seconds, a 20 element 1030 seconds, a
               33ele 2440  seconds,  a  50element  5400  seconds,
               100ele  21320  seconds  all on an old 25MHz 486 PC
               with no external cache.  When using the -A  option
               the  iterations is automatically set internally so
               only one attempt is made.  When using the ’-t’ and
               ’-T’  options,  iterations specifies the number of
               iterations to attempt to get a poorer  design,  to
               check the sensitivity of the design to small manu‐
               facturing tolerances.
 

EXAMPLES

        Here are a number of examples of using optimise.
 
        1) optimise 5ele 1000
 
        Here the file 5ele will be optimised  using  the  default
        system  for  1000 iterations. The default might typically
        require gain, FB and SWR to all improve, but this may  be
        changed  at  any time. In any case, the program tells you
        what its optimising for. By default the program will only
        optimise  to  the selected parameters are good, not over-
        optimising any one at the detrement of the others.
 
        2) optimise -b30 -f50 -s2 5ele 1000
 
        This is similar to above, but the boom can not extend  by
        more  than 30% from its  original length, FB ratios above
        50 dB are considered acceptable, as are SWR’s  less  than
        2:1.  The  optimised  resultant antenna is likely to have
        better FB ratio, but poorer SWR than in (1) above.
 
        3) optimise -o1 5ele 1000
 
        This will simply optimise 5ele for maximum forward  gain.
        The  resultant  antenna  may  have a poor FB ratio and is
        likely to have an unacceptably low  input  impedance  and
        hence  high  VSWR.  This is not a very sensible method of
        optimisation.
 
        4) optimise -W49 -l7 5ele 10000
 
        This will optimise the file 5ele using for  10000  itera‐
        tions.  It  will require that the weighted performance of
        the antenna in three important parameters (gain, sidelobe
        level  and SWR) improves from one design to the next. One
        or two parameters can actually get worst from one  design
        to  the next, but the weighted performance is better. The
        positions of the elements or lengths of elements will not
        change by more than 7% in each iteration.
 
        5) optimise -g -S30 -G50 -F20 -p1500 5ele 10000
 
        This  will  optimise  the file 5ele using a genetic algo‐
        rithm. 1500 antennas will be randomly designed. The  per‐
        formance of each of these will measured using a ’fitness’
        function, weighted 30% to SWR, 50% to gain and 20% to  FB
        ratio.  The probability of breading from a pair of anten‐
        nas is proportional to the fitness function.
 
        6) optimise -w atv_antenna 10000
 
        This will optimise the file atv_antenna for a best  aver‐
        age performance over a wide band. The progrram calculates
        the gain, FB and SWR at three frequencies, then  computes
        an  average  (mean)  performance  of the antenna over the
        band. N iterations will take 3x as long to execute  as  N
        iterations on the same antenna without the ’-w’ option.
 
        7) optimise -t0.1 -T1  good_design 100
 
        This  will take the file good_design and make 100 differ‐
        ent antennas from it, to simulate the effects of building
        tolerances. Each element is assumed to be cut so that the
        mean error of all elements is 0 mm, but a standard devia‐
        tion  of  0.1  mm, so 68.4% of element lengths are within
        0.1 mm, 95.4% within 0.2 mm and 99.7% with in 0.3 mm. The
        accuracy  of  placing  elements  along  the  boom is much
        lower, so here we have specified a standard deviation  of
        1.0  mm,  so  68.6% of elements are placed within 1 mm of
        the correct position, 95.4% within 2 mm  of  the  correct
        position  etc.   The program will report the *worst* per‐
        formances achieved. If the  performance  dips  too  mush,
        then  you  either  need  to  build  them better, or get a
        design that’s less critical!
 

STOPPING

        Optimise will stop after the number of iterations  speci‐
        fied in the parameter iterations.  It will also stop if a
        file stop exits in the  current  directory  of  the  exe‐
        cutable  optimise This file can of course only be created
        using a multi-tasking operating system such as  Unix.  It
        is *not* advisable to stop the program by hitting the DEL
        key (Unix) or CONTROL-C (DOS), as one of the files may be
        open  at  the time, resulting in an empty file. Files are
        not open for any longer than necessary (they  are  closed
        immediately  after  writing  to  them),  so this is not a
        likely occurrence, but can still occur.
 

LIMITATIONS

        I’m not aware of any limitations, apart from  that  file‐
        names, including full path, can’t exceed 90 characters.
 

FILES

        filename           Antenna description, created by input or first.
        filename.up    Update file, listing achievements of optimise.
        filename.bes       Best file, containing the best design to date.
        changes         File that causes the program to pause to re-adjust weights.
        stop            File that stops optimisation process.
        first(1),   input(1),   output(1),   yagi(1),   first(5),
        input(5) output(5) and optimise(5).
 

PLATFORMS

        Both DOS and Unix versions have been built. The DOS  ver‐
        sion  as  distributed  requires a 386 PC with a 387 maths
        coprocessor.
 
        Although I have altered the source to make it  more  com‐
        patible with DOS (reduced file name lengths etc), my wish
        is to build a decent program, rather than fit the program
        to  an  outdated  operating  system. If there is a *good*
        reason to use code that is incompatible  with  DOS,  this
        will be done.
        Since  optimise  takes   a  while  to optimise an antenna
        (I’ve optimised one design for a week), it  is  obviously
        more sensible to build this program under a multi-tasking
        operating system, as otherwise a PC can be  tied  up  for
        days.
 

BUGS

        Bugs should be reported to david.kirkby@onetel.net.  Bugs
        tend actually to be fixed if they can be isolated, so  it
        is  in  your  interest  to report them in such a way that
        they can be easily reproduced.
 
        The program will dump core (crash) if asked to optimise a
        1ele beam, without any arguments.  This is because a 1ele
        beam has no parasitic elements and by default the program
        only changes parasitic elements.
 
        Some  of the options are not checked for sensible values,
        although most are now checked and report if they are  out
        of range.
 
        If  the  user  specifies  very large manufacturing errors
        using the ’-t’ and ’-T’ options, its  possible  for  ele‐
        ments  to  overlap or for element lengths to become nega‐
        tive. This will cause numerical  errors.  Any  reasonable
        values will not cause this.
 
        On long Yagi’s (50 elements) optimise can go a bit silly.
        It can optimise say a 1296MHz Yagi to get 20 dB  at  1296
        MHz,  but  less  than 0 dB at only 1 MHz away. Needs some
        thought!
 
        The level of the sidelobes is not computed with the GA or
        some  other  optimisation  types.  This will be corrected
        later.
 
        All those I don’t know about.
 

AUTHORS

        Dr. David Kirkby G8WRB  (david.kirkby@onetel.net).   with
        help  with  converting  to  DOS  from  Dr.  Joe Mack NA3T
        (mack@fcrfv2.ncifcrf.gov)