Gravitational Wave Open Science Center

Find an Inspiral: Time domain cross-correlation

This tutorial assumes that you have already read in the data and template from the Find an Inspiral tutorial.
The cross-correlation is often a useful statistic for working with time series data. It can be used as a measure of the similarity of two time series. We can take the cross-correlation of the template with the data to see if there is evidence for a match at any time-lag. We can also take the cross-correlation of the template with the band-passed data that we calculated for the first method.
correlated_raw = np.correlate(data, template, 'valid')
correlated_passed = np.correlate(data_pass, template, 'valid')
plt.figure()
plt.plot(correlated_raw)
plt.figure()
plt.plot(correlated_passed)
See the cross-correlation | See the bandpassed data cross-correlation

The time axis on the cross-correlation represents the off-set between the data start time and the filter start time. So, we look for a peak at the time when the start of the template matches the data. In contrast, plotting the band-passed data shows a peak at the time when the signal is loudest, near the end of the template. Typically in LIGO, we report the coalescence time when the binary crosses the inner-most stable circular orbit (ISCO), near the end of the template.

You can also download the entire script described in this tutorial.

What's Next?