多样本信号检测
这个例子展示了如何使用多个接收信号样本检测复杂高斯白噪声中的信号。使用匹配的滤波器来利用处理增益。
介绍
这个例子中,高斯白噪声中的信号检测,介绍了一个基本的信号检测问题。在那个例子中,只使用接收到的信号的一个样本来执行检测。这个例子在检测过程中涉及到更多的样本,以提高检测性能。
和前面的例子一样,假设信号功率为1,单样本信噪比(SNR)为3 dB。蒙特卡罗试验次数为100000次。期望的虚警概率(Pfa)水平为0.001。
Ntrial = 1 e5;蒙特卡洛试验的%数量Pfa = 1 e - 3;% Pfasnrdb = 3;% SNR in dB信噪比= db2pow (snrdb);线性尺度下的信噪比npower = 1 /信噪比;%噪声功率namp =√npower / 2);每个通道的噪声振幅%
使用较长波形的信号检测
如上例所述,阈值的确定基于Pfa。因此,只要选择了阈值,则Pfa是固定的,反之亦然。与此同时,人们当然更喜欢被发现的概率更高(Pd)。实现这一目标的一种方法是使用多个样本来执行检测。例如,在前面的例子中,单个样本的信噪比为3 dB。如果可以使用多个样本,那么匹配的滤波器可以在信噪比上产生额外的增益,从而提高性能。在实践中,可以使用较长的波形来实现这一增益。在离散时间信号处理的情况下,也可以通过增加采样频率来获得多个样本。
假设波形现在由两个样本构成:
Nsamp = 2;wf = 1 (Nsamp, 1);mf =连词(wf(结束:1:1));%匹配滤波器
对于相干接收机,信号、噪声和阈值由
%修正随机数发生器rstream = RandStream.create (“mt19937ar”,“种子”, 2009);s = wf * 1 (1, Ntrial);n = namp * (randn (rstream, Nsamp Ntrial) + 1我* randn (rstream, Nsamp Ntrial));snrthreshold = db2pow(npwgnthresh(Pfa, 1,“连贯”));mfgain = mf ' * mf;阈值=√- * mfgain * snrthreshold);%最终阈值T
如果目标存在
X = s + n;y = mf的* x;z =真正的(y);Pd = (z >阈值)/ Ntrial求和
Pd = 0.3947
如果目标不在
x = n;y = mf的* x;z =真正的(y);Pfa = (z >阈值)/ Ntrial求和
Pfa = 0.0011
注意,通过匹配滤波器,信噪比得到了提高。
snr_new =信噪比* mf的* mf;snrdb_new = pow2db (snr_new)
snrdb_new = 6.0103
用这个新的SNR值绘制ROC曲线。
rocsnr (snrdb_new“SignalType”,“NonfluctuatingCoherent”,“MinPfa”1的军医);
从图中可以看出,所给出的点Pfa和Pd正好落在曲线上。因此,ROC曲线对应的信噪比就是匹配滤波器输出处单个样本的信噪比。这说明,虽然可以使用多个样本进行检测,但SNR中的单样本阈值(程序中的snrthreshold)与简单样本情况相比并没有变化。之所以没有变化,是因为阈值本质上是由Pfa。然而,最终的门槛,T,因为额外的匹配滤波器增益而改变。由此产生的Pfa与只使用一个样本进行检测的情况相比是相同的。然而,额外的匹配增益提高了Pd从0.1390到0.3947。
,我们可以对非相干接收器运行类似的情况来验证之间的关系Pd,Pfa和信噪比。
使用脉冲积分的信号检测
雷达和声纳应用经常使用脉冲集成来进一步提高探测性能。如果接收机是相干的,脉冲积分只是将匹配的滤波脉冲的实部相加。因此,当使用相干接收机时,信噪比的提高是线性的。如果一个人集成了10个脉冲,那么信噪比提高了10倍。对于一个非相干的接收机来说,这种关系就没那么简单了。下面的例子展示了对非相干接收机进行脉冲积分的使用。
假设两个脉冲的积分。然后,构造接收到的信号,并对其应用匹配的滤波器。
PulseIntNum = 2;Ntotal = PulseIntNum * Ntrial;s = wf * exp(1 * 2 *π*兰德(rstream 1 Ntotal));%不相干的n =√- / 2)*…(randn (rstream Nsamp Ntotal) + 1我* randn (rstream, Nsamp Ntotal));
如果目标存在
X = s + n;y = mf的* x;y =重塑(y, Ntrial, PulseIntNum);%重塑以对齐列中的脉冲
可以使用两种可能的方法对脉冲进行积分。这两种方法都与第一类修正贝塞尔函数的近似有关,这是在使用多个脉冲的非相干探测过程的似然比检验(LRT)建模时遇到的。第一种方法是对多个脉冲的abs(y)^2求和,这通常被称为a平方律检测器。第二种方法是把所有脉冲的abs(y)加起来,也就是常说的a线性检测器。对于小信噪比,首选平方定律检测器,而对于大信噪比,使用线性检测器是有利的。在本次仿真中,我们使用了平方定律检测器。然而,两种检测器之间的差异通常在0.2 dB以内。
对于这个例子,选择平方定律检测器,它比线性检测器更受欢迎。要执行平方定律检测器,可以使用pulsint函数。该函数将输入数据矩阵的每一列视为一个单独的脉冲。脉冲函数执行的操作
z = pulsint (y,“非相干”);
阈值之间的关系T和Pfa,给出这个新的充分的统计,z,由
在哪里
是皮尔逊形式的不完全函数和l为用于脉冲积分的脉冲数。使用平方定律检测器,可以像前面一样使用npwgnthresh函数计算涉及脉冲积分的信噪比阈值。
PulseIntNum snrthreshold = db2pow (npwgnthresh (Pfa,“非相干”));
得到足够统计量的结果阈值,z,由
mfgain = mf ' * mf;阈值=√- * mfgain * snrthreshold);
被发现的概率由
Pd = (z >阈值)/ Ntrial求和
Pd = 0.5343
然后,计算Pfa当接收到的信号是噪声时,只使用集成了2个脉冲的非相干检测器。
x = n;y = mf的* x;y =重塑(y, Ntrial, PulseIntNum);z = pulsint (y,“非相干”);Pfa = (z >阈值)/ Ntrial求和
Pfa = 0.0011
要用脉冲积分绘制ROC曲线,必须在rocsnr函数中指定用于积分的脉冲数:
rocsnr (snrdb_new“SignalType”,“NonfluctuatingNoncoherent”,…“MinPfa”1的军医,“NumPulses”, PulseIntNum);
再一次,由Pfa和Pd落在曲线上。因此,ROC曲线中的SNR指定了用于从一个脉冲进行检测的单个样本的SNR。
这样的SNR值也可以通过Albersheim方程从Pd和Pfa中得到。从Albersheim方程得到的结果只是一个近似值,但在经常使用的情况下是相当不错的Pfa,Pd和脉冲积分范围。
注意:Albersheim方程有很多假设,比如目标是非波动的(旋流情况0或5),噪声是复的,白高斯,接收机是非相干的,用线性检测器进行检测(非波动目标的平方定律检测器也可以)。
计算必要的单样本信噪比,以达到一定Pd和Pfa,使用Albersheim函数为
snr_required = albersheim (Pd、Pfa PulseIntNum)
snr_required = 6.0009
这个计算出来的所需信噪比值与新信噪比值6 dB相匹配。
看到在……取得的进步Pd通过脉冲积分,绘制ROC曲线时,没有使用脉冲积分。
rocsnr (snrdb_new“SignalType”,“NonfluctuatingNoncoherent”,…“MinPfa”1的军医,“NumPulses”1);
从图中可以看出,如果没有脉冲积分,Pd只能在0.24左右用Pfa在1 e - 3。用2脉冲积分,如上面蒙特卡洛模拟所示,对于同样Pfa,Pd大约是0.53。
总结
这个例子展示了在检测中使用多个信号样本如何提高检测概率,同时保持期望的虚警水平概率。特别地,它展示了使用更长的波形或脉冲积分技术来提高Pd。这个例子说明了……之间的关系Pd,Pfa, ROC曲线和Albersheim方程。性能计算采用蒙特卡洛模拟。