Matched Filter and Pulse Compression
Radar: Detecting Targets with Signal Processing
Radar transmits a known waveform and processes the echo to extract target range, velocity, and angle. The matched filter maximizes the detection SNR, and chirp waveforms provide fine range resolution without high peak power.
Definition: Radar Range Equation
Radar Range Equation
The received power from a target at range is:
where is transmit power, is antenna gain, is radar cross section, and is wavelength.
Definition: Linear Frequency Modulated (LFM) Chirp
Linear Frequency Modulated (LFM) Chirp
A chirp signal sweeps frequency linearly across bandwidth during pulse duration :
The time-bandwidth product enables fine range resolution with long pulses (high energy).
def chirp_signal(B, Tp, fs):
t = np.arange(0, Tp, 1/fs)
return np.exp(1j * np.pi * B/Tp * t**2)
Definition: Pulse Compression via Matched Filter
Pulse Compression via Matched Filter
The matched filter for a chirp is its time-reversed conjugate. The output is the compressed pulse with width :
Range resolution: .
def pulse_compress(rx_signal, tx_chirp):
"""Matched filter via FFT cross-correlation."""
N = len(rx_signal) + len(tx_chirp) - 1
Y = np.fft.fft(rx_signal, N) * np.conj(np.fft.fft(tx_chirp, N))
return np.fft.ifft(Y)
Definition: Range Resolution
Range Resolution
The range resolution is the minimum distance between two distinguishable targets:
For MHz, m.
Definition: Ambiguity Function
Ambiguity Function
The ambiguity function characterizes the matched filter response in both delay and Doppler:
The zero-delay cut gives the Doppler response; the zero-Doppler cut gives the range response (compressed pulse shape).
Theorem: Matched Filter Processing Gain
The matched filter provides a processing gain equal to the time-bandwidth product:
or dB. For a chirp with MHz and s, (30 dB).
The matched filter coherently integrates the energy spread across the pulse duration, compressing it into a narrow peak.
Theorem: Matched Filter Sidelobes
The compressed pulse of a rectangular-windowed LFM chirp has sidelobes at dB below the peak (sinc function). Applying a window (Hamming, Hann, Taylor) reduces sidelobes at the cost of widening the main lobe (reduced resolution).
Windowing trades resolution for sidelobe suppression, exactly as in spectral analysis.
Theorem: Detection SNR After Matched Filtering
The post-matched-filter SNR is:
independent of the waveform shape. The chirp achieves the same SNR as a simple pulse of the same energy but with much finer range resolution.
Example: Chirp Matched Filter Implementation
Generate an LFM chirp, add two target echoes at different ranges, and apply matched filtering to resolve them.
Implementation
B, Tp, fs = 100e6, 10e-6, 500e6
c = 3e8
chirp = chirp_signal(B, Tp, fs)
# Two targets at 150m and 155m
delays = [2*150/c, 2*155/c]
rx = np.zeros(int(20e-6*fs), dtype=complex)
for tau in delays:
idx = int(tau * fs)
rx[idx:idx+len(chirp)] += chirp
# Matched filter
mf_out = pulse_compress(rx, chirp)
Example: Sidelobe Reduction with Windowing
Apply Hamming windowing to reduce matched filter sidelobes and compare with the unwindowed result.
Implementation
from scipy.signal import windows
win = windows.hamming(len(chirp))
chirp_win = chirp * win
mf_win = pulse_compress(rx, chirp_win)
# Compare sidelobe levels
Example: Computing the Ambiguity Function
Compute and plot the ambiguity function of an LFM chirp.
Implementation
# See code supplement ch25/python/ambiguity_function.py
Pulse Compression Demo
Visualize chirp waveform and matched filter output.
Parameters
Chirp Frequency Sweep
Watch the chirp signal sweep through frequencies over time.
Parameters
Radar Signal Processing Pipeline
Quick Check
A radar with 200 MHz bandwidth has what range resolution?
0.5 m
0.75 m
1.5 m
3 m
m.
Common Mistake: Wrong Chirp Slope in Matched Filter
Mistake:
Using the same chirp (not conjugate-reversed) as the matched filter, getting a constant output instead of pulse compression.
Correction:
The matched filter is h = conj(chirp[::-1]). In the frequency domain,
multiply by conj(FFT(chirp)).
Key Takeaway
Chirp pulse compression achieves fine range resolution () with long pulses (high energy), providing a processing gain of . The matched filter maximizes output SNR by the Cauchy-Schwarz inequality.
Key Takeaway
The ambiguity function completely characterizes a radar waveform's ability to resolve targets in range and Doppler. Chirps have a ridge shape; OFDM has a thumbtack shape.
Why This Matters: Chirp vs OFDM for Sensing
Traditional automotive radar uses FMCW chirps for simplicity. OFDM radar from Chapter 22 offers integrated communication and sensing but has higher PAPR. 5G NR ISAC research explores both waveforms for joint communication-radar in the same band.
Historical Note: The Chirp: From Bats to Radar
1947-1960sThe chirp waveform was first described by Sidney Darlington at Bell Labs in 1954 (filed 1947). Independently, bats were discovered to use frequency-swept pulses for echolocation. The dispersive delay line for pulse compression was a major analog signal processing achievement of the 1960s.
Historical Note: CFAR: Constant False Alarm Rate
1968The CFAR concept was developed in the 1960s-70s to enable automatic radar detection in varying clutter environments. Cell-averaging CFAR, published by Finn and Johnson (1968), remains the most widely used algorithm in operational radars.
Chirp (LFM)
A signal whose frequency increases linearly with time; provides pulse compression for fine range resolution.
Pulse Compression
The process of matched-filtering a wideband waveform to achieve the range resolution of a short pulse with the energy of a long pulse.
Ambiguity Function
A 2D function characterizing a waveform's resolution in delay (range) and Doppler (velocity).
Radar Cross Section (RCS)
The effective area of a target as seen by the radar; measured in square meters or dBsm.
Range Resolution
The minimum separation between two distinguishable targets; for bandwidth .