|
| template<typename Scalar> |
| Scalar | apply (const Scalar &noise_input, double sigma) |
| | Apply Gaussian white noise scaling.
|
| template<typename Scalar> |
| Scalar | apply_psd (const Scalar &noise_input, double psd_density, double dt) |
| | Apply white noise with PSD-based scaling.
|
| double | variance_from_psd (double psd_density, double dt) |
| | Compute discrete variance from continuous PSD.
|
| double | psd_from_variance (double variance, double dt) |
| | Compute continuous PSD from discrete variance.
|
| double | sigma_from_arw (double N, double dt) |
| | Compute white noise gain from Allan variance N parameter.
|
template<typename Scalar>
| Scalar vulcan::gaussian::apply_psd |
( |
const Scalar & | noise_input, |
|
|
double | psd_density, |
|
|
double | dt ) |
Apply white noise with PSD-based scaling.
Converts continuous-time power spectral density to discrete-time variance and applies appropriate scaling. This is the correct way to generate discrete noise samples from a continuous PSD specification.
For one-sided PSD S(f) [units²/Hz]: σ²_discrete = S(f) / Δt
- Template Parameters
-
| Scalar | double or casadi::MX |
- Parameters
-
| noise_input | White noise sample with unit variance |
| psd_density | One-sided power spectral density [units²/Hz] |
| dt | Time step [s] |
- Returns
- Scaled noise value