NOTE: This assumes that RISE is installed. If so, just click the bar chart in the toolbar above, and the presentation should begin. Note that in edit mode, you can easily change some slide types of cells below, with
shift-i
: toggle slideshift-b
: toggle subslideshift-g
: toggle fragmentThe ostensible purpose of this talk is to introduce you to matched filtering, which is the basic method that GW detectors use in searching for and measuring GW signals. But that's a pretty narrow purpose, and most of you will not get involved in GWs. So I want to also give you some exposure to a few other ideas that hopefully will have more broad application to all of you when you go into other fields. And we'll use matched-filtering as a way into those other ideas.
So ostensibly, the outline of this activity starts off with introducing you to the sounds of GWs. I'll make this analogy that LIGO is just an extraordinary microphone, and we'll listen to the sounds a GW makes, and the sounds of the LIGO instrument itself. Then, we'll see that FFTs are a really powerful way of analyzing these sounds, and matched filtering is a really sensitive way of measuring those FFTs.
But of course, while we're doing that, I also want to give you a little flavor of data analysis. Pretty much all of you either are working on or will work on data analysis at some point, and there are some very general rules and ideas that can be applied to basically any type of data analysis. So I'll want to use this stuff as a sort of analogy for other types of data analysis, so hopefully you can apply these principles to your own work.
So first, I just want to introduce how we're working here. Who here has used python before?
Python is really dynamic, and powerful, but also a lot simpler than most other languages. It's not always the fastest at any computation, but since most of your time is spent writing programs (rather than running them), that's not usually a big problem. And new developments are making python just as fast as even C/C++ in a lot of cases.
Now, we throw in the Jupyter notebook. Who here has used Mathematica before?
Well the Jupyter notebook looks and acts like a nice version of Mathematica. The notebook is connected to a live session of python. It has these code cells that you run, and you can see the results. So click on the first cell, and hit Shift+Enter.
Mathematica is better at symbolic math (for now). But otherwise, python is more useful and general. And the Jupyter notebook makes it better at interactive stuff. So here's my unsolicited advice: if you're deciding what programming language to learn, go with python. There are nerdier options out there, but not many more broadly useful options. And if you're using python interactively, you'll want to us Jupyter (which is just a different interface) or -- better yet -- the Jupyter notebook.
Put cursor in grey boxes and hit Shift-Enter
username: workshopguest
Parseval's / Plancherel's Theorem says that this is precisely the same as the integral in the time domain:
So the question is: why do we use the frequency domain, rather than the time domain — especially since the data is actually measured in the time domain? There are two good reasons here. First, take a look at this expression on the left, and you'll realize that it's actually a Fourier transform as a function of $\delta t$ — usually called the inverse Fourier transform. Since we can't really predict $\delta t$ (it's just some time offset between our model and when nature decided the black holes would actually merge), we need to evaluate this quantity for all possible time offsets.
And it turns out that this can actually be evaluated extremely efficiently — which is not so true of the right-hand side. There's this algorithm called the fast Fourier transform (FFT), that let's us calculate $\tilde{d}$, $\tilde{s}$, and this entire sum really efficiently.
But the second reason is perhaps more important. If I just look at any particular value on the right-hand side, there's just some data value at some instant of time, and I can't tell you whether that value is due to noise, or physics, or what. But by looking very carefully at correlations between different instants of time, we can start to pick out which parts of the data are due to noise — at least statistically. For example, one thing that's very common in nature is the harmonic oscillator. Basically, any time a (possibly generalized) restoring force is proportional to some (possibly generalized) displacement, you get harmonic motion. And since analytic functions always look linear for small displacements, you find this sort of thing a lot.
Think of this as either
Fourier series are vectors; Fourier space is a vector space.
We've provided the vector space with a "dot product" (which makes it into a Hilbert space).
The dot product accounts for different amounts of noise in the different vector components.
Matched filtering is taking a signal vector and measuring its projection along a template vector.
Data analysis:
In [ ]:
In [ ]:
In [ ]:
In [ ]: