Matlab自相关/互相关函数xcorr

转载自:https://ww2.mathworks.cn/help/matlab/ref/xcorr.html

语法

r = xcorr(x,y)
r = xcorr(x)
r = xcorr(_,maxlag)
r = xcorr(_,scaleopt)
[r,lags] = 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)

在这里插入图片描述

扫描二维码关注公众号,回复: 15628796 查看本文章

归一化的互相关

使用单位峰值计算并绘制向量 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—输入数组

向量 | 矩阵 | 多维数组

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

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

y—输入数组

向量

输入数组,指定为向量。

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

maxlag—最大滞后

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

数据类型: single | double

scaleopt—归一化选项

‘none’ (默认) | ‘biased’ | ‘unbiased’ | ‘normalized’ | ‘coeff’
归一化选项,指定为下列各项之一。

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

‘biased’ - 互相关的有偏估计;
‘unbiased’ - 互相关的无偏估计;
‘normalized’ 或 ‘coeff’ - 对序列进行归一化,使零滞后时的自相关等于 1。

输出参数

r—互相关或自相关

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

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

例如,如果 S 有三列, S = ( x 1 , x 2 , x 3 ) S=(x_1,x_2,x_3) S=(x1,x2,x3)则 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 ) R=(R_{x_1x_1}, R_{x_1x_2},R_{x_1x_3},R_{x_2x_1}, R_{x_2x_2},R_{x_2x_3},R_{x_3x_1}, R_{x_3x_2},R_{x_3x_3}) R=(Rx1x1,Rx1x2,Rx1x3,Rx2x1,Rx2x2,Rx2x3,Rx3x1,Rx3x2,Rx3x3)

lags—滞后索引

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

猜你喜欢

转载自blog.csdn.net/weixin_39509073/article/details/127613031