恒虚警率(CFAR)检测

本例介绍的恒虚警率(CFAR)检测和显示了如何使用CFARDetector和CFARDetector2D在相控阵系统工具箱™进行小区平均CFAR检测。

介绍

其中一个重要的任务雷达系统执行是目标检测。检测本身是相当简单的。它的信号与阈值比较。因此,在检测到真正的工作是想出一个合适的阈值。一般情况下,所述阈值是检测的概率和假警报的概率的函数。

在许多相控阵系统中,由于与错误检测相关的成本,我们希望有一个检测阈值,它不仅能最大限度地提高检测概率,而且能将错误报警概率保持在预设的水平以下。

对于如何确定检测阈值的大量文献。读者可能会喜欢信号检测高斯白噪声信号检测使用多个样本例子为一些知名的结果。然而,所有这些传统的结果是基于理论概率和被限制为高斯白噪声方差已知(功率)。在实际应用中,噪声往往是有色和它的力量是未知的。

恒虚警技术解决了这些问题。在CFAR,需要对于给定的小区中的检测时,经常称为测试(CUT)的细胞,所述噪声功率被来自相邻小区的估算。然后,检测阈值, T , 是(谁)给的

T = α P n

在哪里 P n 是噪声功率估计和 α 被称为阈值因子的比例因子。

从方程中可以看出,阈值是随数据变化而变化的。可以看出,在适当的阈值因子下, α 时,所得假警报的概率可以被保持在恒定,因此得名CFAR。

单元平均恒虚警检测

该单元平均恒虚警检测器可能是最广泛使用的恒虚警检测。它也用作其他CFAR技术的基线比较。在细胞中平均CFAR检测器,噪声样本从两个超前和滞后的细胞(称为训练细胞)围绕CUT萃取。噪声估计可以被计算为[1]

P n = 1 N = 1 N x

在哪里 N 是训练细胞的数量和 x 在每个训练细胞样品。如果 x 恰好是一个平方律检波器的输出,然后 P n 表示估计的噪声功率。一般来说,前导训练单元和后导训练单元的数量是相同的。保卫细胞被放置在切口附近,引导和滞后它。这些保护单元的目的是避免信号组件泄漏到训练单元中,从而影响噪声估计。

下图显示了一维情况下这些细胞之间的关系。

与上述单元平均CFAR检测器,假定传递到检测器中的数据是从一个单一的脉冲,即,不涉及脉冲积分,阈值系数可以被写为[1]

α = N ( P f 一个 - 1 / N - 1 )

在哪里 P f 一个 为期望的误报率。

使用自动阈值因子进行CFAR检测

在本例的其余部分,我们将展示如何使用相控阵系统工具箱来执行单元平均CFAR检测。为了简单和不失一般性,我们仍然假设噪声是高斯白噪声。这使得比较CFAR和经典检测理论成为可能。

我们可以使用下面的命令初始化一个恒虚警检测器

CFAR = phased.CFARDetector(“NumTrainingCells”,20岁,'NumGuardCells',2);

在此探测器,我们使用20个训练单元,并在总共2个保卫细胞。这意味着有10个训练细胞和在切口的每一侧1个保护单元。如上所述,如果我们假设该信号是来自没有脉冲积分平方律检测器,阈值可以基于训练单元的数目和假警报的期望概率来计算。假设所需的虚警率是0.001,我们可以配置CFAR检测器如下,使得该计算可以进行。

exp_pfa = 1 e - 3;cfar.ThresholdFactor =“汽车”;cfar.ProbabilityFalseAlarm = exp_pfa;

配置的CFAR检测器如下所示。

cfar
cfar =分阶段。CFARDetector with properties: Method: 'CA' NumGuardCells: 2 NumTrainingCells: 20 threshold oldfactor: 'Auto' ProbabilityFalseAlarm: 1.0000e-03 OutputFormat: 'CUT result' threshold oldoutputport: false NoisePowerOutputPort: false

我们现在模拟的输入数据。由于重点是要表明,恒虚警率检测器可以保持误报率低于一定值时,我们只是模拟这些细胞中的噪声样本。具体设置如下:

  • 数据序列是23个样本长,并且是CUT单元12在切口的每一侧这样的叶子10个训练细胞和1个保护单元。

  • 误报率采用10万次蒙特卡罗试验法计算

rs = RandStream (“mt19937ar”,“种子”,2010);npower = db2pow (-10);%假设10dB信噪比Ntrials = 1 e5;ncell = 23;CUTIdx = 12;噪音样本经过平方定律检测器rsamp = randn (rs, ncell Ntrials) + 1我* randn (rs, ncell Ntrials);x = abs (sqrt (- / 2) * rsamp) ^ 2;

为了进行检测,通过检测器传递数据。在此示例中,仅存在一个CUT,所以输出是包含用于所有试验的检测结果的逻辑矢量。如果结果为真,则意味着目标是存在于相应的试验。在我们的例子中,所有的检测都是假的警报,因为我们只是传递的噪音。产生的误报率然后可以根据假警报的数量和试验次数来计算。

x_detected = CFAR(X,CUTIdx);act_pfa = (x_detected) / Ntrials求和
act_pfa = 9.4000e-04

结果表明,所产生的误报的概率低于0.001,就像我们指定的。

使用自定义阈值因子进行CFAR检测

如本实施例的前面的部分说明的那样,只有少数情况下,其中,CFAR检测器可以自动计算适当的阈值因子。例如,使用先前的场景中,如果我们采用了数据进入检测器前的10脉冲非相干积分,自动阈值可以不再提供期望的虚警率。

npower = db2pow (-10);%假设10dB信噪比xn = 0;米= 1:10 rsamp = randn(RS,NCELLS,Ntrials)+ 1I * randn(RS,NCELLS,Ntrials);XN = XN + ABS(SQRT(npower公司/ 2)* rsamp)^ 2。%不相干的集成结束x_detected = cfar (xn CUTIdx);act_pfa = (x_detected) / Ntrials求和
act_pfa = 0

人们可能会感到困惑,为什么我们认为0的误报率比0.001的误报率更糟糕。毕竟,误报率为0不是一件好事吗?这个问题的答案在于当误报的概率降低时,检测的概率也随之降低。在这种情况下,由于真虚警率远远低于允许的值,所以检测阈值设置得过高。用我们期望的误报概率以较低的代价实现相同的检测概率;例如,较低的发射功率。

在大多数情况下,需要根据特定的环境和系统配置来估计阈值因素。我们可以配置CFAR检测器来使用自定义阈值因子,如下所示。

释放(CFAR);cfar.ThresholdFactor =“自定义”;

继续使用脉冲集成示例并使用经验数据,我们发现可以使用自定义阈值因子2.35来实现所需的虚警率。使用这个阈值,我们可以看到产生的误报率与期望值匹配。

cfar。CustomThresholdFactor = 2.35;x_detected = cfar (xn CUTIdx);act_pfa = (x_detected) / Ntrials求和
act_pfa = 9.6000 e-04

CFAR检测阈值

当在一个小区中的输入信号电平超过阈值水平时,发生CFAR检测。每个单元的阈值电平取决于阈值系数和在于:从训练细胞的噪声功率。为了保持恒虚警率,检测阈值会增加或按比例在训练细胞减少噪声功率。配置CFAR检测,以输出用于使用每个检测的阈值ThresholdOutputPort属性。使用自动阈值因子和200个的训练单元。

释放(CFAR);cfar.ThresholdOutputPort = TRUE;cfar.ThresholdFactor =“汽车”;cfar.NumTrainingCells = 200;

接下来,创建一个平方律输入信号,增加噪声功率。

rs = RandStream (“mt19937ar”,“种子”,2010);Npoints = 1 e4;rsamp = randn (rs Npoints 1) + 1我* randn (rs Npoints 1);斜坡= linspace (1、10、Npoints) ';xRamp = abs (sqrt (npower * ramp. / 2)。* rsamp) ^ 2;

计算信号中所有细胞的检测和阈值。

[x_detected, th] = cfar (xRamp, 1:长度(xRamp));

接下来,将CFAR阈值与输入信号进行比较。

图(1:长度(xRamp),xRamp,1:长度(xRamp),日...找到(x_detected),xRamp(x_detected)“o”)传说(“信号”,“阈值”,“检测项”,“位置”,“西北”)xlabel(“时间指数”)ylabel(“水平”)

这里,与该信号的噪声功率阈值增加,以保持恒虚警率。在出现检测其中信号电平超过阈值。

恒虚警和古典奈曼 - 皮尔逊检测器之间的比较

在本节中,我们比较一CFAR检测器使用奈曼 - 皮尔逊原则的经典检测理论的性能。返回到第一实例,并假设真实噪声功率是已知的,理论阈值可被计算为

T_ideal = - * db2pow (npwgnthresh (exp_pfa));

此经典奈曼皮尔森检测器的误报率可以使用该理论阈值来计算。

act_Pfa_np =总和(x (CUTIdx:) > T_ideal) / Ntrials
act_Pfa_np = 9.5000 e-04

由于我们知道噪声功率,经典的检测理论也产生了期望的误报率。CFAR检测器的误报率与此相似。

释放(CFAR);cfar.ThresholdOutputPort = FALSE;cfar.NumTrainingCells = 20;x_detected = CFAR(X,CUTIdx);act_pfa = (x_detected) / Ntrials求和
act_pfa = 9.4000e-04

接着,假定这两个检测器被超过预期部署到字段和噪声功率为1dB。在这种情况下,如果我们使用的理论阈值时,所产生的误报概率比我们希望的四倍。

npower公司= db2pow(-9);%假设9分贝SNR比rsamp = randn (rs, ncell Ntrials) + 1我* randn (rs, ncell Ntrials);x = abs (sqrt (- / 2) * rsamp) ^ 2;act_Pfa_np =总和(x (CUTIdx:) > T_ideal) / Ntrials
act_Pfa_np = 0.0041

相反,恒虚警检测器的性能不会受到影响。

x_detected = CFAR(X,CUTIdx);act_pfa = (x_detected) / Ntrials求和
act_pfa = 0.0011

因此,CFAR探测器对噪声功率不确定性具有较强的鲁棒性,更适合现场应用。

最后,使用CFAR检测有色噪声的存在。我们首先采用经典的检测阈值的数据。

npower = db2pow (-10);fcoeff = maxflat (10,“符号”,0.2);X = ABS(SQRT(npower公司/ 2)*滤波器(fcoeff,1,rsamp))^ 2。%有色噪声act_Pfa_np =总和(x (CUTIdx:) > T_ideal) / Ntrials
act_Pfa_np = 0

注意,产生的误报率不能满足要求。然而,使用带有自定义阈值因子的CFAR检测器,我们可以获得期望的误报率。

释放(CFAR);cfar.ThresholdFactor =“自定义”;cfar.CustomThresholdFactor = 12.85;x_detected = CFAR(X,CUTIdx);act_pfa = (x_detected) / Ntrials求和
act_pfa = 0.0010

距离-多普勒图像的CFAR检测

在前面的小节中,噪声估计是通过在单一维度中引导和滞后于切割的训练单元来计算的。我们还可以对图像进行CFAR检测。细胞与图像中的像素相对应,保护细胞和训练细胞在切口周围成条状排列。检测阈值是由切口周围矩形训练带中的细胞计算出来的。

在上面的图中,保护带的大小是[2 2]和训练带大小是[4 3]。大小指数分别指细胞的数量上在所述行和列尺寸CUT的每一侧。保护带尺寸也可以定义为2,由于尺寸是沿着行和列的尺寸是相同的。

接下来,创建一个二维CFAR检测器。用1E-5的误报的概率,并指定5个细胞的保护频带的大小和10个细胞的训练带大小。

cfar2D = phased.CFARDetector2D (“GuardBandSize”5,“TrainingBandSize”10...'ProbabilityFalseAlarm'1 e-5);

接下来,加载并绘制距离-多普勒图像。图像包括来自两个静止目标和一个远离雷达的目标的返回。

[RESP,rngGrid,dopGrid] = helperRangeDoppler;

使用CFAR搜索范围多普勒空间物体,并绘制地图的检测的。搜索从-10至10 kHz和从1000至4000微米。首先,定义将细胞在测试该区域。

[〜,rangeIndx] =分钟(ABS(rngGrid- [1000 4000]));[〜,dopplerIndx] =分钟(ABS(dopGrid  -  [ -  1E4 1E4]));[columnInds,rowInds] = meshgrid(dopplerIndx(1):dopplerIndx(2),...rangeIndx (1): rangeIndx (2));CUTIdx = [rowInds(:) columnInds(:)];

计算用于每个待测试细胞的检测结果。在搜索区域中的每个像素是在这个例子中的小区。绘制地图的检测结果为距离多普勒图像的。

检测= cfar2D(相应,CUTIdx);helperDetectionsMap(分别,rngGrid,dopGrid,rangeIndx,dopplerIndx,检测)

被检测的三个对象。距离多普勒图像随时间的数据立方体同样可以作为输入信号被提供cfar2D和检测将在单一步骤中进行计算。

总结

在本例中,我们介绍了CFAR检测器背后的基本概念。特别是,我们探讨了如何使用相控阵系统工具箱对信号和距离-多普勒图像进行细胞平均CFAR检测。通过对计算得到的阈值与细胞平均CFAR检测器性能的比较,可以看出CFAR检测器更适合于实际的现场应用。

参考

[1]马克•理查兹雷达信号处理基础,麦格劳希尔,2005年