Introduction to LIGO
LIGO is a gravitational-wave detector. Gravitational waves are distortions in space-time that are direct predictions of the General Theory of Relativity. Gravitationl waves compress space in one dimension while stretching it in the other, but at a very small scale that is not noticable to humans.
Gravitaitonal waves can be detected using a Michelson interferometer. To keep the length of this article reasonable, I’ll defer the details of the Michelson interferometer to this wikipedia article, but here’s the basic idea: a laser that gets split by a beamsplitter and goes through two arms, with a mirror at the end of each. One arm is half a wavelength longer than the other, so when the light gets reflected back and recombines again at the beamsplitter, the two beams end up cancelling each other (this is called destructive interference). To increase the effective length of the light’s path and amplify it, we use 25% transmittive, 75% reflective beamsplitters that reflect 75% of the light back and forth: this is known as a Fabry-Perot cavity. When a gravitational wave passes through a detector, it will stretch one arm while compressing the other, so the path length of the light will change, and there will no longer be a perfectly destructive interference. The following animation shows this (credit: LIGO collaboration/MIT)
The first-ever detection of a gravitational wave happened in 2015, winning the 2017 Nobel Prize in Physics. Several events have been detected since. The following video shows the time-series detected signal of one such event, with frequency on the y-axis, and the color showing the intensity of the signal (credit: LIGO collaboration)
For more background information on LIGO, read this article about the detection by the LIGO Scientific Collaboration.
We used the following items
- Laser module: high power green laser. The choice of color was made so that it falls within the range where the beamsplitters work best.
- 2x mirrors: perfectly reflective mirrors for use in Michelson interferometer
- 1x 50:50 beamsplitter
- 2x 75:25 beamsplitters: to make a Fabry-Perot cavity.
- Raspberry Pi
- Raspberry Pi monitor
- Adafruit TSL2591 Luminosity sensor
- Acrylic sheet: as a base.
Building the Interferometer
The base was made of 2-way mirrored acrylic and was laser-cut with the following annotated pattern to accommodate the various components
All of the component mounts were 3d printed. All the other components were also modeled as well. The laser module mount is shown below as an example, and the rest of the components are available at at the miniLIGO github repo
The Raspberry Pi Interface
We used the tsl2591 python library to interface the RPi with the luminosity sensor:
import tsl2591 tsl = tsl2591.Tsl2591()
tsl object now opens a port to the luminosity sensor that can be used to get real-time information, by running:
lux = tsl.calculate_lux(tsl.get_full_luminosity())
We also use the standard RPi.GPIO python library to interface it with the button, setting it up as follows:
import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
The goal of the experiment is to measure tiny distortions in space. To do this quantitatively, we need to know how to convert changes in the phase of the light’s interference to spatial changes. We did this by experimentally moving the mirrors and measuring the changes in intensity and the number of fringes to calibrate this. This is similar to what is performed in physics laboratories as a part of the standard undergraduate physics curriculum.
The Signal Injection
We used a ‘giant red button’ connected to the RPi, that when pressed, activates a ‘signal injection’ or a simulation of what a real gravitational wave detection would look like. We achieved this by adding a sinusoidal signal that increases in frequency and amplitude with time for 2 seconds (similar to a detection due to a binary black-hole merger).
def inject(): x = np.linspace(0, 2, 21) y = np.sin(x**2) * x * 10**-8
seaborn to plot the calibrated output in real-time. Putting together the various components that are needed for this visualization, we get the following script:
More Build18 Photos