Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
GaussianNoise.hpp
Go to the documentation of this file.
1// Gaussian White Noise
2// White noise scaling and variance utilities for sensor simulation
3#pragma once
4
5#include <cmath>
6#include <janus/janus.hpp>
7
8namespace vulcan::gaussian {
9
10// =============================================================================
11// White Noise Scaling
12// =============================================================================
13
26template <typename Scalar>
27Scalar apply(const Scalar &noise_input, double sigma) {
28 return sigma * noise_input;
29}
30
47template <typename Scalar>
48Scalar apply_psd(const Scalar &noise_input, double psd_density, double dt) {
49 double sigma = std::sqrt(psd_density / dt);
50 return sigma * noise_input;
51}
52
53// =============================================================================
54// Variance Calculations
55// =============================================================================
56
67inline double variance_from_psd(double psd_density, double dt) {
68 return psd_density / dt;
69}
70
80inline double psd_from_variance(double variance, double dt) {
81 return variance * dt;
82}
83
96inline double sigma_from_arw(double N, double dt) { return N / std::sqrt(dt); }
97
98} // namespace vulcan::gaussian
Definition GaussianNoise.hpp:8
double sigma_from_arw(double N, double dt)
Compute white noise gain from Allan variance N parameter.
Definition GaussianNoise.hpp:96
double variance_from_psd(double psd_density, double dt)
Compute discrete variance from continuous PSD.
Definition GaussianNoise.hpp:67
Scalar apply_psd(const Scalar &noise_input, double psd_density, double dt)
Apply white noise with PSD-based scaling.
Definition GaussianNoise.hpp:48
double psd_from_variance(double variance, double dt)
Compute continuous PSD from discrete variance.
Definition GaussianNoise.hpp:80
Scalar apply(const Scalar &noise_input, double sigma)
Apply Gaussian white noise scaling.
Definition GaussianNoise.hpp:27