数字处理中的匹配滤波器和互相关

信息处理 过滤器 互相关 匹配过滤器
2022-02-03 12:07:36

我对信号处理很陌生,对匹配滤波器有点困惑。假设我有一个时间序列和一个需要在其中识别的特定波形。根据定义:

通过将已知信号或模板与未知信号相关联来获得匹配滤波器,以检测未知信号中模板的存在。

所以我从序列中取出窗口,以相同的采样率生成测试信号,对它们进行互相关,找到最大值和阈值。是否将我测量的时间序列与生成的波形交叉关联为匹配滤波器(例如,在 matlab 中使用 xcorr),或者我必须遵循特定程序来生成“更正确”的匹配滤波器。谢谢你。

1个回答

我将举例说明:在 Matlab 中检测噪声中的矩形脉冲。

让我们从定义包含脉冲的信号开始。

fs = 1/1000;
t = 0:fs:1;
s = [zeros(1,400), ones(1,100), zeros(1,501)];

首先让我们用小功率检测噪声。我们计算接收到的(噪声)信号:

np = 0.1;  % noise power (variance)
n = sqrt(np)*randn(1,1001); % noise signal
r = s + n; % received signal
plot(t,r); title('Received signal, small noise power');

在此处输入图像描述

现在让我们运行相关性:

c = xcorr(r,s);
plot(c); title('Correlation, small noise power');

在此处输入图像描述

您可以看到相关性如何产生大输出,表明脉冲在那里。令人惊奇的是,即使无法看到,相关器也能找到脉搏。让我们增加噪声功率并重复该过程。

np = 4;
n = sqrt(np)*randn(1,1001);
r1 = s + n;  % received signal with large noise

在此处输入图像描述

在此处输入图像描述

如您所见,相关器具有令人难以置信的检测嵌入在强噪声中的信号的能力。

您可以为自己做的一件事是在存在脉冲时运行相关性。该信号很难与上面显示的嘈杂脉冲区分开来,但您会看到相关性不会产生明显的最大值。

因此,实现非常简单;不太容易做到的是:

  • 证明该技术在相关峰值处产生最佳的信噪比。
  • 给定对错误检测概率(假阳性或假阴性)的一些期望约束,确定最佳阈值。