MATLAB中的xcorr命令

时间:2012-03-22 02:11:48

标签: matlab cross-correlation

根据文档,'same'命令没有方便的xcorr选项,就像conv保持输出与其中一个输入的大小相同。

除了计算适当的指数和讨论子阵列之外,还有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

你是对的,xcorr没有这样的东西,问题是即使你指定MAXLAG你也会得到一个长度为2 * MAXLAG + 1的向量,所以它总是会去的奇怪的。如果您的输入信号是奇数,则可以拨打xcorr( a,b, (length(a)-1)/2 );。如果你使用偶数或任意长度进行延迟,我担心你将不得不使用子阵列计算。但是,要聪明,你可以使用类似的技巧,并简单地说

R = xcorr( a,b, floor(length(a)/2) );
R = R( 1:length(a) );