how to write a m file code to cfar for fmcw radar

22 views (last 30 days)
how to write a m file code to cfar for fmcw radar can anyone help plz

Answers (2)

Abdullah OZCAN
Abdullah OZCAN on 3 Jan 2016
Edited: Walter Roberson on 28 Mar 2016
CFAR thresholding does not depend on the radar type. It is about thresholding the signal at the mixer output. The signal is the amplitude level of range measurements. Here is a sample code. It is only about finding the noise average. This code implements the cell averaging cfar:
close all;
s=randn(1000,1);
s([100, 300, 700])=[30 40 50];
figure,plot(s);
refLength=12;
guardLength=3;
offset=3;
cfarWin=ones((refLength+guardLength)*2+1,1);
cfarWin(refLength+1:refLength+1+2*guardLength)=0;
cfarWin=cfarWin/sum(cfarWin);
noiseLevel=conv(s,cfarWin,'same');
cfarThreshold=noiseLevel+offset;
figure,plot(s);
hold on,plot(cfarThreshold,'r--','LineWidth',2)
legend('Signal','CFAR Threshold')
  3 Comments
Kaitlyn  Nguyen
Kaitlyn Nguyen on 23 Oct 2021
Edited: Kaitlyn Nguyen on 23 Oct 2021
What about OS-CFAR? Do you have sample code for that?
Also how do you calculate the detection?
Thank you!
Amr Aboughazala
Amr Aboughazala on 17 Aug 2022
but why offset with addition?
This is different than the scale that have to be multiplied in linear domain. The scale should depend on the desired probability of false alarm.
N = refLength*2;
scale = pbFalseAlarm^(-1/N) - 1;
cfarThreshold=noiseLevel*scale;
is that correct?

Sign in to comment.


Honglei Chen
Honglei Chen on 28 Mar 2016
You may also want to take a look at CFAR detector offered in Phased Array System Toolbox. The noise is estimated using training cells that does not include signal.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!