HOW IT WORKS
Every link in Loftskeyti is a real modem. Transmitters generate audio-rate signals at 48 kHz, the band from 0 to 24 kHz plays the part of the radio spectrum, and every receiver demodulates the actual samples that reach its antenna. Bit errors are counted, not looked up in a table.
Modems
FSK sends one of two tones per symbol, spaced so they are orthogonal over the receiver’s integration window. DBPSK and DQPSK move the carrier phase by 180° or by multiples of 45°, and the receiver compares each symbol with the one before. 16-QAM uses phase and amplitude, so the receiver estimates the channel from an 8-symbol preamble and equalises before slicing. Each frame carries 256 bits of payload, a 16-bit header and a CRC-16. Frames that fail the CRC are sent again.
Slow-scan television
SSTV sends a picture the way radio amateurs do, as sound: each line is a sync pulse below black, a short porch, then the green, blue and red scans, every pixel a tone between black and white, 400 Hz either side of the carrier. It is analog: there are no frames to check, so noise shows as snow, an echo paints a ghost beside every edge, and a relay passes its noisy copy on, so the snow piles up hop by hop. The receiver reads the tones with an FM discriminator, which needs a strong signal: below about 10 dB the picture breaks into sparkles. The sender repeats the picture, and every receiver stacks its copies of each line, weighted by how steady the sync came through, so random noise thins out with every pass. Try it in the sandbox, whose message is a picture.
By hand: Morse and telex
Telegrams by Morse or by telex never went in numbered frames with checksums, and they don’t here. The operator keys the telegram letter by letter (Morse opens with KA and closes with AR; the teleprinter at 50 baud sends ZCZC and NNNN, each character a start bit, five code bits and two stop bits), and goes through it again and again. The far end writes a word down when every letter of it came through clearly, or when two copies of it agree; doubtful words show faint until then. A relay writes the telegram down too and keys it on, with a question mark for any word it doesn’t have yet. The telegraph alphabet has no Icelandic letters, so they are spelt the way telegrams spelt them: Þ as TH, Æ as AE, Á as A. A telegram goes by hand the whole way or by data links the whole way, and pictures always need data links.
Morse
The receiver listens the way an operator does, to the energy of each unit through a ±100 Hz filter, with a threshold that follows the signal as it fades. It decides key down or key up for every unit, sorts the runs into dits, dahs and gaps, and reads the letters back; a letter only counts when the silence after it is heard, so a steady buzz writes nothing. Speed is in words per minute: 20 is a good hand, 320 is a machine sending from punched tape. Faster means less energy in every dit, so more words need a second copy.
Listening
Select a link and you hear its receiver. Select a place instead, a town or a mast, and the spectrum panel becomes that place’s receiver: pick a mode and drag across the waterfall to tune. AM hears the envelope of a ±2.8 kHz band, so the base radio’s carrier and its music. Single sideband (USB, LSB) sends one sideband and no carrier, in less than half the spectrum of AM, but the dial has to be within a few tens of hertz of the station before voices and music sound right; tune a little off and everything goes up or down in pitch. CW puts a narrow filter on a Morse signal and beats it to a 700 Hz note, and RTTY does the same for a teleprinter’s two tones. Under the waterfall, a decoder reads what the receiver hears: a link’s frames as its demodulator decoded them, CRC failures and all, or at a place, Morse and teleprinter text read from the antenna signal alone, its timing learnt from the signal itself. In noise it prints rubbish, as real decoders do. Wide is the whole band at once. Not everything on the air is on the chart.
Trouble is labelled the way radio amateurs say it: QRM for man-made interference, QRN for natural noise like static and aurora hiss, QSB for fading. (QSL means I confirm receipt, which is what a return channel is for.)
The music on the air is by Karl Helgason.
Other people’s transmitters
Two radio amateurs near Reykjavík work each other in Morse on 14.05 kHz (the 20-metre band, scaled): a call, an answer with a signal report, names, places and the weather, then 73. Tune CW and the decoder reads it. A time station ticks every second on 10 kHz with a long tone on the minute, and once a minute and a quarter an ionosonde sweeps up through the whole band, sounding the sky. Lighthouses key their Morse call signs, boats send 45.45-baud RTTY in bursts as they move along the coast, the airport radar sweeps its beam around every six seconds, a military radio hops across 2–20 kHz, and the Loran-C mast at Gufuskálar sends groups of eight pulses every 79.7 ms. None of them will move for you. Far to the east, beyond the chart, the Soviet over-the-horizon radar that radio amateurs called the Woodpecker taps ten times a second; it arrives by sky wave, so the aurora silences it.
Acknowledgements
A link is one way. With nothing coming back, the sender cannot know what was lost, so it goes round the whole message again and again, least-sent frames first, and every relay does the same with what it holds; a lost frame waits for the next pass. Give a link a return channel and its receiving end can talk back on its own frequency through the same antennas, joined by a duplexer. But only the far end of a route knows what arrived, so its answers have to be passed back over every hop. One hop without a return channel, and the sender is on its own again.
When every hop has one, the far end puts a report of what it holds, a running count and a bitmap of the gaps, on every return frame (radio amateurs would say QSL: I confirm receipt). Each relay passes the newest report on toward the sender. The sender keeps a window of frames on the way, about one round trip’s worth at the pace of the slowest hop. A frame that is missing while a later one has arrived was lost, and goes again; so does one with no word for too long. A lost return frame only delays the news, because the next one repeats it. The return channel is a real transmitter: it costs a modem, a duplexer and a licence, it needs room near the forward carrier because the antennas must cover both, and if it is jammed the reports are lost and the sender repeats frames that may already have arrived. Some stations can only listen.
Resending from end to end has a price: a frame lost on the last hop crosses every hop again, so a bad hop needs error correction more than ever. Real networks have done it both ways. Packet-radio digipeaters and the internet’s TCP acknowledge end to end, as here; the old telegraph relay offices and NET/ROM packet nodes took each message over hop by hop and answered for it themselves.
Error correction
Hamming 7,4 adds three check bits to every four and fixes any single wrong bit in each group of seven. The convolutional code (rate ½, constraint length 7, generators 171 and 133) is decoded with a soft-decision Viterbi decoder, so it uses how sure the demodulator was about every bit. Both are interleaved: bits are written in rows of 24 and sent by columns, so a lightning burst lands on bits far apart in the code, where it can be fixed. The link panel shows bit errors before and after decoding.
Direction finding
A loop antenna hears well along its own plane and almost nothing broadside: it has two sharp nulls, back to back. Give a place’s radio a loop and turn it until a station fades away. The station lies on that line, ahead or behind, and a second place’s line crosses the first where it stands. But a loop only knows where the signal comes from. Off a sea cliff an echo can arrive stronger than the wave itself, and the null then points at the cliff; when two bearings agree and a third does not, doubt the third. Coast stations took bearings like this for ships lost in fog, and a ship could ask for its own (QTE: what is my true bearing from you?). A portable radio on a 2 m pole can be carried anywhere on land, onto a summit if you like, where it hears a transmitter directly, over the echoes.
Power
Every transmitter of yours is on one scale: an ordinary link transmitter puts 1 kW into its antenna, the amplifier makes it 4 kW, and a broadcaster carries 1, 4 or 16 kW in its carrier. Power goes with the square of the amplitude, so four times the power stands only twice as tall in the air: +6 dB, and sixteen times +12 dB, which is why doubling a transmitter rarely doubles what it reaches. A spark set draws 64 kW from the mains and radiates only the share its gap lets through, a tenth or a sixth with a plain gap. Each transmitter’s panel shows its power.
Spark
The first wireless stations had no carrier. A spark gap fires a charged condenser into a tuned circuit coupled to the antenna, and each spark rings both for a few milliseconds and dies away: a burst hundreds of hertz wide, in two humps when the circuits are coupled tightly, and with the arc’s harmonics and a crack across the whole band besides. A hundred sparks a second make the rough buzz you hear in the phones, at whatever speed the operator keys. That dirt is why spark sets were phased off the air from 1927 on. In Neistar it is 24 November 1905: the Marconi station at Rauðará, where Höfði stands, has copied Poldhu in Cornwall every night since June, the first wireless messages to reach Iceland (Poldhu sent the news to ships under the call ZZ; the bulletin you hear here is made up). Only the plain gap exists yet: Wien’s quenched gap is 1906, the rotary gap 1907. That year the Althing chose a telegraph cable over wireless, and farmers rode to Reykjavík to protest against it.
Broadcasting
A broadcast is one programme for everyone, on an AM carrier. In Útvarpið your transmitter takes the studio’s concert down a telephone line, and a relay transmitter carries it further: it listens to another transmitter with an ordinary set and sends on whatever comes out, hiss and fading included. Every town has a set switched on, and the game holds its loudspeaker up against the studio: the share of what it plays that is the concert, against the share that is noise, whistles and distortion (SINAD). Weighed against the music’s loud passages, as broadcast engineers quote noise against full modulation, a perfect set here plays the concert at about 16 dB, and analog hops add up: a relay leaves its towns about 12 dB, two good hops 11, a third rarely the 10 dB that counts as clear. A relay hears its own transmitter on the same mast too, only 20 dB down, so the more power it has the more it deafens itself; turn a Yagi or a dish to its parent and it hears its own carrier from behind. Two transmitters reaching one town must keep their carriers out of each other’s IF, and the band holds about four such channels: reuse them where the transmitters cannot hear each other. The real transmitter of December 1930 stood on Vatnsendahæð above Reykjavík: 16 kW of long wave.
Two AM stations at once
An AM receiver’s envelope detector cannot pick one station out of two: whatever lies inside its filter comes out together. The base radio, on the old NATO base at Keflavík airport, is on 7.4 kHz, and Útvarp Faxaflói, from the masts on Úlfarsfell above Reykjavík, on 6.8 kHz. In Reykjavík both come in about as strong: tune 7.1 kHz in AM and both programmes play at once, and the two carriers beat into a 600 Hz whistle. Tune toward one and it grows louder, but the whistle stays as long as the other carrier is in the filter. That is why broadcasters were given channels apart, and why distant stations whistled at night.
Natural radio
Lightning crackles as sferics. A strong stroke also sends its noise out along the earth’s magnetic field and back, and the thin plasma up there delays low tones more than high ones, so it returns as a whistler: a tone falling from about 8 kHz to 1 kHz in a second or so. Each tone arrives at a time proportional to 1/√f, Eckersley’s law. The aurora adds its hiss and rising chorus.
Overload and intermodulation
Each receiver has an AGC and a front end that saturates. Thermal noise is added after it, inside the receiver. A strong signal therefore pushes the gain down and buries weak ones (desensitisation), and two strong carriers mix into phantom signals at 2f₁−f₂ that you can see on the waterfall. The +6 dB amplifier is driven into gentle saturation too: harmless for FSK and PSK, but it squashes the outer points of 16-QAM.
What you see and hear
The waterfall is a 2048-point FFT of the selected receiver’s antenna signal. What you hear is that signal through a band-pass around the selected carrier, with a little of the whole band underneath, and an AGC like a radio’s. The constellation shows the receiver’s decision values for recent symbols. SNR is measured on each frame’s preamble.
Propagation
A signal spreads out as any wave does in free space. Below the direct ray the sea or the ground reflects a second one, a fraction of a metre longer, with the reflection of that surface (the sea mirrors far better than heath, and rough ground scatters short waves), and the ground wave creeps along the surface. The two rays add at some carriers and cancel at others: the dashed curve over the waterfall shows where. Near the horizon the wave must bend round the curve of the earth, which costs more the shorter it is, and ridges in the way cost more again; low carriers bend over what stops high ones. Cliffs and mountain faces reflect, and the echoes arrive late, and every slope both ends can see scatters a little back, a faint reverb. For each link a full-wave solver has the last word: it marches the wave, as a parabolic equation, over the real terrain at several frequencies across the band, and the link follows its answer. Its field fills the terrain profile under Path.
Ground and roads
The ground is real: ÍslandsDEM, the national elevation model of Iceland (Náttúrufræðistofnun Íslands, CC BY 4.0), at about 500 m. Every town’s radio station and every relay stands on an 80 m mast, the way real stations put their antennas high to see over the curve of the earth. A relay needs land; it cannot stand on a glacier or inside a national park or nature reserve (friðland), it costs more on a mountain, and it needs an access road from the nearest main road, by the kilometre. The roads, the glaciers, the protected areas and the names of the summits are from OpenStreetMap (© OpenStreetMap contributors, ODbL). While you place or move a relay, the chart marks the high points: the named summits, each set on the highest ground near it, and the ground’s own tops, more of them the closer you zoom. A relay dropped near one goes onto its top; hold Alt (Option) to put it down exactly where you click. The broadcasters stand where the real transmitters do: Úlfarsfell above Reykjavík, Valhóll on Vaðlaheiði across the fjord from Akureyri, Arnarnes at the mouth of Skutulsfjörður, and the base radio on the old NATO base at Keflavík airport.
Nature’s mirrors
The echoes come from the real ground: 10,391 cliffs found in the 20 m elevation model: sea cliffs from Látrabjarg and Hornbjarg down to Dyrhólaey and Ingólfshöfði, the walls of the fjords and of Ásbyrgi, and the faces of the mountains, each with its true orientation, length and height. Walls lower than 30 m, like Almannagjá’s, are left out. A cliff sends a wave from one station to another only when it stands like a mirror between them: its face must look halfway between the two directions, and the reflecting spot must lie on the face itself, which for two low stations means a cliff that reaches down near their height. Gentle slopes throw the wave at the sky; the faint, smeared rest that every slope scatters back is the landscape’s reverb. No mirror works at every frequency: a face whose bumps approach an eighth of a wavelength scatters instead (the Rayleigh criterion), so high carriers lose the echo, and a face smaller than the first Fresnel zone, √(λ·d₁d₂/(d₁+d₂)), returns only its share of it, so long waves lose it too. A vertical whip’s wave meets a vertical cliff with its field along the face, so the reflection is total at grazing and about half face on. The strongest three cliffs per path are kept.
Aurora scatter
When the aurora is up it absorbs the sky wave, but it opens another road: the ionisation in the curtains, about 110 km up and north of you, scatters signals back down. Turn both antennas north, toward the same patch of sky, and a station hundreds of kilometres away comes through, best around 10 kHz (VHF in real life). The scattered signal arrives smeared over about half a millisecond and fluttering a hundred times a second, and it swells and fades with the aurora. That is why radio amateurs work the aurora in slow Morse, copied by ear: the receiver here listens to the energy of each dit, whatever its phase does. FSK with a wide enough shift survives with the convolutional code; phase keying loses track of the phase, and narrow FSK smears into its other tone. It sounds like a hoarse whisper.
Frequency matters
Low carriers bend over ridges and use the sky; high carriers need line of sight. In this game 1 kHz behaves like a 15 m radio wave and 10 kHz like a 1.5 m wave. Ground-wave absorption rises with frequency, and over salt water it is a fifth of what it is over land, which is why ships and coastal stations carry so far. A dish is a fixed aperture, so its gain grows 6 dB per octave and its beam narrows: nearly omni at 1 kHz, +15 dBi at 6 kHz, +25 dBi and pencil-sharp at 20 kHz. Yagis are treated as broadband.
Noise
The floor is white noise. Towns add 50 Hz mains buzz below about 2 kHz. Storms add low-heavy static and lightning sferics, which arrive as bursts and wreck whole frames even when the average SNR looks fine. The aurora adds hiss around 8.5 kHz and rising “chorus” chirps between 2.6 and 5.5 kHz.
Honest simplifications
Receivers know symbol timing exactly, as if a perfect timing loop had locked onto the strongest arriving path. Propagation delay is scaled up so that echoes land in the millisecond range, the way HF skywave multipath does. Reports ride on the return channel’s frames without making them longer.