需要关键帮助:如何检测和区分两个外观非常相似的信号?

信息处理 信号分析 信号检测 局部特征 分类
2022-02-23 06:22:27

大家好,我有一个非常棘手的信号处理问题。

你如何检测和区分两个看起来非常相似的波?

对于在线应用程序,我需要区分这两个信号,而迄今为止的技术都失败了。这两个信号具有非常相似且通常不可预测的幅度。几乎相同的频率。所以我可以尝试区分两者的唯一方法是使用时域特征。

信号 1: 在此处输入图像描述

信号 2: 在此处输入图像描述

数据每秒钟都会实时传输(每秒 128 个样本)。我的方法是:

  1. 使用大小为 128 个样本的窗口来获取数据

  2. 计算数据特征的时域特征如:

    • 当前 128 个样本和之前 128 个样本的平均值之间的导数,

    • 当前 128 个样本的最大点与前 128 个样本的导数

    • 数据偏度

    • 数据的峰度

    • 偏离平均值

  3. 如果导数下降,那么我们说它是信号 1,如果导数下降,我们说它是信号 2

但问题是这两个信号看起来非常相似。因此,如果窗口放置不正确(即在初始信号之后的上升或下降阶段),那么它可以给我完全相反的结果!

有人可以就我应该使用哪些功能或应该使用什么技术来区分这两个看起来非常相似的信号给我一些建议!

3个回答

正如康拉德所指出的,相关器可能是您最好的选择。

信号与其自身的相关性(也称为自相似性)大于其与任何其他信号的相关性(与信号能量相关的常数因子除外)。

在您的情况下,您将实现两个相关器,一个用于信号 1,一个用于信号 2。然后,您将寻找一个相关器的输出大于某个阈值。您可能需要运行一些测试来确定阈值。

使用相关性的一个好处是您不需要将时间窗口与信号同步。只要确保从一个时间窗口累积到下一个时间窗口的相关计算。

非常不科学的答案,有时对我来说效果很好。

  1. 盯着数据并检查您(作为人类)是否可以可靠地区分两者
  2. 在一张纸上写下你实际上是如何做到这一点的(例如,第一个凸点在 A 上,但在 B 上)。
  3. 将其编码为启发式算法。

当然,挖掘标准算法的包来帮助解决这个问题(相关性、平滑、峰值检测器等)是有意义的。该方法的一个很好的附带好处是它通常很容易调试和调整,因为您只是在尝试复制已经在您脑海中的算法。

要比较两个信号,您可以使用小波互相关以及小波相干性和小波相位分析。在第一种情况下,您比较不同频率下信号的互相关。在小波相位分析中,您可以看到一个信号是否会随着时间的推移预测另一个信号。(是其他信号行为的原因)。您还可以使用小波相干分析。