赞
踩
上述文章介绍了四种典型CFAR检测算法的特点及性能对比。本文将利用MATLAB进行仿真,通过实例验证和对比这几种算法的优缺点。
为客观评价CFAR检测器的性能,Rohling从背景杂波区域均匀性出发,将杂波分为三种典型情况。
(1)均匀背景杂波:参考滑窗内背景杂波样本同分布;
(2)杂波边缘:参考滑窗内存在功率不同的背景杂波过渡区域情况;
(3)多干扰目标杂波:两个或者两个以上的目标,在同一参考滑窗内。
仿真杂波数据是背景功率为15dB的独立同分布瑞利包络杂波序列,在第63个多普勒单元中存在一个功率为35dB的目标。设定虚警概率为
P
f
a
=
1
0
−
6
P_{fa}=10^-6
Pfa=10−6,参考窗大小为8,保护窗大小为4。仿真结果如下图所示,红色虚线代表CA-CFAR的检测门限,由图可知,CA-CFAR在均匀背景杂波环境下可以正确检测出目标。
图1 均匀杂波背景下的CA-CFAR检测
如图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=10−6,参考窗大小为8,保护窗大小为4,分别采用CA-CFAR、GO-CFAR和SO-CFAR进行自动检测,3种方法的检测门限显示在图2中。
图2 杂波边缘和多干扰目标杂波背景下的均值类-CFAR检测
图3为图2中杂波边缘的局部放大图,3种CFAR检测器均可以对杂波边缘的目标进行检测,但杂波边缘会导致附近高功率杂波区域的检测发生虚警,SO-CFAR因选择功率较低的后半部分参考窗数据进行背景功率估计,在第94-102个多普勒单元之间造成虚警;
当检测单元位于第98个多普勒单元,GO-CFAR将选择功率较高的后半部分参考窗数据进行背景功率估计,从而使其检测门限高于CA-CFAR的检测门限,避免了虚警的出现,而利用CA-CFAR进行目标检测,则在该多普勒单元会出现虚警。
图3 杂波边缘局部放大图
图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 两个目标附近单元的局部放大图
%% 全局变量
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.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。