How do FM radio channels work?
Every FM station is a song racing from a studio, through a microwave dish, up a mast on a hill and into your radio at the speed of light. Tune the whole 88–108 MHz band, squeeze a station into its 800 kHz slot, and watch stereo, the 19 kHz pilot and RDS ride inside one signal.
▶ Play with it · Read the 60-second explainer · Watch the 40-second video
- A chain from studio to ear. An RJ's mic and the playout computer's songs, ads and jingles meet on a mixing console. An audio processor levels and limits the sound so it never swings the carrier past ±75 kHz. A microwave or fibre link carries it to a transmitter under a mast on a hill, and stacked antenna bays send it towards the horizon.
- 98.3 is a frequency. The number on the dial is the carrier frequency: 98.3 million wiggles a second, a wave about 3 m long. India's FM band runs from 88 to 108 MHz on a 100 kHz grid. Stations in one city must be at least 800 kHz apart, which is why many cities have 91.1, 91.9, 92.7, 93.5 and 94.3. Far-off cities reuse the same frequency.
- Frequency, not size, carries the sound. FM keeps the wave the same height and nudges its frequency: how far it swings is the loudness, how often it swings is the pitch. Carson's rule gives a bandwidth of 2 × (75 + 15) = 180 kHz. Treble is boosted before sending (50 µs pre-emphasis) and cut in the radio to remove hiss, and an FM radio locks onto the stronger of two stations: the capture effect.
- Stereo and RDS ride inside. L+R is sent as ordinary mono sound. L−R rides on a 38 kHz subcarrier, and a 19 kHz pilot tone tells the radio to decode stereo. At 57 kHz, the Radio Data System sends 1,187.5 bits a second: the 8-letter station name on your car display, song titles and traffic flags.
- The horizon sets the reach. FM travels in near-straight lines, so the radio horizon, about 4.12 × (√h₁ + √h₂) km, limits a station more than power does. A 150 m mast reaches roughly 55 km to a car. Walls cost about 10 dB, basements far more, and echoes off buildings cause flutter every 1.5 m. Phones use the earphone cord as their FM antenna.
- FM in India. Akashvani began FM in Madras in 1977 and now runs about 585 FM stations. Private FM came in auction phases: Radio City Bengaluru was first, in 2001; about 388 private stations are on air, paying 4% of revenue as a licence fee and royalties for music, and allowed only AIR's news. About 480 community stations serve local people. The government has advised phone makers to keep FM on, and digital radio may come next.
| Term | Meaning |
|---|---|
| Carrier frequency | The frequency a station transmits on, the number on the dial, such as 98.3 MHz. |
| Frequency modulation | Carrying sound by nudging a wave's frequency up and down, up to ±75 kHz for FM radio. |
| Channel spacing | How far apart stations must be: 800 kHz between private stations in one Indian city. |
| Carson's rule | An FM signal's bandwidth is about 2 × (deviation + highest audio frequency): 180 kHz for broadcast FM. |
| Pre-emphasis | Boosting treble before transmission (50 µs in India) so the receiver can cut it back, and the hiss with it. |
| Capture effect | An FM receiver locks onto the stronger of two signals on the same frequency and suppresses the weaker. |
| Pilot tone | A 19 kHz tone that marks a stereo broadcast and lets the radio rebuild the 38 kHz subcarrier for L−R. |
| RDS | Radio Data System: 1,187.5 bit/s of text on a 57 kHz subcarrier, including the station name. |
| Radio horizon | How far a transmitter can reach in a straight line past the Earth's curve: about 4.12 × (√h₁ + √h₂) km. |
From Armstrong's static-free experiment in 1935 to 585 Akashvani stations, private FM auctions and the first countries switching FM off.
- 1933 · Armstrong patents wideband FM (Edwin Howard Armstrong, New York, USA)
- 1935 · The static-free demonstration (Edwin Howard Armstrong, New York, USA)
- 1945 · FM moves to 88–108 MHz (US Federal Communications Commission, Washington DC, USA)
- 1961 · Stereo that mono radios can still play (Zenith and General Electric; US FCC, USA)
- 1977 · FM comes to India (All India Radio (Akashvani), Madras (now Chennai), India)
- 1984 · Text hidden inside FM: RDS (European Broadcasting Union, Geneva, Switzerland)
- 2001 · Radio City Bengaluru: India's first private FM (Radio City, Bengaluru, India)
- 2011 · Phase III and the 800 kHz rule (Ministry of Information & Broadcasting, India)
The full story, with 26 moments, charts, people and 31 sources: glassbox.how/e/fmclear/history. The data lives in history.json.
Made with the Glassbox studio from this box's storyboard (window.glassbox.director). Free to reuse under CC BY 4.0.
| File | What | Size |
|---|---|---|
glassbox/reel.mp4 |
Reel / Short, with captions and soundtrack | 1080×1920 |
glassbox/video.mp4 |
YouTube video, with captions and soundtrack | 1920×1080 |
glassbox/slide-1…10.jpg |
Instagram carousel | 1080×1350 |
glassbox/thumb.jpg |
YouTube thumbnail | 1280×720 |
glassbox/cover.jpg |
Share card and repo social preview | 1200×630 |
glassbox/history-reel.mp4 |
“History in 10 moments” Reel / Short | 1080×1920 |
glassbox/history-slide-*.jpg |
History carousel | 1080×1350 |
glassbox/post.json |
Post copy and schedule used by the publish kit |
This box has no accounts and no ads, and it ships its own fonts and libraries. When you run it yourself it sends nothing anywhere. On glassbox.how, the site's /bar.js also loads Glassbox's analytics: Google Analytics to count visits (it asks first in the EU, UK and Switzerland, and stays off when your browser sends Global Privacy Control or Do Not Track) and ClickTrust to detect bots.
It remembers a few things in your own browser only, and never sends them anywhere:
| Browser storage key | What it holds |
|---|---|
fmclear.v1 |
Which chapters you have opened, your best quiz scores, and sound on or off. |
Exactly what each one sees is at glassbox.how/privacy.
- Code: MIT. Use it, change it, ship it.
- Explanations, text, images and videos (
glassbox.json,glassbox/): CC BY 4.0. Credit “Glassbox, glassbox.how/e/fmclear”. - Third-party parts keep their own licences: three.js (MIT), Geist, Instrument Serif (SIL OFL 1.1).
- The Glassbox name and logo aren't covered by either licence. See the terms.
Found a mistake? Open an issue. Corrections happen in public.
It's plain HTML, CSS and JavaScript. No build step and no dependencies. Run locally, it contacts no other website.
python3 -m http.server 8000Three.js and the fonts ship in vendor/ and fonts/, so it also works offline.
Then open http://localhost:8000.
| File | What |
|---|---|
index.html, css/app.css |
The page and its styles |
js/app.js, js/stage.js, js/ui.js, js/kit.js |
The shared Glassbox 3D engine: chapters, 3D stage, controls, quiz, video director |
js/fm.js |
FMClear's shared models and physics: the FM standard (±75 kHz, 50 µs, 19/38/57 kHz, RDS rate), Carson's rule and exact Bessel spectra, ITU-R BS.412 protection ratios and minimum fields, the radio horizon and a teaching coverage model, Indian FM facts, and the mast, car, radio and person models |
js/chapters/*.js |
One file per chapter: the 3D model, controls, text, key terms, quiz and video scenes |
glassbox.json |
Title, question, explainer beats, key terms, browser storage and credits shown on glassbox.how |
reel in each chapter |
The storyboard the Glassbox studio records into short videos |
glassbox/ |
The published video, slides, thumbnail and post copy |
fonts/, vendor/three/ |
Self-hosted Geist and Instrument Serif (SIL OFL 1.1) and three.js (MIT) |




