1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 自相关矩阵和互相关矩阵的matlab实现

自相关矩阵和互相关矩阵的matlab实现

时间:2019-11-21 17:50:32

相关推荐

自相关矩阵和互相关矩阵的matlab实现

一维实值信号x的自相关矩阵Rxx应为实对称的toeplitz矩阵,而一维实值信号x,y的互相关矩阵Rxy为非对称的toeplitz阵,matlab提供的corrmtx函数产生的并非通常意义下的autocorrelation matrix

事实上,我们可以利用xcorr+toeplitz和corrmtx两种方法实现自相关阵Rxx和互相关阵Rxy

一、 Rxx1)% implementation with xcorr and toeplitzm= 256;% dfine the time lag m+1, and m+1<=n;n=length(x);%location of rxx(0);rx=xcorr(x);%length of rx is 2*n-1;Rxx=toeplitz(rx(n:n+m))/n;2)%implementation with corrmtxm= 256;% dfine the time lag m+1,and m+1<=nrx=corrmtx(x,m);Rxx=rx'*rx;二、Rxy1)% implementation with xcorr and toeplitzm= 256;% dfine the time lag m+1, and m+1<=n;n=max(length(x),length(y));location of rxy(0);rxy=xcorr(x,y);%length of rxy is 2*n-1;RR=toeplitz(rxy)/n;%RR is a (2*n-1)*(2*n-1) matrixRxy=RR(1:m,n:n+m);%the exact location of Rxy in RR;2)% implementation with corrmtxm= 256;% dfine the time lag m+1, and m+1<=n;rx=corrmtx(x,m);ry=corrmtx(y,m);Rxy=rx'*ry; %on the other hand, Ryx=Rxy'

上面的方法实现了自相关和互相关的有偏矩估计(实际是用fft实现卷积的前提下做到的),也是做统计分析的常用手段,当然除了有偏矩估计,corrmtx还有很多可选参数,以供不同目的使用。

还有Rxy=Ryx',也就是说要求Ryx,只需要计算Rxy即可。

需要注意的是,当时延m+1接近于信号长度n的时候,xcorr后面的值(rx(m+1),rx(m),

r(m-1)...)估计的并不准确,这将严重影响滤波器设计等后续工作的效果,可以确信的是,n-m-1>100的时候,Rxx是可信的。

另外,自相关阵Rxx是一个主对角线绝对占优阵,也就是说,主对角线的值远大于其它对角线

这样svd(Rxx)得到的奇异值和eig(Rxx)得到的特征值几乎相同,这也是为什么有的论文用svd方法求主分量,有的则用evd(eigen value decomposition)求主分量了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。