Skip to content

Environment model

In addition to their primary inputs, all sensors support a common set of environmental inputs.

Each sensor's simulate method accepts an optional environment variable of type Environment. The environment input describes the temperature, vibration, and acceleration experienced by the sensor.

These environmental inputs affect the simulated sensor measurements subject to the model and specification settings. For example, many sensors specify temperature, acceleration, or vibration dependent shifts in bias (zero-offset). When enabled in the model, specified, and accompanied by an environment input, these bias effects will be present in the measurement output.

Input compatibility

The primary and environment inputs must be compatible in shape. For example, a gyro sensor may take an attitude (orientation) input with 10000 samples at 100Hz sample rate. Any accompanying environmental inputs should be sampled at the same times and rates as the attitude (or be a single constant value). The various interpolate methods can be used to achieve this if necessary.

Temperature effects

The environment.temperature input specifies a temperature setpoint or an array of temperatures. In both cases it is specified relative to the nominal operating temperature of the sensor.

Vibration effects

The environment.vibration input specifies the 3-dimensional vibration environment experienced by the sensor. It is specified in input reference axes and can be fixed or variable over time.

Vibration dependent effects are typically specified relative to power levels (square of acceleration or g2). If the exact vibration profile or spectrum is known, this can be applied directly. Alternatively, it can be approximated from standard profiles appropriate to the application. See Standard [09] and Standard [10] (Method 514.8, Annex C) for examples.

In the case of random vibration, the mean square value may be used and can be calculated by integrating the power spectral density (PSD, in g2/Hz) over the relevant frequency band, taking care that PSD profiles are typically presented in log-log diagrams.

Acceleration effects

The environment.acceleration input specifies the true 3-dimensional acceleration experienced by the sensor in input reference axes.

Acceleration sensors

For sensors that can measure acceleration directly, e.g. accelerometers and IMUs, the acceleration input is ignored. In an accelerometer, acceleration dependent errors can be modeled directly as scale terms. In an IMU, any acceleration dependent gyro effects will be modeled by calculating acceleration from the primary inputs.

Off-axis vibration and acceleration sensitivity

Some sensors experience acceleration or vibration dependent outputs in one axis when the excitation is applied along another axis (or along linear combinations of axes). For example, MEMS gyros may experience acceleration dependent effects when that acceleration is applied perpendicular to the sensitive axis.

Acceleration and vibration effects can be specified as single value (applied to each axis), on a per-axis basis, or they can be specifically mapped between input reference axes.

Orthogonal sensitivity

The Safran STIM300 gyro specification includes acceleration dependent bias terms of 1.0 deg/h/g. This can be modeled as follows:

safran_stim300.gyro.bias.acceleration = Parameter(1.0, "deg/h/g")
However, it further specifies that xy-axis outputs are sensitive to z-axis accelerations and that z-axis outputs are sensitive to y-axis accelerations. This can be specified as follows:
safran_stim300.gyro.bias.acceleration = Parameter(
[[0, 0, 1.0],
 [0, 0, 1.0],
 [0, 1.0, 0]],
 "deg/h/g"
)