Main Content

Three-axis Accelerometer

Implement three-axis accelerometer

  • Library:
  • Aerospace Blockset / GNC / Navigation

  • Three-axis Accelerometer block

Description

The Three-Axis Accelerometer block implements an accelerometer on each of the three axes. For more information on the ideal measured accelerations, see Algorithms.

Optionally, to apply discretizations to the Three-Axis Accelerometer block inputs and dynamics along with nonlinearizations of the measured accelerations, use the Saturation block.

The Three-axis Accelerometer block icon displays the input and output units selected from the Units parameter.

Limitations

  • Vibropendulous error and hysteresis effects are not accounted for in this block.

  • This block is not intended to model the internal dynamics of different forms of the instrument.

Ports

Input

expand all

Actual accelerations in body-fixed axes, specified as a three-element vector, in the units specified in the Units parameter.

Data Types: double

Angular rates in body-fixed axes, specified as a three-element vector, in radians per second.

Data Types: double

Angular accelerations in body-fixed axes, specified as a three-element vector, in radians per second squared.

Data Types: double

Location of the center of gravity, specified as a three-element vector, in the units specified in the Units parameter.

Data Types: double

Gravity in body axis, specified as a three-element vector, in the units specified in the Units parameter.

Data Types: double

Output

expand all

Measured accelerations from the accelerometer, returned as a three-element vector, in the units specified in the Units parameter.

Data Types: double

Parameters

expand all

Input and output units, specified as:

UnitsAccelerationLength
Metric (MKS) Meters per second squaredMeters
English Feet per second squaredFeet

Programmatic Use

Block Parameter: units
Type: character vector
Values: 'Metric (MKS)' | 'English'
Default: 'Metric (MKS)'

Location of the accelerometer group, specified as a three-element vector, measured from the zero datum (typically the nose) to aft, to the right of the vertical centerline, and above the horizontal centerline. This measurement reference is the same for the center of gravity input. The units are the units specified in the Units parameter.

Programmatic Use

Block Parameter: acc
Type: character vector
Values: three-element vector
Default: '[0 0 0]'

To subtract gravity from acceleration readings, select this check box.

Programmatic Use

Block Parameter: gtype
Type: character vector
Values: 'on' | 'off'
Default: 'on'

To apply second-order dynamics to acceleration readings, select this check box.

Programmatic Use

Block Parameter: dtype_a
Type: character vector
Values: 'on' | 'off'
Default: 'on'

Natural frequency of the accelerometer, specified as a double scalar, in radians per second.

Programmatic Use

Block Parameter: w_a
Type: character vector
Values: double scalar
Default: '190'

Damping ratio of the accelerometer, specified as a double scalar, with no dimensions.

Programmatic Use

Block Parameter: z_a
Type: character vector
Values: double scalar
Default: '0.707'

Scale factors and cross-coupling, specified as a 3-by-3 matrix, to skew the accelerometer from body axes and to scale accelerations along body axes.

Programmatic Use

Block Parameter: a_sf_cc
Type: character vector
Values: 3-by-3 matrix
Default: '[1 0 0; 0 1 0; 0 0 1]'

Long-term biases along the accelerometer axes, specified as a three-element vector, in the units specified in the Units parameter.

Programmatic Use

Block Parameter: a_bias
Type: character vector
Values: 3-by-3 matrix
Default: '[0 0 0]'

Update rate of the accelerometer, specified as a double scalar, in seconds. An update rate of 0 creates a continuous accelerometer. If the Noise on check box is selected and the update rate is 0, the block updates the noise at a rate of 0.1.

Tip

If you:

  • Update this parameter value to 0 (continuous)

  • Configure a fixed-step solver for the model

you must also select the Automatically handle rate transition for data transfer check box in the Solver pane. This check box enables the software to handle rate transitions correctly.

Programmatic Use

Block Parameter: a_Ts
Type: character vector
Values: double scalar
Default: '0'

To apply white noise to acceleration readings, select this check box.

Programmatic Use

Block Parameter: a_rand
Type: character vector
Values: 'on' | 'off'
Default: 'on'

Scalar seeds for the Gaussian noise generator for each axis of the accelerometer, specified as a three-element vector.

Dependencies

To enable this parameter, select Noise on.

Programmatic Use

Block Parameter: a_seeds
Type: character vector
Values: three-element vector
Default: '[23093 23094 23095]'

Height of the power spectral density (PSD) of the white noise for each axis of the accelerometer, specified as a three-element vector, in:

  • (m/s2)/Hz when Units is set to Metric (MKS)

  • (ft/s2)/Hz when Units is set to English

Dependencies

To enable this parameter, select Noise on.

Programmatic Use

Block Parameter: a_pow
Type: character vector
Values: three-element vector
Default: '[0.001 0.001 0.001]'

Three minimum values and three maximum values of acceleration in each of the accelerometer axes, specified as a six-element vector, in the units specified in the Units parameter.

Programmatic Use

Block Parameter: a_sat
Type: character vector
Values: six-element vector
Default: '[-inf -inf -inf inf inf inf]'

Algorithms

The ideal measured accelerations (A¯imeas) include the acceleration in body axes at the center of gravity (A¯b) and lever arm effects due to the accelerometer not being at the center of gravity. Optionally, gravity in body axes can be removed. This is represented by the equation:

A¯imeas=A¯b+ω¯b×(ω¯b×d¯)+ω¯˙b×d¯g¯

where ω¯b are body-fixed angular rates, ω¯˙b are body-fixed angular accelerations, and d¯ is the lever arm. The lever arm (d¯) is defined as the distances that the accelerometer group is forward, right, and below the center of gravity:

d¯=[dxdydz]=[(xaccxCG)yaccyCG(zacczCG)]

The orientation of the axes used to determine the location of the accelerometer group (xacc, yacc, zacc) and center of gravity (xCG, yCG, zCG) is from the zero datum (typically the nose) to aft, to the right of the vertical centerline and above the horizontal centerline. The x-axis and z-axis of these measurement axes are opposite the body-fixed axes that produce the negative signs in the lever arms for the x-axis and z-axis.

Measured accelerations (A¯meas) output by this block contain error sources and are defined as

A¯meas=A¯imeas×A¯SFCC+A¯bias+noise,

where A¯SFCC is a 3-by-3 matrix of scaling factors on the diagonal and misalignment terms in the nondiagonal, and A¯bias are the biases.

References

[1] Rogers, R. M., Applied Mathematics in Integrated Navigation Systems, AIAA Education Series, 2000.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Introduced before R2006a