频域中的逐块互相关

时间:2014-07-26 17:06:26

标签: matlab cross-correlation

我在MATLAB中有以下代码来计算2个序列x和y的直接互相关:

 clc
 clear

 x = rand(1,32);
 y = rand(1,32);

 N = length(x);

 nfft=2*N-1;


 % cross-correlation in freq domain
 xc_full_fd = fftshift(ifft( fft(x,nfft) .* conj(fft(y,nfft)) ));

上述结果与xcorr(x,y)完全匹配。精细! 现在,我想通过从x和y一次取8个样本来做同样的块状。那就是:

 clc
 clear

 x = rand(1,32);
 y = rand(1,32);

 x_1 = x(1:8);
 y_1 = y(1:8);

为了获得与使用整个序列相同的结果,我的下一步应该是什么?我知道我应该执行重叠加法,但我不确定每个块应该附加多少个零,相邻块之间的重叠长度bwt应该与xcorr(x,y)相同? 请帮助我在freq域中扩展上面的块式互相关代码。

提前致谢!

0 个答案:

没有答案