Skip to content

Frequency and phase modulation

The message turns the carrier's angle: the phase in PM, its slope in FM. A tone makes Bessel sidebands, and Carson's rule gives the band.

Before this27.1 · 27.2 · 2 more
Chapter 27 · Lesson 4 of 5

First, the picture

Here a message moves a carrier’s angle, not its size, and a slow tone turns the spectrum into a comb of lines. Watch the carrier’s line shrink and vanish as the swing grows, its power spreading into more and more lines.

The index decides the sidebands

Carrier 2000 Hz, modulating tone 100 Hz, sampled at 16 kHz: the line heights.

β = 0.5: a carrier of 0.938 and one strong pair of sidebands (0.242); Carson's band, 300 Hz, holds 99.8 % of the power.

β
0.500
carrier
0.938
Carson band
300 Hz
power inside
99.8 %
0.00 / 13.00 s
Describe this picture

The line heights of an FM tone: carrier 2000 Hz, modulating tone 100 Hz, sampled at 16 kHz. One panel, line height from 0 to 1.05 against frequency from 750 to 3250 Hz. Each line is a stem with a round head, at 2000+100k2000+100k Hz for kk from −12-12 to 1212; the carrier’s stem has a square head. Carson’s band is a light fill between two dashed edges. The readouts are β\beta, the carrier’s height ∣J0∣\lvert J_0\rvert, the Carson band in hertz and the power inside it in percent. The 13 s clip opens at β=0.5\beta=0.5: a carrier of 0.938 and one strong pair of sidebands, 0.242, with a 300 Hz band holding 99.8 % of the power. The index grows to 2.405, where the carrier line is gone (0.000) and all the power sits in the sidebands; the band is 681 Hz and holds 99.1 %. It ends at β=5\beta=5: 17 lines above 0.01, a carrier of only 0.178, and a 1200 Hz band that still holds 99.4 %. After the clip a slider, “Modulation index β”, runs from 0 to 8 in steps of 0.05 (arrow keys 0.05, Page Up and Page Down 0.5), and the caption gives the carrier, the Carson band and the power inside. The button “Hear it” plays one second of the tone.

The index decides the sidebands

In “Lift the message, and the envelope carries it” of Amplitude modulation (27.1), the message rode on the carrier’s size. The carrier’s peaks traced 1+μx[n]1+\mu x[n], and an envelope detector read them back. Anything that changes the level on the way changes that message too.

This page keeps the size fixed and moves the angle instead. The signal is

y[n]=cos⁡(Ω1n+ϕ[n]),y[n]=\cos\big(\Omega_1n+\phi[n]\big),

with the carrier at Ω1=2πf1/fs\Omega_1=2\pi f_1/f_s. In “Where the wave starts” of Sinusoids (3.2), the phase ϕ\phi was one fixed number. Here it is a signal, ϕ[n]\phi[n], that changes from sample to sample.

Phase or frequency

There are two ways to put a message x[n]x[n] into that angle. In phase modulation (PM), the phase is the message times a constant, so the wave runs ahead where xx is positive and behind where it is negative. In frequency modulation (FM), the message sets how fast the phase turns.

In “Reading a chirp” of Spectrograms & the STFT (15.5), a tone’s frequency was the slope of its phase, divided by 2π2\pi. In FM that slope is set so that the frequency at sample nn is

f1+fdev x[n] Hz.f_1+f_\text{dev}\,x[n]\ \text{Hz}.

I scale the message so that its largest size is 1. Then fdevf_\text{dev}, the peak frequency deviation, is the furthest the frequency moves away from the carrier.

A tone as the message

Let the message be one slow tone, cos⁡(2πfmodt)\cos(2\pi f_\text{mod}t), at the modulating frequency fmodf_\text{mod}. The frequency then swings as f1+fdevcos⁡(2πfmodt)f_1+f_\text{dev}\cos(2\pi f_\text{mod}t), so the phase must be βsin⁡(2πfmodt)\beta\sin(2\pi f_\text{mod}t). Its slope is 2πfmodβcos⁡(2πfmodt)2\pi f_\text{mod}\beta\cos(2\pi f_\text{mod}t), and divided by 2π2\pi that is fdevcos⁡(2πfmodt)f_\text{dev}\cos(2\pi f_\text{mod}t) when

β=fdevfmod.\beta=\frac{f_\text{dev}}{f_\text{mod}}.

This β\beta is the modulation index: the largest swing of the phase, in radians. On this page β\beta means only that. It is not the Kaiser parameter of chapters 15 and 19, nor the constant phase of 17.3.

Sampled at fsf_s, the FM tone is

y[n]=cos⁡ ⁣(2πf1nfs+βsin⁡2πfmodnfs).y[n]=\cos\!\Big(\frac{2\pi f_1n}{f_s}+\beta\sin\frac{2\pi f_\text{mod}n}{f_s}\Big).

I take f1=2000f_1=2000 Hz, fmod=100f_\text{mod}=100 Hz and fs=16f_s=16 kHz. Think of a singer’s vibrato: fdevf_\text{dev} sets how far the pitch swings, and fmodf_\text{mod} how often. Make the swing wide and fast enough, and the note stops sounding like a wobble and becomes a buzz.

Why the spectrum is a comb

Call the modulator’s own angle θn=2πfmodn/fs\theta_n=2\pi f_\text{mod}n/f_s. The arrow ejβsin⁡θe^{j\beta\sin\theta} comes back to where it started each time θ\theta goes once round, so it is a repeating wave in θ\theta. By Fourier series coefficients (7.2), it is a sum of harmonics ejkθe^{jk\theta}, with coefficients

12π∫−ππejβsin⁡τe−jkτ dτ.\frac1{2\pi}\int_{-\pi}^{\pi}e^{j\beta\sin\tau}e^{-jk\tau}\,d\tau .

Write the integrand as a cosine plus jj times a sine of kτ−βsin⁡τk\tau-\beta\sin\tau. The sine part is odd in τ\tau, so it adds up to zero. What remains has a name:

Jk(β)=12π∫−ππcos⁡(kτ−βsin⁡τ) dτ.J_k(\beta)=\frac1{2\pi}\int_{-\pi}^{\pi}\cos(k\tau-\beta\sin\tau)\,d\tau .

These are the Bessel functions of the first kind. This integral is all this page needs about them. Their shapes I read off the instrument.

As in Complex exponentials & phasors (3.4), a cosine is the real part of an arrow, so y[n]y[n] is the real part of ejΩ1nejβsin⁡θne^{j\Omega_1n}e^{j\beta\sin\theta_n}. Put the sum of harmonics in, and take the real part:

y[n]=∑k=−∞∞Jk(β)cos⁡(Ω1n+kθn).y[n]=\sum_{k=-\infty}^{\infty}J_k(\beta)\cos(\Omega_1n+k\theta_n).

Term kk is a cosine at f1+kfmodf_1+kf_\text{mod}. So the spectrum is a comb of lines, spaced fmodf_\text{mod} apart around the carrier, and line kk has height ∣Jk(β)∣\lvert J_k(\beta)\rvert. Line −k-k is as tall as line kk, because J−k(β)=(−1)kJk(β)J_{-k}(\beta)=(-1)^kJ_k(\beta).

The maths behind it · coordinates in a basis

The harmonics ejkθe^{jk\theta} form a basis for repeating waves, and a wave’s Fourier coefficients are its coordinates in that basis (7.2). The FM tone’s sidebands are the coordinates of ejβsin⁡θe^{j\beta\sin\theta}: the identity ejβsin⁡θ=∑kJk(β)ejkθe^{j\beta\sin\theta}=\sum_kJ_k(\beta)e^{jk\theta} is often taken as the definition of JkJ_k.

The picture at the top of the page draws this comb for f1=2000f_1=2000 Hz and fmod=100f_\text{mod}=100 Hz, with line kk at 2000+100k2000+100k Hz. Drag its slider and watch three indices.

At β=0.5\beta=0.5 the carrier keeps a height of 0.938 and the first pair of sidebands 0.242. The next pair is only 0.031, and the pair after that 0.003. A small index gives a carrier and two sidebands, much like the spectrum of AM.

At β=2.405\beta=2.405 the carrier line has gone. That is the first zero of J0J_0, at 2.4048. The power has moved into the sidebands, at heights 0.519, 0.432 and 0.199 for the first three pairs.

At β=5\beta=5 there are 17 lines above 0.01, and the tallest is not the carrier but the fourth pair, at 0.391. Drag on and the carrier vanishes a second time, near β=5.52\beta=5.52. As the index grows, power leaves the carrier for more and more sidebands, and the comb widens.

The button “Hear it” plays one second of y[n]y[n] at the current index. Every line sits on a whole multiple of 100 Hz, because 2000=20⋅1002000=20\cdot100, so the sound repeats 100 times a second. Near β=0\beta=0 you hear an almost pure 2000 Hz tone. As β\beta grows, more lines join in and the tone turns into a buzz.

Carson’s rule

A cosine of height 1 has power 12\tfrac12, and the lines share it: line kk carries Jk(β)2/2J_k(\beta)^2/2. The arrow ejβsin⁡θe^{j\beta\sin\theta} always has length 1. So by Parseval’s relation, from “Where the power goes” in Fourier series coefficients (7.2),

∑k=−∞∞Jk(β)2=1,\sum_{k=-\infty}^{\infty}J_k(\beta)^2=1 ,

and Jk(β)2J_k(\beta)^2 is line kk‘s share of the power.

Carson’s rule says that a band centred on the carrier and 2(β+1)fmod2(\beta+1)f_\text{mod} wide holds most of the power. It reaches β+1\beta+1 line spacings out on each side. The readout “power inside” adds the shares of the lines whose ∣k∣\lvert k\rvert is at most β+1\beta+1.

At β=0.5\beta=0.5 the band is 300 Hz wide and holds 99.8 % of the power. At 2.405 it is 681 Hz and holds 99.1 %, and at 5 it is 1200 Hz and holds 99.4 %. For every index from 0 to 8 it holds at least 95.9 %, and 99.1 % or more when the index is a whole number.

The low values come just below a whole number. At β=5.95\beta=5.95 the band’s edge sits 6.95 spacings out, just short of line 7, which carries 3.1 % of the power. The band holds only 96.2 %. At β=6\beta=6 the edge reaches line 7, and the share jumps back to 99.3 %.

The maths behind it · probabilities and tails

The shares Jk(β)2J_k(\beta)^2 are positive and add to 1, like the probabilities of the outcomes kk. The power inside Carson’s band is then the probability of landing inside it. “99 % of the power” is the same statement as a tail probability of 1 % beyond the band’s edges.

The message is the phase’s slope

Now for a real message. Mine is two slow tones, 0.6sin⁡(2π⋅8t)+0.4sin⁡(2π⋅20t+1)0.6\sin(2\pi\cdot8t)+0.4\sin(2\pi\cdot20t+1), divided by 0.9982, its largest value, so that its peak is 1. Its lowest value is then −0.931-0.931. The carrier is at 1000 Hz, the deviation is fdev=300f_\text{dev}=300 Hz, and I take 0.25 s at fs=8f_s=8 kHz, which is 2000 samples.

At each sample, FM turns the phase by the carrier’s step plus 2πfdevx[n]/fs2\pi f_\text{dev}x[n]/f_s. The message’s part adds up, sample after sample:

ϕ[n]=2πfdevfs∑i=0n−1x[i].\phi[n]=\frac{2\pi f_\text{dev}}{f_s}\sum_{i=0}^{n-1}x[i].

To get the message back, I need the speed of the turning. In “A spinning arrow’s length and speed” of The Hilbert transform and the analytic signal (27.2), the analytic signal was one arrow. The step of its angle from n−1n-1 to nn, divided by 2π2\pi, was the instantaneous frequency. For the FM signal yy, with analytic signal yany_\text{an}, that is

finst[n]=∠(yan[n] yan∗[n−1])2πf_\text{inst}[n]=\frac{\angle\big(y_\text{an}[n]\,y_\text{an}^*[n-1]\big)}{2\pi}

cycles per sample. Times fsf_s that is a frequency in hertz. Subtract the carrier’s 1000 Hz and divide by 300 Hz, and what is left is the message that set that step, x[n−1]x[n-1]. This is a discriminator: it turns a change of frequency into a change of value.

The message is the phase's slope

Message 0.6 sin(2π·8t) + 0.4 sin(2π·20t + 1), peak 1; carrier 1000 Hz, deviation 300 Hz, 0.25 s at 8 kHz.

An FM signal: constant height, its waves bunching and spreading as the frequency swings between 721 Hz and 1300 Hz.

frequency range
721 Hz–1300 Hz
largest error
—
0.00 / 12.00 s
Describe this picture

The message 0.6sin⁡(2π⋅8t)+0.4sin⁡(2π⋅20t+1)0.6\sin(2\pi\cdot8t)+0.4\sin(2\pi\cdot20t+1), peak 1, on a 1000 Hz carrier with a 300 Hz deviation, 0.25 s at 8 kHz. Three stacked panels share the time axis, from 0 to 0.25 s; on a narrow screen the first shows only 0.15 to 0.23 s, so its waves stay far enough apart to see. The first draws the FM signal y[n]y[n] as a thin solid line, from −1.1-1.1 to 1.11.1. The second draws the recovered phase ϕ\phi, from −5-5 to 60 rad. The third draws the recovered message as a solid line and the sent one as a thin dashed line on top of it, from −1.2-1.2 to 1.21.2. The readouts are the frequency range in hertz and the largest error; there is no control. The 12 s clip opens on the FM signal alone: constant height, its waves bunching and spreading as the frequency swings between 721 Hz and 1300 Hz. From 3 s the phase draws, after removing the carrier’s steady turn: it wanders between −1.61 and 54.01 rad and does not look like the message. From 7 s its slope draws, in hertz minus the carrier, divided by 300, together with the sent message: the message is recovered to within 10⁻¹¹, rounding only.

Watch the middle panel: the phase drifts far from the message, but its slope, in the bottom panel, lands on the sent message.

The frequency swings between 721 Hz and 1300 Hz, as 1000+300x[n]1000+300x[n] says it should, since the message runs from −0.931-0.931 to 1. Yet the phase does not look like the message at all. It rises to 54.01 rad at 0.065 s, falls back to 2.26, rises to 47.32 and falls to −1.61-1.61 at 0.245 s. Its slope is what tracks the message.

The recovered message matches the sent one to within 10−1110^{-11}: what is left is the computer’s rounding. The analytic signal comes from the FFT method of 27.2, which has trouble near the ends of a record. Here the record holds whole periods of the carrier and of both tones, so there are no ends to cause trouble.

PM, FM and the index

Phase modulation would put the message straight into the middle panel. FM puts its running sum there instead. So FM of a message is PM of its running sum. Reading the phase itself recovers PM, and reading its slope recovers FM.

The index of this record is large. The 8 Hz tone alone swings the frequency by 300⋅0.6/0.9982=180300\cdot0.6/0.9982=180 Hz, so its index is 180/8=22.5180/8=22.5. The 20 Hz tone swings it by 120 Hz, so its index is 6.0.

Both are far above 1: this is wide-band FM, the kind broadcast radio uses. There the deviation is 75 kHz and the audio reaches 15 kHz, so a 15 kHz tone has β=5\beta=5 and Carson’s band is 2(5+1)⋅15=1802(5+1)\cdot15=180 kHz wide.

The FM signal’s height never changes: its envelope ∣yan[n]∣\lvert y_\text{an}[n]\rvert is 1 at every sample. The discriminator uses only angles, and multiplying the received signal by a positive number leaves every angle as it was.

Scaled by 0.01, this record still gives back the message to within 10−1110^{-11}. In AM the level is the message, so a change of level is a change of message. That is why FM resists fading and changes of level.

Worked example

  1. Carson’s rule. Take β=5\beta=5 and fmod=100f_\text{mod}=100 Hz. The band is 2(5+1)⋅100=12002(5+1)\cdot100=1200 Hz wide and reaches out to lines ∣k∣≤6\lvert k\rvert\le6. The heights ∣J0∣\lvert J_0\rvert to ∣J6∣\lvert J_6\rvert are 0.1776, 0.3276, 0.0466, 0.3648, 0.3912, 0.2611 and 0.1310, and their squares 0.0315, 0.1073, 0.0022, 0.1331, 0.1531, 0.0682 and 0.0172. The carrier counts once and each other line twice, for lines kk and −k-k: 0.0315+2⋅0.4810=0.99360.0315+2\cdot0.4810=0.9936. The band holds 99.4 % of the power.
  2. The index of the demodulation clip. The deviation is 300 Hz for the whole message, which peaks at 1. Its 8 Hz part has height 0.6/0.9982=0.6010.6/0.9982=0.601, so it swings the frequency by 180 Hz, and β=180/8=22.5\beta=180/8=22.5. The 20 Hz part swings it by 120 Hz, and β=120/20=6.0\beta=120/20=6.0.

Where you’ll meet this

FM broadcast radio and two-way radios carry speech and music as FM. In 1973 John Chowning showed that a modulator at an audio frequency makes rich timbres from just two oscillators. With f1f_1 and fmodf_\text{mod} in a whole-number ratio, as in the first instrument, the lines fall on the harmonics of one pitch. Changing β\beta during a note brightens and darkens it, and this FM synthesis has been the sound of synthesisers since the 1980s.

Modems and Bluetooth send bits by frequency-shift keying: one frequency for a 0 and another for a 1, which is FM with a message of steps. Sending symbols as points in the complex plane comes next, in Digital modulation and OFDM (27.5).

Reference card

QuantityFormulaNotes
PMcos⁡(Ω1n+ϕ[n])\cos(\Omega_1n+\phi[n]), ϕ\phi the message times a constantmessage in the phase
FMinstantaneous frequency f1+fdevx[n]f_1+f_\text{dev}x[n]message in the phase’s slope
FM phaseϕ[n]=2πfdev∑i=0n−1x[i]/fs\phi[n]=2\pi f_\text{dev}\sum_{i=0}^{n-1}x[i]/f_sPM of the running sum
Indexβ=fdev/fmod\beta=f_\text{dev}/f_\text{mod}tone message
Tone spectrumlines at f1+kfmodf_1+kf_\text{mod}, heights ∣Jk(β)∣\lvert J_k(\beta)\rvertcarrier gone at β = 2.405
Bessel functionJk(β)=12π∫−ππcos⁡(kτ−βsin⁡τ) dτJ_k(\beta)=\frac1{2\pi}\int_{-\pi}^{\pi}\cos(k\tau-\beta\sin\tau)\,d\tau∑kJk(β)2=1\sum_kJ_k(\beta)^2=1
Carson’s rule2(β+1)fmod2(\beta+1)f_\text{mod}at least 95.9 % of the power, β ≤ 8
Discriminator(fs∠(yan[n] yan∗[n−1])/2π−f1)/fdev\big(f_s\angle(y_\text{an}[n]\,y_\text{an}^*[n-1])/2\pi-f_1\big)/f_\text{dev}gives x[n−1]x[n-1]

End of lesson 27.4

Where to go next.

Phasorium
LibraryEvery lesson, in order

Parts

About Phasorium
Look