← All tools

FMCW radar calculator

An FMCW radar sweeps its frequency in a chirp and reads the range of a target from the beat frequency between the chirp it sends and the echo it receives. This calculator turns chirp bandwidth, chirp duration, ADC sample rate and chirps per frame into range resolution, maximum range, maximum velocity and velocity resolution, with the equations TI uses for 77 GHz sensors.

Start frequency of the chirp. It sets the wavelength, so it changes the velocity results only.

How far the chirp sweeps. This alone sets the range resolution.

Ramp time of one chirp. The velocity results treat it as the chirp period, so they assume no idle time between chirps.

Samples per second of the IF signal. With the chirp slope it sets the maximum range.

Complex sampling passes 0.9 × the sample rate, real sampling half of that. TI’s complex 2x mode behaves like real here.

A whole number. More chirps make the frame longer and the velocity resolution finer.

Range resolution
3.747
set by the bandwidth alone · 400 ADC samples (range bins) per chirp
Chirp slope
100
S = B / T_c
Maximum range
13.49
IF limit 9 MHz (90 % of 10 MHz). Ideal limit: 14.99 m.
Maximum velocity
±24.33
unambiguous, towards or away · λ = 3.893 mm
Velocity resolution
0.3802
over one frame of 128 chirps
Frame time
5.12
N × T_c, with no idle time

Beat frequency ↔ range

The beat frequency grows in proportion to range, at this chirp slope.

Beat frequency
6.671
round trip τ = 66.71 ns
chirp · frequency vs time · linear, τ exaggeratedIF spectrum · linear frequency, MHz81 GHz77 GHzTXRXfb = 6.671 MHzτ = 0.0667 µsB = 4 GHzTc = 40 µs0510Rmax = 13.49 mR = 10 m

Top: one chirp, frequency against time, both axes linear. The green line is the transmitted chirp (TX), which sweeps the bandwidth B in the chirp duration T_c. The dashed grey line is the echo (RX), the same chirp delayed by the round trip τ. The vertical gap between the two is the beat frequency f_b. τ and f_b are drawn far larger than real (τ is a few nanoseconds per metre), but they grow with the target range. Bottom: the IF spectrum, to scale. The green bar is the target’s beat tone. The amber line is the usable IF limit, which sets the maximum range, and the hatched zone beyond it is filtered out or aliased. Every label uses the unit you picked last for that quantity.

Ideal chirps: a linear ramp, no idle time between chirps, and an ADC that samples the whole ramp. With idle time the true chirp period is longer, so the real maximum velocity and velocity resolution are slightly worse than shown. The maximum range is the IF-bandwidth limit only. Detection also needs enough signal-to-noise ratio. Some texts quote λ/2T_c as the maximum velocity, meaning the full span from −v_max to +v_max.

FMCW terms in one minute

An FMCW radar compares the chirp it is sending with the echo of an earlier part of the same chirp. These are the words the calculator uses.

Chirp
A signal whose frequency rises steadily with time, here from the carrier frequency f_c to f_c + B in the chirp duration T_c.
Chirp slope (S)
How fast the chirp sweeps, bandwidth divided by duration. TI quotes it in MHz/µs.
Beat frequency (IF)
Mixing the echo with the chirp being sent gives a tone at their frequency difference. It is proportional to the target range.
ADC sample rate
How many times per second the converter samples the IF signal. It caps the highest beat frequency and therefore the range.
Complex (I/Q) vs real sampling
Complex sampling records two channels 90° apart, so it tells positive from negative frequencies and uses the full sample rate. Real sampling sees only 0 to half the sample rate.
Range bin
One frequency bin of the FFT over a chirp’s samples. Each bin is one range resolution wide.
Frame
A burst of N chirps. Velocity comes from the phase change of the echo from chirp to chirp across the frame.

How it works

  1. 01

    Set the chirp

    The chirp sweeps the bandwidth B in the chirp duration Tc, so its slope is S = B / Tc. The defaults, 4 GHz in 40 µs, give 100 MHz/µs.

  2. 02

    Read range from the beat frequency

    The echo of a target at range R arrives τ = 2R / c later, so it lags the chirp being sent by fb = S·τ = 2RS / c. At 100 MHz/µs a target at 10 m beats at 6.671 MHz, about 667 kHz per metre.

  3. 03

    Get the resolution from the bandwidth

    Two targets separate when their beat tones differ by more than one FFT bin. That gives ΔR = c / 2B, whatever the chirp length or carrier. 4 GHz resolves 3.747 cm.

  4. 04

    Find the maximum range from the ADC

    The receiver passes beat frequencies up to IFmax = 0.9·fs with complex sampling and 0.9·fs/2 with real sampling. Then Rmax = IFmax·c / 2S, which is 13.49 m for 10 Msps complex at 100 MHz/µs.

  5. 05

    Get velocity from chirps and frame

    The phase of the echo turns from chirp to chirp as the target moves. A shorter chirp allows a higher speed, vmax = λ / 4Tc. A longer frame of N chirps resolves finer speed steps, Δv = λ / (2·N·Tc).

Formulas

Chirp slope and beat frequency (TI SPYY005A)
S = BTc, fb = S·τ = 2·R·Sc
  • B — chirp bandwidth, Hz
  • Tc — chirp duration, s
  • S — chirp slope, Hz/s (TI quotes MHz/µs)
  • τ = 2R/c — round-trip delay, s
  • R — target range, m; c = 299 792 458 m/s
Range resolution (SPYY005A Eq. 9)
ΔR = c2·B
  • ΔR — range resolution, m
  • depends on the swept bandwidth only
Maximum range from the IF bandwidth (TI SWRA553A Eq. 1)
Rmax = IFmax·c2·S
  • IFmax = 0.9·fs — complex (I/Q) sampling
  • IFmax = 0.9·fs/2 — real sampling (and TI’s complex 2x)
  • fs — ADC sample rate, samples/s
  • 0.9 — share of the ideal IF bandwidth that TI’s filters pass
Maximum velocity and velocity resolution (SPYY005A Eq. 12 and 14)
vmax = λ4·Tc, Δv = λ2·N·Tc
  • λ = c/fc — wavelength at the carrier, m
  • vmax — highest unambiguous speed, either direction, m/s
  • N — chirps per frame; Tf = N·Tc is the frame time
  • Tc here is the full chirp period (no idle time)

Worked example

77 GHz, 4 GHz in 40 µs, 10 Msps complex, 128 chirps (the defaults)
  1. slope: S = 4 GHz / 40 µs = 100 MHz/µs
  2. range resolution: ΔR = c / (2 · 4 GHz) = 3.747 cm
  3. maximum range: IFmax = 0.9 · 10 MHz = 9 MHz → Rmax = 9 MHz · c / (2 · 100 MHz/µs) = 13.49 m (ideal 14.99 m, real sampling 6.745 m)
  4. maximum velocity: λ = c / 77 GHz = 3.893 mm → vmax = 3.893 mm / (4 · 40 µs) = ±24.33 m/s (87.6 km/h)
  5. velocity resolution: Tf = 128 · 40 µs = 5.12 ms → Δv = 3.893 mm / (2 · 5.12 ms) = 0.3802 m/s
  6. target at 10 m: τ = 66.71 ns → fb = 100 MHz/µs · 66.71 ns = 6.671 MHz

FAQ

Why does the bandwidth alone set the range resolution?
Because the chirp time cancels out. Two targets show up as two beat tones, and an FFT over a chirp of length Tc can only separate tones at least 1/Tc apart. Targets ΔR apart differ by 2·ΔR·S / c in beat frequency. Setting that equal to 1/Tc gives ΔR = c / (2·S·Tc) = c / 2B. So 4 GHz resolves 3.75 cm at any chirp length and any carrier. A slower chirp only stretches the same tones over a longer time.
Why does real sampling halve the maximum range?
Because a real ADC can only use frequencies from 0 to half its sample rate. A real signal has mirror-image positive and negative frequencies, so anything above fs/2 folds back (Nyquist). Complex I/Q sampling records two channels 90° apart, keeps the two sides apart and uses the full fs. The beat frequency grows in proportion to range, so half the IF bandwidth means half the range. For the defaults that is 13.49 m complex and 6.745 m real.
Why 90 % of the sample rate and not 100 %?
Because the anti-alias filter in front of the ADC needs room to roll off. TI’s application report SWRA553A limits the IF bandwidth to 0.9 × the sample rate in complex 1x mode and 0.9 × half of it in complex 2x and real modes. The calculator uses that usable value for the maximum range and shows the ideal limit under the result.
How do I get a higher maximum velocity or finer velocity steps?
Shorten the chirp for a higher maximum velocity and add chirps for finer steps. vmax = λ / 4Tc doubles when the chirp is half as long. Δv = λ / (2·N·Tc) halves when you double the chirps per frame. The catch is that a shorter chirp with the same bandwidth has a steeper slope, which lowers the maximum range unless the ADC samples faster.
Is the maximum range the distance at which the radar detects a target?
No, it is only the IF-bandwidth limit. A target beyond it produces a beat tone the receiver cannot pass. Whether a target inside it is detected depends on the signal-to-noise ratio, set by transmit power, antenna gain, the target’s radar cross section and the receiver noise. That is the job of the radar range equation.

These formulas assume a clear path between the radar and its target. For a radar or radio site in real terrain, Waveshed shows where hills and buildings block the view, free in your browser.

Check line of sight over terrain →

Related guides

Sources & further reading

Related tools