# Three-axis Accelerometer

Implement three-axis accelerometer

• Library:
• Aerospace Blockset / GNC / Navigation

## 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` (British Imperial) 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 (${\overline{A}}_{imeas}$) include the acceleration in body axes at the center of gravity (${\overline{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:

`${\overline{A}}_{imeas}={\overline{A}}_{b}+{\overline{\omega }}_{b}×\left({\overline{\omega }}_{b}×\overline{d}\right)+{\stackrel{˙}{\overline{\omega }}}_{b}×\overline{d}-\overline{g}$`

where ${\overline{\omega }}_{b}$ are body-fixed angular rates, ${\stackrel{˙}{\overline{\omega }}}_{b}$ are body-fixed angular accelerations, and $\overline{d}$ is the lever arm. The lever arm ($\overline{d}$) is defined as the distances that the accelerometer group is forward, right, and below the center of gravity:

`$\overline{d}=\left[\begin{array}{l}{d}_{x}\\ {d}_{y}\\ {d}_{z}\end{array}\right]=\left[\begin{array}{c}-\left({x}_{acc}-{x}_{CG}\right)\\ {y}_{acc}-{y}_{CG}\\ -\left({z}_{acc}-{z}_{CG}\right)\end{array}\right]$`

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 (${\overline{A}}_{meas}$) output by this block contain error sources and are defined as

`${\overline{A}}_{meas}={\overline{A}}_{imeas}×{\overline{A}}_{SFCC}+{\overline{A}}_{bias}+noise,$`

where ${\overline{A}}_{SFCC}$ is a 3-by-3 matrix of scaling factors on the diagonal and misalignment terms in the nondiagonal, and ${\overline{A}}_{bias}$ are the biases.

## References

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

## Version History

Introduced before R2006a