Matlab中噪声与信号之间的相关不接近于零

问题描述:

我是Matlab的开端。 我有一个问题,为什么以下的相关性out_cor(m)不接近于零?我的理解是否有任何问题:即使N非常大,随机噪声信号与确定的信号没有相关性。 感谢您的Hlep。 问候 杰夫Matlab中噪声与信号之间的相关不接近于零

N=1024*4; 
f0=1e3; 
fs=64*f0; 
n=1:N;x=0.01*randn(1,N); 
y=sin(2*pi*f0*n/fs); 
figure(1) 
plot(n,x,n,y); 
out_cor=xcorr(x-mean(x),y); 
figure(2) 
plot(out_cor); 

xcorr没有缩放选项输出会给你不是由样本的数量归一化的相关序列。你可以看到,如果你画出这样的:

xcorr(y, y) 

你的矢量Ÿ是零均值,所以自相关序列的最大价值应该等于的Ÿ方差。在这种情况下,您只需将您的相关序列除以N-1以查看正确缩放的值。

如果你想看看两个信号如何相互关联,你需要一个参照系。一种方法是将互相关与每个单独信号的自相关值进行比较。更好的方式是只是传递一个额外的参数来衡量哪些是你可以用xcorr做到这一点您的序列范围从-1到1的标准化值相关系数:

xcorr(x, y, 'coeff') 

1的系数是一完美匹配,-1是一个完美的倒数(相关x-x会得到你这个),和0意味着信号是完全不相关的。

+0

不错的答案!继续! –