自相关矩阵和互相关矩阵的matlab实现
自相关矩阵和互相关矩阵的matlab实现
一维实值x的自相关矩阵Rxx应为实对称的toeplitz矩阵而一维实值信号x,y的互相关矩阵Rxy为非对称的toeplitz阵,matlab提供的corrmtx产生的并非通常意义下的autocorrelatio
matrix
事实上我们可以利用xcorrtoeplitz和corrmtx两种方法实现自相关阵Rxx和互相关阵Rxy一、Rxx1)%impleme
tatio
withxcorra
dtoeplitzm%dfi
ethetimelagm1a
dm1
le
gthx);%locatio
ofrxx0;rxxcorrx)le
gthofrxis2
1;Rxxtoeplitz(rx
m
;2)%impleme
tatio
withcorrmtxm%dfi
ethetimelagm1,a
dm1〈
rxcorrmtxx,m)Rxxrxrx二、Rxy1)impleme
tatio
withxcorra
dtoeplitzm;%dfi
ethetimelagm1a
dm1〈
max(le
gth(x),le
gth(y));locatio
ofrxy0;rxyxcorr(x,y%le
gthofrxyis2
1RRtoeplitz(rxy
RRisa(2*
1*2
1matrixRxyRR1m,
m)theexactlocatio
ofRxyi
RR2)%impleme
tatio
withcorrmtx
fm;%dfi
ethetimelagm1a
dm1〈
自相关矩阵和互相关矩阵的matlab实现
rxcorrmtx(x,m
rycorrmtx(y,m
Rxyrx’ryo
theotherha
dRyxRxy
上面的方法实现了自相关和互相关的有偏矩估计(实际是用实现卷积的前提下做
到的)也是做统计分析的常用手段,当然除了有偏矩估计,corrmtx还有很多可选参数,以供
不同目的使用。
还有RxyRyx,也就是说要求Ryx只需要计算Rxy即可。
需要注意的是,当时延m1接近于信号长度
的时候,xcorr后面的值(rx(m1,
rxm)
r(m1)。。)估计的并不准确这将严重影响器等后续工作的效果,可以确信的是,
m1100
的时候,Rxx是可信的。
另外自相关阵Rxx是一个主对角线绝对占优阵,也就是说主对角线的值远大于其
它对角线
这样svdRxx得到的奇异值和eig(Rxx得到的特征值几乎相同这也是为什么有的用svd方法
求主分量有的则用evdeige
valuedecompositio
)求主分量了。
fr