一维实值信号x的自相关矩阵Rxx应为实对称的toeplitz矩阵,而一维实值信号x,y的互相关矩阵Rxy为非对称的toeplitz阵,matlab提供的corrmtx函数产生的并非通常意义下的autocorrelation matrix
事实上,我们可以利用xcorr+toeplitz和corrmtx两种方法实现自相关阵Rxx和互相关阵Rxy
一、 Rxx
1)% implementation with xcorr and toeplitz
m= 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 corrmtx
m= 256;% dfine the time lag m+1,and m+1<=n
rx=corrmtx(x,m);
Rxx=rx'*rx;
二、Rxy
1)% implementation with xcorr and toeplitz
m= 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) matrix
Rxy=RR(1:m,n:n+m);%the exact location of Rxy in RR;
2)% implementation with corrmtx
m= 256;% dfine the time lag m+1, and m+1<=