Calculate the lengths that should be avoided when making "random wire" antennas

The length of a "random wire" antenna has a direct impact on the impedance present at its end for a given frequency.

The tuners commonly available are not very good at tuning high impedances, unless they are specifically designed for this purpose. Therefore, avoiding the lengths that are half-waves or multiples of half-waves on the bands of interest increases the odds that the tuner will be able to do its work properly.

This Scilab program calculates the length of the half-waves and their multiples for the selected amateur bands. The result is the graph below. The dark zones are likely to cause a very high impedance on certain frequencies within the selected bands, and should therefore be avoided.

A rule of thumb is to use a wire length that is at least 1/4-wavelength long, and does not fall in or close to the dark areas on the graph below.

The horizontal axis is in centimeters.

Click to enlarge

Related information:

//////////////////////////////////////////////////////////////////////////////
//
// Not So Random Wire antenna
//
// Calculates the length of wire that will not be a multiple of a half-wave
// on several bands
//
//                  Copyright (C) 2011 Christophe DAVID (ON6ZQ)
//                    http://www.on6zq.be/Scilab/NotSoRandomWire
//
//  This program is free software; you  can redistribute it and/or modify it
//  under the terms of the GNU General Public License version 2 as published
//  by the Free Software Foundation (http://www.gnu.org/licenses/gpl.html).
//
//////////////////////////////////////////////////////////////////////////////
//
//                This program was last tested with Scilab 5.5
//                            http://www.scilab.org
//
//////////////////////////////////////////////////////////////////////////////

// A semicolon at the end of an instruction causes the result not to be displayed.

errclear;         // clear all errors
clear;            // kill variables
clearglobal       // kill global variables
clc;              // clear command window
tohome;           // move the cursor to the upper left corner of the Command Window
clf;              // clear or reset the current graphic figure (window) to default values

// stacksize('max'); // increase the size of this stack to the maximum.
stacksize(1e8);   //stacksize('max') does not appear to work on my system ;-(

//////////////////////////////////////////////////////////////////////////////

HamBands =       [                 // kHz                      
             //    1810,  2000
                   3500,  3800;  
                   5351,  5367;
                   7000,  7200;
                  10100, 10150;
                  14000, 14350;
                  18068, 18168;
                  21000, 21450;
                  24890, 24990;
                  28000, 29700;
            //    50000, 52000
                 ];

MaximumWireLength  = 5000;  // centimeters
NumberOfHarmonics  =   10;
VelocityFactor     =    1;

//////////////////////////////////////////////////////////////////////////////

// create a matrix to contain the results
// one element for each cm from 1 to MaximumWireLength
// initialized with 0's

M = zeros(1:MaximumWireLength);

// printf("The matrix M has %d row(s) and %d column(s)", size(M, 'r'), size(M, 'c'))

// for each band, calculate the lengths that are half-waves or multples of
// half-waves

[_rows, _columns]  = size(HamBands);
for i = 1 : _rows
   printf("\nBand %d %d", HamBands(i,1), HamBands(i,2));
   for harmonic = 1 : NumberOfHarmonics
      HalfWaveLengthLowEnd  = round((15000000 / (HamBands(i,1) * harmonic)) * VelocityFactor);
      HalfWaveLengthHighEnd = round((15000000 / (HamBands(i,2) * harmonic)) * VelocityFactor);
      printf("\n      %d -> %d", HalfWaveLengthHighEnd, HalfWaveLengthLowEnd);

      if HalfWaveLengthLowEnd < MaximumWireLength then
         if HalfWaveLengthHighEnd > MaximumWireLength then
            HalfWaveLengthHighEnd = MaximumWireLength;
         end
         for  j = HalfWaveLengthHighEnd : HalfWaveLengthLowEnd
            M(1, j) = 1;
         end
      end
   end
end

// The black areas show the lengths that will cause very high impedance on one or several bands
// and might be difficult to tune with common tuners

plot2d3(M), 'd');

//////////////////////////////////////////////////////////////////////////////