Matlab: Спектр сигналов похож, но Xcorr показывает не похоже - PullRequest
0 голосов
/ 21 января 2020

У меня два сигнала с одинаковым спектром, см. График1. Но когда я делаю xc = xcorr( signal1, signal2 ), результат не похож. см. chart2 (plot(abs(xc))).

Правда ли, что для аналогичных сигналов мы должны получить результат xcorr как chart3? Все, на что мне нужно обратить внимание на xcorr?

chart1chart2chart3

1 Ответ

0 голосов
/ 21 января 2020

xcorr возвращает взаимную корреляцию между двумя сигналами, но без регулировки длины или амплитуды. Тем не менее, вы правы, что должен быть четкий пик. Исправьте смещение, и оно должно работать плавно. xcorr может сделать это автоматически, если вы укажете опцию xcorr(...,scaleopt):

scaleopt - параметр нормализации

'none' (по умолчанию) | предвзятый | «беспристрастный» | «нормализованный» | 'coeff'

Обратите внимание, что ваши сигналы должны иметь одинаковую длину для этого. Вы также можете добавить атрибут maxlag, чтобы уменьшить количество вычислений и допустимое смещение.

...