Namespace inertialsim::sensors¶
Namespace List > inertialsim > sensors
Sensor specification and simulation.More...
Classes¶
| Type | Name |
|---|---|
| class | Accelerometer Simulate accelerometer sensors. |
| struct | AccelerometerData Accelerometer output data. |
| class | AccelerometerSpecification Accelerometer specification. |
| class | Gyro Simulate gyroscope (gyro) sensors. |
| struct | GyroData Gyro output data. |
| class | GyroSpecification Gyro specification. |
| 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. |
| class | InertialSensorSpecification Inertial sensor specification class. |
| class | InertialSensorState Inertial sensor internal state. |
| class | Magnetometer Simulate magnetometer sensors. |
| struct | MagnetometerData Magnetometer output data. |
| class | MagnetometerSpecification Magnetometer specification. |
| class | Measurement Sensor measurement data. |
| class | Parameter <typename ValueType> A parameter with value and associated units. |
| 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. |
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. |
Public Attributes¶
| Type | Name |
|---|---|
| constexpr double | kDegreesCelsiusPerDegreeFahrenheit = 5.0 / 9.0 |
| constexpr double | kSecondsPerHour = 3600 |
| constexpr double | kTeslaPerGauss = 1[**e**](namespaceinertialsim.md#typedef-matrix)-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. |
Detailed Description¶
The sensors namespace provides:
- classes to simulate gyroscope, accelerometer, IMU, magnetometer, and INS sensor measurements from a wide variety of inputs (combinations of angular rate, specific force, acceleration, orientation, velocity, position and pose in local and global coordinate frames)
- classes to specify sensor parameters in customary units with automatic conversion to SI units
- classes to represent sensor simulation outputs (measurements, simulation state, and metadata)
Public Types Documentation¶
typedef AccelerometerModel¶
enum AttitudeFormat¶
Attitude (orientation) output format options.
typedef GyroModel¶
enum INSSimulationMode¶
INS simulation mode.
typedef MagnetometerModel¶
enum SimulationMode¶
Simulation mode for sensors.
Public Attributes Documentation¶
variable kDegreesCelsiusPerDegreeFahrenheit¶
variable kSecondsPerHour¶
variable 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:
channelsThe number of independent channels of noise to return.samplesThe number of samples of noise to return.sample_rateFrequency in Hz that the signal is sampled at.rngRandom number generator.
Returns:
Array of random noise samples (channels x samples).
function Parameter¶
function Parameter¶
function Parameter¶
function Parameter¶
function Parameter¶
function Parameter¶
function Parameter¶
function Parameter¶
function Parameter¶
function Parameter¶
function Parameter¶
template<typename Derived>
inertialsim::sensors::Parameter (
const Eigen::ArrayBase< Derived > &,
const std::string &
)
function Parameter¶
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:
channelsThe number of independent channels of noise to return.samplesThe number of samples of noise to return.sample_rateFrequency in Hz that the signal is sampled at.rngRandom 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:
channelsThe number of independent channels of noise to return.samplesThe number of samples of noise to return.sample_rateFrequency in Hz that the signal is sampled at.rngRandom 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:
channelsThe number of independent channels of noise to return.samplesThe number of samples of noise to return.sample_rateFrequency in Hz that the signal is sampled at.rngRandom 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:
channelsThe number of independent channels of noise to return.samplesThe number of samples of noise to return.sample_rateFrequency in Hz that the signal is sampled at.rngRandom 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