Handle decomposing into offsets and fluctuations more consistently
At the moment we split up the calculation/propagation of some of the quantities (e.g. laser beams or clock noise) into an offset and an fluctuation part. The important properties of them are:
- offsets: slow variations (out-of-band), usually large variable
- fluctuations: in-band signal, usually small -> enables Taylor expansion/simplification of some terms
We should probably think about doing that more consistently throughout the simulator. Examples are some of the noise processes that have spectral shape that diverge at f -> 0Hz. For long simulations those noise time series can blow up in terms of numerical value. This has the disadvantages that we lose numerical precision in-band and some of the assumptions might not hold anymore (which is probably even more critical).
A solution could be to treat (all/some more) quantities in a decomposed form. To achieve that we could also contain the out-of-band part of any noise (not only deterministic drifts) in the offset part. This would also mean that any of the computation performed on the total variable need to implement a side-by-side processing of offsets and fluctuations.
As an example, I tried around with integration (cumulative sum), since this operation is numerically unstable and will cause large drifts when applied to white noise. The operation reads:
\begin{aligned}
y[n] &= y[n-1] + \Delta t x[n] \\
&= y^o[n-1] + y^\epsilon[n-1] + \Delta t x^o[n] + \Delta t x^\epsilon[n] \\
&= y^o[n-1] + (1 - \hat\omega_\mathrm{sat} + \hat\omega_\mathrm{sat})y^\epsilon[n-1] + \Delta t x^o[n] + \Delta t x^\epsilon[n] \\
y^o[n] &= y^o[n-1] + \hat\omega_\mathrm{sat}y^\epsilon[n-1] + \Delta t x^o[n] \\
y^\epsilon[n] &= (1 - \hat\omega_\mathrm{sat})y^\epsilon[n-1] + \Delta t x^\epsilon[n]
\end{aligned}
I the last step I wrote down how to generate the integrated output y[n]
from the input x[n]
in decomposed form. Here, y^\epsilon[n]
is a well behaved time series that does not diverge for long times.
You can see that the cutoff (saturation at around 0.1mHz) is reproduced well in the two components: The offset part accounts for all frequencies below f_\mathrm{sat}
and the fluctuation part for all above. There is some mixing though and we need to investigate if this is of any importance...