A radar sends a long burst for energy, then squeezes each echo into a short peak. Watch the echoes of two targets 30 m apart below: one long smear turns into two separate peaks.
A long chirp, a short peak
Echoes of two targets at 4500 and 4530 m (amplitude 0.5 each, no noise); 10 µs, 10 MHz chirp.
Two echoes, each 1500 m long, overlapping from 4530 to 6000 m: no way to see two targets.
Describe this picture
Echoes of two targets at 4500 and 4530 m (amplitude 0.5 each, no noise) of a 10 µs, 10 MHz chirp, in two panels, one above the other. The first, the raw echo, shows from 0 to 1.1 as a solid trace against range from 4300 to 6200 m, with two dotted vertical lines at the targets. The second, compressed, shows the matched filter’s output from 0 to 0.6 against range from 4400 to 4650 m, with filled diamonds at its two peaks and the same two dotted lines. The readouts are the stage, where the peaks are in metres and their −3 dB width. There is no control. The 12 s clip opens on the raw echo: two echoes, each 1500 m long, overlapping from 4530 to 6000 m, with no way to see two targets. From 3 s the template slides across the echo, as in 26.1, and the compressed trace builds behind it: correlated with the chirp, the energy gathers at each target’s range. From 8 s the two peaks are marked: at 4498.0 m and 4532.0 m, each about 13.3 m wide, with side lobes reaching −10.5 dB.
Delay gives range
A radar sends out a short burst of radio waves and listens. Anything in the way sends a little of it back: an aircraft, a car, a flock of birds. That faint copy is the echo, and the time it takes to come back tells me how far away the thing is.
Radio waves travel at the speed of light, m/s. On this page bare means that speed and nothing else. The burst goes out and comes back, so it covers the distance twice.
If the echo arrives a time after the burst left, the target’s range, its distance from the radar, is
I call the round-trip delay. Each microsecond of delay is 150 m of range, so an aircraft 4.5 km away echoes after 30 µs.
The radar’s waves ride on a carrier, here at GHz. Like the receivers of I/Q and complex baseband (27.3), the radar mixes each echo down from the carrier and keeps I and Q as one complex number. Everything on this page happens at complex baseband.
Every signal on this page is synthetic: a stated chirp, stated targets, and noise from the site’s seeded random generator. No recorded radar data is used.
Short burst or long burst
Two aircraft 30 m apart in range echo 0.2 µs apart. If the burst lasts 10 µs, their echoes overlap almost completely, and I can’t tell there are two. A burst only 0.1 µs long would keep them apart.
But a short burst carries little energy. A transmitter has a largest power it can put out, and energy is power times duration. At the same power the 10 µs burst carries 100 times the energy of the 0.1 µs one, and the echo from a far target is faint.
Measured in range, a burst seconds long is long. I call the pulse length. With µs the echo is 1500 m long, so the echoes of any two targets closer than 1500 m overlap.
At the end of Matched filters and detection (26.1) a long chirp gave a narrow correlation peak. Radar uses that to get both: a long burst for the energy, and a narrow peak for telling targets apart.
The chirp
The radar sends a chirp, a tone whose frequency glides at a steady rate, as in “Reading a chirp” of Spectrograms & the STFT (15.5). At complex baseband this page’s chirp is
It runs for . Its phase divided by , differentiated, gives the frequency . So the frequency glides from to . The span it sweeps, , is the chirp’s bandwidth.
Here MHz and µs, so the chirp sweeps from −5 MHz to 5 MHz in 10 µs. Its size is 1 throughout.
The radar samples at MHz, so the chirp is samples, for to 199. One sample of delay, 0.05 µs, is m of range: one range bin.
An echo is a copy of the chirp, delayed by and scaled by how strongly the target reflects. I give each target an amplitude; 1 is as strong as the noise will be later.
A long chirp, a short peak
To find a known pulse in a record, 26.1 slid the template along it and summed the products. The chirp is complex, so I use its conjugate from Complex numbers for signals (3.3). At the right lag each product is then , never turned away by the chirp’s phase.
I also divide by , so that a lone echo of amplitude peaks at :
This is the matched filter of the radar. Lag is a delay of samples, so the output at belongs to range m.
The picture at the top of the page puts two targets 30 m apart, at 4500 m and 4530 m, each of amplitude 0.5, with no noise. It shows the raw echo and then the matched filter’s output.
Watch the raw panel first. The two echoes overlap over most of their length, and nothing in the trace marks where the second one starts. Then watch the compressed panel: each 1500 m echo has become a peak a dozen metres wide.
To place a peak between range bins, the instrument fits a parabola through the three highest values in dB. Both instruments on this page refine every peak this way.
Here each peak lands 2.0 m outward from its target, and the fit puts its height at 0.51, against the true 0.5. The other target’s side lobe lowers the sample on the inner side, so the parabola leans outward. Between them, at 4515 m, the output falls to 0.010, 34.0 dB below 0.5.
A target alone has side lobes no higher than −13.3 dB below its peak. The highest side lobes here lie outside the pair, near 4477 m and 4553 m. There one target’s first side lobe lines up with the other’s and adds to it, reaching −10.5 dB relative to 0.5.
Why the peak is narrow
Slide the chirp against itself by a shift and multiply, as the matched filter does:
The first factor does not depend on . The second is a tone at hertz: a shifted chirp differs from the chirp by the same frequency all along.
The overlap lasts about , so the tone makes about turns while the products are summed. At it makes one whole turn, and the sum cancels: the output’s first zero. For much shorter than , the output follows the sinc of From series to transform (8.1):
A delay of is of range. Textbooks call it the range resolution:
It is a convention, and it is worth knowing what it measures. It is the distance from the peak to its first zero, and the width of the peak at −3.9 dB, where . At −3 dB the peak is 13.3 m wide.
The instrument’s “−3 dB width” readout measures it on a fine grid, not on the samples 7.5 m apart. The samples beside the peak sit at −3.9 dB, so joining them to the peak with straight lines would cut the corners and give only 12.1 m.
Two targets apart are at the edge. If their echoes arrive in step and only 15 m apart, the two peaks blur into one bump with no dip. At 30 m, as in the instrument, each peak sits on the other’s first zero, and the dip between them is deep.
Compression and its gain
The chirp is long, and its peak is about wide. The ratio, , is how much the matched filter squeezes the pulse: 1500 m of echo becomes a peak of 15 m. Squeezing a long pulse into a short peak is pulse compression.
The squeeze also raises the echo above the noise. 26.1 showed that a matched filter multiplies the SNR per sample by the pulse’s number of samples, . Here that is 200, or 23.0 dB.
Books quote , 20.0 dB, as the compression gain. That count holds when the receiver keeps only the chirp’s 10 MHz of band. This page samples at twice the band and its noise fills all 20 MHz, so the count of samples, 200, is the one that applies.
Speed from the turn between pulses
Now let’s ask how fast a target moves. Write the carrier as the spinning point of Complex exponentials & phasors (3.4); the real wave is its real part. The echo comes back delayed, so its carrier is .
Mixing down to baseband, as in 27.3, removes . What is left of an echo of amplitude is
The delay moves the chirp, and it also turns the echo’s phase by .
That phase is very sensitive. The wavelength is 3 cm. A target that moves 1.5 cm closer shortens the round trip by 3 cm, and the phase makes a whole turn.
Let the target move toward the radar at a steady radial velocity , its speed along the line from the radar, counted positive when it approaches. Its range is then the start range minus . Put that range into , and the phase grows by every second.
A phase that grows at a steady rate is a frequency, as the carrier offset was in “A carrier offset spins the constellation” of 27.3. This one is the Doppler shift:
At 20 m/s it is 1333.3 Hz.
Within one pulse that is far too slow to see. In 10 µs, 1333.3 Hz turns the phase by 0.013 of a turn, under 5°.
Many pulses: fast and slow time
So the radar sends pulse after pulse: of them, one every µs. is the pulse repetition interval, and its inverse, kHz, is the pulse repetition frequency, or PRF.
From one pulse to the next, the echo’s phase turns by . At 20 m/s that is 0.133 of a turn, enough to see. Read once per pulse, the echo’s phase is a tone at , sampled at .
Let me arrange the samples in a table, one row per pulse and one column per range bin . Along a row, time steps by 0.05 µs: that is fast time, and it measures range. Down a column, time steps by 100 µs: that is slow time, and it measures the turn.
Over 64 pulses, 6.4 ms, the fastest target on this page moves about 0.22 m. That is far less than a 7.5 m range bin, so each target stays in its column.
Targets on a range–Doppler map
The plan has two steps. First, run the matched filter along each row; call its output for pulse at range bin . Then take a DFT down each column:
This is “Rows first, then columns” of The 2-D DFT (28.3), with a different transform along each axis.
The window is the Hann window of Window functions compared (15.2), from “Five windows, one trade”. It keeps a strong target’s side lobes from hiding a weak one, at the price of a wider peak.
Bin is the Doppler frequency , with from −32 to 31 after the usual shift. Turned into speed, the bins are
apart: the velocity resolution. It is also half a wavelength, 1.5 cm, divided by the 6.4 ms the pulses last.
Plot in dB, with range across and speed up the side, and you have a range–Doppler map. Each target is one peak, at its range and its speed.
The next picture has three targets: at 3000 m moving at 20 m/s, at 4500 m at −35 m/s, and at 4530 m at 10 m/s. Their amplitudes are 1, 0.5 and 0.5, and complex noise of power 1 is added, from the site’s generator with seed 331. Their Doppler shifts are 1333.3 Hz, −2333.3 Hz and 666.7 Hz.
Per sample, the first target’s echo is as strong as the noise, 0.0 dB, and the other two are 6.0 dB weaker.
Targets on a range–Doppler map
64 pulses, 10 kHz PRF, three synthetic targets in complex noise of power 1 (seed 331).
64 pulses of raw echo: noise everywhere, each echo at or below the noise per sample.
Describe this picture
64 pulses at a 10 kHz PRF, three synthetic targets in complex noise of power 1 (seed 331), in one panel that changes through three stages. Range runs across, from 2.5 to 5 km. In the first two stages the pulse number, 0 to 63, runs up the side; on the map, the velocity, from −75 to 75 m/s. The shading is a grey ramp in dB, from −15 to 30, with values outside that range drawn at its ends. Each peak found on the map is ringed and labelled with its range and velocity. The readouts are the target, its range in metres and its velocity in whole metres per second. The 14 s clip opens on the raw pulses, the size of each sample: noise everywhere, each echo at or below the noise per sample. From 3 s the matched filter sweeps down the pulses, one row at a time, leaving three stripes at 3000, 4500 and 4530 m, one per target, the last two only 30 m apart. From 8 s the DFT sweeps across, column by column, and the map forms: each stripe becomes a peak at its speed, 20 m/s, −35 m/s and 10 m/s, 34.7 dB to 39.7 dB above the floor. When the clip ends, a full-width slider, “Target 1 velocity”, sets the first target’s speed from −70 to 70 m/s in steps of 1 (arrow keys 1, Page Up and Page Down 10). The caption then gives where its peak moves on the map. The setting is kept in the link, as map.v.
Watch the middle stage. Three vertical stripes stand out of the noise, one per target’s column. Then watch the last: each stripe gathers into one peak, at its own speed.
The instrument refines each peak’s speed with the same parabola through three dB values, down the peak’s column, so it can fall between Doppler bins. Range it reads to the nearest bin, 7.5 m. A peak’s level is its brightest cell, and the floor in the caption is the median of all the cells on the map shown.
Notice the two targets 30 m apart. On the map they also differ in speed, by 45 m/s, so they sit far apart up the side, though close in range.
Drag the first target from −70 to 70 m/s and watch its peak climb the map. The bins are 2.34 m/s apart, so the measured speed is shown in whole metres per second, and at every setting it reads what you set.
How fast and how far before it folds
Slow time samples the Doppler tone at . A complex tone at and one at give the same samples, as in “Where a tone lands” of Sampling & aliasing (10.1). So the map can only show Doppler shifts from to .
In speed that is the unambiguous velocity:
A target faster than that folds to the other side of the map. One approaching at 80 m/s shows up at −70 m/s.
Range has a limit too. The radar files each echo under the last pulse it sent. An echo must therefore come back before the next pulse goes out, which gives the unambiguous range:
A target at 16 km echoes 106.7 µs after its pulse, 6.7 µs after the next one, and shows up at 1 km.
The PRF sets both limits, in opposite directions. A higher PRF widens the speeds the map can show and shortens the ranges. Their product, , stays fixed: 15 km times 75 m/s.
The instrument’s slider stops at ±70 m/s, inside the limit. In this page’s set-up the map shows 2.5 to 5 km out of a record that reaches 7.5 km, well inside 15 km.
The maths behind it · separable transforms
The pulses form a matrix, 64 rows by 1000 range bins. The map transforms it along the rows by the matched filter and down the columns by the DFT matrix. That is 28.3’s separable transform with two different kernels, one per axis.
Worked example
1. Doppler. A target approaches at 20 m/s and the carrier is 10 GHz. Then Hz. From pulse to pulse the echo turns by rad, 0.133 of a turn.
2. Range and resolution. A delay of 30.2 µs is m. The range resolution is m, and the velocity resolution m/s.
3. Limits. The unambiguous velocity is m/s, and the unambiguous range is km.
4. How far the first target stands out. Its echo starts at 0.0 dB per sample. The matched filter adds dB.
The Hann-weighted DFT over 64 pulses adds dB, 1.8 dB less than the 18.1 dB of no window. The target sits 0.47 of a bin from the nearest bin, which costs 1.2 dB, the sag of “Between two bins, the peak bar sags” in 15.2.
In all, dB above the noise’s average power on the map. On the map itself the peak is 28.9 dB and the median of the cells on screen is −10.8 dB, 39.7 dB below it. The median sits 1.6 dB under the average, as “More data, same scatter” of The periodogram (25.1) found for noise like this.
Where you’ll meet this
Air-traffic control radars find aircraft by range and bearing, and weather radars do the same with rain. A Doppler weather radar reads each patch of rain’s radial velocity, which shows the wind inside a storm.
Cars use radar at 77 GHz. Their sensors send a rapid series of chirps and mix each echo with the outgoing chirp, a method called FMCW. One FFT along each chirp and one across the chirps give the same range–Doppler map as on this page.
A police speed gun sends a steady tone and measures only its Doppler shift. Synthetic-aperture radar flies past a scene, keeps the phase of every echo, and builds a sharp image from many pulses.
I left out the echoes from the ground and sea, called clutter, and the filters that remove them. I also left out the rule for setting a detection threshold on the map, CFAR, which is 26.1’s threshold set from the local noise, and the antennas. For more, see M. A. Richards, Fundamentals of Radar Signal Processing (2nd ed., 2014), chapters 4, 5 and 8, and M. I. Skolnik, Introduction to Radar Systems (3rd ed., 2001), chapter 3.
Echoes that come back along several paths, smearing one pulse into the next, are the starting point of Channels and equalisation (33.2).
The maths behind it · hypothesis tests
Deciding whether a map cell holds a target is 26.1’s hypothesis test, done cell by cell. A CFAR detector estimates the noise level from the cells around each one, then sets the threshold for a chosen false-alarm rate: a Neyman–Pearson test.
Reference card
| Quantity | Formula | Notes |
|---|---|---|
| Range | 150 m per µs of delay | |
| Range bin | 7.5 m at 20 MHz | |
| Chirp | sweeps to | |
| Matched filter | a lone echo peaks at its amplitude | |
| Range resolution | peak to first zero; −3 dB width 13.3 m here | |
| Compression ratio | SNR gain samples | |
| Doppler | positive approaching | |
| Turn per pulse | turns | read across pulses |
| Velocity resolution | one Doppler bin | |
| Unambiguous velocity | faster targets fold | |
| Unambiguous range | the PRF trades it against speed |