01 — FMCW vs Pulsed

Why FMCW?

Traditional pulsed radar measures range by timing the round-trip delay of a short pulse. FMCW radar instead transmits a continuous frequency-swept signal — called a chirp — and measures range by comparing the frequency difference between the transmitted and received signals. This approach offers several fundamental advantages over pulsed radar for short-to-medium range applications.

ParameterPulsed RadarFMCW Radar
Transmit powerHigh peak (kW–MW)Low continuous (mW–W)
Range measurementTime delay (ns precision)Frequency difference (Hz precision)
Min. detectable rangeLimited by pulse widthEssentially zero — simultaneous TX/RX
Hardware complexityHigh voltage pulse gen.Simple VCO + mixer
Size/costLarge, expensiveChip-scale MMIC (TI AWR1843)
Best forLong range (air traffic, weather)Short–medium range (automotive, industrial)
FMCW dominates modern short-range radar: Every production automotive radar (Bosch, Continental, Aptiv), most industrial level sensors, and drone altimeters use FMCW. The 77 GHz automotive band is almost exclusively FMCW — enabled by SiGe/CMOS MMIC integration (Texas Instruments AWR, Infineon RXS).
02 — The Chirp Waveform

The Chirp Waveform

An FMCW chirp is a sinusoid whose instantaneous frequency increases linearly with time — from start frequency f₀ to f₀+B over a sweep time Tc.

Chirp Waveform Equations
s(t) = A·cos(2π·f₀·t + π·S·t²)    0 ≤ t ≤ Tc
S = B/Tc   (chirp slope, Hz/s)
f(t) = f₀ + S·t   (instantaneous frequency)
B = bandwidth swept  ·  Tc = chirp duration
λ = c/fc   where fc = f₀ + B/2 (centre frequency)

Key Chirp Design Parameters

ParameterSymbolControlsTypical (77 GHz Auto)
Centre frequencyfcλ, Doppler sensitivity77 GHz
BandwidthBRange resolution1–4 GHz
Chirp durationTcMax unambiguous velocity20–100 μs
Chirp slopeS = B/TcBeat freq per unit range10–200 MHz/μs
Chirps per frameNcVelocity resolution128–512
Frame timeTfUpdate rate10–50 ms
ADC sample ratefsMax beat frequency10–25 Msps
Sweep linearity matters enormously: Non-linear chirps (VCO phase noise, PLL bandwidth) broaden the range impulse response, raising sidelobes and degrading range resolution. 77 GHz automotive chips use a fractional-N PLL with linearisation loop to achieve <1% linearity error across 4 GHz sweeps.
03 — Beat Frequency & Range

Beat Frequency & Range

When the transmitted chirp mixes with the delayed received echo, the output is a single tone — the beat frequency fb. Because the chirp is linear, the frequency difference is proportional to the round-trip delay, and therefore to range.

Beat Frequency & Range
τ = 2R/c   (round-trip delay for target at range R)
fb = S·τ = S·2R/c = (B/Tc)·2R/c   (beat frequency, Hz)
R = fb·c·Tc / (2B) = fb·c / (2S)   (range from beat freq)
fb,max = fs/2   (max beat freq = Nyquist limit of ADC)
Physical intuition: At time t, the TX frequency is f₀+S·t. The echo from range R arrives delayed by τ=2R/c, so its frequency is f₀+S·(t−τ). The mixer output is S·τ = a constant tone. A stationary target at 50 m produces one tone; 100 m produces a higher tone. Range mapping is a simple FFT.

Worked Example — 77 GHz Automotive Radar

Example 1 — Beat frequency for targets at 10 m, 50 m, 150 m
Radar parameters: fc=77 GHz, B=2 GHz, Tc=40 μs, S=B/Tc=50 MHz/μs, ADC fs=20 Msps

1
fb(10 m) = 2×10×50×10⁶ / (3×10⁸) = 3.33 MHz
2
fb(50 m) = 2×50×50×10⁶ / (3×10⁸) = 16.7 MHz
3
fb(150 m) = 2×150×50×10⁶ / (3×10⁸) = 50.0 MHz — exceeds ADC Nyquist of 10 MHz!
4
Max range: Rmax = fs·c·Tc / (4B) = 10⁷×3×10⁸×40×10⁻⁶/(4×2×10⁹) = 15 m — too short!
5
Fix: reduce slope to S=10 MHz/μs (Tc=200 μs or B=2 GHz, Tc=200 μs) → Rmax = 75 m
✓ Chirp slope directly sets the range-per-Hz mapping. Too steep → targets alias. Too shallow → poor range resolution. S=10–50 MHz/μs is the sweet spot for automotive.
04 — Range & Velocity Resolution

Range & Velocity Resolution

Resolution Equations
ΔR = c / (2B)   (range resolution — depends only on bandwidth)
Δv = λ / (2·Nc·Tc)   (velocity resolution — depends on coherent integration time)
vmax = λ / (4·Tc)   (max unambiguous velocity — from Doppler aliasing)
Rmax = c·fs / (4S) = c·Tc·fs / (4B)   (max unambiguous range)
The fundamental trade-off: ΔR = c/2B (more bandwidth = better range resolution). Δv = λ/(2NcTc) (longer chirp or more chirps = better velocity resolution). But longer Tc reduces vmax. You can't simultaneously have perfect range resolution, velocity resolution, and maximum range — the ambiguity function formalises this.

Worked Example — Automotive Radar Specifications

Example 2 — TI AWR1843 77 GHz, B=4 GHz, T_c=40 μs, N_c=256
1
λ = c/fc = 3×10⁸/77×10⁹ = 3.896 mm
2
ΔR = c/2B = 3×10⁸/(2×4×10⁹) = 3.75 cm — resolves two cars 3.75 cm apart
3
Δv = λ/(2×256×40×10⁻⁶) = 3.896×10⁻³/(20.48×10⁻³) = 0.190 m/s = 0.68 km/h
4
vmax = λ/(4Tc) = 3.896×10⁻³/(4×40×10⁻⁶) = 24.4 m/s = 87.7 km/h
5
Rmax (ADC=25 Msps, S=100 MHz/μs): c×25×10⁶/(4×10⁸) = 187.5 m
✓ ΔR=3.75 cm, Δv=0.19 m/s, vmax=87.7 km/h, Rmax=187.5 m. Meets automotive ACC requirements (ΔR<5 cm, Rmax>150 m, vmax>60 km/h).
ApplicationFrequencyBandwidthΔRRmax
Automotive ACC77 GHz1–4 GHz3.75–15 cm100–250 m
Automotive SRR79 GHz4 GHz3.75 cm10–30 m
Industrial level24 GHz200 MHz75 cm50 m
Weather (WSR-88D)2.7–3.0 GHz0.63 MHz238 m460 km
Ground penetrating1–10 GHz9 GHz1.67 cm5–10 m
Drone altimeter24 GHz500 MHz30 cm100 m
05 — Doppler & Velocity

Doppler & Velocity Measurement

A moving target causes a Doppler shift fD = 2v/λ in the received signal. In FMCW, this appears as an additional offset on the beat frequency. A single chirp cannot separate range and velocity — you need at least two chirps (slow-time processing).

Doppler in FMCW
fD = 2v/λ = 2v·fc/c   (Doppler shift, positive = approaching)
fbeat = frange + fD = 2SR/c + 2v/λ   (total beat frequency)
φn = 4π·fc·v·n·Tc / c   (phase shift between chirp n and n+1)

Range-Doppler Map

The standard FMCW processing chain uses two nested FFTs — a fast-time FFT across ADC samples within one chirp gives range bins, and a slow-time FFT across chirps gives velocity bins.

Example 3 — Range-Doppler processing for a target at R=80 m, v=30 m/s
Parameters: fc=77 GHz, B=2 GHz, Tc=50 μs, S=40 MHz/μs, Nc=128 chirps

1
frange = 2SR/c = 2×40×10⁶×80/(3×10⁸) = 21.33 MHz
2
fD = 2v/λ = 2×30/(3.896×10⁻³) = 15.4 kHz
3
fbeat = 21.33 MHz + 15.4 kHz ≈ 21.35 MHz — Doppler negligible in fast-time FFT
4
Phase between chirps: Δφ = 4π×77×10⁹×30×50×10⁻⁶/3×10⁸ = 4π×0.385 = 4.84 rad = 277.4°
5
Slow-time FFT across 128 chirps → velocity resolution Δv = λ/(2×128×50μs) = 0.304 m/s → bin = 30/0.304 = bin 98.7
✓ Target appears at range bin ≈ frange/Δf and velocity bin ≈ 99 in the 128-point slow-time FFT. The range-Doppler map is a 2D plot of magnitude vs (range, velocity).
06 — Ambiguity

Ambiguity & Max Range / Velocity

The radar ambiguity function |χ(τ,fD)|² characterises the 2D resolution and sidelobe structure in range-Doppler space. For a linear chirp (LFM), the ambiguity function is a ridge tilted at angle arctan(S) in the range-Doppler plane — meaning a moving target at range R creates the same beat frequency as a stationary target at a slightly different range.

Ambiguity Limits
Rmax = c·fs/(4S)   (from ADC Nyquist)
vmax = λ/(4Tc)   (from slow-time Nyquist — PRF=1/Tc)
ΔR·Δv = c·λ/(4·Nc·B)   (uncertainty principle for radar)
Range-velocity coupling: ΔRerror = v·Tc/2   (range walk per chirp)
Range-Doppler coupling: A target moving at v=30 m/s over Tc=50 μs moves only 1.5 mm — far less than ΔR=7.5 cm. For short chirps, coupling is negligible. But for long chirps (weather radar, Tc=ms), range walk requires compensation (keystone transform or stretch processing).
Ambiguity ScenarioSymptomFix
Range aliasing (R>Rmax)Target appears at R − n·RmaxReduce slope S, or use multiple PRFs
Velocity aliasing (v>vmax)High-speed target folds into low-velocityShorten Tc, use staggered chirp intervals
Ghost targetsMulti-target interference beat productsMIMO orthogonal waveforms, or CFAR thresholding
Interference from other radarsRandom spikes across range-DopplerRandom chirp start frequency hopping
07 — Signal Processing Chain

Signal Processing Chain

FFT-Based Range-Doppler Processing

The standard 2D FFT FMCW processing pipeline starts with the raw ADC data — a matrix of Ns samples × Nc chirps — and produces a complex Range-Doppler map.

Processing Pipeline — Step by Step
1
ADC capture: Sample beat signal at fs during each chirp → Ns×Nc matrix (fast-time × slow-time)
2
Window (fast-time): Apply Hann/Blackman window across Ns samples → reduces range sidelobes at cost of ΔR×1.5
3
Range FFT: Ns-point FFT along fast-time dimension → Ns/2 range bins, Δfbin=fs/Ns, ΔR=c/(2B)
4
Window (slow-time): Apply window across Nc chirps → reduces Doppler sidelobes
5
Doppler FFT: Nc-point FFT along slow-time → Nc velocity bins, Δv=λ/(2NcTc)
6
Magnitude: |RD map| = complex magnitude of 2D FFT output → power map in range-Doppler space
7
CFAR detection: Adaptive threshold → target list (range, velocity, power) for each detected peak
8
Angle (MIMO): With multiple RX antennas → third FFT across antenna dimension → (range, velocity, azimuth) 3D point cloud

CFAR Detection

Constant False Alarm Rate (CFAR) detection sets an adaptive threshold around each cell under test (CUT) based on the local noise level — so the false alarm rate stays constant regardless of clutter level.

CA-CFAR (Cell Averaging CFAR)
Pnoise = (1/Nref)·Σ|reference cells|   (average power in Nref surrounding cells)
TCFAR = α·Pnoise   where α = Nref·(PFA^(−1/Nref) − 1)
Detect if |CUT| > TCFAR
Guard cells: Nguard either side — prevent target energy leaking into reference cells
CFAR variants in practice: CA-CFAR (average) works well in homogeneous noise. OS-CFAR (ordered statistic) handles clutter edges better. GOCA-CFAR (greatest of) is standard in automotive — resists multiple-target interference. TI's AWR chipset uses OS-CFAR with Doppler processing in firmware (DPU layer).
08 — System Comparison

Real-World FMCW Systems

SystemfcBΔRΔvRmaxKey Use
TI AWR184377 GHz4 GHz3.75 cm0.2 m/s200 mAutomotive ACC/AEB
Infineon BGT60TR13C60 GHz7 GHz2.1 cm0.5 m/s10 mGesture / presence detection
NXP TEF82xx77 GHz2 GHz7.5 cm0.1 m/s300 mLong-range highway
Navtech CTS350-X24 GHz200 MHz75 cm0.04 m/s200 mPerimeter security
Endress+Hauser LR3079 GHz4 GHz3.75 cm100 mIndustrial level sensing
4D imaging radar (2024): Arbe Phoenix, Uhnder, Vayyar — add a 3rd spatial FFT using 192+ virtual antennas from MIMO (e.g. 12 TX × 16 RX = 192 virtual elements) giving elevation angle resolution <2° alongside range, Doppler and azimuth in a single chip. This is replacing some LiDAR functions in autonomous vehicles at <$100/unit.