Skip to content

Namespace inertialsim::sensors

Namespace List > inertialsim > sensors

Classes

Type Name
class Accelerometer
Simulate accelerometer sensors.
struct AccelerometerData
Accelerometer output data.
struct AccelerometerImuComponents
Helper struct to manage lifetime of components extracted from IMU .
class AccelerometerSpecification
Accelerometer specification.
class AccelerometerSpecificationView
View of AccelerometerSpecification forIMU composition.
class Gyro
Simulate gyroscope (gyro) sensors.
struct GyroData
Gyro output data.
struct GyroImuComponents
Helper struct to manage lifetime of components extracted from IMU .
class GyroSpecification
Gyro specification.
class GyroSpecificationView
View of GyroSpecification forIMU composition.
class IMU
Simulate an Inertial Measurement Unit (IMU ).
struct IMUData
IMU output data.
struct IMUModel
IMU model options.
class IMUSpecification
IMU sensor specification.
class INS
INS sensor simulation.
struct INSData
INS simulation results.
struct INSModel
INS model options for simulation.
class INSSpecification
INS specification.
struct INSState
Simulation state for INS error parameters.
class InertialSensor
Base class for inertial sensors (gyros and accelerometers).
struct InertialSensorModel
Inertial sensor model options.
struct InertialSensorModelView
View of InertialSensorModel forIMU composition.
class InertialSensorSpecification
Inertial sensor specification class.
class InertialSensorState
Inertial sensor internal state.
struct InternalPose
Internal pose state structure.
class Magnetometer
Simulate magnetometer sensors.
struct MagnetometerData
Magnetometer output data.
class MagnetometerSpecification
Magnetometer specification.
class Measurement
Sensor measurement data.
class Parameter <typename ValueType>
class Sensor
Abstract base class for sensors.
struct SensorModel
Sensor model options.
class SensorSpecification
Base sensor specification class.
class SensorState
Sensor internal state.
class WhiteNoiseBuffer
A buffer for white noise samples.
struct type_identity <typename T>

Public Types

Type Name
typedef InertialSensorModel AccelerometerModel
enum AttitudeFormat
Attitude (orientation) output format options.
typedef InertialSensorModel GyroModel
enum INSSimulationMode
INS simulation mode.
typedef SensorModel MagnetometerModel
enum SimulationMode
Simulation mode for sensors.
typedef typename type_identity< T >::type type_identity_t

Public Attributes

Type Name
constexpr double kDegreesCelsiusPerDegreeFahrenheit = 5.0 / 9.0
constexpr double kSecondsPerHour = 3600
constexpr double kTeslaPerGauss = 1e-4

Public Functions

Type Name
Array DeltaQuantizationNoise (Eigen::Index channels, Eigen::Index samples, double sample_rate, std::mt19937_64 & rng)
Generate delta (integrated) quantization noise.
Parameter (double, const std::string &)
Parameter (float, const std::string &)
Parameter (int, const std::string &)
Parameter (unsigned int, const std::string &)
Parameter (short, const std::string &)
Parameter (unsigned short, const std::string &)
Parameter (long, const std::string &)
Parameter (unsigned long, const std::string &)
Parameter (long long, const std::string &)
Parameter (unsigned long long, const std::string &)
Parameter (const Eigen::ArrayBase< Derived > &, const std::string &)
Parameter (std::initializer_list< double >, const std::string &)
Parameter (const Eigen::MatrixBase< Derived > &, const std::string &)
Parameter (std::initializer_list< std::initializer_list< double > >, const std::string &)
Array PinkNoise (Eigen::Index channels, Eigen::Index samples, double sample_rate, std::mt19937_64 & rng)
Generate a pink noise sequence.
Array RandomWalkNoise (Eigen::Index channels, Eigen::Index samples, double sample_rate, std::mt19937_64 & rng)
Generate a discrete time random walk sequence.
Array RateQuantizationNoise (Eigen::Index channels, Eigen::Index samples, double sample_rate, std::mt19937_64 & rng)
Generate rate quantization noise.
Array WhiteGaussianNoise (Eigen::Index channels, Eigen::Index samples, double sample_rate, std::mt19937_64 & rng)
Generate white Gaussian noise.

Public Types Documentation

typedef AccelerometerModel

using inertialsim::sensors::AccelerometerModel = typedef InertialSensorModel;

enum AttitudeFormat

Attitude (orientation) output format options.

enum inertialsim::sensors::AttitudeFormat {
    EULER_ANGLE,
    QUATERNION,
    ROTATION_MATRIX
};


typedef GyroModel

using inertialsim::sensors::GyroModel = typedef InertialSensorModel;

enum INSSimulationMode

INS simulation mode.

enum inertialsim::sensors::INSSimulationMode {
    BATCH,
    REALTIME
};


typedef MagnetometerModel

using inertialsim::sensors::MagnetometerModel = typedef SensorModel;

enum SimulationMode

Simulation mode for sensors.

enum inertialsim::sensors::SimulationMode {
    BATCH,
    REALTIME
};


typedef type_identity_t

using inertialsim::sensors::type_identity_t = typedef typename type_identity<T>::type;

Public Attributes Documentation

variable kDegreesCelsiusPerDegreeFahrenheit

constexpr double inertialsim::sensors::kDegreesCelsiusPerDegreeFahrenheit;

variable kSecondsPerHour

constexpr double inertialsim::sensors::kSecondsPerHour;

variable kTeslaPerGauss

constexpr double inertialsim::sensors::kTeslaPerGauss;

Public Functions Documentation

function DeltaQuantizationNoise

Generate delta (integrated) quantization noise.

Array inertialsim::sensors::DeltaQuantizationNoise (
    Eigen::Index channels,
    Eigen::Index samples,
    double sample_rate,
    std::mt19937_64 & rng
) 

Generate a discrete time, white noise sequence uniformly distributed between -0.5 and 0.5. White noise is characterized by a constant power spectral density over all frequencies. Given the sampling frequency in Hz, the output has a two-sided power spectral density of 1/12 (units^2)/Hz.

Parameters:

  • channels The number of independent channels of noise to return.
  • samples The number of samples of noise to return.
  • sample_rate Frequency in Hz that the signal is sampled at.
  • rng Random number generator.

Returns:

Array of random noise samples (channels x samples).


function Parameter

inertialsim::sensors::Parameter (
    double,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    float,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    int,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    unsigned int,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    short,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    unsigned short,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    long,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    unsigned long,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    long long,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    unsigned long long,
    const std::string &
) 

function Parameter

template<typename Derived>
inertialsim::sensors::Parameter (
    const Eigen::ArrayBase< Derived > &,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    std::initializer_list< double >,
    const std::string &
) 

function Parameter

template<typename Derived>
inertialsim::sensors::Parameter (
    const Eigen::MatrixBase< Derived > &,
    const std::string &
) 

function Parameter

inertialsim::sensors::Parameter (
    std::initializer_list< std::initializer_list< double > >,
    const std::string &
) 

function PinkNoise

Generate a pink noise sequence.

Array inertialsim::sensors::PinkNoise (
    Eigen::Index channels,
    Eigen::Index samples,
    double sample_rate,
    std::mt19937_64 & rng
) 

Pink noise (also known as flicker noise or 1/f noise) is characterized by a power spectrum that is inversely proportional to frequency (1/f).

This implementation automatically pads the FFT size to the next efficient size (with only small prime factors: 2, 3, 5, 7) for optimal performance, then returns exactly the requested number of samples. This padding is transparent to the user and can provide significant speedup (100x+) when the requested size would otherwise have poor FFT factorization.

Parameters:

  • channels The number of independent channels of noise to return.
  • samples The number of samples of noise to return.
  • sample_rate Frequency in Hz that the signal is sampled at.
  • rng Random number generator.

Returns:

Array of random noise samples (channels x samples).


function RandomWalkNoise

Generate a discrete time random walk sequence.

Array inertialsim::sensors::RandomWalkNoise (
    Eigen::Index channels,
    Eigen::Index samples,
    double sample_rate,
    std::mt19937_64 & rng
) 

Random walk noise (also known as Brown noise or Brownian noise) is the integral of white noise and is characterized by a 1/(f^2) power spectral density.

Parameters:

  • channels The number of independent channels of noise to return.
  • samples The number of samples of noise to return.
  • sample_rate Frequency in Hz that the signal is sampled at.
  • rng Random number generator.

Returns:

Array of random noise samples (channels x samples).


function RateQuantizationNoise

Generate rate quantization noise.

Array inertialsim::sensors::RateQuantizationNoise (
    Eigen::Index channels,
    Eigen::Index samples,
    double sample_rate,
    std::mt19937_64 & rng
) 

Generate a discrete time, white noise sequence uniformly distributed between -0.5 and 0.5. This is the derivative of delta quantization noise.

Parameters:

  • channels The number of independent channels of noise to return.
  • samples The number of samples of noise to return.
  • sample_rate Frequency in Hz that the signal is sampled at.
  • rng Random number generator.

Returns:

Array of random noise samples (channels x samples).


function WhiteGaussianNoise

Generate white Gaussian noise.

Array inertialsim::sensors::WhiteGaussianNoise (
    Eigen::Index channels,
    Eigen::Index samples,
    double sample_rate,
    std::mt19937_64 & rng
) 

Generate a discrete time, normally distributed, white noise sequence with unit power spectral density. White noise is characterized by a constant power spectral density over all frequencies. Given the sampling frequency in Hz, the output has a two-sided power spectral density of 1.0 (units^2)/Hz.

Parameters:

  • channels The number of independent channels of noise to return.
  • samples The number of samples of noise to return.
  • sample_rate Frequency in Hz that the signal is sampled at.
  • rng Random number generator.

Returns:

Array of random noise samples (channels x samples).



The documentation for this class was generated from the following file cpp/include/inertialsim/sensors/accelerometer.h