我在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域中扩展上面的块式互相关代码。
提前致谢!