A Julia package for GW waveform generation and analysis built on top of LALSuite.
- Generate time and frequency domain waveforms for a variety of waveform families.
- Compute detector response for a given detector configuration.
- Project gravitational wave polarizations onto detector strain.
- PSD estimation from strain data (Welch's method, periodogram).
- Interferometer noise modeling (quantum noise, thermal noise, suspension noise).
- Empirical PSD models for existing detectors (aLIGO, AdV, KAGRA, GEO, TAMA).
- Strain processing: filtering (Butterworth), windowing, detrending, whitening.
- Noise-weighted inner products, overlap, and mismatch.
- Matched-filter SNR, network SNR, and maximised match over time/phase offsets.
- Gaussian noise generation from PSD models.
- Q-transform spectrograms and time-frequency analysis.
- Cross-spectral density and coherence between detectors.
- Inject signals into noise and simulate complete observations.
- Time shifts via frequency-domain phase rotation.
- Plotting recipes for strain, spectra, SNR, Q-planes, and noise.
using Pkg
Pkg.add(url="https://github.com/pseudofractal/LALWaveforms.jl")Nix flake provided along with the project is the recommended way to set up a development environment. To use it, you need to have Nix installed on your system.
You can enter the development environment by running:
nix developdirenv is also recommended to automatically load the development environment when you enter the project directory.
MIT License. See LICENSE for details.