这个例子展示了如何使用接收者工作特征(ROC)曲线来评估相干和非相干系统的性能。它假设探测器工作在加性复杂高斯白噪声环境中。
ROC曲线通常用于评估雷达或声纳探测器的性能。ROC曲线是给定信噪比(SNR)下检测概率(Pd)与虚警概率(Pfa)的曲线。
检测概率(Pd)是在事件“1”发生的情况下,说“1”为真的概率。虚警概率(Pfa)是在“0”事件发生的情况下,说“1”为真的概率。在声纳和雷达等应用程序中,“1”事件表示目标存在,“0”事件表示目标不存在。
探测器的性能是通过其在给定信噪比下实现一定探测概率和虚警概率的能力来衡量的。检查检测器的ROC曲线可以深入了解其性能。我们可以使用rocsnr函数来计算和绘制ROC曲线。
给定信噪比值,可以计算线性或平方律探测器使用单个脉冲可以实现的Pd和Pfa值。假设我们的信噪比值为8 dB,并且我们的要求要求Pfa值最多为1%,那么检测器可以达到什么Pd值?我们可以使用rocsnr函数来计算Pd和Pfa值,然后确定Pd对应于Pfa = 0.01的值。注意,默认情况下rocsnr函数假设相干检测。
[Pd,Pfa] = rocsnr(8);idx = find(Pfa= 0.01);% find指数为Pfa=0.01
使用上述确定的指标,我们可以找到对应于Pfa = 0.01的Pd值。
Pd (idx)
Ans = 0.8899
rocsnr函数的一个特点是,您可以指定信噪比值的向量,rocsnr为每个信噪比值计算ROC曲线。我们可以在ROC曲线图中查看结果,而不是单独计算给定信噪比的Pd和Pfa值。如果没有指定输出参数,默认情况下rocsnr函数会绘制ROC曲线。用四个信噪比值的输入向量调用rocsnr函数,没有输出参数,生成ROC曲线的图形。
SNRvals = [2 4 8 9.4];rocsnr (SNRvals);
在图中,我们可以选择工具栏(或工具菜单)中的数据游标按钮,然后在Pd = 0.9处选择SNR = 8 dB曲线,以验证Pfa约为0.01。
提高探测器性能的一种方法是对几个脉冲求平均。这在感兴趣的信号是已知的并且出现在加性复合白噪声的情况下特别有用。虽然这仍然适用于线性和平方定律探测器,但平方定律探测器的结果可能相差约0.2 dB。让我们继续我们的例子,假设信噪比为8 dB,并对两个脉冲进行平均。
rocsnr (8,“NumPulses”2);
通过检查图,我们可以看到,对于给定的假警报率,平均超过两个脉冲会导致更高的检测概率。当信噪比为8 dB并对两个脉冲进行平均时,可以将虚警概率限制在最大0.0001,并实现检测概率为0.9。回想一下,对于单个脉冲,我们必须允许假警报的概率高达1%,以实现相同的检测概率。
在这一点上,我们假设我们是在复高斯白噪声中处理一个已知信号。默认情况下,rocsnr函数假设一个相干检测器。若要分析除相位外信号已知的情况下检测器的性能,可以指定非相干检测器。使用与前面相同的信噪比值,让我们分析非相干检测器的性能。
rocsnr (SNRvals“SignalType”,“NonfluctuatingNoncoherent”);
关注SNR为8dB对应的ROC曲线。通过使用数据游标检查图表,可以看到要实现0.9的检测概率,必须容忍高达0.05的假报警概率。在不使用相位信息的情况下,对于给定的Pfa,我们需要更高的信噪比来实现相同的Pd。对于非相干线性探测器,我们可以使用Albersheim方程来确定什么值的信噪比将达到我们所期望的Pd和Pfa。
SNR_valdB = albersheim(0.9,.01)% Pd=0.9, Pfa=0.01
SNR_valdB = 9.5027
通过绘制Albersheim方程逼近SNR值的ROC曲线,我们可以看到探测器将实现Pd = 0.9和Pfa = 0.01。注意,Albersheim的技术只适用于非相干探测器。
rocsnr (SNR_valdB“SignalType”,“NonfluctuatingNoncoherent”);
以上所有讨论都假设目标是非波动的,这意味着目标的统计特征不随时间变化。然而,在实际情况下,目标可以加速和减速以及翻滚和俯仰。这些因素导致目标的雷达横截面(RCS)随时间变化。一组被称为Swerling模型的统计模型通常用于描述目标RCS的随机变化。
Swerling有四种型号,分别是Swerling 1-4。非波动目标通常被称为转向0或转向5。每个转向模型都描述了目标的RCS如何随时间变化以及变化的概率分布。
由于目标RCS是变化的,波动目标的ROC曲线与非波动目标的不一样。此外,由于转弯目标在接收信号中加入了随机相位,对转弯目标使用相干探测器变得更加困难。因此,非相干检测技术经常用于转向目标的检测。
现在让我们比较非波动目标和转向1目标的ROC曲线。特别是,如果我们想要达到相同的Pd和Pfa,我们想要探索在这两种情况下的信噪比要求是什么。对于这样的比较,通常很容易绘制ROC曲线,即Pd与不同Pfa的信噪比。我们可以使用rocpfa函数来绘制这种形式的ROC曲线。
让我们假设我们正在用10个集成脉冲进行非相干检测,期望的Pfa最多为1e-8。我们首先绘制非波动目标的ROC曲线。
rocpfa (1 e-8“NumPulses”10“SignalType”,“NonfluctuatingNoncoherent”)
然后我们绘制一个转向1目标的ROC曲线进行比较。
rocpfa (1 e-8“NumPulses”10“SignalType”,“Swerling1”)
从图中,我们可以看到,对于Pd为0.9,如果目标不波动,我们需要约6 dB的信噪比。然而,如果目标是Swerling case 1模型,所需的信噪比跳到14 dB以上,相差8 dB。这将极大地影响系统的设计。
在非波动目标的情况下,我们有近似方程来帮助确定所需的信噪比,而不必绘制所有曲线。用于波动目标的方程是Shnidman方程。对于我们用来绘制ROC曲线的场景,信噪比要求可以使用shnidman函数导出。
Snr_sw1_db = shnidman(0.9,1e-8,10,1)% Pd=0.9, Pfa=1e-8, 10次脉冲,
Snr_sw1_db = 14.7131
%转弯情况1
计算出的信噪比要求与从曲线中得到的值相匹配。
ROC曲线对于分析相干和非相干系统的检测器性能是有用的。我们使用rocsnr函数来分析线性检测器对不同信噪比值的有效性。我们还回顾了通过平均多个样本实现的检测器性能的改进。最后,我们展示了如何使用rocsnr和rocpfa函数来分析非相干检测器对非波动和波动目标的性能。