The Yagi-Uda project's programme input.


Written by Dr. David Kirkby, G8WRB. email drkirkby@kirkbymicrowave.co.uk

The programme input allows one to specify the dimensions and location of all the antenna elements interactively. You would use this when you have a design you wish to evaluate.

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

In the following example, we will create a 2 element antenna for 14.2 MHz. The data will now be written to the file name 'example2'

parrot /export/home/drkirkby/yagiuda-1.18/src % input
Yagi-Uda antenna analysis programs, version 1.18
Written by Dr. David Kirkby Ph.D. (G8WRB, email:drkirkby@kirkbymicrowave.co.uk)

This program asks for length, diameter and position of antenna elements then
writes them to a file you specify. Data is written in m (metres)
 
Enter any notes on this design (up to 400 characters): 2 ele beam
Enter a filename to write data to example2
Enter the centre frequency in MHz 14.1
Enter the minimum frequency in MHz 13.8
Enter the maximum frequency in MHz 14.6
Enter the frequency steps in MHz 0.05

Data can be entered in imperial (inches) metric (mm) or wavelengths (lambda)
Please enter i (for imperial), m (for metric) or w (for wavelengths). w
Enter the number of elements for the antenna 2
Enter the angular step size in degrees for the gain to be plotted 5
Are all the elements of the same diameter ? y
Enter the diameter of the elements (in lambda) 0.00526
 

Enter location of the driven element in lambda (wrt. reflector at x=0) 0.1
Enter length of the driven element (in lambda) 0.48167

Enter length of the reflector (in lambda) .49
 

Now we will inspect the file example 2. Note that the dimensions of the elements are written in metres, not wavelengths. This always happens, no matter what units you use to input data. We will see that the programme input just writes the data to the text file in the same format as the programme first.

parrot /export/home/drkirkby/yagiuda-1.18/src % cat example2
NOTES 2 ele beam
FREQUENCY 14.100000
MIN_FREQUENCY 13.800000
MAX_FREQUENCY 14.600000
STEP_FREQUENCY 0.050000
ELEMENTS 2
DRIVEN 1
PARASITIC 1
ANGULAR_STEP   5.000000
#DATA_DRIVEN        x         y       length     diameter voltage(r) voltage(i)
DATA_DRIVEN     2.12766    0.00000   10.24830    0.11191    1.00000    0.00000
#DATA_PARASITIC     x         y       length     diameter
DATA_PARASITIC
                0.00000    0.00000   10.42553    0.11191 reflector
 

We will now calculate the elements currents using yagi. To avoid the programming printing to stdout things like
yagi completed   0.0% f=13800000.000000 MHz
yagi completed   6.2% f=13850000.000000 MHz
etc., we will use the -s flag to yagi and suppress the output.

parrot /export/home/drkirkby/yagiuda-1.18/src % yagi -s example2

The we use output to calculate the performance, but again use the -s option to suppress diagnostic output.
 

parrot /export/home/drkirkby/yagiuda-1.18/src % output -s example2
Numerical Recipes run-time error...
Root must be bracketed in ZBRENT - try the -e or -h options to output
...now exiting to system...

This has shown a problem. One of the numerical routines has failed. This is because the programme tries to find the 3 dB E and H plane beamwidths, but has failed to do this.

We will first try to suppress the calculation of the E field 3 dB beamwidth to see if that stops the problem.

parrot /export/home/drkirkby/yagiuda-1.18/src % output -s -e example2
Numerical Recipes run-time error...
Root must be bracketed in ZBRENT - try the -e or -h options to output
...now exiting to system...

That did not work, so now try the -h option to suppress calculation of the 3 dB H-plane beamwidth.

parrot /export/home/drkirkby/yagiuda-1.18/src % output -s -h example2

That worked fine, so we can inspect the performance of the antenna.

parrot /export/home/drkirkby/yagiuda-1.18 % cat example2.dat

# Driven=1 parasitic=1 total-elements=2 design=14.100MHz
# Checked from 13.800MHz to 14.600MHz.
  f(MHz) E(deg) H(deg)  R     jX    VSWR   Gain(dBi)     FB(dB)    SideLobes(dB)

   13.800 63.3  0.0   9.51   0.95  5.262      6.840      2.836      0.000
   13.850 63.9  0.0  10.11   5.20  4.999      7.006      3.768      0.000
   13.900 64.4  0.0  10.83   9.39  4.786      7.105      4.667      0.000
   13.950 64.9  0.0  11.65  13.51  4.621      7.152      5.531      0.000
   14.000 65.3  0.0  12.56  17.57  4.502      7.161      6.355      0.000
   14.050 65.6  0.0  13.54  21.54  4.424      7.140      7.135      0.000
   14.100 65.9  0.0  14.58  25.44  4.380      7.099      7.863      0.000
   14.150 66.3  0.0  15.67  29.26  4.367      7.043      8.532      0.000
   14.200 66.5  0.0  16.81  33.01  4.379      6.978      9.132      0.000
   14.250 66.8  0.0  17.98  36.68  4.411      6.908      9.658      0.000
   14.300 67.0  0.0  19.17  40.29  4.461      6.833     10.103      0.000
   14.350 67.3  0.0  20.38  43.83  4.524      6.757     10.463      0.000
   14.400 67.5  0.0  21.61  47.31  4.600      6.681     10.740      0.000
   14.450 67.6  0.0  22.84  50.73  4.686      6.606     10.935      0.000
   14.500 67.8  0.0  24.08  54.10  4.780      6.532     11.056      0.000
   14.550 68.0  0.0  25.32  57.43  4.881      6.460     11.112      0.000
   14.600 68.1  0.0  26.56  60.71  4.989      6.390     11.113      0.000

Note the H-field beamwidth is not shown, although it is for the E-field, as we needed to suppress the H-field data to stop the numerical error.
 

At the design frequency (14.1 MHz) our antenna has a gain of 7.024 dBi and an input Z of 11.06 + j18.45 Ohms.

Note the column marked SideLobes(dB) shows only zeros. The calculation of the most significant sidelobe, wherever it is, can be found, if the -c option to output is added. This can take quite a bit longer, so is not selected by default.

parrot /export/home/drkirkby/yagiuda-1.18 % output -s -h -c example2

parrot /export/home/drkirkby/yagiuda-1.18 % cat example2.dat

# Driven=1 parasitic=1 total-elements=2 design=14.100MHz
# Checked from 13.800MHz to 14.600MHz.
  f(MHz) E(deg) H(deg)  R     jX    VSWR   Gain(dBi)     FB(dB)    SideLobes(dB)

   13.800 63.3  0.0   9.51   0.95  5.262      6.840      2.836      2.836
   13.850 63.9  0.0  10.11   5.20  4.999      7.006      3.768      3.768
   13.900 64.4  0.0  10.83   9.39  4.786      7.105      4.667      4.667
   13.950 64.9  0.0  11.65  13.51  4.621      7.152      5.531      5.531
   14.000 65.3  0.0  12.56  17.57  4.502      7.161      6.355      6.355
   14.050 65.6  0.0  13.54  21.54  4.424      7.140      7.135      7.135
   14.100 65.9  0.0  14.58  25.44  4.380      7.099      7.863      7.863
   14.150 66.3  0.0  15.67  29.26  4.367      7.043      8.532      8.532
   14.200 66.5  0.0  16.81  33.01  4.379      6.978      9.132      9.132
   14.250 66.8  0.0  17.98  36.68  4.411      6.908      9.658      9.658
   14.300 67.0  0.0  19.17  40.29  4.461      6.833     10.103     10.103
   14.350 67.3  0.0  20.38  43.83  4.524      6.757     10.463     10.463
   14.400 67.5  0.0  21.61  47.31  4.600      6.681     10.740     10.740
   14.450 67.6  0.0  22.84  50.73  4.686      6.606     10.935     10.935
   14.500 67.8  0.0  24.08  54.10  4.780      6.532     11.056     11.056
   14.550 68.0  0.0  25.32  57.43  4.881      6.460     11.112     11.112
   14.600 68.1  0.0  26.56  60.71  4.989      6.390     11.113     11.113
parrot /export/home/drkirkby/yagiuda-1.18 %

The rather poor 2-element can be optimised like any other design with optimise.