I want to find out about the world directly. I want to hear the world's view of itself. But I want to hear each country's view of itself and the world: not just that of the country I happen to live in. I am convinced that listening to international broadcasts via the short wave bands is the best and cheapest way to do this.
I want to be able to gain an organised picture of who is out there, where they can be found 'on the dial', and what times they broadcast. I therefore need station data stored on my computer. I do not want a ready-made station database. I want to build my own by adding stations as I hear them. I decided to create an XML style station database to which I can add stations and other data manually using nothing more than a simple text editor.
I also want to be able to link this data to notes and write-ups I may make about what I hear on broadcasts. I decided to do my write-ups in simple raw HTML - again, using nothing more than a simple text editor. This allows me to link different notes and write-ups together flexibly in a web structure rather like the World-Wide Web on the Internet.
Although my main interest in short wave is international broadcasting, I also like to be able to indulge in occasional sessions of listening to (and logging):
To be able to do all this properly I need several different kinds of receiver, each with its functionality and controls specially designed for dealing with one particular kind of the listening activities listed above. But this would be impractical and far too costly. My solution is therefore to have a general purpose wide coverage physical receiver with good scanning ability, controlled through a choice of purpose designed software or logical receivers. Each logical receiver is easy to integrate with the separate networks of station data and information files I wish to build for each respective type of listening activity.
The qualities of my ideal receiver are, in order of priority, as follows:
To be able to implement a set of special-purpose logical receivers, I need a receiver I can control from my computer. There are plenty of these around. Unfortunately, a lot of them come with proprietary control software, which the manufacturer assumes will do all that I will ever require. So he tends not to be very forthcoming with the details I need to allow me to extend his software or interface it with my own. In most cases, even the interface between the computer and the receiver is non-standard and peculiar to each manufacturer and even the particular model of receiver. Details of these non-standard interfaces and control protocols are generally not published pre-sale, and then often only to third party software developers approved by the manufacturer concerned.
My first wish is therefore that my receiver be connectable to my computer through an established industry standard interface. And this means the RS232 (CCITT V24). I don't mind whether it uses the traditional DB25 connector or the later DB9. So long as it is RS232. USB and IEEE 1394 can be offered later, but I think RS232 must be the standard provision for at least the first decade of the 21st century.
Control software works by sending commands to the receiver and receiving responses from it via the RS232 port. These commands and responses make up what is known as the receiver's control protocol. Unfortunately, the control protocol for most receivers seems to be proprietary, secret and machine-readable only. The control protocol for my ideal receiver is a published industry standard and is human readable. I wish to be able to sit at my computer — running a simple dumb terminal program — and be able to type in commands to tune my receiver and otherwise fully configure and control its operation.
The only control protocol I have managed to find with which I could possibly do this is in Section (17) Computer Control of the AR8600 manual. This is excellent! I wonder if it could become the core of an industry standard.
I want to be able to use my receiver to do three things: to search, scan, browse and listen.
Search Function: I want to be able to specify to my receiver:
I then want my receiver to sweep from the lower frequency limit to the upper frequency limit repeatedly, beginning at the specified start time and continuing until the specified stop time or until the specified period has expired. While it is so doing, I want it to note the frequency of each signal it encounters that is above a specified threshold. I then want my receiver to store this set of frequencies in a scan file whose name is the scan list label. I want my receiver to be able to create in this way any number of scan list files.
Scan Function: I want to be able to specify to my receiver the name or identification of any previously created scan file. I then want my receiver to listen on each frequency in this scan file in turn until it encounters a signal of at least the prescribed minimum signal strength. I then want it to remain listening on this frequency until I tell it to proceed to the next one. I want to be able to listen to the transmission on this frequency and note the identity of the station and specify an appropriate mode and pass band. I also want to be able to mark that I want the receiver to skip this frequency in future if the transmission does not interest me. Once I have finished identifying the transmission, setting the pass band and saying whether or not it should be skipped, I want to be able to download the given scan file to my computer via the RS232 serial port.
Browse Function: I use the term browse here to mean tuning across the HF radio spectrum manually, using a tuning knob or up/down stepper buttons.
Listen Function: For this I simply want to be able to specify a frequency, mode and pass band — either directly from the receiver's front panel controls or via the RS232 serial port. I then want the receiver to tune to this frequency and set the appropriate mode and pass band automatically so that I can listen.
I can do any necessary noise reduction, tone suppression or audio shaping by feeding the receiver's audio output into my PC sound card and using one of the many excellent downloadable DSP (digital signal processing) freeware packages.
The IF (intermediate frequency) detection and AF (audio frequency) sections of a modern receiver cannot really be criticised. Whether a receiver's IF section uses transformers, crystal filters, mechanical filters or IF DSP (digital signal processing) depends on how much you are able to pay. Some receivers offer an AF DSP option to help reduce unwanted noise and interfering signals, but if you are using a computer anyway you can use your PC's sound card with appropriate DSP software to do this.
The front end of the receiver — the part that deals with the incoming radio signal — is to me a different matter.
When I used to build short wave receivers decades ago, everybody used tuneable circuits made up of air cored coils and air-spaced variable capacitors. The very first thing the raw signal encountered when entering the receiver was a tuned rejecter circuit. This grounded out everything except the frequency you ultimately wanted. It wasn't very selective, but it got rid of most of what you did not want straight away. Then the signal passed through an RF amplifier to a similar tuneable rejecter circuit and then into the first mixer stage. A similar tuneable circuit followed the first two but was off-set to a slightly higher frequency. The frequency difference was the receiver's (first) IF.
The 3 tuned circuits were made tuneable by ganging the variable air-spaced capacitors together on the same long spindle. Because the oscillator was off-set in frequency from the others, and because all 3 capacitors were identical in shape and position, purists argued that the oscillator's circuit would not track accurately with the other two. That is, the frequency off-set between the oscillator and the other two tuned circuits would not give an exactly constant IF. However, since the two RF tuned circuits were not all that selective, I don't think it really mattered. All the meaningful selectivity was done in the IF circuits later on.
The only shortcoming of this architecture was perhaps that the initial tuned rejecter circuits could respond to very strong signals on multiples of the frequency to which they were tuned at any time. But I think this is nit picking. The overwhelming shortcoming of this arrangement nowadays is that it is tuned mechanically. You actually have to turn the spindle that varies the 3 capacitors in order to change the receiver's frequency. Not very convenient for scanning. To provide the functionality demanded of a modern receiver it must be tuneable electronically — without moving parts. I suppose you could drive the variable capacitor spindle with a servo motor which in turn is driven via a RAM-based translation table of the tuned frequency versus the angular position of the spindle. But what a task! I wonder if any electronics masochist has ever built such a thing.
The demand for fast scanning and solid state electronic control have really killed the old 3-ganged capacitor architecture. [Some very posh receivers used 4-gang variable capacitors. They had two RF stages.] Nowadays, most receivers in the price range I am ever likely to be able to afford use RF band pass filters instead.
Some arrangements are quite rudimentary. For example, a receiver built mainly for fast scanning may have one front-end filter that allows through signals between 100 kHz and 1900 kHz and another passing signals from 1·9 MHz to 30 MHz. To my mind, these are allowing an awful lot of unwanted RF signal to hit the mixer stage. This can introduce a lot of noise. Strong signals will surely swamp the mixer and possibly overload it, making it unable to deal with a weak signal you want to hear.
On the other hand, a receiver designed with less emphasis on scanning speed and more on received signal quality may have a set of HF front-end filters like these:
Frequency Range | Type of Filter | Ratio |
---|---|---|
100 - 1800 kHz | Fixed band pass filter | 18 |
1800 - 4000 kHz | Tuneable filter | 2.22 |
4 - 12 MHz | Tuneable filter | 3 |
12 - 30 MHz | Tuneable filter | 2.5 |
The first filter — the one at the low frequency end of the receiver's range — is a fixed band pass filter. Nothing moves. No electronic control. It just grounds out everything below 100 kHz and everything above 1800 kHz, letting through everything in between. I still think it hits the mixer with a lot of heavy unwanted signal, but there you go.
The other 3 filters are tuneable, but they are not tuned with the old fashioned ganged air-spaced capacitors. These filters are tuned by varicap diodes. When a semiconductor diode is reverse biased, it acts as a capacitor. As the reverse bias voltage is increased, so does its effective capacitance. Some diodes are deliberately designed to accentuate this property. They are called varicap diodes. You vary a varicap diode's capacitance by varying the voltage across it. When suitably incorporated into a tuned circuit, you can vary the resonant frequency of that tuned circuit by varying the reverse bias voltage you place across the diode. Thus the centre frequency of an RF filter is moved by altering the voltage supplied to a varicap diode used to tune it. The filter tuning voltage is derived from the receiver's frequency synthesiser and its various ancilliaries.
Varicap tuneable filters give the best of both worlds. They ground out all but the signal you actually want, they have no moving parts, can be controlled electronically and are retuneable quickly enough for automatic scanning. The only negative I can think of compared to the old fashioned air-spaced variable capacitors is that varicaps — together with the source of their controlling voltage — may introduce noise into a very sensitive part of the receiver. I don't know though. I have no data on this. It's just a gut feeling. However, this is probably insignificant and the advantages are overwhelming.
Traditionally, the maximum to minimum frequency ratio for a tuneable circuit was always about 3:1. I suppose components were originally made to suit a 3:1 ratio because that is the approximate maximum to minimum ratio of the medium wave broadcast band (540 to 1620 kHz) right from the early days of broadcasting. The maximum to minimum ratios of the tuneable filters in the above table are a bit different. I presume the ranges have been adjusted to fit the HF band plan so that no single broadcast, amateur, shipping, aeronautical or special usage band is split between different filters.
My ideal HF receiver would have filters something like those in the above table. I don't mind if searching and scanning is not quite so rapid or wide-ranging.
I think that if I ever want my ideal receiver I will have to build it myself. In the meantime I wanted an affordable ready-made to use for developing my software. I therefore opted for the AR8600 because of its standard RS232 interface and excellent humanly readable command set. This receiver is a fast scanner and it covers VHF and UHF also. After all, I may get interested in VHF and UHF sometime.
This receiver only has one RF input filter covering Long and Medium wave, and one covering the whole of the HF range. It is usable with its short telescopic whip antenna for short wave broadcast power-stations and local hams. However, without a tuned preselector, my coax-fed 30 metre long-wire aerial totally swamps it from 1 MHz to 30 MHz. My strategy is therefore to use the scanner on its own to search and scan large portions of band, then switch in the preselector and long wire to listen to a weak station once I have found it.
Being a programmer I naturally like to write my own receiver control software so that I can integrate it seamlessly with the indexed small world network style HTML database I have designed to hold and process the information I wish to maintain on the various transmissions to which I listen. I write all my software in 'C', except for illustrative applets, which I write in Java.
I first wrote a simple dumb terminal program using the Java Communications API (application programming interface) javacomm20_win32. I then checked out the terminal program by connecting it to an external modem via my PC's COM1 port, typing in a few Hayes AT commands and verifying that the expected responses came back from the modem. I then connected the receiver to my PC's COM1 port, typed in some of the receiver's control commands and checked the response messages and the receiver's behaviour. This dumb terminal program thus gave me a proven set of Java classes I could use with my specialised software to communicate with the receiver. I keep this dumb terminal program handy so I can always check out the receiver's command protocol directly if ever I get a problem with my more specialised software.
My physical receiver — the actual box of electronics — is a general purpose continuous coverage receiver. It simply searches, scans and receives signals 'off the air'. But I want to use my receiver for several purposes. I want to listen to short wave broadcasts. I want to listen to radio amateurs. I may occasionally feel like eavesdropping on weather stations and aeronautical or marine transmissions.
For each of these activities, the way in which I use the receiver is somewhat different. Ideally I should have a separate physical receiver for each pursuit. But this would be far too expensive and extravagant. Besides, the functions that actually differ between these pursuits are not things that a physical receiver can do anyway. They are more to do with organising and presenting the relevant information.
The functions that differ are therefore best realised as computer software. What I need is a separate user interface program to the physical receiver for each pursuit. Each of these programs is what I call a logical receiver. Each forms a specialised 'front panel' which turns the general purpose receiver into one specifically designed for each separate pursuit.
My first logical receiver is for finding, listening to and noting information gleaned from short wave broadcasts from all parts of the world. For this I first need to build and maintain a file for each broadcaster. This file contains the name and other details of the broadcaster, including all the frequencies on which I can hear his broadcasts in English. Sadly and embarrassingly, English is the only language I know. [ed. I later learned Portuguese when I went to live in Brazil in 2004.]
The first panel of my HF broadcast logical receiver software controls the acquisition and updating of broadcaster information. It first downloads all my scan files from the physical receiver. It then combs through the scan files compiling a list of frequencies on which each broadcaster was found. It places the frequency list for each broadcaster in a separate broadcaster file. I do not want a ready-made database of broadcasters and their frequencies, many of which I could never hope to receive acceptably. If a file is already established for a given broadcaster, the software simply uses any new data in the downloaded scan files to update that broadcaster file.
The second panel of my HF broadcast logical receiver software facilitates the selection, stepping or scanning of the frequencies on which a specified broadcaster operates. The functionality of this panel is best understood from the following limited demo version. The full version also facilitates the writing and editing of notes relating to the currently selected broadcaster, with the ability to embed hyperlinks to cross-reference these notes to other documents to do with relevant people, subjects and issues.