LIVE SIGNAL • COMPREHENSIVE EDITION v2 — KaTeX ✓ Interactive ✓ Octave ✓

MORSE & SIGNALS

One wire, two states, infinite meaning. Morse is not a relic — it's a masterclass in compression, bandwidth, and human-machine symbiosis. This guide is extensive: history, math with KaTeX, full codex, 5 interactive labs, information theory, and 12 Octave labs you can run today.
PARIS = 50 units • \(T_{dit}=1200/WPM\) ms • 20 WPM = 60 ms dit
01 — Origin • History

A rhythm that crossed oceans

In 1844 Morse tapped "What hath God wrought" over 40 miles of wire. The device didn't transmit letters. It transmitted time: how long the circuit stayed closed, and how long it stayed open.

Vail is credited with shaping the code itself, reportedly counting movable type in a printer's tray to give commonest English letters shortest signals. E is one dit; Q is four elements. That frequency-weighting is a Huffman code built by hand, a century before Huffman formalized it in 1952.

American vs International. American Morse used internal spaces and varied dash lengths and was clumsy over radio. International Morse (1865) — clean dits and dahs with fixed 1:3 ratio — is what world settled on and what this guide teaches.

Timeline that matters

1836 Morse & Vail build first key: numbers mapped to words via book.
1848 Gerke refines for German: removes varied dashes.
1865 International Morse standardized in Paris — 26 letters + 10 digits.
1870 Baudot creates 5-bit binary telegraph — direct child: fixed-length + start/stop.
1901 Marconi sends S transatlantic.
1906 SOS ...---... adopted — not "Save Our Souls" but 9-unit unmistakable rhythm.
1999 GMDSS replaces Morse as required distress, but ham radio, aviation still require it.
The five durations that are the entire code
ElementSymbolLengthMeaning
Dit·1 unit ONshort mark
Dah3 units ONlong mark
Element gap 1 unit OFFwithin letter
Letter gap/3 units OFFbetween letters
Word gap//7 units OFFbetween words

Every signal on this page built from exactly these five durations. Change the "unit" and you change speed — nothing else.

\[ \text{Total states}=5: \{dit,dah,g_{elem},g_{letter},g_{word}\} \neq binary \]
Why SOS?

It isn't an abbreviation. Chosen in 1906 because ···---··· keyed as one unbroken nine-element string is impossible to mistake through heavy static. Rhythm was whole point.

SOS is actually one prosign: SOS with no letter gaps — 9 elements: 3 dits, 3 dahs, 3 dits as one fused character.

02 — Alphabet • Full Codex

The full International Morse chart — tap to hear

Every glyph clickable — tap to hear actual keyed signal at current lab settings. Dits amber, dahs teal by color.

tap any glyphtone 650 Hz18 WPMLast: —

Letters

Digits

Punctuation

Prosigns — fused, no letter gap

Procedural signals sent as one character — overbar shows fusion.

ProsignCodeMeans

Operator's shorthand

SignalMeaning
CQCalling any station
DE"from" (this is ...)
KOver
RReceived
73Best regards
88Love and kisses
QTH/QRM/QRNLocation / interference / static
SKEnd of contact
03 — Timing & Math • KaTeX

Speed is one number

Because every duration is multiple of single "unit," Morse transmission has exactly one free parameter: length of one dit. Fix that, and dahs, gaps all follow. Standard way to name parameter is words per minute.

The PARIS standard

"WPM" needs reference word, because words differ. Convention is word PARIS followed by one word space — exactly 50 units.

\[ \underbrace{11}_{P}+\underbrace{5}_{A}+\underbrace{7}_{R}+\underbrace{3}_{I}+\underbrace{5}_{S}+\underbrace{12}_{\text{letter gaps}}+\underbrace{7}_{\text{word gap}}=50\text{ units} \]31 char units + 19 spacing = 50

If you send \(W\) words per minute, you emit \(50W\) units per minute. One unit therefore lasts:

\[ T_{\text{dit}}=\frac{60}{50W}\text{s}=\frac{1.2}{W}\text{s}=\frac{1200}{W}\text{ms} \]at 20 WPM dit=60ms; at 5 WPM dit=240ms
\[ T_{\text{dah}}=3T_{\text{dit}},\; g_{elem}=1T,\; g_{letter}=3T,\; g_{word}=7T \]
Live timing diagram • oscilloscope + tape
WPM 18
1 dit=66.7 mstotal
Farnsworth calculator — fast chars, stretched gaps

Learners hear fast characters but need thinking time between them. Farnsworth keeps each character at brisk speed \(c\) but stretches gaps so overall rate is slower \(s\).

char speed c 18
overall speed s 9

Farnsworth formula

Of PARIS's 50 units, 31 belong to characters and 19 are spacing. Send 31 at speed \(c\), then pad 19 until whole word fits budget for speed \(s\):

\[ t_c=\frac{1.2}{c}\text{s},\; t_{word}=\frac{60}{s}\text{s} \]
\[ u_{gap}=\frac{t_{word}-31t_c}{19}=\frac1{19}\left(\frac{60}{s}-\frac{37.2}{c}\right)\text{s} \]\(u_{gap}=t_c\) when \(s=c\)

This is why 5-WPM practice can still contain crisp 18-WPM letters — only silence dilated.

\[ WPM_{eff}= \frac{60}{31t_c+19u_{gap}} \]
04 — Translator • Interactive

Text in, dits out — both ways

Type in either field; other updates live. Morse field accepts dots/dashes or Unicode · —; letters separated by spaces, words by /.

Plain textlive
Morse· — /
05 — Audio Lab • Web Audio API

See the envelope, hear the code

Proper Morse shaping: raised-cosine edges (≈5 ms) to kill key clicks. Watch envelope and listen.

Controls • visible feedback required
WPM 18Eff WPM 18
Tone 650 HzVol 0.50
key down
Oscilloscope • envelope with playhead

Envelope shows ON time. Playhead is amber. Edge shaping removes click sidebands — see next section for spectrum.

06 — Key Trainer • Tap

Send with finger, mouse, or Space

Hold short = ·, long = —. Gap timing decodes automatically. This is how straight key feels.

TAP / SPACEHold short=· long=—
buffer live ·speed 18 WPMWPM ref 18
decoded:
Koch trainer — learn by ear, not by table

Koch method: start with 2 letters at full speed, add one when 90% copy. Never count dots.

score 0 / 0
 

Koch order used: K M R S U A P T L O W I N J E F Y V G Q Z H B C D X — maximizes early distinction.

07 — Signal & Bandwidth • KaTeX

Why Morse punches through noise

Morse is narrow. Voice SSB needs ~2700 Hz. CW at 25 WPM needs ~40 Hz. That's why QRP 5W Morse goes worldwide when voice doesn't.

Keying rate

A string of dits at \(W\) WPM has fundamental keying frequency (one dit + one gap = 2 units):

\[ f_k=\frac{1}{2T_{dit}}=\frac{W}{2.4}\text{Hz} \]

Occupied bandwidth

Estimate using keying factor \(K\) (≈3 soft edges, ≈5 hard):

\[ B\approx K\cdot f_k=\frac{KW}{2.4}\text{Hz} \]30 WPM, K=3 → ~37 Hz; hard keying (K=5) nearly doubles
\[ \text{SNR gain vs SSB} \approx 10\log_{10}\frac{2700}{B} \text{ dB} \approx 14\text{ dB at 25 WPM soft} \]
Envelope & spectrum • interactive edge time
edge time tr 5.0 ms

Drag tr to 0 for rectangular key: watch sidelobes fill band. Increase it and skirts collapse.

08 — Information Theory • KaTeX

A handmade Huffman code

Vail's frequency weighting was intuition that Shannon made exact: minimize average transmission time, assign shortest signals to most frequent symbols.

Cost vs frequency — English letters
unit-cost English freq

Weighted average length

Let \(p_i\) frequency and \(\ell_i\) cost in time-units (dits=1, dahs=3, plus intra gaps). Expected units per letter:

\[ \bar{\ell}=\sum_i p_i\ell_i \approx \mathbf{__LBAR__}\text{ units/letter} \]uniform assignment would cost more

Shannon entropy — theoretical floor:

\[ H=-\sum_i p_i\log_2 p_i \approx 4.14\text{ bits/letter} \]
Morse is not a prefix code. E=· is prefix of I=··, which is prefix of S=···. In pure symbols ambiguous. Morse resolves in time domain — gaps are load-bearing information, not pauses. That third "symbol," silence of specific length, is what makes code work and what makes it strictly more than binary.

Bridge to binary: fixed-length codes like ASCII throw away frequency weighting to gain machine-friendly clock. Morse optimizes for human ear; binary optimizes for crystal oscillator.

\[ \text{Baudot 1870: }5\text{ bits}=32\text{ codes, needs FIGS/LTRS shift} \]
\[ \text{ASCII 1963: }7\text{ bits}=128\text{ codes, no shift} \]
09 — Learn • Koch + Farnsworth

Koch + Farnsworth = fastest path to 20 WPM

Don't memorize dots. Memorize sound shapes. Di-dah for A, dah-di-di-dit for B. At 18 WPM you stop counting and start hearing words.

1. Koch order

Start K and M (far apart). Add one at 90% copy. Order: K M R S U A P T L O W I . N J E F 0 Y V G 5 / Q 9 Z H 3 8 B ? 4 2 7 C 1 D 6 X

2. Farnsworth

Char speed 18-20 WPM always. Effective 10 WPM by stretching gaps. Shrink gaps as you improve.

3. Never visual

If you write · — and translate, you'll never exceed 10 WPM. Train ear to hand.

Practice: 15 min twice daily, not 2h weekly. First plateau at 10 WPM (counting→hearing), second at 20 WPM (letters→words). Both normal — push through.

Common pitfalls

MISTAKEFIX
Counting ditsRaise char speed to 18+
Visual tableAudio only trainer
5 WPM startStart 18/10 Farnsworth
Stuck on one letterDrill minimal pairs: S/H (... vs ....), D/B (-.. vs -...)
Goal speeds
5 WPM: license
12 WPM: conversational
20 WPM: ragchew
30+ WPM: contest

Koch progress: 2 letters = 18% English text coverage. 10 letters = 70% coverage. Full alphabet = 100% but numbers/punct add extra.

10 — Applications • Why still alive
Amateur Radio

Most active mode. 14.020-14.070 MHz wall-to-wall Morse at 20-30 WPM. QRP 5W + wire = worldwide because 200 Hz BW beats SSB 2700 Hz by ~11 dB.

BW≈WPM×1.2 Hz
Aviation & Nav

VOR, NDB, ILS IDs still send Morse: SFO = ... ..-. ---. No computer needed — AM detector + ear. Ultimate backup.

Failsafe
Assistive Tech

Sip-and-puff, single switch, eye blink → Morse → text. Used for ALS. 2 switches faster: one dit, one dah.

Accessibility
Emergency

Mirror flashes, flashlight, tapping pipes. SOS mirror seen 10+ miles. International distress as one prosign.

Covert & Puzzles

Hidden in music, movies, CTFs. Steganography: hide in image LSB as morse audio envelope.

BCI

Brain-computer interfaces test Morse as output: 2 mental states → dit/dah. Slow but 2 bits/sec with 95% accuracy.

11 — GNU Octave Lab • 12 Snippets

Same signal, in a scientific computer

Everything on this page reduces to arrays and timing — exactly Octave's home turf. Snippets run in Octave 7+ (most also MATLAB). Cover encoding, audio synthesis with proper envelope, spectral analysis, decoding, Farnsworth, information theory, practice file generation. Copy any block. Leading 1; marks file as script so inline functions allowed.

12 — Formulary • KaTeX Reference

All formulas

\[ T_{dit}=\frac{1200}{WPM}\text{ms} \]
\[ T_{dah}=3T_{dit},\; g_{elem}=1T,\; g_{letter}=3T,\; g_{word}=7T \]
\[ N_{PARIS}=50,\; N_{CODEX}=60\text{ alt} \]
\[ f_k=\frac{1}{2T_{dit}}=\frac{W}{2.4}\text{Hz},\; B\approx Kf_k=\frac{KW}{2.4}\text{Hz} \]
\[ H=-\sum p_i\log_2p_i,\; \bar\ell=\sum p_i\ell_i,\; \bar\ell\ge H \]
\[ WPM_{eff}=\frac{60}{31t_c+19u_{gap}},\; u_{gap}=\frac1{19}\left(\frac{60}{s}-\frac{37.2}{c}\right) \]
Morse achieves \(\bar\ell\approx\) __LBAR__ units/letter vs \(H\approx4.14\) bits — remarkably close for 1840, not optimal but time-weighted optimal for hand key.
CONCEPTVALUE
Dit at 20 WPM60 ms
PARIS at 20 WPM3.0 s
Chars/min≈5×WPM (PARIS)
Bits/sec≈0.6×WPM
Entropy letters~4.14 bits
Entropy English~1.1 bits with context
Morse avg~__LBAR__ units
SNR gain vs SSB at 25WPM~14 dB

Quick converter

5 WPM → dit 240ms
12 WPM → dit 100ms
20 WPM → dit 60ms
30 WPM → dit 40ms
40 WPM → dit 30ms
50 WPM → dit 24ms contest

Sources: ITU-R M.1677-1, Shannon 1948 & 1951, ARRL Handbook, Koch 1936, ITU-T G.709.