主要内容

恒虚警率(CFAR)检测

这个示例介绍了恒虚警率(CFAR)检测和显示如何使用CFARDetector和CFARDetector2D相控阵系统工具箱™执行细胞平均CFAR检测。

介绍

一个雷达系统执行一个重要任务是目标检测。检测本身相当简单。比较阈值的信号。因此,真正的检测工作是想出一个合适的阈值。一般来说,阈值是一个函数的检测概率和误报的可能性。

在许多相控阵系统,因为与一个错误的检测相关的成本,需要有一个检测阈值,不仅检测的概率最大化,也使假警报的概率低于预设的水平。

有广泛的文献如何确定检测阈值。读者可能会感兴趣的在高斯白噪声信号检测信号检测使用多个样本对于一些众所周知的例子的结果。然而,所有这些经典的结果是基于概率理论和有限高斯白噪声与已知方差(权力)。在真实的应用程序中,噪声通常是彩色的,它的力量是未知的。

CFAR技术解决了这些问题。在CFAR检测是必要的对于一个给定的细胞,通常称为单元测试(减少),噪声功率估计从邻近的细胞。然后检测阈值, T 的话,是

T = α P n

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

从方程,很明显,阈值适应数据。它可以表明,通过适当的阈值的因素, α ,由此产生的假警报的概率可以保持在一个常数,因此CFAR的名称。

细胞平均CFAR检测

细胞平均CFAR检测器可能是最广泛使用的CFAR检测器。它也用作基线比较其他CFAR技术。在细胞平均CFAR检测器,噪声样本提取领先和滞后细胞(称为训练细胞)在减少。噪声估计可以计算[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检测器使用以下命令:

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属性:方法:“CA”NumGuardCells: 2 NumTrainingCells: 20 ThresholdFactor:“汽车”ProbabilityFalseAlarm: 1.0000 e 03 OutputFormat:“切结果”ThresholdOutputPort:假NoisePowerOutputPort:假

我们现在模拟输入数据。因为重点是证明CFAR检测器可以保持假警报率在一定价值,我们只是模拟噪声样本的细胞。这是设置:

  • 数据序列长度为23个样品,减少细胞12。这使得10培训细胞和1保卫细胞两侧的削减。

  • 假警报率是计算使用10万蒙特卡罗试验。

rs = RandStream (“mt19937ar”,“种子”,2010);npower = db2pow (-10);%承担10 db信噪比比率Ntrials = 1 e5;ncell = 23;CUTIdx = 12;%平方律检测器噪声样本rsamp = randn (rs, ncell Ntrials) + 1我* randn (rs, ncell Ntrials);x = abs (sqrt (- / 2) * rsamp) ^ 2;

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

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

结果表明,由此产生的假警报的概率低于0.001,正如我们指定。

CFAR检测使用自定义阈值的因素

的前一部分解释这个例子中,只有少数情况下的CFAR检测器可以自动计算出适当的阈值的因素。例如,使用前面的场景中,如果我们采用10-pulses不相干的集成在数据进入探测器,自动阈值可以不再提供所需的误警率。

npower = db2pow (-10);%承担10 db信噪比比率xn = 0;m = 1:10 rsamp = randn (rs, ncell Ntrials) + 1我* randn (rs, ncell Ntrials);xn = xn + abs (sqrt (- / 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”)传说(“信号”,“阈值”,“检测”,“位置”,“西北”)包含(“时间指数”)ylabel (“水平”)

图包含一个坐标轴对象。坐标轴对象包含时间指数,ylabel级别包含3线类型的对象。一个或多个行显示的值只使用这些对象标记代表信号,检测阈值。

在这里,阈值随信号的噪声功率保持恒定的误警率。检测发生的信号电平超过阈值。

对比CFAR和古典Neyman-Pearson探测器

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

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

这个古典Neyman-Pearson检测器的误警率可以使用这个理论阈值计算。

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 = sum(x_detected)/Ntrials
act_pfa = 9.4000 e-04

接下来,假设两个探测器都部署到的字段和噪声功率是1 dB超过预期。在这种情况下,如果我们用理论阈值,由此产生的假警报的概率是四倍比我们的欲望。

npower = db2pow (9);%认为9 db信噪比比率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

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

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(英国能源再生公司/ 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检测Range-Doppler图像

在前面的部分中,噪声估计是计算从培训中引领和滞后的一个维度。我们也可以执行CFAR检测图像。细胞图像对应像素,和保卫细胞和培训细胞放置在伤口附近的乐队。检测阈值计算从细胞周围的矩形培训乐队。

在上图中,保护带大小是2[2]和训练带大小3 [4]。规模指数是指细胞的数量在每个侧切的行和列维度,分别。保护带的大小也可以被定义为2,因为沿着行和列的尺寸大小都是一样的。

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

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

接下来,负载和情节range-doppler形象。图像包括回报两个固定目标和一个目标远离雷达。

(职责、rngGrid dopGrid] = helperRangeDoppler;

图包含一个坐标轴对象。坐标轴对象与标题范围多普勒地图,包含多普勒(Hz), ylabel范围(m)包含一个类型的对象的形象。

使用CFAR range-Doppler空间搜索对象,和策划检测的地图。搜索从-10年到10 kHz,从1000年到4000米。首先,定义这个区域的细胞被测试。

[~,rangeIndx] = min (abs (rngGrid - 4000 [1000]));[~,dopplerIndx] = min (abs (dopGrid - [1 e4 e4]));[columnInds, rowInds] = meshgrid (dopplerIndx (1): dopplerIndx (2),rangeIndx (1): rangeIndx (2));CUTIdx = [rowInds (:) columnInds (:)) ';

计算测试每个单元的检测结果。每个像素在搜索区域是一个细胞在这个例子。绘制的地图range-Doppler图像的检测结果。

检测= cfar2D(职责、CUTIdx);helperDetectionsMap(职责、rngGrid dopGrid、rangeIndx dopplerIndx,检测)

图包含一个坐标轴对象。坐标轴对象与标题多普勒CFAR检测范围,包含多普勒(Hz), ylabel范围(m)包含一个类型的对象的形象。

这三个对象。数据立方体的range-Doppler图像随着时间的推移,同样可以提供输入信号cfar2D,检测将会计算在一个单一的步骤。

总结

在这个例子中,我们提出了CFAR检测器背后的基本概念。特别是,我们探索如何使用相控阵系统工具箱上执行细胞平均CFAR检测信号和range-Doppler图像。细胞提供的对比性能平均CFAR检测器和一个探测器配备了理论上计算阈值清楚地表明,CFAR检测器更适合实际领域的应用。

参考

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