Simulate LISA data: noise and signal
PCI is applied directly to the LISA phasemeter measurements.
The LISA phasemeter measurements are the output of simulations built via the LISA Simulation suite.
In what follows we use the following packages from the November 2025 releases of the LISA Simulation Suite:
lisainstrument >= 1.9for the overarching instrument simulation,lisaorbitsfor the orbits,lisagwresponsefor the response to GW,pytdifor the evaluation of TDI variables.
The simulation scripts listed on this page will work with both lisainstrument v1.9 and lisainstrument v2.0. Take into account that lisainstrument v2.0 does a better job at managing memory when running longer simulations.
In the package we provide three simulation scripts that can be executed in the terminal:
noise_simulation.pyto simulate the laser and secondary noisessignal_simulation.pyto simulate a stochastic point source in the skyall_sky_signal_simulation.pyto simualte a stochastic graviational wave background.
Simulation scripts
In the package we provide three simulation scripts:
noise_simulation.pyto simulate the instrumental noise for various simulation scenarios;signal_simulation.pyto simulate a stochastic point source in the sky;all_sky_signal_simulation.pyto simulate a stochastic gravitational wave background.
A generic simulation scripts simulation_script.py can be executed in the terminal and written to path path-to-workdir by following the structure
python simulation_script.py path-to-workdir --flags
where --flags are used to pass various options to the script.
The flags implemented in the all three simulation scripts listed here are the following:
--dt (float)setting up sampling time [s] (default: 0.25)--orbits (str)specifyequalarmorkeplerian(default:keplerian)--days, specify number of days as anint(default:3) to pass the desired simulation length in days--tdiif desired, specify1or2(default:None): simulate and save TDI combinations for the simulation
Simulation of SGWB signal using LISAGWResponse
The simulation is carried out within signal_simulation.py and all_sky_signal_simulation.py.
Here we simulate a chosen number of days of data, and provide options to generate the TDI output of the simulated data with different signals depending on the simulation script of choice:
signal_simulation.pysimulates a stochastic point source located at the ICRS coordinatesra=0anddec=0.all_sky_signal_simulation.pysimulates a stochastic GW background with a white generator.
Usage example:
Execute simulation with TDI computation (analogous for all_sky_signal_simulation.py):
python signal_simulation.py path-to-workdir --orbits equalarm --tdi 2
Simulation of instrumental noise using LISAInstrument
The noise simulation is carried out within noise_simulation.py.
Here we simulate a chosen number of days of data, and provide options to generate the TDI output of the simulated data and specify which simulation scenarios to produce.
The flags implemented in the noise simulation script are the following:
--dt (float)setting up sampling time [s] (default: 0.25)--freq1 (float)to set up Kaiser filter first transition frequency [Hz] (default: 1.1)--freq2 (float)to set up Kaiser filter second transition frequency [Hz] (default: 2.9)--orbits (str)specifyequalarmorkeplerian(default:keplerian)--locking (str)specifyN1-12orsix(default:N1-12)--days, specify number of days as anint(default:3) to pass the desired simulation length in days--tdiif desired, specify1or2(default:None): simulate and save TDI combinations for the full measurement simulation--baselinetrigger baseline simulation to match the simulation parameters defined in LISA-LCST-SGS-RP-006 “End-to-end Demonstration Data Analysis Pipeline”, including laser, test-mass, OMS, modulation, ranging, clock and backlink noise (see Simulation Scenarios below)--individualsimulate and save all individual noise contributions (see Simulation Scenarios below)--combinedsimulate and save all combined noise contributions (see Simulation Scenarios below)
The naming convention of the output file is always:
yyyy-mm-dd_orbits_locking_scenario_data_4Hz.h5
The outputs of the simulation will be:
a full simulation dataset (laser noise + all secondary noises), for the selected scenario (
laser_tm_omsorbaseline)with filename'yyyy-mm-dd_orbits_locking_scenario_measurements_4Hz.h5'a secondary noises only simulation dataset, with filename
'yyyy-mm-dd_orbits_locking_scenario_noise_sec_4Hz.h5'if
--individualis selected, additional simulation datasets for each noise source, with filenames'yyyy-mm-dd_orbits_locking_scenario_individual_noisename_4Hz.h5'.if
--combinedis selected, additional combined simulation datasets for each noise source, with filenames'yyyy-mm-dd_orbits_locking_scenario_combined_noisename_4Hz.h5'.
Simulation scenarios
To allow for benchmarking performance of PCI against TDI, we provide a list of simulation scenarios to test. Various options can be toggled when executing the script to generate the data.
Laser locking Simulation scenarios can be generated with various types of laser locking:`
'N1-12'pre-defined laser locking configuration N1 with 12 as primary laser or'six'for 6 lasers locked on cavities,
Orbits Choosing between equal armlength and keplerian orbits.
Secondary noises Choosing between simpler LTO (laser + TM+ OMS) noise contrbutions, and the baseline noise contributions laid out in the LISA-LCST-SGS-RP-006 “End-to-end Demonstration Data Analysis Pipeline”: LTO + ranging + clock + backlink + modulation
Table of simulated scenarios, for each locking configuration:
|
|
Comments |
|---|---|---|
LTO noise |
||
only laser noise |
only laser noise |
null-hypothesis scenario |
tm noise |
tm noise |
individual noise sources |
oms noise |
oms noise |
individual noise sources |
laser noise + TM noise |
laser noise + TM noise |
noise source combined with laser |
laser noise + OMS noise |
laser noise + OMS noise |
noise source combined with laser |
laser + TM+ OMS noise |
laser + TM + OMS noise |
full measurement simulation |
TM + OMS noise |
TM + OMS noise |
secondary noises |
LISA-LCST-SGS-RP-006 baseline |
||
—- |
baseline |
full measurement simulation |
—- |
baseline secondary noises |
secondary noises |
—- |
ranging |
individual noise sources |
—- |
clock |
individual noise sources |
—- |
backlink |
individual noise sources |
—- |
modulation |
individual noise sources |
—- |
LTO + ranging |
noise source combined with LTO |
—- |
LTO + clock |
noise source combined with LTO |
—- |
LTO + backlink |
noise source combined with LTO |
—- |
LTO + modulation |
noise source combined with LTO |
Usage examples:
Execute a 3-days simulation in the simple noise configuration containing only laser, test-mass and OMS noise, with equal arm orbits, default laser locking configuration and no TDI computation
python noise_simulation.py path-to-workdir --orbits equalarm --locking N1-12
Execute a 14-days simulation with TDI computation, in the simple noise configuration containing only laser, test-mass and OMS noise, with keplerian orbits, default laser locking configuration and TDI computation
python noise_simulation.py path-to-workdir --orbits keplerian --locking N1-12 --tdi 2 --days 14
Execute a 14-days simulation with baseline “End-to-end Demonstration Data Analysis Pipeline” configuration with no TDI computation
python noise_simulation.py path-to-workdir --orbits equalarm --locking N1-12 --days 14 --baseline
Execute a 14-days simulation with baseline “End-to-end Demonstration Data Analysis Pipeline” configuration with TDI computation and save all individual noise contributions and all combined noise contributions
python noise_simulation.py path-to-workdir --orbits equalarm --locking N1-12 --tdi 2 --days 14 --baseline --individual