36template <
typename RNGType>
39 for (
int i = 0; i < 3; ++i) {
58 return Eigen::Vector3d(
rng.gaussian(),
rng.gaussian(),
rng.gaussian());
69template <
int N,
typename RNGType>
71 Eigen::Vector<double, N> v;
72 for (
int i = 0; i < N; ++i) {
73 v(i) =
rng.gaussian();
90template <
int N,
typename RNGType>
91Eigen::Vector<double, N>
93 Eigen::Vector<double, N> w;
94 for (
int i = 0; i < N; ++i) {
95 w(i) =
rng.gaussian();
108template <
typename RNGType>
110 const Eigen::MatrixXd &L) {
111 Eigen::VectorXd w(L.rows());
112 for (
int i = 0; i < L.rows(); ++i) {
113 w(i) =
rng.gaussian();
129template <
typename RNGType>
132 noise_u =
rng.gaussian();
133 noise_v =
rng.gaussian();
134 noise_w =
rng.gaussian();
Definition Distributions.hpp:14
Eigen::Vector3d generate_noise3(RNGType &rng)
Generate 3-axis white noise.
Definition Distributions.hpp:57
Eigen::Vector< double, N > generate_noiseN(RNGType &rng)
Generate N-dimensional white noise.
Definition Distributions.hpp:70
Eigen::Vector< double, N > generate_correlated_noise(RNGType &rng, const Eigen::Matrix< double, N, N > &L)
Generate correlated noise with given Cholesky factor.
Definition Distributions.hpp:92
void generate_turbulence_noise(RNGType &rng, double &noise_u, double &noise_v, double &noise_w)
Generate turbulence forcing noise (3 independent channels).
Definition Distributions.hpp:130
allan::IMUNoiseInput< double > generate_imu_noise(RNGType &rng)
Generate IMU noise input for Allan variance model.
Definition Distributions.hpp:37