The Newtonian chirp waveform

Two back holes of masses \(m_1\) and \(m_2\) are supposed to be orbiting each other while emitting radiation (and energy) in the form of gravitational waves. The emitted gravitational waveform is characterized by both the amplitude and the phase increasing with time giving rise to a 'chirp' waveform.

The problem can be treated perturbatively when the distance of separation is large and we only consider the leading order terms. This is referred to as a 'Newtonian chirp' and this is what we shall consider for the remainder of the exercise.

The Newtonian chirp can be represented as,

\[ h(t) = A(t) \cos \phi(t) \]

where the amplitude depends on a particular combination of masses called the chirp mass \(M \ (=\frac{(m_1 m_2)^{3/5}}{(m_1 + m_2)^{1/5}})\), the instantaneous frequency \(F(t)\), the luminosity distance to the source \(D\) and \(C\), a geometric factor which we will take as \(1\).

\[ A(t) = \frac{4 C M^{5/3}\pi^{2/3} F(t)^{2/3}}{D} \]

The frequency of evolution is given by,

\[ F(t) = \frac{(M F^9_0)^{1/8}}{[(M F_0)^{1/3} - 256 F^3_0 M^2 \pi^{8/3} t/5]^{3/8}} \]

Here \(F_0\) is the starting frequency and the approximation breaks down at the coalescence time \(t_c\),

\[ t_c = \frac{5}{256 (\pi F_0)^{8/3} M^{5/3}} \]

The phase of the signal is expressed as,

\[ \phi(t) = \phi_0 - 2 \left(\frac{1}{256 (\pi M F_0)^{8/3}} - \frac{t}{5M} \right)^{5/8} \]

The chirp mass is usually measured in solar masses which is \(4.92549095 \times 10^{-6} s\).

A sample chirp signal with chirp mass \(10 M_{\odot}\).

Generating the data

To generate the data we will make use of Numpy's random number generator to generate normal noise.

We do this by first finding out the maximum of the amplitude of the chirp waveform and then using np.random.normal to generate noise having maximum possible amplitude equal to the maximum amplitude of the chirp signal.

We then add the chirp signal to the noise at some position and this constitutes our sample data. We will now perform analysis on this to recover one of the parameters of the signal (here, the chirp mass).

The generated data with our signal hidden in normal noise.

Matched filtering

For a signal buried in stationary Gaussian, white noise, we use matched filtering which involves cross-correlating the data with a template of the signal. The correlation function between the data time series \(x(t)\) and the template \(h(t)\) is given by,

\[ R(\tau) = \int^{\infty}_{-\infty} x(t) \hat{h}^{\star} (t - \tau) dt \]

where \(\star\) denotes complex conjugation and \( \hat{h}(t) = h(t)/||h||\), where,

\[ ||h||^2 = \int^{t_c}_{0} |h(t)|^2/\sigma^2 dt \]

The parameters, \(C=1\), \(D = 150\), \(F_0 = 40.0 \) and \(\phi_0 =0\) are given. We are only required to find the chirp mass of the signal hidden in the data.

The steps to proceed are as follows:
  1.  Create a bank of templates, having chirp masses within a certain range, say from \(8\) to \(12\).
  2. Correlate each of the template with the given data.
  3. Record the maximum value of the correlation in cases.
  4. Plot the maximum value of correlation with chirp mass.
If you have done things correctly you will find a plot similar to the one shown below. Here we have recovered the unknown chirp mass of the signal to be \(10\).

Results of the correlation analysis show chirp mass to be \( 10 M_{\odot}\).


  1. Tutorials for GW Astronomy course, Ghosh et. al., Summer School on Gravitational wave Astronomy 2016, ICTS-TIFR.
  2. A Gravitational-Wave Data Analysis Primer for the IndIGO Mock Data Challenge, Ajith et. al.