How RADARs use CFAR to detect targets

Published at : 18 Dec 2025

Constant false alarm rate - or CFAR - is easily one of the most well-known radar detection algorithms.

This is due in part to its simplicity if implementation and relative effectiveness over using a static threshold or getting just saying the maximum values are the targets. It can also be used on different measurement types, and even in multiple dimensions (e.g., range, Doppler velocity, 2D range-Doppler spectrum).

In this video I go over the motivation, implementation, and some of the design knobs available when using CFAR.

--------------------------------------------------

- Channel Memberships: https://marshallbruner.com/pages/supporters
- Merch: https://marshallbruner.com/collections/all
- Website: https://marshallbruner.com/

--------------------------------------------------

Resources:
- Python notebook where you can play around with the CFAR algorithm (cfar.ipynb) - https://tinyurl.com/cfar-notebook
- All code for this video - https://tinyurl.com/github-videos

--------------------------------------------------

References:
- CFAR implemented on Analog Devices' Phaser Radar (video by Jon Kraft) - https://tinyurl.com/cfar-jon-kraft
- Small and short range radar systems (book by Gregory Charvat, p292-294) - https://tinyurl.com/charvat-srr-book
- CFAR Detection by Purdue (more detailed introduction to CFAR including a more statistics-based approach and performance analysis) - https://tinyurl.com/purdue-cfar
- Implementing CFAR in Matlab - https://tinyurl.com/matlab-cfar
- CFAR by radartutorial (includes intro to some of the other methods, e.g., order statistic) - https://tinyurl.com/radartutorial-cfar
- A more detailed webinar by IEEE AESS - https://tinyurl.com/aess-cfar
- RadarSimPy CFAR Notebook - https://tinyurl.com/radarsimx-cfar
- Signal-to-noise ratio (SNR) - https://tinyurl.com/radartutorial-snr

---------------------------------------------------

Caveats:
- There are many variations of this algorithm and this video mainly focuses on the cell averaging variant.

--------------------------------------------------

All animations shown were created using Manim Community (https://docs.manim.community/en/stable/index.html) - a Python animation library written by 3Blue1Brown (https://www.youtube.com/@3blue1brown) and maintained by the community. Huge thanks to everyone working on this incredible project!

--------------------------------------------------

Timestamps:
0:00 - Introducing the problem and static thresholds
1:18 - Parameter explanation
4:30 - Choosing parameters