LAB-013 · build guide
From Spectra to a Galactic Rotation Curve
Dee Okafor ·
This is the measurement that made us take the hobby seriously, years before the signal. With a horn or a small dish, a laptop and a few weeks of evenings, you can measure how fast the Milky Way rotates at different distances from its centre, and see for yourself that it doesn’t slow down the way the visible matter says it should. It’s one of the most satisfying results available to an amateur radio telescope, and the method is old enough to be in every textbook.
You’ll need a receiver that reliably shows the line (LAB-008, LAB-009) and to be comfortable converting spectra to LSR velocity (LAB-012).
The idea: the tangent point
Assume gas in the Galactic disc moves in circular orbits around the centre. Look out along the plane at longitude l, somewhere between 0° and 90°. Your sightline passes through gas at many distances from the Galactic centre. One point along that sightline is closest to the centre: the place where the sightline is tangent to a circle around it. At that tangent point, the gas’s orbital motion is pointed directly along your line of sight, so it shows the largest radial velocity anywhere on that sightline.
That’s the high-velocity edge of the spectrum you saw in LAB-012. It’s called the terminal velocity, v_t. And from simple geometry the tangent point sits at a known distance from the centre:
R = R₀ × sin l
where R₀ is the Sun’s distance from the Galactic centre. The rotation speed of the gas there is the terminal velocity plus the Sun’s own contribution along that line:
V(R) = v_t + V₀ × sin l
where V₀ is the Sun’s orbital speed. One spectrum, one longitude, one point on the rotation curve.
Which constants
The traditional values, adopted by the IAU in 1985, are R₀ = 8.5 kpc and V₀ = 220 km/s. More recent measurements put R₀ nearer 8.2 kpc and V₀ somewhat higher, in the 230s. Use the IAU values if you want to compare with older published curves, which most amateur references still do; just say which you used. The shape of the curve you get doesn’t change much either way.
Which longitudes
The method works for 0° < l < 90° in the first quadrant (and 270° to 360° in the fourth, for southern observers). In practice:
- Below about l = 20°, the inner Galaxy has a bar and the gas doesn’t move in circles, so the method breaks down.
- Above about l = 70°, the terminal velocity gets small and the tangent point is close to the Sun’s own orbit, so small errors in v_t become large errors in V.
The useful range is roughly l = 20° to 70°, every 5° or 10°. Bench 1 shows what the transit planner gives from 40° N: l = 30° peaks at about 47° altitude and l = 60° at about 74°, so the whole range is comfortably up. At much higher northern latitudes the low end gets hard; southern observers have it easy. The l = 30° and l = 330° target pages list the model terminal velocity and transit times month by month, and the sky targets index covers the rest of the plane.
Plan each longitude for its transit, so you’re observing it at its highest and the pointing is simple: due south, at the altitude the planner gives.
Finding the terminal velocity
This is the judgement call. The emission doesn’t end at a sharp edge; it tails off, because the gas has random motions of several km/s on top of its orbit and because your beam covers a range of longitudes.
A consistent rule matters more than which rule you pick. Common choices:
- the velocity where the emission falls to a fixed fraction (say half) of the outermost peak, or
- the velocity where the emission falls into the noise, at some multiple of the noise level.
Whichever you use, apply it the same way to every spectrum, and note it with your results.
Beam smearing. A horn with a 20 to 25 degree beam pointed at l = 30° is also collecting from l = 20°, which has a higher terminal velocity. The edge of the profile gets pulled outward and the curve comes out biased. A 3 m dish’s 4.9 degree beam (Bench 3) cuts this down a lot. With a horn you’ll still see the shape; just don’t expect the absolute numbers to match published curves closely.
Worked example
Suppose the emission edge toward l = 30° on 9 October, observed at transit from 40° N 75° W, is at 1419.920 MHz. Bench 2 runs it through the Doppler calculator: +102.5 km/s topocentric, LSR correction about −11.3 km/s, so v_t ≈ +91.2 km/s.
With R₀ = 8.5 kpc and V₀ = 220 km/s:
- sin 30° = 0.5
- R = 8.5 × 0.5 = 4.25 kpc
- V = 91.2 + 220 × 0.5 = 201 km/s
One point: at 4.25 kpc from the centre, the gas orbits at about 201 km/s. These numbers are an illustration of the arithmetic; your own edge frequency is what goes in.
The tangent-point geometry for the useful range, with the IAU constants:
| l | R = R₀ sin l (kpc) | V₀ sin l (km/s) |
|---|---|---|
| 20° | 2.91 | 75.2 |
| 30° | 4.25 | 110.0 |
| 40° | 5.46 | 141.4 |
| 50° | 6.51 | 168.5 |
| 60° | 7.36 | 190.5 |
| 70° | 7.99 | 206.7 |
Add your measured v_t at each longitude to the right-hand column and plot V against R.
What you’ll see
If the Galaxy’s mass were concentrated where its stars and gas visibly are, rotation speed would fall off with distance beyond the bulk of that mass, the way the outer planets orbit the Sun more slowly than the inner ones. It doesn’t. Over the range you can measure this way, the curve comes out roughly flat: something around 200 km/s or a bit more, more or less independent of R.
That flatness, seen in the Milky Way and in many other galaxies, is a central piece of the evidence that galaxies contain far more mass than we see. You will have measured it with parts that cost about $150 and a lot of patience. We’ve done this for every new person who has worked at Sixmile, and it still lands.
Errors that matter, in order
- The LSR correction. Up to tens of km/s depending on the date. Skip it and your points scatter wildly between nights. The Doppler calculator handles it.
- Choosing the edge. A few km/s, maybe more at low signal-to-noise. Consistency beats cleverness.
- Beam smearing. Biases v_t upward with a wide beam. Narrower beam, smaller bias.
- Pointing. With a horn, a couple of degrees doesn’t matter. With a dish, it does.
- Frequency reference. About 0.3 km/s per ppm at 1420 MHz. Negligible on a TCXO dongle such as the V3.
Repeat each longitude on at least two or three nights. If a point moves by more than a few km/s after the LSR correction, look for a cause before averaging it in.
Where this goes next
Points beyond the Sun’s orbit need a different method, because the tangent-point geometry only works inside it. That requires distances from elsewhere, and it’s beyond what this paper covers. The Radio Sky and How to Observe It goes further into Galactic structure from the hydrogen line, and Is Anyone Out There? is a good account of how the same frequency became the starting point for SETI, which is how this all began for us. Why 1420 MHz in particular is in LAB-005.
The book links are affiliate links. They’re also genuinely the two we’d hand you. If you were going to read them anyway, buying through us helps cover a receiver we’d like to replace.
On the bench
The numbers in this paper, worked with the same code as our calculators. Open any of them to change the inputs to your own parts.
| Input | Value |
|---|---|
| Latitude (°) | 40 |
| Longitude (°E) | -75 |
- l = 0° at transit
- 21 ° alt
- l = 30° at transit
- 47 ° alt
- l = 60° at transit
- 74 ° alt
- l = 90° at transit
- 82 ° alt
- l = 120° at transit
- 67 ° alt
- l = 180° at transit
- 79 ° alt
| Input | Value |
|---|---|
| Observed frequency (MHz) | 1419.92 |
| Date (UTC) | 2026-10-09 |
| Time (UTC) | 22:30 |
| Latitude (°) | 40 |
| Longitude (°E) | -75 |
| Galactic l (°) | 30 |
| Galactic b (°) | 0 |
- v LSR
- +91.2 km/s
- Tune for 0 km/s LSR
- 1420.3523 MHz
- Topocentric velocity
- +102.5 km/s
- LSR correction
- −11.3 km/s
| Input | Value |
|---|---|
| Dish diameter (m) | 3 |
- Dish gain
- 30.4 dBi
- Half-power beamwidth
- 4.9 °
- Effective area
- 3.89 m²
- Focal length
- 1140 mm