Engee documentation

IMUFilter

Orientation calculation using an inertial measurement unit filter.

blockType: IMUFilter

Path in the library:

/Navigation/Multisensor Positioning/Navigation filters/IMUFilter

Description

Block IMUFilter Combines accelerometer and gyroscope sensor data to estimate device orientation.

Ports

Input

# Accel — accelerometer readings in the coordinate system of the sensor housing, m/s2
the matrix

Details

Accelerometer readings in the coordinate system of the sensor housing in m/s2, given as a real matrix of the size on , where — the number of samples, and the three columns of the matrix represent measurements respectively.

Data types

Float32, Float64

Complex numbers support

No

# Gyro — gyroscope readings in the coordinate system of the sensor housing, rad/s
the matrix

Details

The gyroscope readings in the coordinate system of the sensor housing in rad/s, set as a real matrix of the size on , where — the number of samples, and the three columns of the matrix represent measurements respectively.

Data types

Float32, Float64

Complex numbers support

No

Output

# Orientation — orientation of the sensor housing coordinate system relative to the navigation coordinate system
the matrix | array

Details

The orientation of the sensor housing coordinate system relative to the navigation coordinate system, returned as a real matrix on or as an array of rotation matrices on on . Each row of the matrix on It contains four quaternion elements.

Number of input samples and the parameter value Decimation factor determine the size of the output data .

The output format depends on the parameter value Orientation format.

Data types

Float32, Float64

Complex numbers support

No

# Angular Velocity — angular velocity in the coordinate system of the sensor housing, rad/s
the matrix

Details

The angular velocity, taking into account the displacement of the gyroscope in the coordinate system of the sensor housing in rad/s, returned as a real matrix of the size on .

Number of input samples and the parameter value Decimation factor determine the size of the output data .

Data types

Float32, Float64

Complex numbers support

No

Parameters

Filter Settings

# Reference frame — navigation coordinate system
NED | ENU

Details

The navigation coordinate system, set as NED (north-east-down) or ENU (east-north-up).

Values

NED | ENU

Default value

NED

Program usage name

DispRefFrame

Tunable

No

Evaluatable

No

# Orientation format — orientation output format
quaternion | Rotation matrix

Details

Output data format Orientation:

  • quaternion — the Orientation output port outputs a real matrix on . Each row of the matrix contains four quaternion elements.

  • Rotation matrix — the Orientation output port outputs an array of rotation matrices on on .

Number of input samples and the parameter Decimation factor determine the size of the output data .

Values

quaternion | Rotation matrix

Default value

quaternion

Program usage name

OrientationFormat

Tunable

No

Evaluatable

No

# Decimation factor — decimation coefficient
Real number

Details

The decimation coefficient by which the data transfer rate from the input sensor is reduced, set as a positive integer.

The number of rows in the Accel and Gyro input data matrices must be a multiple of the decimation factor.

Default value

1

Program usage name

DecimationFactor

Tunable

No

Evaluatable

Yes

# Initial process noise — the initial noise of the process
Matrix of real numbers

Details

The initial noise level of the process, set as a real matrix of size on .

Default value

[0.000006092348396 0 0 0 0 0 0 0 0; 0 0.000006092348396 0 0 0 0 0 0 0; 0 0 0.000006092348396 0 0 0 0 0 0; 0 0 0 0.000076154354947 0 0 0 0 0; 0 0 0 0 0.000076154354947 0 0 0 0; 0 0 0 0 0 0.000076154354947 0 0 0; 0 0 0 0 0 0 0.009623610000000 0 0; 0 0 0 0 0 0 0 0.009623610000000 0; 0 0 0 0 0 0 0 0 0.009623610000000]

Program usage name

InitialProcessNoise

Tunable

No

Evaluatable

Yes

Measurement Noise

# Accelerometer noise ((m/s²)²) — noise dispersion of the accelerometer signal, (m/s2)2
Real number

Details

The noise dispersion of the accelerometer signal in (m/s2)2, given as a positive real scalar.

Default value

0.0001924722

Program usage name

AccelerometerNoise

Tunable

Yes

Evaluatable

Yes

# Gyroscope noise ((rad/s)²) — noise dispersion of the gyroscope signal, (rad/s)2
Real number

Details

The noise dispersion of the gyroscope signal in (rad/s) 2, given as a positive real scalar.

Default value

9.1385e-05

Program usage name

GyroscopeNoise

Tunable

Yes

Evaluatable

Yes

# Gyroscope drift noise ((rad/s)²) — gyroscope displacement drift variance, (rad/s)2
Real number

Details

The variance of the gyroscope displacement drift in (rad/s)2, given as a positive real scalar.

Default value

3.0462e-13

Program usage name

GyroscopeDriftNoise

Tunable

Yes

Evaluatable

Yes

Environmental Noise

# Linear acceleration noise ((m/s²)²) — noise dispersion of linear acceleration, (m/s2)2
Real number

Details

The noise variance of linear acceleration in (m/s2)2, given as a positive real scalar. Linear acceleration is modeled as a white noise process filtered out by a low-pass filter.

Default value

0.009623610000000001

Program usage name

LinearAccelerationNoise

Tunable

Yes

Evaluatable

Yes

# Linear acceleration decay factor — attenuation coefficient for linear acceleration drift
Real number

Details

Attenuation coefficient for linear acceleration drift, given as a scalar in the range [0, 1). If the linear acceleration changes rapidly, set this parameter to a lower value. If the linear acceleration changes slowly, set this parameter to a higher value. Linear acceleration drift is modeled as a white noise process filtered out by a low-pass filter.

Default value

0.5

Program usage name

LinearAccelerationDecayFactor

Tunable

Yes

Evaluatable

Yes