【问题标题】:Noisy signal correlation噪声信号相关
【发布时间】:2014-02-22 02:03:52
【问题描述】:

我有两个(或更多)时间序列,我想将它们相互关联以寻找共同的变化,例如既上升或下降等。

问题在于时间序列都相当嘈杂,标准差相对较高,这意味着很难看到共同特征。信号以相当低的频率(每 30 秒一个点)进行采样,但涵盖了 2 小时以上的合理时间段。通常情况下,两个标志的长度不同,例如 1x1 小时和 1x1.5 小时。

谁能推荐一些好的相关技术,最好是使用内置或定制的 matlab 例程?我试过自动相关只是为了比较单个信号中的滞后,但我得到的只是一个三角形,最大滞后为 0(我认为这意味着除了自身之外没有明显的相关性?)。互相关也好不了多少。

任何想法将不胜感激。

【问题讨论】:

  • 在互相关之前您是否贬低了信号?
  • 好问题,必须检查,但我认为我没有检查。今天再看一遍。在将信号与其自身进行比较时,我尝试了 de - 意思,但它似乎没有任何区别。
  • “将信号与自身进行比较”即自相关(忘了说:-))。不过考虑一下,我想 de - 意味着自相关之前的信号几乎没有什么区别。我会在今天晚些时候检查我是否在互相关之前表示我的意思。还有其他数学技术可以关联信号吗?
  • 我尝试在 matlab 中使用 xcov 而不是 xcorr (在互相关之前差异本质上是去意义的),并且相关结果看起来更合理

标签: matlab signal-processing time-series analysis correlation


【解决方案1】:

从互协方差 (xcov) 开始,而不是互相关。 xcov 删除每个数据集的 DC 分量(减去均值),然后进行互相关。当你对两个方波进行互相关时,你会得到一个三角波。如果小信号在大偏移上运行,则会得到一个变化很小的三角波。

【讨论】:

  • 感谢您的回复。我将尝试使用 xcov / xcorr 方法。两个信号的平均值大致相同,但我可以看到去除直流分量会有所帮助。平均值附近的波动在信号之间是不同的。我希望将这些变化关联起来。再次感谢您的建议。
  • xcov(而不是 xcorr)摆脱了我最初得到的三角波。这种相关性现在看起来更合理了。为您的帮助干杯 - 不要以为我会在 matlab 中发现那个!
【解决方案2】:

如果您认为两个信号之间存在延迟,那么我会使用 xcorr 来计算延迟。由于 xcorr 正在对信号进行 FFT,因此您应该在调用 xcorr 之前移除该方法,如果数据不是自开窗的,您可能还需要考虑添加一个窗口(例如 hanning)以减少泄漏。

如果信号之间没有延迟,或者您已经找到并消除了延迟,您可以对两个(或更多)信号进行平均。随机噪声应趋于平均为零,共同特征将接近真实值。

【讨论】:

  • 平均是指整个信号的移动平均线吗?
猜你喜欢
  • 1970-01-01
  • 2015-10-11
  • 2011-10-15
  • 1970-01-01
  • 2021-11-21
  • 2014-10-25
  • 2020-09-16
  • 2016-07-17
  • 2013-04-12
相关资源
最近更新 更多