主要内容

恒定误报率(CFAR)检测

此示例介绍了常量误报率(CFAR)检测,并显示如何在相控阵系统工具箱™中使用CFardetector和Cfardetector2d来执行Cell平均CFAR检测。

介绍

雷达系统执行的一项重要任务是目标探测。探测本身相当简单。它将信号与阈值进行比较。因此,实际的检测工作是提出一个适当的阈值。一般情况下,阈值是检测概率和虚警概率的函数。

在许多相位阵列系统中,由于与错误检测相关的成本,希望具有检测阈值,其不仅最大化检测概率,而且还保持错误警报低于预设级别的概率。

关于如何确定检测阈值有大量的文献。读者可能会感兴趣的高斯白噪声下的信号检测使用多个样本的信号检测一些众所周知的结果的例子。然而,所有这些古典结果都基于理论概率,并且仅限于具有已知方差(功率)的白色高斯噪声。在实际应用中,噪声通常是着色的,其功率未知。

CFAR技术解决了这些问题。在CFAR中,当给定小区需要检测时,通常被称为被测电池(切割)时,从相邻小区估计噪声功率。然后检测阈值, T. ,是由

T. = α P. N.

在哪里 P. N. 噪声功率估计和 α 是一个称为阈值因子的比例因子。

从等式中,很明显阈值适应数据。可以表明,具有适当的阈值因子, α ,可以保持常量的误报的所得到的概率,因此CFAR名称。

细胞平均CFAR检测

细胞平均CFAR检测器可能是应用最广泛的CFAR检测器。它也被用作其他CFAR技术的基线比较。在单元平均CFAR检测器中,噪声样本分别从前导单元和滞后单元(称为训练单元)中提取出来。噪声估计可计算为[1]

P. N. = 1 N. σ. M. = 1 N. X M.

在哪里 N. 训练单元的数量是多少 X M. 是每个训练单元中的样本。如果 X M. 正好是平方律检测器的输出 P. N. 代表估计的噪声功率。通常,前导和滞后训练单元的数量是相同的。防护细胞邻近切割,两者都是引导和滞后的。这些保护单元的目的是避免信号分量泄漏到训练单元中,这可能对噪声估计产生不利影响。

下图显示了对1-D case的这些小区之间的关系。

使用上述单元平均CFAR检测器,假设传入检测器的数据来自单个脉冲,即不涉及脉冲积分,阈值因子可以写成[1]

α = N. P. F 一种 - 1 / N. - 1 的)

在哪里 P. F 一种 是所需的误报率。

CFAR检测使用自动阈值因子

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

我们可以使用以下命令实例化CFAR检测器:

cfar =分阶段。CFARDetector ('numtringcells',20,“NumGuardCells”2);

在该检测器中,我们总共使用了20个训练单元和2个保卫单元。这意味着在切割区两侧各有10个训练单元和1个警卫单元。如上所述,如果我们假设信号来自一个没有脉冲积分的平方律检测器,阈值可以根据训练单元的数量和期望的虚警概率来计算。假设期望的虚警率为0.001,我们可以对CFAR检测器进行如下配置,以便进行计算。

EXP_PFA = 1E-3;cfar.ThresholdFactor ='汽车';cfar.probabilityfalsealarm = exp_pfa;

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

cfar
cfar = phased.cfardetector具有属性:方法:'ca'numguardcells:2 numtringcells:20阈值

现在我们模拟输入数据。由于重点是为了证明CFAR检测器能够将虚警率保持在一定的值下,所以我们只是模拟了这些单元中的噪声样本。以下是设置:

  • 数据序列有23个样本长,CUT是第12单元格。在切割区两侧各留下10个训练细胞和1个保卫细胞。

  • 通过10万次蒙特卡罗试验计算虚警率。

rs = randstream('mt19937ar''种子',2010);npower = db2pow(-10);%假设10db SNR比率ntrials = 1e5;ncells = 23;cutidx = 12;平方法检测器后%噪声样品rsamp = randn (rs, ncell Ntrials) + 1我* randn (rs, ncell Ntrials);x = ABS(SQRT(NPower / 2)* RSAMP)。^ 2;

要执行检测,将数据通过检测器。在本例中,只有一个CUT,因此输出是一个包含所有试验检测结果的逻辑向量。如果结果是正确的,这意味着在相应的试验中存在一个目标。在我们的示例中,所有检测都是假警报,因为我们只是通过噪声。由此产生的误报率可以根据误报次数和试验次数来计算。

x_detected = cfar (x, CUTIdx);ACT_PFA = SUM(X_DETETCTED)/ NTRIALS
act_pfa = 9.4000 e-04

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

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

正如本示例的前面部分所解释的,只有少数情况下CFAR检测器可以自动计算适当的阈值因子。例如,使用前面的场景,如果我们在数据进入检测器之前使用10个脉冲的非相干积分,自动阈值不再能够提供所需的虚警率。

npower = db2pow(-10);%假设10db SNR比率xn = 0;为了m = 1:10 Rsamp = Randn(Rs,Ncell,ntrials)+ 1i * Randn(Rs,Ncells,Ntrials);xn = xn + abs(sqrt(npower / 2)* Rsamp)。^ 2;%不合格整合结尾x_detected = cfar (xn CUTIdx);ACT_PFA = SUM(X_DETETCTED)/ NTRIALS
act_pfa = 0

一个人可能会困惑为什么我们认为产生的误报率为0比误报率差0.001。毕竟,不是0的误报率为0大事?这个问题的答案在于,在误报的概率下降时,检测概率也是如此。在这种情况下,因为真误报警速率远低于允许的值,所以检测阈值设置得太高。通过以较低的成本,通过所需的误报概率可以实现相同的检测概率;例如,发射器功率较低。

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

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

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

cfar.customthresholdfactor = 2.35;x_detected = cfar (xn CUTIdx);ACT_PFA = SUM(X_DETETCTED)/ NTRIALS
ACT_PFA = 9.6000E-04

CFAR检测阈值

当单元中的输入信号电平超过阈值水平时,会发生CFAR检测。每个小区的阈值水平取决于阈值因子和来自训练单元的噪声功率。为了保持恒定的误报率,检测阈值与训练单元中的噪声功率成比例地增加或减小。配置CFAR检测器以输出每次检测使用的阈值thresholdoutputport.财产。使用自动阈值因子和200训练细胞。

释放(cfar);cfar。T.hresholdOutputPort = true; cfar.ThresholdFactor ='汽车';cfar。N.umTrainingCells = 200;

接下来,采用噪音功率的增加,创建方法输入信号。

rs = randstream('mt19937ar''种子',2010);npoints = 1E4;RSAMP = RANDN(RS,NPOINTS,1)+ 1I * RANDN(RS,NPOINTS,1);斜坡= Linspace(1,10,NPoints)';xramp = abs(sqrt(npower *斜坡。/ 2)。* Rsamp)。^ 2;

计算信号中所有单元的检测和阈值。

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

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

阴谋(1:长度(xRamp) xRamp, 1:长度(xRamp),......找到(x_detected) xRamp (x_detected),“o”) 传奇('信号''临界点'“检测”“位置”'西北')包含('时间指数') ylabel ('等级'的)

图包含轴对象。轴对象包含3个类型线的对象。这些对象表示信号,阈值,检测。

这里,阈值随着信号的噪声功率而增加,以保持常数的误报率。信号电平超过阈值的检测发生。

CFAR与经典内曼-皮尔逊检测器的比较

在本节中,我们使用Neyman-Pearson原理比较CFAR检测器与经典检测理论的性能。返回到第一个示例并假设真正的噪声功率是已知的,可以计算理论阈值

t_ideal = npower * db2pow(npwgnthresh(exp_pfa));

可以使用这种理论阈值计算这种经典的Neyman-Pearson检测器的误报率。

ACT_PFA_NP = SUM(x(uchidx,:)> t_ideal)/ ntrials
ACT_PFA_NP = 9.5000E-04

因为我们知道噪声功率,经典检测理论也产生所需的误报率。CFAR检测器实现的误报率是相似的。

释放(cfar);cfar。T.hresholdOutputPort = false; cfar.NumTrainingCells = 20; x_detected = cfar(x,CUTIdx); act_pfa = sum(x_detected)/Ntrials
act_pfa = 9.4000 e-04

接下来,假设两个探测器都部署到该字段,并且噪声功率比预期更多为1 dB。在这种情况下,如果我们使用理论阈值,所产生的误报的可能性比我们所希望的四倍。

npower = db2pow (9);%假设信噪比为9dBrsamp = randn (rs, ncell Ntrials) + 1我* randn (rs, ncell Ntrials);x = ABS(SQRT(NPower / 2)* RSAMP)。^ 2;ACT_PFA_NP = SUM(x(uchidx,:)> t_ideal)/ ntrials
ACT_PFA_NP = 0.0041.

相反,CFAR探测器的性能不受影响。

x_detected = cfar (x, CUTIdx);ACT_PFA = SUM(X_DETETCTED)/ NTRIALS
ACT_PFA = 0.0011.

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

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

npower = db2pow(-10);fcoeff = maxflat(10,'ysm', 0.2);x = abs (sqrt(英国能源再生公司/ 2)*过滤器(fcoeff 1 rsamp)) ^ 2;%彩色噪音ACT_PFA_NP = SUM(x(uchidx,:)> t_ideal)/ ntrials
act_Pfa_np = 0

请注意,由此产生的误报率不能满足要求。但是,使用具有自定义阈值因子的CFAR检测器,我们可以获得所需的误报率。

释放(cfar);cfar.ThresholdFactor =“自定义”;cfar。CustomThresholdFactor = 12.85;x_detected = cfar (x, CUTIdx);ACT_PFA = SUM(X_DETETCTED)/ NTRIALS
ACT_PFA = 0.0010.

范围 - 多普勒图像的CFAR检测

在前几节中,噪声估计是通过在单个维度中超前和滞后于CUT的训练单元计算出来的。我们也可以对图像进行CFAR检测。细胞与图像中的像素相对应,保卫细胞和训练细胞被置于CUT周围的条带中。检测阈值由CUT周围矩形训练带内的单元计算得到。

上图中,防护带大小为[2 2],训练带大小为[4 3]。大小索引是指在行维度和列维度中,CUT每一侧的单元格数。保护带大小也可以定义为2,因为该行和列的尺寸是相同的。

接下来,创建一个二维CFAR检测器。使用错误警报的概率为1e-5,并指定防护带大小为5个细胞,训练带大小为10个细胞。

cfar2d = phased.cfardetector2d('守护带'5,'训练带式',10,......“ProbabilityFalseAlarm”,1E-5);

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

(职责、rngGrid dopGrid] = helperRangeDoppler;

图包含轴对象。具有标题范围多普勒映射的轴对象包含类型图像的对象。

使用CFAR搜索对象的范围 - 多普勒空间,并绘制检测的地图。从-10到10 kHz搜索,从1000到4000米。首先,定义该区域的被测电池。

[~,rangeIndx] = min(abs(rngGrid-[1000 4000]));[~,dopplerIndx] = min(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,检测)

图包含轴对象。具有标题范围多普勒CFAR检测的轴对象包含类型图像的对象。

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

总结

在此示例中,我们介绍了CFAR探测器背后的基本概念。特别是,我们探讨了如何使用相控阵系统工具箱在信号和范围 - 多普勒图像上执行单元平均CFAR检测。由电池平均CFAR检测器提供的性能与配备有理论计算的阈值的检测器之间的比较清楚地显示了CFAR检测器更适合真实的现场应用。

参考

[1]标记Richards,雷达信号处理基础麦格劳希尔,2005年