添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

xcorr

互相关

全页折叠

说明

示例

r = xcorr( x , y ) 返回两个离散时间序列的 互相关 。互相关测量向量 x 和移位(滞后)副本向量 y 的之间的相似性,形式为滞后的函数。如果 x y 的长度不同,函数会在较短向量的末尾添加零,使其长度与另一个向量相同。

示例

r = xcorr( x ) 返回 x 的自相关序列。如果 x 是矩阵,则 r 也是矩阵,其中包含 x 的所有列组合的自相关和互相关序列。

示例

r = xcorr( ___ , maxlag ) 将上述任一语法中的滞后范围限制为从 -maxlag maxlag

示例

r = xcorr( ___ , scaleopt ) 还为互相关或自相关指定归一化选项。除 'none' (默认值)以外的任何选项都要求 x y 具有相同的长度。

示例

[ r , lags ] = xcorr( ___ ) 还返回用于计算相关性的滞后。

示例

全部折叠

创建向量 x 和向量 y ,后者是 x 右移 5 个元素的结果。计算并绘制 x y 的估计互相关。在 x y 的元素完全匹配的滞后值 (-5) 处,出现最大峰值。

n = 0:15;
x = 0.84.^n;
y = circshift(x,5);
[c,lags] = xcorr(x,y);
stem(lags,c)

计算并绘制向量 x 的估计自相关。在零滞后时(此时 x 与自身完全匹配),出现最大峰值。

n = 0:15;
x = 0.84.^n;
[c,lags] = xcorr(x);
stem(lags,c)

使用单位峰值计算并绘制向量 x y 的归一化互相关,并指定最大滞后为 10

n = 0:15;
x = 0.84.^n;
y = circshift(x,5);
[c,lags] = xcorr(x,y,10,'normalized');
stem(lags,c)

输入参数

全部折叠

输入数组,指定为向量、矩阵或多维数组。如果 x 是多维数组,则 xcorr 对所有维度按列操作,并将每个自相关和互相关作为矩阵的列返回。

数据类型: single | double
复数支持:

输入数组,指定为向量。

数据类型: single | double
复数支持:

最大滞后,指定为整数标量。如果您指定 maxlag ,则返回的互相关序列范围是从 -maxlag maxlag 。如果您没有指定 maxlag ,则滞后范围等于 2N–1,其中 N 是 x y 中较长一方的长度。

数据类型: single | double

归一化选项,指定为下列各项之一。

  • 'none' - 原始、未缩放的互相关。当 x y 长度不同时, 'none' 是唯一有效的选项。

  • 'biased' - 互相关的有偏估计:

    R ^ x y , biased ( m ) = 1 N R ^ x y ( m ) .

  • 'unbiased' - 互相关的无偏估计:

    R ^ x y , unbiased ( m ) = 1 N | m | R ^ x y ( m ) .

  • 'normalized' 'coeff' - 对序列进行归一化,使零滞后时的自相关等于 1:

    R ^ x y , coeff ( m ) = 1 R ^ x x ( 0 ) R ^ y y ( 0 ) R ^ x y ( m ) .

输出参量

全部折叠

互相关或自相关,以向量或矩阵形式返回。

如果 x M × N 矩阵,则 xcorr(x) 返回 (2M – 1) × N 2 矩阵,其中包含 x 各列的自相关和互相关。如果您指定 maxlag ,则 r 的大小为 (2 × maxlag + 1) × N 2

例如,如果 S 有三列, S = ( x 1 x 2 x 3 ) ,则 R = xcorr(S) 的结果的形式为

R = ( R x 1 x 1 R x 1 x 2 R x 1 x 3 R x 2 x 1 R x 2 x 2 R x 2 x 3 R x 3 x 1 R x 3 x 2 R x 3 x 3 ) .

滞后索引,以向量形式返回。

详细信息

全部折叠

互相关和自相关

xcorr 的结果可以解释为两个随机序列之间的相关性估计,也可以解释为两个确定性信号之间的确定相关性。

两个联合平稳随机过程(x n 和 y n 的真正互相关序列由下式给出

R x y ( m ) = E { x n + m y n * } = E { x n y n m * } ,

其中 −∞ < n < ∞ ,星号表示复共轭,E 是期望值运算符。 xcorr 只能估计序列,因为实际上,在无限长随机过程的一个实现中只有有限的部分可用。

默认情况下, xcorr 计算未经归一化的原始相关性:

R ^ x y ( m ) = { n = 0 N m 1 x n + m y n , m 0 , R ^ y x * ( m ) , m < 0.

输出向量 c 包含的元素由下式给出:

c ( m ) = R ^ x y ( m N ) , m = 1 , 2 , , 2 N 1.

一般情况下,相关性函数需要归一化来生成准确的估计。您可以通过使用输入参量 scaleopt 来控制相关性的归一化。

参考

[1] Buck, John R., Michael M. Daniel, and Andrew C. Singer. Computer Explorations in Signals and Systems Using MATLAB ® . 2nd Edition. Upper Saddle River, NJ: Prentice Hall, 2002.

[2] Stoica, Petre, and Randolph Moses. Spectral Analysis of Signals. Upper Saddle River, NJ: Prentice Hall, 2005.

扩展功能