Change the noise parametrization
We currently parametrize instrumental noises with one argument in Instrument
init method for
- the ASD (amplitude)
- optionally, one or more knee frequencies.
Each of these values are converted to an ForEachMOSA
or ForEachSC
object, so that the user can provide one value to be share for all objects, a dictionary or different values, or a function of the object (MOSA or SC) index.
This is easy to use, but does not allow
- to change the noise spectral shape,
- to provide custom noise generation methods,
- to provide already-generated noise time series (containing correlation between various objects or noises).
We propose to change this noise parametrization with the following. Each noise will be parametrized with exactly one argument in Instrument
init method. The value can be:
- an array or a
ForEachObject
instance of arrays for already-generated noise time series, - a function or a
ForEachObject
instance of functions, taking thefs
andsize
as arguments, if LISA Instrument should generate the noise time series at runtime. The default methods will use those defined inlisainstrument.noises
, but users can use their own noise generation methods (or tweak the levels and knee frequencies of the methods provided with the package).
This also prevents the definition of default noise parameters (ASDs and frequencies) in both Instrument
and in the definition of the noise generation methods in lisainstrument.noises
, as well as the use of None
for default set of noise levels.