"Кросс-корреляция" Стингрея дает странные результаты

Я использую функцию CrossCorrelation от Stingray для определения временной задержки между двумя кривыми блеска, но у меня возникли некоторые проблемы.

Во-первых, если я вычисляю запаздывание между двумя идентичными кривыми блеска, результат stingray.crosscorrelation.time_shift зависит от количества точек данных. Нечетное количество точек дает временной сдвиг 0, как и следовало ожидать. Однако четное количество точек дает некоторую долю временной выборки. Это также отражается при построении кросс-корреляции для различных временных лагов.

Код для воспроизведения:

      from stingray import Lightcurve as LC
from stingray.crosscorrelation import CrossCorrelation as XC

n = 15
dt = 1
times = np.arange(0, n * dt, dt)
data = np.sin(times)
lc = LC(times, data)
xc = XC(lc, lc) # CrossCorrelation of identical light-curves

print(xc.time_shift)

Для любого нечетного n результат равен 0. Но для любого четного n результат> ~ 0,5, приближаясь к 0,5 для большего n. Для n =2 результат равен 1,0. Окончательный результат составляет примерно половину значения dt.

Я неправильно использую / интерпретирую эти функции, или Stingray здесь что-то не так?

0 ответов

Другие вопросы по тегам