matlab中的xcorr和autocorr
自相关函数是信号间隔的函数,间隔有正负间隔,所以n个长度的信号,有2n-1个自相关函数值,分别描述的是不同信号间隔的相似程度。
比如,上面的矩阵,最后得到5个结果,其中第三个是自己和自己相乘,最后相加的结果,值最大1*1+2*2+3*3=14。而第二个和第四个分别是间隔正负1的结果也就是1*2+2*3=8,2*1+3*2=8。第1个和第五个分别是间隔正负2,也就是1*3=3,3*1=3。
xcorr求出的结果仅仅是x(n)*x(n+m)并对其求和,并没有除以前面的N或者是N-|K|。不用这个函数也可以求
for k=0:1:p
t5=0;
for n=0:1:N-k-1
t5=t5+conj(x(n+1))*x(n+1+k);
end
Rxx(k+1)=t5/N;
end
也可以实现,其中N为序列长度此处并未求出全部的自相关序列,只求了间隔从0到p的。
我们令Rx=xcorr(x);
则Rxx(k+1)=Rx(N+k)/N得到。
下面是摘自一篇博文:
1. 首先说说自相关和互相关的概念。
这个是信号分析里的概念,他们分别表示的是两个时间序列之间和同一个时间序列在任意两个不同时刻的取值之间的相关程度,即互相关函数是描述随机信号 x(t),y(t)在任意两个不同时刻t1,t2的取值之间的相关程度,自相关函数是描