【雷达原理】一维CFAR检测算法——对比分析与代码实现

引言

推荐博文【目标检测】雷达目标CFAR检测算法

上述文章介绍了四种典型CFAR检测算法的特点及性能对比。本文将利用MATLAB进行仿真,通过实例验证和对比这几种算法的优缺点。

一、仿真实例

为客观评价CFAR检测器的性能,Rohling从背景杂波区域均匀性出发,将杂波分为三种典型情况。
(1)均匀背景杂波:参考滑窗内背景杂波样本同分布;
(2)杂波边缘:参考滑窗内存在功率不同的背景杂波过渡区域情况;
(3)多干扰目标杂波:两个或者两个以上的目标,在同一参考滑窗内。

1.1 均匀背景杂波

仿真杂波数据是背景功率为15dB的独立同分布瑞利包络杂波序列,在第63个多普勒单元中存在一个功率为35dB的目标。设定虚警概率为 P f a = 1 0 − 6 P_{fa}=10^-6 Pfa=106,参考窗大小为8,保护窗大小为4。仿真结果如下图所示,红色虚线代表CA-CFAR的检测门限,由图可知,CA-CFAR在均匀背景杂波环境下可以正确检测出目标。
在这里插入图片描述
图1 均匀杂波背景下的CA-CFAR检测

1.2 杂波边缘和多干扰目标杂波

如图2所示,假设在第1~100个多普勒单元为杂波区,杂波边缘为第95-105个多普勒单元处,之后的多普勒单元除了目标外只有底噪。杂波区的平均杂噪比为60dB,在杂波边缘处,杂波功率从60dB降低至0dB。
假设在第63、99、160和165个多普勒单元分别存在目标,这些目标的功率相对于噪声的功率分别为75dB、70dB、25dB和15dB。设定虚警概率为 P f a = 1 0 − 6 P_{fa}=10^-6 Pfa=106,参考窗大小为8,保护窗大小为4,分别采用CA-CFAR、GO-CFAR和SO-CFAR进行自动检测,3种方法的检测门限显示在图2中。
在这里插入图片描述
图2 杂波边缘和多干扰目标杂波背景下的均值类-CFAR检测

1.2.1 杂波边缘

图3为图2中杂波边缘的局部放大图,3种CFAR检测器均可以对杂波边缘的目标进行检测,但杂波边缘会导致附近高功率杂波区域的检测发生虚警,SO-CFAR因选择功率较低的后半部分参考窗数据进行背景功率估计,在第94-102个多普勒单元之间造成虚警;

当检测单元位于第98个多普勒单元,GO-CFAR将选择功率较高的后半部分参考窗数据进行背景功率估计,从而使其检测门限高于CA-CFAR的检测门限,避免了虚警的出现,而利用CA-CFAR进行目标检测,则在该多普勒单元会出现虚警。
在这里插入图片描述
图3 杂波边缘局部放大图

1.2.2 多干扰目标杂波

图4为图2中无杂波区的两个目标附近单元的局部放大图,在第160和165个多普勒单元的目标分别记为目标1和目标2。

当目标1位于检测单元时,目标2位于参考滑窗内,由于目标1的信噪比较高,目标2无法对目标1形成遮蔽,3种CFAR检测器均能将目标1正确检测。

当目标2位于检测单元时,目标1位于参考滑窗内,其较高的功率提升了整体的背景功率,造成CA-CFAR和GO-CFAR的检测门限抬高,导致目标2出现漏检。但对于SO-CFAR,由于其选择后半部分参考窗进行背景杂波功率估计,降低了检测门限,避免了目标1对目标2的遮蔽,可以正确地检测出相邻近的两个目标。
在这里插入图片描述
图4 两个目标附近单元的局部放大图

二、MATLAB代码

%% 全局变量
global P_fa;
global referWin;
global guradWin;
global sensitive;
sensitive = 0.15;   % 灵敏度
P_fa = 1e-6;    % 虚警概率
referWin = 8;   % 参考窗大小
guradWin = 4;   % 保护窗大小

%% 均匀背景杂波
sigma = 3;              % 方差
N = 256;                % 数据长度
Data = Get_RayleighData(sigma,N);   % 产生瑞利分布的随机数据

Pos = (61:65);                  % 目标存在的位置
TarPow = [20,30,35,30,20];      % 目标信号功率
Data(Pos) = db2mag(TarPow);

chioce = 1;
[~,Threshold] = ML_CFAR(Data,chioce);

figure;
plot(20*log10(Data),'b-');
hold on;
plot(20*log10(Threshold),'r--');
xlabel('多普勒单元');ylabel('杂波功率/dB');
legend('杂波信号(含目标)','CA-CFAR检测门限');

%% 杂波边缘/多干扰目标杂波
Len = 256;
sigma = 5;              % 方差
clutData = Get_RayleighData(sigma,Len);   % 产生瑞利分布的随机数据

Pos1 = (61:65);                  % 目标1存在的位置
TarPow1 = [25,30,35,30,25];      % 目标1信号功率
clutData(Pos1) = db2mag(TarPow1);

N1 = 100;                % 数据长度
clutData(1:N1) = clutData(1:N1)*db2mag(40);
clutData(N1+1:Len) = clutData(N1+1:Len)/db2mag(15);

Pos2 = (96:102);                  % 目标2存在的位置
TarPow2 = [45,50,60,70,45,20,0];      % 目标2信号功率
clutData(Pos2) = db2mag(TarPow2);

Pos3 = (158:162);                  % 目标3存在的位置
TarPow3 = [5,15,25,15,5];      % 目标3信号功率
clutData(Pos3) = db2mag(TarPow3);

Pos4 = (163:167);                  % 目标4存在的位置
TarPow4 = [-5,5,15,5,-5];      % 目标4信号功率
clutData(Pos4) = db2mag(TarPow4);

chioce = 1;
[~,CA_Th] = ML_CFAR(clutData,chioce);
chioce = 2;
[~,GO_Th] = ML_CFAR(clutData,chioce);
chioce = 3;
[~,SO_Th] = ML_CFAR(clutData,chioce);

figure;
plot(20*log10(clutData),'k-');
hold on;
plot(20*log10(CA_Th),'r--');
plot(20*log10(GO_Th),'b--');
plot(20*log10(SO_Th),'m--');
xlabel('多普勒单元');ylabel('杂波功率/dB');
legend('杂波信号(含目标)','CA-CFAR检测门限','GO-CFAR检测门限','SO-CFAR检测门限');

参考文献

[1]陈伯孝, 等. 现代雷达系统分析与设计[M]. 西安:西安电子科技大学出版社, 2012.9.

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhi Zhao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值