O'Connor House Labs

How a LORAN chain finds your fix

Published chain tables, tower coordinates, and the TD → path-difference → hyperbola math behind a LORAN fix, with a demo that shows the numbers.

I worked on NOAA's Loran Conversion Tool: take old Loran time differences from fisheries data and spit out latitude and longitude. That meant relearning how a LORAN chain is published, how a receiver is told which chain to listen to, and how measured TDs plus known tower coordinates turn into a fix.

This post is the technical path: published chain tables, the equations, then an interactive demo whose numbers plug straight into those equations.

What you are solving for


You do not need absolute time. You need two time differences and a book of station data.

A LORAN chain is a Master plus Slave transmitters on surveyed baselines. The Master fires first. Each Slave waits a known emission delay, then fires. Your receiver measures the time difference (TD) between hearing the Master and hearing each Slave. Same family of math as multilateration / TDOA.

Master

Reference transmitter. Everything is timed off its pulse.

Slave X / Y

Partner stations. Each has a published coding delay and fixed coordinates.

GRI

Group Repetition Interval. The chain ID you dial into the receiver so it locks the right pulse group.

Coding delay (CD)

Extra wait after the baseline travel time, so the receiver can tell which Slave answered.

Emission delay (ED)

Baseline travel time / c plus coding delay. Published (effectively) once you know the tower positions and CD.

Line of position

Every place with the same TD for one Master-Slave pair. A hyperbola (LOP).

The chain is in the book


Before you measure anything, you pick a chain and load the published tower data.

LORAN was not "scan the sky and invent a constellation." Chains were named, numbered, and printed. A navigator (or a fisheries dataset, or a conversion tool) had to know which chain to listen for. That choice is the GRI: a four-digit station number such as 9960 (Northeast U.S.A.) or 7980 (Southeast U.S.A.). The receiver is set to that interval so it syncs to the right Master/Slave pulse group.

Once you know the chain, you still need the towers themselves: Master lat/lon, each Slave lat/lon, and each Slave's coding delay. That is what navigators used when setting up the calculation. The receiver measures TDs. The book supplies the geometry those TDs are relative to.

Real LORAN-C also used an effective groundwave propagation speed (close to, but not exactly, c). The demo below slows light way down and works in a flat 2D map, but the algebra is the same shape as the book problem.

1982 Station Coverage table listing LORAN-C chain numbers, number of pairs, and locations.
Station coverage, 22 Nov 1982. "Station" is the GRI. "No. of Pairs" is how many Master-Slave pairs that chain published.
LORAN-C Stations table with ID, coding delay, and Master and Secondary station latitudes and longitudes.
Published coordinates: ID (GRI + Slave letter), coding delay (CD), Master and Secondary lat/lon. East and South are minus.

Equations for a fix


Measure two TDs. Subtract known emission delays. Convert to path differences. Intersect two hyperbolas.

For one Master-Slave pair, the receiver observes:

Measured time difference

TD = tSlave - tMaster

Time from Master arrival to Slave arrival at your antenna.

The Slave did not fire at the same instant as the Master. It waited the emission delay ED (baseline travel time plus coding delay). Strip that out and multiply by propagation speed to recover the path-length difference:

Path difference

Δ = c · (TD - ED)

ED = (baseline / c) + coding_delay

Δ is distance to Slave minus distance to Master. Every point with the same Δ lies on one hyperbola with foci at the two towers.

Do that for Slave X and Slave Y. You get ΔX and ΔY, two hyperbolic LOPs, and their intersection is the fix. In software (or on a chart), you solve for the point P where:

Fix conditions

|P - SlaveX| - |P - Master| = ΔX

|P - SlaveY| - |P - Master| = ΔY

Diagram of a LORAN-C hyperbolic fix: Master M with Slaves X and Y, two lines of position crossing at the observer.
Green LOP from M-X, red LOP from M-Y, hexagon at the crossing. Graphics: Orbiter Technologies AB.

Demo: watch the numbers


Scaled light speed c = 80. Coding delays X = 1.4s, Y = 2.6s. Drag the receiver and the TDs change.

Hit Play. The HUD shows TD(X), TD(Y), emission delays, and c·(TD-ED) for each pair. Those path Δ values are the hyperbola constants. Where the two curves meet is the fix.

At the demo's default receiver position, the readout lands on numbers like this (rounded the same way the HUD does):

Default demo readout

EDX ≈ 7.79s    TDX ≈ 8.26s

EDY ≈ 9.8s    TDY ≈ 11.34s

ΔX = c·(TDX - EDX) ≈ 38 map-units

ΔY = c·(TDY - EDY) ≈ 123 map-units

Plug those Δ values into the two hyperbola equations with the demo's Master and Slave positions. The unique crossing in the coverage area is the receiver. Move the receiver, rerun Play, and watch TD and Δ update: same algebra, new curves, new fix.

Where this came from


Short context only. The math above is the point.

  1. 1940s

    LORAN-A

    LORAN-A in WWII from MIT's Radiation Lab and Bell Labs, ~1850-1950 kHz. The Coast Guard ran the operational side. Envelope matching, shorter range than what came next.

  2. 1950s

    Cytac → Loran-C

    Sperry's Cytac brought phase comparison at ~100 kHz. Rickover pushed it operational; Coast Guard stood up chains. That is LORAN-C: the published GRI tables and station lat/lon sheets above.

  3. Later

    Charts, GPS, eLoran

    Civilian receivers and charted rates made TD-to-fix routine. GPS replaced day-to-day use; low-frequency LORAN (and eLoran) still shows up as backup talk because the signals are hard to jam. US Loran-C transmissions stopped 8 February 2010.