Evaluating Receive Antennas with a Soundcard

Introduction / Summary
Section (1) . . Receive Antennas
Section (2) . . Signals, and Signal Processing
Section (3) . . *** Measuring ***
Section (4) . . Problems and Solutions

The Measurement Technique

So, we've arrived at where the three stories collide: Real-world receive antennas of assumed (or hoped for) directional characteristics, rafts of accidental multidirectional signal sources, and tools to analyse them. Resulting in the germ of an idea to accurately measure the antennas.

The ultimate goal is a polar plot of the subject antenna's azimuth response. To do that, we need to establish the displayed frequency and azimuth for each of the signal sources, capture the reference/subject level differences, normalise them to suit the scaling, then plot them. (It's a bit of a twisty path to get there, and someone is bound to tell me that their 11-year-old daughter could whip up a quick 'Excel' script to do it all, but mine couldn't and didn't, so this was all done with pencil-and-paper. Just humour me.)

Finding Suitable Channels

The FCC in the USA maintains a wondrous webbable database of all AM broadcasting transmitters; call, location, power, distance and bearing of stations within a given radius are easily extracted. There is a similar, though independently maintained, database for European AM stations, which while not as comprehensive does have adequate information to enable one to pick likely channels and derive distance and bearings longhand. If one is prepared to don one's bureaucratic hip-waders, there's always the ITU database, of course.

A regional map of reasonable scale encompassing the likely stations, and play-time tools such as a compass, a protractor and a ruler help visualise and realise the process. It's all a bit weird in the abstract, and it's amazing how faulty guesses at bearing and distance to other towns can be!

Following is a sliced-and-diced extract from the FCC database for easily identified stations around me. Next to the frequency is an (added later by me) identifying frequency (centre is 800Hz, a ~ indicates a woodler) showing where I can find the carrier again on a 'Spectran' screen; location, power, distance, bearing and a derived (by me) approximate strength in dB below a kilowatt-kilometer. This relative level indication becomes important later. Pay attention.

1440 800   WNPV  LANSDALE        PA   2.5kW   90.97km   91.25deg  -59dB
1440 798   WMVB  MILLVILLE       NJ   1.0kW  149.46km  128.19deg  -70dB
1440 787   WTHM  RED LION        PA   1.0kW   42.86km  202.46deg  -52dB

1450 801.4 WPAM  POTTSVILLE      PA   1.0kW   50.52km   18.91deg  -55dB
1450 799   WILM  WILMINGTON      DE   1.0kW   92.57km  129.41deg  -63dB
1450 787   WOL   WASHINGTON      DC   1.0kW  159.88km  199.56deg  -71dB
1450 795   WTHU  THURMONT        MD   0.5kW  111.59km  231.14deg  -69dB
1450 800   WMAJ  STATE COLLEGE   PA   1.0kW  137.03km  296.86deg  -68dB

1460 802.5 WDDY  ALBANY          NY   5.0kW  339.63km   38.53deg  -74dB
1460 797.5 WIFI  FLORENCE        NJ   5.0kW  136.85km   97.88deg  -61dB
1460 789   WEMD  EASTON          MD   1.0kW  167.82km  170.89deg  -71dB
1460 798   WTKT  HARRISBURG      PA   5.0kW   44.35km  270.25deg  -46dB

1470 801   WKAP  ALLENTOWN       PA   5.0kW   87.06km   61.09deg  -55dB
1470 800   WJDY  SALISBURY       MD   5.0kW  217.41km  162.70deg  -68dB
1470 792   WTTR  WESTMINSTER     MD   1.0kW   93.33km  215.61deg  -63dB
1470 797   WTKO  ITHACA          NY   5.0kW  237.05km  358.28deg  -69dB

1480 800   WZRC  NEW YORK        NY   5.0kW  210.33km   71.26deg  -67dB
1480 797   WDAS  PHILADELPHIA    PA   5.0kW  104.19km  105.92deg  -58dB
1480 791   WEEO  SHIPPENSBURG    PA  0.46kW   99.66km  258.39deg  -67dB

1490 800   WAZL  HAZLETON        PA   1.0kW   83.41km   25.05deg  -61dB
1490 798   WBCB  LEVITTOWN       PA   1.0kW  132.23km   93.95deg  -68dB
1490 807   WUSS  PLEASANTVILLE   NJ   0.4kW  187.17km  120.56deg  -77dB
1490 797   WLPA  LANCASTER       PA   0.6kW   23.12km  164.65deg  -46dB
1490 806~  WARK  HAGERSTOWN      MD   1.0kW  133.01km  238.38deg  -68dB
1490 822   WNTJ  JOHNSTOWN       PA   1.0kW  212.84km  272.68deg  -74dB

1550 808   WITK  PITTSTON        PA  10.0kW  130.83km   22.62deg  -58dB
1550 800   WJRZ  TOMS RIVER      NJ   1.0kW  189.02km   99.77deg  -73dB
1550 803   WXHL  ELKTON          MD   1.0kW   89.50km  145.54deg  -62dB

1560 800   WQEW  NEW YORK        NY  50.0kW  214.94km   75.57deg  -58dB

1570 799   WISP  DOYLESTOWN      PA   5.0kW  104.32km   85.63deg  -58dB
1570 800.5 WNST  TOWSON          MD   5.0kW   94.85km  188.75deg  -56dB
1570 797   WPGM  DANVILLE        PA   2.5kW   83.08km  346.05deg  -57dB

1580 806   WGYM  HAMMONTON       NJ   1.0kW  153.04km  116.97deg  -70dB
1580 774.4 WVZN  COLUMBIA        PA   0.5kW   28.27km  194.29deg  -49dB
1580 794   WPGC  MORNINGSIDE     MD  50.0kW  160.83km  195.88deg  -54dB
1580 804   WRDD  EBENSBURG       PA   1.0kW  198.73km  278.19deg  -74dB

1590 801~  WPSN  HONESDALE       PA   2.5kW  172.39km   33.16deg  -68dB
1590 802   WPWA  CHESTER         PA   2.5kW   90.03km  117.97deg  -59dB
1590 807   WCBG  CHAMBERSBURG    PA   5.0kW  115.42km  250.30deg  -59dB

1600 791   WHOL  ALLENTOWN       PA   0.5kW   85.38km   64.14deg  -65dB
1600 798.5 WWRL  NEW YORK        NY  25.0kW  205.93km   72.47deg  -60dB
1600 809   WIBF  DOVER           DE   5.0kW  140.78km  149.26deg  -62dB
1600 797   WPDC  ELIZABETHTOWN   PA   0.5kW   20.36km  240.63deg  -45dB

Channels at the high end of the band are favourite for a couple of reasons; firstly they are closer to topband, and so little if any translation needs to occur, indeed the results often can be used directly, and secondly the higher channels tend to have lots of lower power stations on them (as opposed to just one or two behemoths), which makes for a broader spread of likely suspects on useful bearings.

Generally, looking at the database, a small number of adjacent or close channels will have a reasonable spread of the compass covered.

Identifying the stations' carriers
Fig.10: An omni capture with a 'local'

"OK, So how do I tell all those carriers apart?"

A bit of sleuthing and as a last resort, hard work. The good news is that once one has identified them the first time, it is easy subsequently. Take a 'Spectran' trace of each channel using an omni antenna, spreading the traces sufficiently to separate them yet retaining enough to use on the screen. A 160/80 vertical, or a 'bit of wire', will suffice as this reference antenna; asymmetries from 'L' top loading or whatever are very minor and at least initially can be ignored, with the assumption of 'omni'.

Some quick hints:

  • Stable radio . . Narrow CW filter to lose modulations
  • Daytime . . Measure in the middle of the day to ensure stable ground-wave propagation with no sky-wave. (Propagation is very stable.)
  • Climate . . If one must measure over a number of days, aim for similar temperature/climate to minimize chances of some carriers swapping position on you! (They aren't stable and do drift.)
  • AGC . . Turn the AGC *OFF*, and back off the RF gain. Moving AGC creates corresponding modulation artifacts, muddying up the display.
  • Wide . . Look initially very wide at a channel, say +/-26Hz ; an embarrassing number of stations ARE that far off or more (including a couple localish to me).
  • Narrow . . if possible, increase the resolution (narrow bandwidth) to find signals 'hiding' close under others, and to ease their measurement on screen.

    I always try to pick a couple of channels that have 'locals' on - these offer obvious, big, unmistakeable baseline display traces. There's PLENTY of dynamic range in the FFT displays to cope, even to get high-confidence measurements of signals even 30-40dB below the local.

    This is where the channel list becomes vital. Most, meaning a half to two-thirds of prominent likely-suspect signals on an omni can be identified by loudness pecking order alone, referring to the listed kilowatt-kilometer figure. At first, I didn't believe it could be that easy! A lot can be confidently nailed down this way. True, there can be spoilers, such as close and/or powerful stations that are directional to elsewhere, but generally big remains big.

    "OK. So how about the rest?"

    Some traces are just a wee bit too flakey to trust, so that lets them off the hook. Disregard any in which one lacks confidence. Playing with a variety of antennas, one can often suppress a predominant signal enough to hear, yes hear, an ID from the next station down, Sometimes one can go three deep doing this. As for the others, beyond this 'armchair' sleuthing, the 'hard work' bit comes in if insufficient are yet identified. A small receiving loop is perfect for this - I've used both a 2m square tuned loop, and a 12" diameter tuned loop to good effect for this: get an FFT of a channel going and _ s l o w l y _ turn the loop until signals drop out, as they will, one or a couple at a time; note the bearings, figure out from the map or listing from where they're coming. Alternatively, having calibrated the loop bearing against one of those known big local stations, set the loop to null a particular bearing (station) of interest, and see which carrier dropped out - probably an easier technique if the 'puter isn't visible from the loop. Typically though, one will only resort to this to get high confidence in traces from stations at 'important' or hitherto missing bearings. Other mis-identifies will become apparent during plotting, and it's 'back to the drawing board' (literally) for them. A bit later on, when one has confidence in a particular receive antenna, say having already plotted it, one can use ITS known directionality to give one clues, and save waving a loop around.

    Comparing the reference antenna to the subject(s)

    Run a 'Spectran' plot containing a chunk of the omni and each of the subject antennas, each taking say 1/3 of the waterfall screen, or about two minutes of each. Bear in mind at the narrow bandwidths of the FFT 'bins', the traces will take about a minute to settle after a change. A couple of minutes of trace is needed to permit sliding the cursor up-and-down to find a maximum; since everything is drifting (the broadcasters especially) the carriers continually cross between the exceedingly narrow FFT 'bins' (filters), and so one needs to capture them at a point when they are solidly within a single one. (This effect predominates over propagational effects by far.) 'Woodlers' are best caught as they 'turn the corner'. Here in Figs. 11,12 and 13 are screen-shots of 1490kHz from home using top, omni; middle, a single 'U' (actually the forwardmost loop of the array) and bottom, the 'U2' array. I had previously attenuated the omni's level to match that of the single 'U' for a known signal in its broad front lobe.

    Fig.11: OMNI - 1490kHz using 160m. vertical, attenuated to match 'U'.

    Fig.12: 'U' - 1490kHz using a 'U' single elevated loop.

    Fig.13: 'U2' - 1490kHz using a 'U2' in-line array of loops. N.B. 7dB less sensitive than 'U'

    Fig.14: Aberrant trace, 808.5
    The big signal near 797 is a 'local' in Lancaster, about over the antenna's 'right shoulder', and so would be expected to drop significantly as the antenna pattern tightens. It does. Look at the next biggest signal on 800. See how it stays the same? Its drop between the 'U' and the 'U2' is the expected sensitivity drop between the two antennas of some 7dB, in other words, the signal remains the same. It is pretty well 'on the nose' of the antennas, and in fact is in Hazleton, PA about 80km away to the northeast. Similarly, the signal on 823 moves, but not much; it is from near Philadelphia and about 50 degrees off antenna centreline. Like the 'woodler'? Hagerstown, MD, off the back. All in all, eight readily identifiable stations and corresponding solid data sets. Most dramatic of course is the progressively increasing attenuation of the 'almost-off-the-back' 'local' on 797 in comparison with the notable invariance of 800, 'on-the-nose'. 13dB between the omni and 'U', and a further 9dB going to the 'U2', for a total of 22dB. Not bad going.

    An example of how one can get fooled by otherwise seemingly big, loud, fine, upstanding traces is highlighted by Fig.14 (right). Look closely at the waterfall for the 808.5 trace, and in the spectrographs above - the initial clue was that magically the signal seemed to have got louder on the'U' than on the omni, then quieter again on the 'U2'. Odd. The waterfall shows it winking in and out; an indication that there are two - possibly more - signals within the same measurement 'bin' beating with each other. One could either ignore this trace altogether (wise) or if one were truly desperate for data points, crank up the resolution of the FFT to prise the little buggers apart, and then measure them.

    Making channel 'crib sheets'

    Having 'captured' a display full of squiggly lines from the reference omni and the subject antenna(s) it is time for the laborious creation of a channel crib-sheet: Having a couple of minutes captured allows one to find a good solid maximum value for each trace, sliding the cursor up and down and across each line. One wants to catch each signal at its best, and that means in some cases finding where a 'drifty' signal lands itself solidly in one of the FFT 'bins', rather than straddling a couple, or smeared across many.

    I 'name' the carriers by displayed trace frequency (say, 797.2 WWSM Cleona) top to bottom, loudest to quietest, on the crib as they become identified, along with the trace values for each antenna in turn, and woodle character if there is one. That way I can find them again if I need to. Take captures from another or other channels, if necessary, and crib them, too. 1490kHz, the channel immortalised above, contains enough signals from enough directions to do a decent first-pass analysis, and nowadays I only go to other channels for more detail.

    There is a strong likelyhood, unless care was taken beforehand, that there will be a disparity in scale between the general level of signals between the different antennas; take the time now to normalise them out on the cribs. Often, one'll conveniently find a station on a bearing close enough to 'on the nose' of the subject antenna(s) to calibrate against the omni.

    Make the cribs as complete as possible - it'll reduce the amount of messing about with the polar plot, or trying to figure the mess out next time..

    The Polar Plot.

    Now, transfer the cribs to the polar plot. At this point, it is likely one'll find mistakes in station identities - their results just don't 'look right' plotted, and are usually transpositions with another station. Verify the bearings, adopt the changes, update the cribs. With tongue poking out of the corner of one's mouth, and with your favourite colour crayons, join the dots like they taught in primary school. Plotting has to be done the hard way at first, by cross-referring bearings with the stations with the data, but at that point a bit of work in preparing the polar plot with stations with channels pre-marked at the appropriate bearings can save a lot of aggro for further analyses later on. Here's one I prepared earlier . . . (Fig.15)

    Fig.15: 'U' and 'U2' plotted
    Tilt your head, the measured plot leans toward 40 degrees because that's where the antennas are pointed. The green plot is of the single 'U', red that of the 'U2' in-line phased array. Thankfully, there is significant additional directivity from the 'U2', and I haven't been hallucinating all these years. I went overboard on this one, got a bit carried away - so many data sets from so many bearings. Usually, a fraction of these is enough to get an idea of whether an antenna's a waste of space or not.

    This example, is, amazingly, about as good as it gets in the real world. Don't get fooled, complacent or too excited. The antennas measured are almost ideally located, 50m from the nearest structure, 200m from anything that threatens to be close-resonant, are well-maintained and well tweaked. Unless one is *very lucky*, and the antenna, installation and environment are *ideal*, the azimuthal responses of such loops will not look much like they did in the model or book. There are three rational reponses: (1) Blame the modelling program. (2) Blame the measurements, (3) Go to the pub.

    Introduction / Summary
    Section (1) . . Receive Antennas
    Section (2) . . Signals, and Signal Processing
    Section (3) . . *** Measuring ***
    Section (4) . . Problems and Solutions

    © Steve Dove, W3EEE, 2003