Class inertialsim::analysis::AllanDeviation¶
ClassList > inertialsim > analysis > AllanDeviation
Public Static Functions¶
| Type | Name |
|---|---|
| std::tuple< Scalar1D, Array, Array > | Calculate (const sensors::Measurement & measurement, int num_clusters=100) Calculate the Allan deviation of a uniformly sampled signal. |
| IntegerArray | Clusters (int samples, int num_clusters) Calculate Allan deviation cluster sizes. |
| Array | FitModel (const NoiseModel & model, const Scalar1D & tau, const Array & allan_deviation, const std::optional< Array > & allan_deviation_deviation=std::nullopt) Fit standard noise parameters to an Allan deviation signal. |
| Scalar1D | Log10Interp (const Scalar1D & x, const Scalar1D & xp, const Scalar1D & fp, std::optional< double > left=std::nullopt, std::optional< double > right=std::nullopt) Linear interpolation in base-10 logarithmic space. |
Public Static Functions Documentation¶
function Calculate¶
Calculate the Allan deviation of a uniformly sampled signal.
static std::tuple< Scalar1D, Array, Array > inertialsim::analysis::AllanDeviation::Calculate (
const sensors::Measurement & measurement,
int num_clusters=100
)
Parameters:
measurementMeasurement object containing the sensor data to analyze.num_clustersNumber of logarithmically spaced cluster sizes to return. Default = 100.
Returns:
Tuple of (tau, allan_deviation, allan_deviation_deviation). allan_deviation and allan_deviation_deviation have shape (num_clusters, num_channels).
function Clusters¶
Calculate Allan deviation cluster sizes.
static IntegerArray inertialsim::analysis::AllanDeviation::Clusters (
int samples,
int num_clusters
)
Parameters:
samplesNumber of samples in the signal. Must be at least 2.num_clustersNumber of logarithmically spaced cluster sizes to return. Must be at least 1.
Returns:
Vector of unique, logarithmically spaced, integer cluster sizes.
Exception:
std::invalid_argumentif samples < 2 or num_clusters < 1.
function FitModel¶
Fit standard noise parameters to an Allan deviation signal.
static Array inertialsim::analysis::AllanDeviation::FitModel (
const NoiseModel & model,
const Scalar1D & tau,
const Array & allan_deviation,
const std::optional< Array > & allan_deviation_deviation=std::nullopt
)
Parameters:
modelNoiseModel specifying which coefficients to include.tauAveraging time (in seconds) for each Allan deviation input.allan_deviationAllan deviation.allan_deviation_deviationOptional stddev of the Allan deviation.
Returns:
Matrix of up to 5 noise parameters [Q, N, B, K, R] for each channel (shape: 5 x num_channels).
Exception:
std::invalid_argumentif model does not include any coefficients.
function Log10Interp¶
Linear interpolation in base-10 logarithmic space.
static Scalar1D inertialsim::analysis::AllanDeviation::Log10Interp (
const Scalar1D & x,
const Scalar1D & xp,
const Scalar1D & fp,
std::optional< double > left=std::nullopt,
std::optional< double > right=std::nullopt
)
Parameters:
xThe x-coordinates at which to evaluate the interpolated values.xpThe x-coordinates of the data points, must be monotonically increasing.fpThe y-coordinates of the data points, same length as xp.leftValue to return for x < xp[0], default is fp[0].rightValue to return for x > xp[-1], default is fp[-1].
Returns:
Interpolated values with the same shape as x.
The documentation for this class was generated from the following file cpp/include/inertialsim/analysis/allan_deviation.h