Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
OPTIMISE(1)		     General Commands Manual		     OPTIMISE(1)

NAME
     optimise - Yagi-Uda project antenna optimiser

SYNOPSIS
     optimise  [ -dhvwO ] [ -aangular_stepsize ] [ -bboom_extension ] [ -cclean-
     liness_of_pattern ] [ -eelements ] [ -fFBratio ] [ -gGA_optimisation_method
     ] -lpercent ] [ -mmin_offset_from_peak  ]	[  -ooptimisation_criteria  ]  [
     -ppopulation  ] [ -rresistance ] [ -sswr ] [ -tlength_tolerance ] [ -xreac-
     tance  ]  [  -AAuto_gain  ]  [  -CCurrents_similar  ]  [  -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 performance 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  de-
     sign,  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 de-
     viation in mm. In this case, instead of trying to optimise a  poor  design,
     optimise  will calculate the minimum gain, maximum VSWR, and minimum FB ra-
     tio 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 re-
     quest new weights are entered at the keyboard.

AVAILABILITY
OPTIONS
     -d     Print the default values of all the configureable parameters to std-
	    out. Typing this option with any option  that  changes  a  parameter
	    (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 frequency),
	    this directs the program to optimise at 3 separate frequencies (low-
	    est,  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* averaged over 3 frequen-
	    cies. 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 usually consid-
	    ered  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, specifies 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  calculate
	    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 an-
	    tenna 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 positions.
	     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 FBra-
	    tio  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 con-
	    siderations 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 people 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	algorithm,  the  program
	    does  not  take  any account any of the initial lengths/positions of
	    elements specified in the input file. Rather it works by  initialis-
	    ing  a number of different antenna, then computing 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 op-
	    timiser 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 specifies  the  maximum
	    percentage change in the positions or lengths of an elements at each
	    iteration.	If  the option is not used, it will be set internally 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 iterations. 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  reactive  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, optimise 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. Choos-
	   ing -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 compilation). 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  algo-
	    rithm.

     -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
	    prevent  you  from constructing the antenna with such an ideal input
	    resistance. If this was not prevented, 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
	    optimisation routine will get most likely never being  able  to  im-
	    prove 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  resis-
	    tance  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 im-
	    practicable, as the bandwidth over which such a  low  swr  could  be
	    maintained	would  be  very small and mechanical considerations 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 re-
	    actance, 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  reflec-
	    tor,  -A0 will maximise the gain by adjusting the length of the dri-
	    ven element. 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 imped-
	    ance in particular does not fall to silly values if you use this op-
	    tion.  On  a  yagi	with  many elements (> 10 or so), you can pretty
	    safely maximise the 8th or more director, but doing it  on	the  re-
	    flector,  driven element or early directors often leads to silly in-
	    put impedances - so beware!  Note, no matter 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 ele-
	    ments  as similar as possible. It computes the sum of the squares of
	    the deviations of the absolute values of the element  currents  from
	    the  mean. If this falls, and the criteria specified with the -W op-
	    tion is also satisfied, the antenna is considered  better.	If  cur-
	    rents_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 number of direc-
	    tors, it tries to make all the directors 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  similar  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) specifying the weight  to
	    attach  to	the  FB ratio of the antenna when using the '-W' option,
	    which calculates a fitness for the antenna based on one or more  pa-
	    rameters (FB, gain, input resistance, input reactance, SWR, cleanli-
	    ness  of antenna pattern). The '-F' option is similar to the options
	    -G, -P, -R, -S, -X (which specify weights for gain, pattern cleanli-
	    ness, 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
	    improvement/changes/development, so its difficult to say exactly the
	    effect  the parameter has. However, increasing the weight of a para-
	    meter (using the -F, -G, -R, -S or -X options) will make  the  asso-
	    ciated parameter have a greater effect on the fitness.  However, un-
	    less  you optimise for a high FB ratio with the -W option, then set-
	    ting the -F option will have no effect. For example, setting the op-
	    tions -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) specifying the weight to
	    attach to the gain of 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 '-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 op-
	    tion 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  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  opti-
	    mise  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 ir-
	    relavent.

     -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 possi-
	    ble  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  ap-
	    pears  the	optimisation  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  exten-
	    sively.

     -Ppattern_cleanlyiness
	    is	the floating point number (default 1.0) specifying 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 pattern). 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 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
	    improvement/changes/development, so its difficult to say exactly the
	    effect the parameter has. However, increasing the weight of a  para-
	    meter  (using the -F, -G, -R, -S or -X options) will make  the asso-
	    ciated parameter have a greater effect on the fitness.  However, un-
	    less 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 pattern  cleanliness
	    from  its  default 1.0 to 2.5. If you are not optimising for a clean
	    radiation pattern, 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 program finds the level of the most	signifi-
	    cant sidelobe, wherever it may be outside the main bean. It then op-
	    timises  to  reduce  this. The -P option tells it how much weight to
	    put on reducing this sidelobe.

     -Rweight_resistance
	    is the floating point number (default 1.0) specifying the weight  to
	    attach  to	the obtaining an input resistance close to Zo on the an-
	    tenna 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'  op-
	    tion  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 parameter) is best checked by
	    looking at the source code (see perform.c). This is one area of con-
	    stant 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 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 optimis-
	    ing for an input resistance close to Zo, the weight you attach to it
	    is irrelavent.

     -Sweight_swr
	    is the floating point number (default 1.0) specifying the weight  to
	    attach  to	the SWR of 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 '-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 associated
	    parameter have a greater effect on the fitness.  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 com-
	    plete 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 combi-
	    nation 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 example -W3 will opti-
	    mise using a weighted combination of gain and FB. -W49, will  use  a
	    weighted   combination   of  gain,	swr  and  sidelobe  leve,  since
	    32+16+1=49.

     -Xweight_reactance
	    is the floating point number (default 1.0) specifying 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 ra-
	    tio, 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 ex-
	    actly 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.  How-
	    ever, unless you optimise for a low input reactance with the -W  op-
	    tion,  then  setting the -X option will have no effect. For example,
	    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 in-
	    put reactance, the weight you attach to it is irrelavent.

     -ZZo
	    Zo is the characteristic impedance used when  evaluating  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 speak-
	    ing,  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  num-
	    ber  you  choose.  1000 iterations of a 1ele yagi takes about 5 sec-
	    onds, a 6ele approximately 60 seconds, an 11 element 350 seconds,  a
	    20 element 1030 seconds, a 33ele 2440 seconds, a 50element 5400 sec-
	    onds, 100ele 21320 seconds all on an old 25MHz 486 PC with no exter-
	    nal 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 at-
	    tempt to get a poorer design, to check the sensitivity of the design
	    to small manufacturing 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  it-
     erations.	The  default might typically require gain, FB and SWR to all im-
     prove, 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  de-
     trement 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 an-
     tenna 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 iterations.  It  will  re-
     quire that the weighted performance of the antenna in three important para-
     meters (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 algorithm. 1500 antennas
     will be randomly designed. The performance 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 antennas is  proportional
     to the fitness function.

     6) optimise -w atv_antenna 10000

     This will optimise the file atv_antenna for a best average performance over
     a wide band. The progrram calculates the gain, FB and SWR at three frequen-
     cies,  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 different 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
     deviation	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 devia-
     tion 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* performances 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 specified in the parame-
     ter iterations.  It will also stop if a file stop exits in the current  di-
     rectory  of the executable 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 af-
     ter writing to them), so this is not a likely occurrence, but can still oc-
     cur.

LIMITATIONS
     I'm not aware of any limitations, apart from that filenames, 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.

SEE ALSO
     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 version as distributed
     requires a 386 PC with a 387 maths coprocessor.

     Although I have altered the source to make it more compatible with DOS (re-
     duced 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 un-
     der  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,  with-
     out  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 elements to overlap or for	element  lengths
     to become negative. 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 opti-
     misation 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	convert-
     ing to DOS from Dr. Joe Mack NA3T (mack@fcrfv2.ncifcrf.gov)

version 1.16			 24 October 2000		     OPTIMISE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=optimise&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help