scipy.signal.correlation_lags¶
- scipy.signal.correlation_lags(in1_len, in2_len, mode='full')[源代码]¶
计算一维互相关的滞后/位移指数数组。
- 参数
- in1_size集成
第一个输入大小。
- in2_size集成
第二个输入大小。
- modestr{‘完整’,‘有效’,‘相同’},可选
指示输出大小的字符串。请参阅文档
correlate
了解更多信息。
- 退货
- lags阵列
返回包含互相关滞后/位移索引的数组。可以用相关性的np.argmax对索引进行索引,以返回滞后/位移。
参见
correlate
计算N维互相关。
注意事项
连续函数的互相关性 \(f\) 和 \(g\) 定义为:
\[\左(f\星g\右)\左(\tau\右) \triangleq\int_{t_0}^{t_0+T} \overline{f\Left(t\Right)}g\Left(t+\tau\Right)dt\]哪里 \(\tau\) 定义为位移,也称为滞后。
离散函数的互相关性 \(f\) 和 \(g\) 定义为:
\[\left ( f\star g \right )\left [ n \right ] \triangleq \sum_{-\infty}^{\infty} \overline{f\left [ m \right ]}g\left [ m+n \right ]\]哪里 \(n\) 就是滞后。
示例
信号与其延时自身的互相关性。
>>> from scipy import signal >>> from numpy.random import default_rng >>> rng = default_rng() >>> x = rng.standard_normal(1000) >>> y = np.concatenate([rng.standard_normal(100), x]) >>> correlation = signal.correlate(x, y, mode="full") >>> lags = signal.correlation_lags(x.size, y.size, mode="full") >>> lag = lags[np.argmax(correlation)]