如何解释自相关序列的值?

信息处理 离散信号 自相关 相关性
2022-01-31 14:07:15

我知道(自动)相关性表示一个变量相对于另一个变量的“可预测程度”。然而,这是一个模糊的概念。我知道空白过程应该具有类似于增量的自相关,因为一个样本的信息不应该说明另一个样本的任何信息。我想有一种更有意义的方式来解释自相关序列的值。

例如,如果我有这两个自相关序列,

在此处输入图像描述 在此处输入图像描述

我真的不知道如何比较它们,因为我对序列为每个滞后所取的值没有有意义的理解。

2个回答

您显示的自相关信号是有偏差的自相关问题在于较高的滞后具有较少的数据点可用于估计这些滞后的相关性。

另一个问题是您的原始信号似乎具有直流(恒定)偏移。当有偏自相关估计器应用于具有恒定偏移的信号时,结果是三角形函数。

去趋势。去均值,或在进行自相关之前对您的信号应用 DC 阻断器,您会得到更明智的结果(已知原因造成的伪影更少)。


这是一个更新。

由于我在上面提出的两个问题,您拥有的图不是很有用:均值非零(因此使用三角形基线)和使用有偏估计量(因此使用三角形包络)。

让我们看一个简单的例子。

首先,让我们将正弦曲线偏移一个常数值。

正弦曲线

并找到它的自相关。

第一自相关

由于我选择的持续时间,我提到的两个效果更加明显:“基线”(自相关摆动的值)是三角形的,“包络”(轮廓)也是三角形的。

首先,让我们在进行自相关之前去除信号的平均值。

贬损自相关

这使得基线为零,所以剩下的唯一效果就是包络。

现在让我们尝试纠正信封。

包络校正自相关

的自相关应该是的理解相匹配,尽管它并不完美,因为我采取了形成它的捷径(参见代码以下)。sin(ωt+ϕ)cos(ωt)

现在,回到你问的实际问题:

如何解释自相关序列的值?

正如 Knut 所说,它说给定时间 n 的信号值,信号在可能是什么?nn+m

对于像正弦波这样的信号,这意味着值处的自相关值将取决于正弦波的频率。n+m

对于像(带限)白噪声这样的信号,自相关值将为零(或对于任何特定的噪声实现可能接近它)。


Python代码

import matplotlib.pyplot as plt
import numpy as np

T = 1000
fs = 44100
t = np.arange(T)/fs
omega = 2*np.pi*1000
phi = 2*np.pi*0.8978941234
x = 1 + np.sin(omega*t + phi)

plt.figure(1)
plt.plot(x)

Rxx = np.correlate(x,x,  mode='full')
plt.figure(2)
plt.plot(Rxx)

Rxx2 = np.correlate(x-np.mean(x), x-np.mean(x), mode='full')
plt.figure(3)
plt.plot(Rxx2)

Rxx2un = np.divide(Rxx2, np.bartlett(len(Rxx2)))
plt.figure(4)
plt.plot(Rxx2un)

我认为自相关是“自我相似性”。在实践中:将信号与自身的副本对齐。一次复制一个样本。将两者中对应的一对样本相乘并求和。

因此,当滞后为 0 时,自校正将有一个峰值。如果波形是周期性的,那么对于该周期的倍数,自相似性将非常大。如果波形类似于噪声,则贡献将趋于抵消,并且对于 0 以外的任何滞后,自校正都会很小。

-k