Skip to content

Amplitude modulation

Multiply a slow message by a fast carrier and its spectrum moves up; an envelope or a second multiply brings it back; mixing tunes receivers.

Before this19.1 · 4 more
Chapter 27 · Lesson 1 of 5

First, the picture

A slow message can ride on a fast wave, whose peaks trace the message out. Watch the dashed outline as the message is pressed in harder: at first it follows the message, then it folds up off zero.

Lift the message, and the envelope carries it

A 250 Hz carrier and a two-tone message (10 and 25 Hz, peak 1), 0.2 s at 8 kHz.

μ = 0.5: the carrier's peaks trace 1 + μx, whose lowest point is 0.532; the envelope is the message, lifted.

μ
0.50
lowest 1 + μx
0.532
samples folded
0
0.00 / 13.00 s
Describe this picture

One panel, against time from 0 to 0.2 s, with a vertical axis from −3.5 to 3.5: a 250 Hz carrier and a two-tone message (10 and 25 Hz, peak 1), 0.2 s at 8 kHz. The AM signal y[n]y[n] is a thin solid trace. The lifted message 1+μx1+\mu x is dotted, and the envelope ∣1+μx[n]∣\lvert1+\mu x[n]\rvert is dashed and drawn over it. The readouts are μ\mu, the lowest value of 1+μx1+\mu x over the 1600 samples, and how many samples are folded. The 13 s clip moves μ\mu from 0.5 to 1 and on to 1.5. The readouts go from 0.50, 0.532 and 0, to 1.00, 0.064 and 0, to 1.50, −0.405 and 240: there the envelope folds up and no longer follows the message. After the clip a slider, “Modulation index μ”, sets μ\mu from 0 to 2 in steps of 0.01 (arrow keys 0.01, Page Up and Page Down 0.1), and the caption gives the lowest 1+μx1+\mu x and the folded samples. The setting is kept in the link, as envelope.mu.

Lift the message, and the envelope carries it

Say I want to send a slow message, such as a voice, over a channel that only passes high frequencies. Radio is the classic case. An antenna sends a signal well only when it is not much smaller than the signal’s wavelength, and a voice’s wavelengths are tens to thousands of kilometres long.

The trick is to multiply the message by a fast cosine, the carrier. In “Multiply by a cosine and the spectrum splits in two” of Properties of the Fourier transform (8.2), that product moved the spectrum. It made two copies at half height, one centred on each of ±ω1\pm\omega_1.

In discrete time, “Slide the spectrum round the circle” of Properties of the DTFT (12.3) gave the same shift for one arrow ejΩ1ne^{j\Omega_1n}. A cosine is two half arrows, so:

x[n]cos⁡Ω1n↔ 12[X(ej(Ω−Ω1))+X(ej(Ω+Ω1))].\begin{aligned} &x[n]\cos\Omega_1n\\ &\quad\leftrightarrow\ \tfrac12\Big[X\big(e^{j(\Omega-\Omega_1)}\big)+X\big(e^{j(\Omega+\Omega_1)}\big)\Big]. \end{aligned}

Here x[n]x[n] is the message. I keep it slow, and I scale it so its largest value is 1. The carrier’s frequency is Ω1\Omega_1 in rad/sample, or f1=Ω1fs/2πf_1=\Omega_1f_s/2\pi in hertz. On the circle of 12.3 the copies wrap round, so I keep Ω1\Omega_1 plus the message’s highest frequency below π\pi.

Look at the copy centred on +Ω1+\Omega_1. Its part above Ω1\Omega_1 is the message’s positive frequencies, the upper sideband. Its part below is their mirror, the lower sideband.

So this product has two sidebands and nothing at the carrier’s own frequency. It is called DSB, for double sideband.

AM adds the carrier itself. I lift the message by 1 before I multiply:

y[n]=(1+μx[n])cos⁡Ω1n.y[n]=\big(1+\mu x[n]\big)\cos\Omega_1n.

The number μ\mu is the modulation index: how deeply the message moves the carrier’s size. It is local to this page. It is not the position between samples of Resampling by any factor (22.3), nor the step size of Adaptive filters: LMS (26.3).

Multiply it out and y[n]=cos⁡Ω1n+μ x[n]cos⁡Ω1ny[n]=\cos\Omega_1n+\mu\,x[n]\cos\Omega_1n. That is the carrier plus a DSB signal scaled by μ\mu. So AM’s spectrum is DSB’s two sidebands with a line at the carrier between them.

In “Multiplying by an envelope” of Operations on amplitude (2.2), a slow signal times a fast wave gave a product whose outline followed the slow one. Here the slow factor is 1+μx[n]1+\mu x[n]. Where it is positive, the carrier’s peaks lie on it. That outline is the envelope.

The picture at the top of the page draws all three: y[n]y[n], the dotted 1+μx1+\mu x, and the dashed envelope over it. Its message is two tones, 0.7sin⁡(2π10t)+0.3sin⁡(2π25t+0.5)0.7\sin(2\pi10t)+0.3\sin(2\pi25t+0.5), divided by its largest value, 0.9967, so that its peak is 1. Its pattern repeats every 0.2 s, the width of the panel.

Watch the dashed envelope as μ\mu goes from 0.5 to 1.5. At μ=1\mu=1, 1+μx1+\mu x dips to 0.064 but stays positive, and the envelope still follows it. At 1.5 it is below zero at 240 of the 1600 samples, and there the envelope folds up.

Where the envelope folds

Why does the picture break at 1.5? Where 1+μx[n]1+\mu x[n] goes below zero, y[n]y[n] is a carrier of size ∣1+μx[n]∣\lvert1+\mu x[n]\rvert turned upside down. Its peaks then trace ∣1+μx[n]∣\lvert1+\mu x[n]\rvert, which folds up off the zero line instead of following the message down. This is overmodulation.

So AM keeps the message in its envelope while 1+μx[n]1+\mu x[n] never goes negative. That needs 1+μmin⁡x≥01+\mu\min x\ge0, or μ≤1/∣min⁡x∣\mu\le1/\lvert\min x\rvert. It is tempting to say ”μ\mu up to 1”. But this message dips only to −0.936, so it overmodulates only from μ=1/0.936=1.068\mu=1/0.936=1.068.

Try it on the slider. At 1.06 no sample is folded. At 1.07, the first step past 1.068, ten are.

To read the envelope, a receiver needs no carrier of its own. An envelope detector is a rectifier and a smoother. It takes the size ∣y[n]∣\lvert y[n]\rvert of each sample, then a low-pass filter smooths away the carrier’s ripple. What is left is ∣1+μx[n]∣\lvert1+\mu x[n]\rvert, scaled by the average of ∣cos⁡∣\lvert\cos\rvert over a cycle, 2/π2/\pi.

DSB is the case without the added 1. Its envelope is ∣x[n]∣\lvert x[n]\rvert, which folds at every zero of the message. This message crosses zero four times in its 0.2 s, so an envelope detector would hand back ∣x∣\lvert x\rvert, not xx. DSB needs another way back, coherent demodulation, which the next instrument shows.

Where the power goes

The added carrier costs power. Average power is the mean of the square, as in “Average per sample” of How big is a signal (1.3). A cosine of size 1 has power 12\tfrac12. The message is slow and averages to zero, so the carrier and the sidebands add their powers:

Py=12+12μ2Px.P_y=\tfrac12+\tfrac12\mu^2P_x.

Here PxP_x is the message’s power, 0.292 for this one. The carrier’s 12\tfrac12 carries no message at all. At μ=0.5\mu=0.5, only 6.8 % of the AM signal’s power is in the sidebands, and at μ=1\mu=1 it is 22.6 %.

So AM spends most of its power on a line that tells the receiver nothing. What it buys is a receiver as simple as a rectifier and a smoother.

Mix it down, filter it out

Coherent demodulation

The other way back multiplies by the carrier again. Take 2y[n]cos⁡Ω1n2y[n]\cos\Omega_1n. Since 2cos⁡2θ=1+cos⁡2θ2\cos^2\theta=1+\cos2\theta:

2y[n]cos⁡Ω1n=(1+μx[n])+(1+μx[n])cos⁡2Ω1n.\begin{aligned} &2y[n]\cos\Omega_1n\\ &\quad=\big(1+\mu x[n]\big)\\ &\qquad+\big(1+\mu x[n]\big)\cos2\Omega_1n. \end{aligned}

The first part is the lifted message, back at low frequencies. The second is a copy around 2Ω12\Omega_1. A low-pass filter keeps the first part and removes the second.

Then I remove the carrier’s level, the 1, and divide by μ\mu. This is coherent demodulation. For DSB the same steps give x[n]x[n] directly, with no level to remove, so it works for DSB as well.

The multiplier 2cos⁡Ω1n2\cos\Omega_1n is made in the receiver, so it is called the local oscillator. Multiplying by it is mixing. In hertz I write its frequency fLOf_\text{LO}, and the multiplier is 2cos⁡(2πfLOn/fs)2\cos(2\pi f_\text{LO}n/f_s).

One filter, many stations

Mixing does more than demodulate. Many stations share the air, each at its own carrier. Mixing at fLOf_\text{LO} moves a component at frequency ff to ∣f−fLO∣\lvert f-f_\text{LO}\rvert and to f+fLOf+f_\text{LO}, which folds back if it passes fs/2f_s/2. Set fLOf_\text{LO} on the wanted station, and that station lands at 0 Hz.

Every other station lands somewhere else. So one fixed low-pass filter at 0 Hz picks out whichever station the oscillator is set to. I tune by moving the oscillator, not the filter. This is the idea of the superheterodyne receiver.

The instrument’s filter is the window method of “Cut the ideal, and the edge ripples” of Window-method FIR design (19.1). It is an ideal low-pass at 800 Hz, cut to 129 taps and shaped by a Hamming window, with its taps scaled to add up to 1. At 16 kHz, 800 Hz is Ωc=0.1π\Omega_c=0.1\pi. Its delay is (129−1)/2=64(129-1)/2=64 samples.

Below 500 Hz its gain stays within 0.013 dB of 1. From 1.5 kHz up it is at most −56.1 dB. At 800 Hz itself the gain is one half, as for every window-method cutoff.

The three stations each send a short tune. Station A sends a 330 Hz tone. Station B alternates notes of 262 and 392 Hz every quarter second, close to middle C and the G above it. Station C sends a 440 Hz tone that pulses four times a second.

Each station is AM with μ=0.8\mu=0.8, at 2, 4 and 6 kHz. Their messages reach 444 Hz, so after mixing the nearest unwanted sideband sits at 1556 Hz, inside the stop band.

Mix it down, filter it out

Three AM stations at 2, 4 and 6 kHz (μ = 0.8), sampled at 16 kHz, with noise of RMS 0.05 (seed 2710; measured 0.0499); tuned to station B.

The received band: three stations, each a carrier with two sidebands. The receiver's oscillator sits on station B, at 4 kHz.

station
B
tuned to
4 kHz
recovered SNR
—
Station
0.00 / 14.00 s
Describe this picture

Three AM stations at 2, 4 and 6 kHz (μ\mu = 0.8), sampled at 16 kHz, with noise of RMS 0.05 (seed 2710; measured 0.0499), tuned to station B. Two panels. The first is the spectrum, level in dB from −80 to 10 against frequency from 0 to 8 kHz; levels below −80 dB are drawn on the floor. The levels are in dB relative to an amplitude of 1, scaled as in “From raw FFT to volts” of Reading a spectrum: scaling and units (15.4), so each carrier reads 0.0 dB and the noise sits near −62 dB. The received band is a thin solid curve, the mixed one solid and the filtered one thick, each replacing the one before, and a dashed vertical marker stands at the local oscillator, 4 kHz. The second panel is the message, from −1.5 to 1.5 against time from 0.2 to 0.3 s: the recovered message solid, the sent message dashed. The readouts are the station, the frequency it is tuned to and the recovered SNR. In the 14 s clip the received band shows three stations, each a carrier with two sidebands. From 3 s the spectrum slides down by 4 kHz and a copy slides up by 4 kHz. What passes 0 Hz or 8 kHz folds back, and parts that land together add, so station B sits at 0 Hz and A and C at 2 and 6 kHz. From 8 s the filter’s shape, dotted, sweeps in from 0 Hz, everything above its band sinks to the floor, and the message panel draws station B’s tune, recovered with an SNR of 28.4 dB. After the clip, three buttons in a group named “Station” choose A, B or C (A reads 28.5 dB, C 23.9 dB); the choice is kept in the link, as tune.s. The button “Hear it” plays the recovered message once: 1 s at 16 kHz.

Watch station B slide down to 0 Hz as the oscillator mixes, and the filter keep only what lands below 800 Hz: B’s tune comes back with an SNR of 28.4 dB. Then choose another station and press “Hear it”. The same filter now gives a different tune, A at 28.5 dB and C at 23.9 dB.

The recovered SNR is the sent message’s power over the power of the error, both over the middle 0.75 s. It is in dB as in “Signal and noise, in decibels” of How big is a signal (1.3). Station C scores lower because its pulsing tune has less power, 0.19 against 0.50 for A, while the noise is the same.

Real radios, and the oscillator’s phase

A broadcast radio does not mix to 0 Hz. It mixes every station to a fixed intermediate frequency, 455 kHz in AM broadcast receivers, and filters there. Its sharp filters never move; only the oscillator does. That is the superheterodyne.

Mixing straight to 0 Hz, as the instrument does, needs the oscillator’s phase as well as its frequency. Suppose the oscillator is 2cos⁡(Ω1n+θ)2\cos(\Omega_1n+\theta). The low-pass part becomes (1+μx[n])cos⁡θ\big(1+\mu x[n]\big)\cos\theta, so a phase error θ\theta scales the output by cos⁡θ\cos\theta.

At θ\theta = 90° the message vanishes. That is why plain AM radios use the envelope detector after their mixer: it needs no phase at all.

The maths behind it · diagonal matrices and bases

Multiplying by a carrier is a diagonal matrix, with one carrier sample on each diagonal entry. In the DFT basis the same operation becomes a shift of the coefficients. They are two pictures of one operation.

The maths behind it · white noise through a filter

The noise that gets through the receiver sets the recovered SNR. By “Power per frequency” of Power spectral density (24.4), a filter passes white noise’s power times ∑h[n]2\sum h[n]^2, here 0.094. Mixing by 2cos⁡2\cos doubles the noise’s power and dividing by 0.8 raises it again, which predicts an error RMS of 0.027. The receiver measures 0.026 to 0.028.

Worked example

1. The overmodulation limit. The message’s lowest value is −0.936. For 1+μx[n]≥01+\mu x[n]\ge0 at that sample I need 1−0.936μ≥01-0.936\mu\ge0, so μ≤1/0.936=1.068\mu\le1/0.936=1.068. At μ=1\mu=1 the lowest point is 1−0.936=0.0641-0.936=0.064: still positive, as the clip showed.

2. The spectrum at μ = 0.5. The message’s two tones have sizes 0.7/0.9967=0.7020.7/0.9967=0.702 and 0.3/0.9967=0.3010.3/0.9967=0.301. In μx[n]cos⁡Ω1n\mu x[n]\cos\Omega_1n each tone becomes two lines at half its size times μ\mu.

So the AM signal has lines at 225, 240, 250, 260 and 275 Hz. The carrier’s line at 250 Hz has size 1. The lines at 240 and 260 Hz have size 0.5×0.702/2=0.1760.5\times0.702/2=0.176, and those at 225 and 275 Hz have size 0.5×0.301/2=0.0750.5\times0.301/2=0.075.

3. Where the stations go. Mixing at 4 kHz sends station A, at 2 kHz, to ∣2−4∣=2\lvert2-4\rvert=2 kHz and to 2+4=62+4=6 kHz. It sends station C, at 6 kHz, to 2 kHz and to 10 kHz. At 16 kHz sampling, 10 kHz folds to 16−10=616-10=6 kHz.

So A and C land on top of each other, at 2 and 6 kHz, and the filter removes both. Station B goes to 0 Hz and to 8 kHz, half the sampling rate.

4. An oscillator out of phase. With θ\theta = 30° the output is scaled by cos⁡θ=0.866\cos\theta=0.866, and with θ\theta = 60° by 0.5. Tuned to B, the carrier’s level after the filter reads 0.865 and 0.499, against 1.000 in phase.

Where you’ll meet this

AM broadcasting on long, medium and short wave sends this signal, carrier and all, so that cheap receivers can use an envelope detector. Aircraft talk to the tower in AM on VHF.

Mixing is in nearly every receiver, for radio, television and phones. Many phones and software radios mix straight to 0 Hz, as the instrument does, and solve the phase problem with two mixers; that is I/Q and complex baseband (27.3).

DSB wastes bandwidth: both sidebands carry the same message. SSB keeps one sideband only, and amateur and marine radio use it. Building it takes the Hilbert transform of The Hilbert transform and the analytic signal (27.2).

Reference card

QuantityFormulaNotes
DSBx[n]cos⁡Ω1nx[n]\cos\Omega_1nsidebands only
AM(1+μx[n])cos⁡Ω1n\big(1+\mu x[n]\big)\cos\Omega_1nenvelope ∣1+μx[n]∣\lvert1+\mu x[n]\rvert
Spectrumcopies of XX at half height around ±Ω1\pm\Omega_1AM adds a carrier line
No overmodulation1+μmin⁡x≥01+\mu\min x\ge0μ≤1/∣min⁡x∣\mu\le1/\lvert\min x\rvert
Sideband shareμ2Px/(1+μ2Px)\mu^2P_x/(1+\mu^2P_x)22.6 % at μ = 1 here
Envelope detector∣y[n]∣\lvert y[n]\rvert, then low-passno carrier needed
Coherent demodulation2y[n]cos⁡Ω1n2y[n]\cos\Omega_1n, then low-passneeds the carrier’s phase
Phase erroroutput scaled by cos⁡θ\cos\thetalost at 90°
Mixingproduct with 2cos⁡(2πfLOn/fs)2\cos(2\pi f_\text{LO}n/f_s)moves ff to ∣f±fLO∣\lvert f\pm f_\text{LO}\rvert, folded below fs/2f_s/2

End of lesson 27.1

Where to go next.

Phasorium
LibraryEvery lesson, in order

Parts

About Phasorium
Look