Module 01 of 11 · Academy overview
FMCW Basics – Frequency-Modulated Continuous-Wave Radar
Chirp signal theory, beat-frequency derivation, range–Doppler processing and an interactive visualization of the FMCW principle.
What is FMCW radar?
FMCW stands for Frequency Modulated Continuous Wave. Unlike pulse radar systems, which transmit short bursts of energy and wait for their echo, an FMCW radar transmits continuously a signal whose frequency changes linearly over time. This frequency-modulated signal is called a chirp.
Pulse radar (classical)
Transmits short, high-power pulses (kW–MW). Measures the echo's round-trip delay Δt directly. Advantage: simple signal processing. Disadvantage: high peak power, expensive transmitters (magnetron, klystron), blind during the transmit phase.
FMCW radar (modern)
Transmits continuously at low power (mW). Measures range from the frequency difference between the transmit and receive signal. Advantage: low-cost (CMOS technology), high resolution, simultaneous range + velocity. Disadvantage: requires transmitter–receiver isolation.
The chirp signal is mathematically a linear frequency sweep. The instantaneous frequency rises linearly from f0 (start frequency) to f0 + B (end frequency) over the chirp duration Tc. The continuous-time transmit signal is:
Chirp signal (transmit signal):
s(t) = A · cos(2πf0t + πμt²)
Here μ = B / Tc is the chirp rate (frequency change per unit time in Hz/s). The instantaneous frequency follows from the derivative of the phase: f(t) = f0 + μ·t.
| Parameter | Symbol | Typical value (77 GHz) | Description |
|---|---|---|---|
| Start frequency | f0 | 77 GHz | Carrier frequency; determines the wavelength λ = c/f0 |
| Bandwidth | B | 1–4 GHz | Frequency sweep of the chirp; determines the range resolution |
| Chirp duration | Tc | 20–200 μs | Duration of a single chirp; affects max. range and Doppler ambiguity |
| Chirp rate | μ = B/Tc | 20–80 MHz/μs | Slope of the frequency ramp in the time–frequency diagram |
In the time–frequency diagram the chirp appears as a rising line: the x-axis shows time, the y-axis the instantaneous frequency. The received signal (echo) is a time-delayed copy of the transmit signal – the vertical difference between the two lines corresponds to the beat frequency, which is proportional to the target range.
Deriving the range measurement
A target at range R reflects the transmit signal. The echo reaches the receiver with a round-trip delay τ. Because the transmit frequency has kept rising during this delay, there is a constant frequency difference between the current transmit signal and the received echo – the beat frequency fb.
Step 1: round-trip delay
τ = 2R / c
The signal travels radar → target → radar (there and back = 2R). With c = 3×108 m/s and R = 100 m, τ = 667 ns.
Step 2: mixing (dechirping)
In the receiver, the echo signal is mixed (multiplied) with the current transmit signal. The mixer produces a signal at the difference frequency – the beat frequency:
fb = μ · τ = (B / Tc) · (2R / c) = 2BR / (c · Tc)
Step 3: computing range
Solving for R gives the central FMCW range formula:
R = (fb · c · Tc) / (2B)
Range is directly proportional to the beat frequency. The farther away the target, the higher fb.
Numerical example:
B = 4 GHz = 4×109 Hz
Tc = 100 μs = 100×10-6 s
fb = 1 MHz = 1×106 Hz
c = 3×108 m/s
// Calculation
R = (fb · c · Tc) / (2 · B)
R = (1×106 · 3×108 · 100×10-6) / (2 · 4×109)
R = 30000 / 8000
R = 3.75 m
Important: the beat frequency typically lies in the range of kHz to a few MHz – independent of the carrier frequency (77 GHz). This down-conversion to baseband is the key advantage of the FMCW principle: the entire signal chain (ADC, FFT) can be built with inexpensive, low-frequency electronics.
From chirps to a 2D map
A single chirp only provides range. To additionally measure a target's velocity, several chirps are grouped into a frame. A two-stage FFT process produces the range–Doppler matrix (RDM) – the central data product of an FMCW radar.
1. Range FFT (fast time)
For each individual chirp, an FFT is computed over the sampled beat-signal samples. Each frequency bin corresponds to a specific range (range bin). The spacing between bins is ΔR = c/(2B).
FFT along the axis: samples per chirp
2. Doppler FFT (slow time)
Across N chirps, the phase of the signal in a given range bin changes systematically if the target is moving. A second FFT over this phase change extracts the Doppler frequency fd and thus the radial velocity.
FFT along the axis: chirps per frame
Velocity from the Doppler frequency:
v = λ · fd / 2
Here λ = c/f0 is the wavelength and fd the Doppler frequency. An approaching target produces a positive Doppler shift (higher frequency), a receding target a negative one.
The result is a 2D matrix: the x-axis represents range (range bins), the y-axis velocity (Doppler bins). Each target appears as a peak in this matrix. Peak height grows with the target's RCS, but depends just as strongly on range: by the radar equation, received power Pr ∝ σ/R4, so amplitude ∝ √σ/R². Peak height alone therefore cannot be read as RCS.
# 1. Data: N chirps with M samples each
data = matrix[N_chirps, M_samples]
# 2. Range FFT (along each row), usually windowed
for chirp in range(N):
range_profile[chirp] = FFT(data[chirp, :] * w_range) # M-point FFT
# 3. Doppler FFT (along each column)
for bin in range(M):
rdm[:, bin] = FFT(range_profile[:, bin] * w_dopp) # N-point FFT
# 4. Result: range–Doppler matrix (N × M)
plot_heatmap(rdm, x="Range", y="Velocity")
The window functions w_range and w_dopp (e.g. Hann or Blackman) suppress the sidelobes that otherwise arise from the finite observation window and can mask weak targets next to strong ones. In exchange, they slightly widen the main lobe. Which window is appropriate depends on the scenario.
Typical frame parameters (77 GHz, drone detection):
N = 128 chirps per frame, M = 256 samples per chirp, Tc = 60 μs, B = 4 GHz.
Frame duration: 128 × 60 μs = 7.68 ms → theoretical upper bound on frame rate ≈ 130 Hz. Real systems fall well below this because of idle time between chirps and frames and processing latency.
Range bins: 256, Doppler bins: 128.
Bandwidth, resolution and ambiguity
The fundamental limits of an FMCW radar are set by the chirp parameters. Bandwidth B defines the range resolution, chirp duration Tc and count N determine the velocity resolution, and the maximum values follow from the sampling limits.
Range resolution
ΔR = c / (2B)
Two targets can only be distinguished if their separation exceeds ΔR. Only the bandwidth B determines the range resolution – not the carrier frequency.
Velocity resolution
Δv = λ / (2 · N · Tc)
Depends on the total observation duration N·Tc (frame duration). More chirps per frame = finer velocity resolution.
| Bandwidth B | ΔR (range res.) | Tc | N (chirps) | Δv (vel. res.) | Application |
|---|---|---|---|---|---|
| 250 MHz | 60 cm | 200 μs | 64 | 0.15 m/s | Long-range surveillance |
| 1 GHz | 15 cm | 100 μs | 128 | 0.15 m/s | Automotive (ACC) |
| 2 GHz | 7.5 cm | 60 μs | 128 | 0.25 m/s | Person detection |
| 4 GHz | 3.75 cm | 60 μs | 256 | 0.13 m/s | Drone detection / gesture |
Maximum unambiguous range
Rmax = fs · c / (2μ)
Determined by the ADC sampling rate fs. This form applies to complex (I/Q) sampling, where the beat frequency may reach up to fs. Under real-valued sampling, the Nyquist criterion fb,max = fs/2 applies instead, giving Rmax = fs·c/(4μ). For the same reason, an M-point FFT under real-valued sampling yields only M/2 usable range bins. A second, usually non-critical bound is Rmax = c·Tc/2, if the echo must arrive within one chirp.
Maximum unambiguous velocity
vmax = λ / (4 · Tc)
Determined by the chirp repetition rate 1/Tc. Faster chirps allow higher unambiguous velocities but reduce velocity resolution.
Design trade-off:
There is a fundamental conflict: short chirps (small Tc) increase vmax but worsen Δv. Many chirps (large N) improve Δv but lengthen the frame duration. High bandwidth B improves ΔR but requires a faster ADC. These trade-offs are the core challenge of FMCW radar design.
Nyquist criterion and ambiguities
Both in range and in Doppler, FMCW radar is subject to the sampling theorem. If it is violated, aliasing occurs – signals are “folded” into the wrong bins and produce ghost targets.
Range aliasing (ADC sampling):
fs ≥ 2 · fb,max
The ADC must sample the beat signal at at least twice the maximum beat frequency. If fs is too low, distant targets (high fb) fold into nearer range bins. The maximum fb follows from Rmax: fb,max = 2·B·Rmax/(c·Tc).
Doppler aliasing (chirp repetition rate):
vmax = λ / (4 · Tc)
The chirps sample the Doppler phase. The sampling frequency in the Doppler domain is 1/Tc. Targets with |v| > vmax fold into the range [-vmax, +vmax] and appear with the wrong velocity. The apparent velocity is: valias = v − 2·n·vmax (n an integer).
Example: Doppler aliasing
At f0 = 77 GHz (λ = 3.9 mm) and Tc = 100 μs:
vmax = 0.0039 / (4 × 100×10-6) = 9.74 m/s (≈ 35 km/h).
A car at v = 50 km/h (13.9 m/s) gets folded:
valias = 13.9 − 2×9.74 = −5.6 m/s
It appears as an oncoming target!
Countermeasures
1. Shorten Tc → higher vmax, but worse Δv.
2. Multiple PRF / multi-slope: two chirp configurations with different Tc → CRT unwrapping resolves the ambiguity.
3. Chirp sequence with multiple slopes (up+down chirp) to resolve the range–Doppler coupling.
Chirp parameter design against aliasing:
A good FMCW design requires simultaneously accounting for Rmax, vmax, ΔR, Δv and fs. The typical workflow:
1. Fix ΔR → determine B.
2. Fix vmax → determine Tc.
3. Fix Rmax → determine fs.
4. Fix Δv → determine N (chirps per frame).
5. Check whether the frame rate is sufficient for the application.
FMCW explorer: chirp & beat frequency
Move the sliders to change the target range and the bandwidth. Watch how the delay of the RX chirp and the resulting beat frequency change in the FFT spectrum.
Computed values:
fb = 6.67 MHz
ΔR = 7.50 cm
τ = 333.3 ns
Time–frequency diagram – TX chirp (yellow) and RX chirp (blue)
Beat-signal FFT – spectrum with range peak
Scope and limits
This module explains a method that is actually used in the Ozense processing chain. It describes the method and its limits – not the measured performance of the system. The visualizations shown are simulated in the browser and are not a field performance record.
How the methods work together at Ozense: Technology. What is actually measured today: Validation and development status.
Ozense · last reviewed on 13 August 2026
