Since recently, my WebSDR receiver at the University of Twente  can display ionograms:
graphical displays of shortwave propagation.
This article gives some background on how these ionograms are made and what they mean.
(This is an adapted version of an article that I wrote for the Dutch amateur radio magazine Electron, March 2013.)
When you listen to a shortwave radio, you'll hear a "chirp" sound every now and then: a tone quickly going from low to high or the other way around. Most of these are caused by a chirp transmitter passing the frequency you're listening to: that's a transmitter which goes over the entire shortwave frequency range, at a constant rate of e.g. 100 kHz per second, and repeats this e.g. every 5 minutes. (In practice, also chirprates of 50 and 125 kHz/s are used, and periods of 12 and 15 minutes, as well as more irregular patterns.)
The strongest chirp transmitters are radars, which use reflections by the ionosphere to look beyond the horizon. Two such systems are installed on Cyprus, and four in Australia (of 560 kW each ). These strong signals can also easily be seen on the Twente WebSDR's broadband waterfall display, drawing a diagonal line as they slowly but steadily move up in frequency.
Most chirp transmitters are much weaker: they are used for scientific research of the ionosphere, measurements of the ionosphere supporting those radars, or as propagation beacons for (military) HF communication. Because of these applications, these transmitters are also called "ionosounders".
A decade or so ago, there were many more chirpsounders active than nowadays. Partially this is because many ionosounders have been replaced by newer "digisondes". These do not simply transmit a carrier whose frequency increases at 100 kHz/s, but a digitally modulated signal that covers the shortwave spectrum in 25 kHz steps. These transmitters and matching receivers enable even more detailed measurements of the ionosphere, but their signals unfortunately are less suitable for amateur reception.
Chirp reception by amateurs was pioneered by Peter Martinez, G3PLX, at the end of the previous century; see . He wrote software which analyses the audio signal of a normal SSB receiver to check for the presence of the "chirp" sound, and when it sees one, registers its precise time. When multiple amateurs, spread across the world, do this, the location of the transmitter can be determined from the reception time stamps.
A different way of receiving a chirp transmitter, is by building an SSB receiver of which the tuning precisely follows the chirp's frequency. The nice thing about such a continuously tuning receiver, is that the chirp is converted into a constant tone, the pitch of which depends on how long the signal needed to travel from transmitter to receiver. This can be seen as follows: if the signal has needed more time to travel, then what we receive now, has been transmitted longer ago, i.e., at a moment when the transmitter was still at a lower frequency. If there are multiple paths with different propagation times, e.g., via the E layer and via the F layer, then multiple tones will be heard from such a continuously tuning SSB receiver.
Although these two techniques (chirp filter at a fixed frequency, and continously tuning receiver) may seem very different, mathematically they boil down to the same thing.
If one puts a continuously tuning chirp receiver near the matching transmitter, it will receive both the direct signal from the transmitter, and the signal reflected almost vertically by the ionosphere. See the figure: the situation is sketched at the left, while the right shows the resulting ionogram. In the ionogram, the horizontal axis shows frequency, and the vertical axis shows how long the signal needed to travel fromt the transmitter to the receiver.
At the left, we see there are two layers in the ionosphere, called E and F. (This is a simplification: we omit the D layer because it mostly absorbs, and for simplicity we also forget the fact that the F layer is often split into F1 and F2.) In this example, the E layer reflects up to 3 MHz; that frequency is then called the E-layer's "critical frequency". Higher frequencies penetrate the E layer but are reflected by the F later, up to 8 MHz in this example. Even higher frequencies escape into space.
Both reflecting layers can also be identified in the ionogram: up to 3 MHz there are reflections with a propagation time of about 0.6 ms (namely 90 km up and down again, at the speed of light of 300 km/ms). Between 3 and 8 MHz the signal has to travel further: about 250 km up and down, so one would expect the reflection after about 1.7 ms. In reality, it takes even a bit longer because the E layer delays these signals a bit as they pass through it.
In the case of the F layer, we also clearly see that the highest frequencies which are still reflected, take even more time. This is because these signals penetrate the layer further before being reflected. This takes more time, simply because the path is longer, and also because the waves travel slower in the ionised air.
The earlier figure is a theoretical and simplified picture. A "real" vertical ionogram is shown here, made by the digisonde in Dourbes, Belgium . The vertical axis here doesn't show the time, but the time divided by twice the speed of light. This is the "virtual height": the height at which a reflecting layer would have to be to give the measured propagation time, in the absence of any further delays. This picture mostly matches the previous one, but there are a couple of notable differences.
Firstly, we see both a red and a green line for the F layer, of which the green line continues to a notably higher frequency. These two lines represent the so-called "ordinary ray" and "extra-ordinary ray". The difference between them is the polarisation. Under the influence of the earth's magnetic field, the free electrons in the ionosphere move around in circles, and this causes the ionosphere to behave one way ("ordinary") or the other ("extra-ordinary"), depending on the radio signal's polarisation w.r.t. the magnetic field. The ionosounder's signal in general contains a bit of both polarisations; hence the two lines. The difference between both lines is a shift to the right, over a distance which theoretically equals half the frequency at which the electrons move around in circles; so in this case, the electrons did about 1.5 million rounds per second.
Secondly, we see an extra reflection at a virtual height of almost 500 km. This is a signal which bounced back and forth between the earth and the F layer twice, hence the double propagation time and thus double virtual height.
Thirdly, the ionosounder's computer has tried to interpret the picture. At the left, the calculated heights and critical frequencies of the layers are shown. Furthermore, the computer has drawn a black line into the graph, showing the calculated electron concentration (= amount of ionization) at that height. We see a maximum at 100 km (the E layer) and a larger but broader maximum around 240 km (F layer).
For radio communication, we're not so much interested in signals that hit the ionosphere vertically, but in those that hit it obliquely, because those can span large distances. See the following figure.
It is well known that signals hitting the ionosphere obliquely are reflected up to a higher frequency than those which hit it vertically. To be more precise: if a signal with frequency f hits the ionosphere at an angle of α, then the ionosphere will reflect it equally well or badly as if it were arriving vertically and had a frequency of f/cos(α).
Let's try to use this formula to convert the original vertical ionogram to the new oblique one. We start with the E layer. In the sketch, the E layer is hit at an angle of 60 degrees, so the reflection will not just continue until 3 MHz, but until 3/cos(60) = 6 MHz, as shown in red in the right half of the figure.
At vertical incidence, the F layer only plays a role for frequencies which are too high for the E layer to reflect them. That is different at oblique incidence. From the left half of the picture, we see that in order to reach the F layer, the signal needs to go up more steeply, 45 degrees in this example. For that incidence angle, the E layer only reflects up to 3/cos(45)=4.2 MHz. So already above 4.2 MHz the F layer gets a chance. This means that between 4.2 and 6 MHz, we have two paths: one via the E layer and one via the F layer. This is also visible in the ionogram in the right half of the figure.
When we look further to the right in the ionogram, we see that frequencies up to (in this example) 11 MHz are still reflected, but not higher than this. Therefore, this 11 MHz is the "Maximum Usable Frequency" for this path, usually abbreviated as MUF.
We also see that the ionogram near the MUF has a "nose shape"; the line seems to "bend back". To understand this phenomenon, we have to mentally follow the curve for the F layer in the vertical ionogram from low to high frequencies, and for each point decide where this point will end up in the oblique ionogram. When we do this, at first (i.e., at low frequencies), the height of reflection is almost constant, and with it the angle of incidence and the cosine factor. When we approach the critical frequency (here 8 MHz), the (virtual) height of reflection increases. As a consequence, the signal hits the ionosphere more steeply (closer to vertical), the angle of incidence α decreases, and the corresponding frequency for the oblique incidence ionogram becomes lower. Thus, the line "bends back" to lower frequencies as the (virtual) height increases, giving rise to the nose-like shape. In this "nose-area" there are again two paths between transmitter and receiver: a (blue) path that does not penetrate very far into the ionosphere, and a (green) path that penetrates deeper, bends back slower (because actually "reflection" is not the right word for what happens in the ionosphere), and has a steeper incidence.
Again, this picture is idealised. We omitted the difference between the "ordinary" and "extra-ordinary" rays, the possibility of multiple reflections between the earth and the ionosphere, and the fact that the earth's surface is curved. Also, all the numbers are just examples, and will vary widely in reality.
So far, this is all theory, except for the professional picture from the Dourbes digisonde. Can amateurs also make ionograms? Yes!
One way to do this, is to take a normal computer-controlled shortwave receiver, and let it make steps of e.g. 100 kHz, in synchrony with a chirp transmitter, and then use a chirpfilter (in software) to analyse the received audio for chirp signals.
A second way is to do the same as what the professionals do, namely build a receiver which continuously tracks a chirp transmitter. This is not feasible using purely analog means, but with a good digital synthesizer or DDS it is.
A next step, which however has only been feasible since a few years, is to feed the entire shortwave spectrum to an A/D converter, followed by a DDC (digital downconverter) to feed data for part of the spectrum to a computer for further processing. In order to receive chirp signals with such a setup, the DDC's center frequency has to be tuned continuously to track the chirp signal.
My WebSDR receiver at the University of Twente  nowadays processes the entire short-wave spectrum in software on a PC (using its graphics card (GPU) for number crunching). Since the software already sees the entire spectrum, it was an obvious idea to also use this system for chirp reception. The easiest way to implement this turned out to be returning to the first method, namely a chirp filter which tracks the transmitter in steps across the band. After all, the main point of a WebSDR is to let many listeners tune simultaneously and independently. The chirp receiver then is just yet another listener, albeit one who is tuning rather frequently to track the chirp transmitter.
For the chirp reception I use a larger bandwidth than for normal SSB, namely about 100 kHz. That larger bandwidth has two advantages: better sensitivity and better resolution. The better sensitivity is ue to the fact that the transmitter stays much longer inside the receiver bandwidth, so the software can integrate the signal longer: at 100 kHz/s the chirp only stays for 30 ms inside a 3 kHz wide SSB receiver, but an entire second in the larger bandwidth I use. The better resolution means that the arrival time of the chirp can be determined more precisely; or, signals arriving with a smaller time difference can still be distinguished.
The WebSDR software could already simultaneously serve hundreds of normal listeners, so a few more receivers for the chirps need hardly any extra computational power. Thus, the system can simultaneously track all known chirp transmitters, which as far as I know is unique in the world.
As a result, ionograms are constantly made of paths between Twente and the many chirp transmitter locations: Cyprus, Egypt, Black Sea, North-Sweden, Finland, Puerto Rico, Virginia, Brazil, several places in Australia, and a few transmitters whose location is unknown. The ionograms can be seen on the web .
This figure shows an ionogram as received in Twente from a chirpsounder in Boden (North-Sweden), on October 27, 2012, around 11:00 UTC. The horizontal axis represents the frequency from 0 to 29 MHz. The vertical axis shows the time at which the signal was received, in seconds (to be precise: normalized to a virtual starting time at 0 MHz). Since we don't know exactly when the signal was transmitted, we cannot absolutely determine how long the signal has been travelling. But we can see the difference in arrival time between different paths through the ionosphere; the numbers are at 1 ms intervals, and the small dashes at 0.1 ms intervals.
The lowest bright line in the picture (at 31.4121 at the vertical axis) represents reflection via the E layer. It is characteristic that this line is almost horizontal: the reflection height (and thus the propagation time), is essentially independent of the frequency. When sporadic E occurs, this line can continue up to very high frequencies.
The next bright line is about 0.2 ms higher, continues until just beyond 27 MHz, and then bends back: the nose-shape discussed before. This is clearly a reflection via the F layer, and the MUF in this case is just above 27 MHz; the 10 m band won't be open to Boden, but the other HF bands are. If you look carefully, you can see that the bend-back part of the nose is split into two lines: the ordinary and extra-ordinary rays, due to the earth's magnetic field.
Looking higher, we see another bright and bending line at 31.413 s. This must be double-hop reflection via the F layer. Because this signal hits the ionosphere more steeply, the reflection continues less high in frequency: up to 16 instead of 27 MHz. Higher in the graph one also sees paths with 3, 4, and at the top even 5 hops
There are a few weaker lines above and below the F line; I think these are multihop paths in which the E layer plays a role, e.g. 2 times E, or E+F.
One might wonder whether such a continuously tuning chirp receiver is not disturbed by all the other (non-chirping) signal it encounters along the way. That problem is not too bad: with a continuously tuned narrowband receiver, each non-chirping signals is only in the filter passband for a very short time, and thus cannot contribute much to its output. Still, strong signals are indeed quite visible in ionograms, as vertical lines; see the top half of this picture. Especially the broadcast bands are quite visible as white vertical bars.
However, SDR technology allows us to do something about this. The chirpfilter in the WebSDR receiver has been implemented in the frequency domain for efficiency reasons. But precisely in the frequency domain, a strong signal at a constant frequency is easy to recognize, because its power in one single "frequency bin" is much larger than in the other bins. In contrast, a chirp signal will be spread out over all bins. By having the software look which bins contain much more power than the others, and setting only those bins to zero, we get rid of most of the strong non-chirping signals. The remaining bins still give enough information to receive the chirp signal, albeit with some distortion. It is as if we look "in between" the strong signals, as if looking between the bars of a fence. The result is shown in the lower half of the picture: the vertical bars are now almost entirely gone and we can see much more details of the ionogram itself.
B.t.w., this is the ionogram of an Australian ionosounder. Its timing is locked to GPS, and most locked ionosounders start their chirp exactly at the start of the UTC second. As a consequence, we can read on the vertical axis how long the signal has travelled: in this case about 46 ms.
So far, we assumed the chirp transmitter's signal is not modulated, apart from the constant increase in frequency. However, a way has been defined to send some digital data along with the chirp. This is done by having the transmitter transmit during a 1 bit on its normal frequency (although still rising at 100 kHz/s), and during a 0 bit 250 Hz higher. So it's just FSK, albeit with a chirping carrier. The datarate is 55 bits per second; every 6 bits form one character, and the entire message is 40 characters long, so the message is repeated every 40*6/55 = 4.36 seconds.
The idea is that this can be used to simply transmit a short message world wide. Instead of having to find and coordinate a frequency with suitable propagation, the message is repeated all over the HF spectrum, under the assumption that somewhere there is a frequency band which propagates to the intended destination. This is of course a rather inefficient use of spectrum and transmit power.
Another application of the Chirpcomm modulation is to have the ionosounders send an identification. Most ionosounders don't do this, but the one in Boden does. This is visible in the Boden ionogram shown earlier: in the right half we see, above the big "nose" of the F layer reflection, a row of vertical dashes (at 31.415 s on the vertical axis). Those dashes are caused by the 0 bits: their frequency is 250 Hz lower than normal, so with the chirp rate of 100 kHz/s, it seems as if they have travelled 2.5 ms longer. We also see these dashes repeat every 436 kHz: that is because the message is repeated every 4.36 s, and the transmitter chirps at 100 kHz/s.
Amateurs doing moonbounce (EME) know that the polarisation of a linearly polarised signal can change on its way through the ionosphere, which is called Faraday rotation. This phenomenon is related to the "ordinary" and "extra-ordinary" ray mentioned earlier. A linearly polarised signal is decomposed into two component (ordinary and extra-ordinary), each of which is cirularly or elliptically polarised. The propagation speed of both components in the ionosphere differs due to the earth's magnetic field. When both components are added again after their journey through the ionosphere, their phases are no longer the same as when they entered the ionosphere, and as a consequence, their sum does not have the same polarisation.
A Mars ionogram with some explanations can be found on .
Apart from being fun to know, this knowledge might also be of practical use in the future: in  it is already concluded that the daytime MUF on Mars is high enough for useful over-the-horizon communications between future Mars colonies...