Documentation sections
FM Modulation Index & Bandwidth Calculator
POSThttps://rftools.io/ api/ py/ v1/ calculate
Slug fm-modulation-index. Calculate FM modulation index, Carson's rule bandwidth, and SNR improvement over AM. Determine Bessel bandwidth for FM transmitter design. Free, instant results.
Inputs
Send every one of these in inputs, in the units shown. Most are required: a call without one is refused (400) and costs nothing; one the calculator can do without takes the default shown. An input outside its range is still computed and flagged in the provenance.
| Name | Unit | Range | Default | Description |
|---|---|---|---|---|
| frequencyDeviationnumber | kHz | at least 0.001 | 75 | Peak frequency deviation of the FM signal |
| messageFreqnumber | kHz | at least 0.001 | 15 | Highest modulating signal frequency |
| channelLownumber | kHz | at least 0 | 98000 | Where the channel the emission must fit begins; the carrier sits at its centre. FM broadcast channels are 200 kHz wide, 88.1 to 107.9 MHz (47 CFR 73.201) |
| channelHighnumber | kHz | at least 0 | 98200 | Where the channel ends |
Retired, still accepted and ignored with a warning: carrierFreq (Carrier Frequency, 2026-10-12).
Outputs
Returned in values, by key. A value that is unbounded or undefined is null.
| Field | Unit | Description |
|---|---|---|
| modulationIndexheadline | none | Modulation Index (β) |
| carsonBandwidth | kHz | Carson's Rule Bandwidth |
| besselBandwidth | kHz | The span of the sidebands above 1 % of the unmodulated carrier, 2·n·f_m with n the highest such order (Haykin, Communication Systems) |
| snrImprovement | dB | FM SNR improvement over AM: 10·log₁₀(3β²(β+1)) |
| occupiedBandwidth | kHz | The narrowest span of sidebands, the same on each side, holding 99 % of the power, 0.5 % left on each side (ITU Radio Regulations No. 1.153) |
| powerInChannel | % | The share of the emission's power inside the channel. The occupied bandwidth leaves 0.5 % on each side (ITU Radio Regulations No. 1.153), so below 99 % it does not fit the channel |
| sidebandsInChannel | none | Sidebands above 1 % of the unmodulated carrier inside the channel |
| sidebandsOutside | none | Sidebands above 1 % of the unmodulated carrier outside the channel: check them against the emission mask that applies |
Calling it
- Calculate: one call, the request and response in full, and its errors.
- Batch: this calculator with others, or a sweep, in one request.
- Solve for a target: the value of one input that brings an output to a target.