@ Джонас, я не смог найти, как вставить изображение и сделать достаточно хорошее форматирование (извините, новичок здесь), комментируя ваш ответ, поэтому я оставляю этот комментарий как «ответ».
Итак, что я обнаружил, что для следующих цифр ваш метод дал непредвиденные результаты:
как вы видите - пик для автокорреляции ниже, чем для кросс-корреляции.
Код, который я использовал ниже:
trace1=(abs(linspace(-64,64,128))<20)*200;
trace2=trace1-(abs(linspace(-64,64,128))<10)*50;
trace1=trace1-(abs(linspace(-64,64,128))<10)*100;
subplot(321);
plot(trace1); grid on;
subplot(322);
plot(trace2); grid on;
subplot(323);
plot(xcorr(trace1,trace2)); grid on;
title('unnormalized cross-correlation');
subplot(324);
plot(xcorr(trace2,trace2)); grid on;
title('unnormalized autocorrelation');
subplot(325);
plot(xcorr(trace1/sum(trace1(:)),trace2/sum(trace2(:)))); grid on;
title('normalized cross-correlation');
subplot(326);
plot(xcorr(trace2/sum(trace2(:)),trace2/sum(trace2(:)))); grid on;
title('normalized autocorrelation');