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.
// 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)
// 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
// 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
// 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
[_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;
for j = HalfWaveLengthHighEnd : HalfWaveLengthLowEnd
M(1, j) = 1;
// 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