lv1b_imu-0.03

94
LV1b Navigation (theory & practice) Version 0.03, 8/24/2000 (This is a 0 version document, not yet ready for general release) This document is copyright 2000 by T.Brandon Permission to make single copies for personal use is granted. Permission to make and distribute multiple copies is granted provided the cost to a recipient is always no more than the total incremental cost of reproduc- tion and transmission to that recipient, this means in part that the distributor is not allowed to make a profit by distributing copies of this document. Permission to provide this document to others for reproduction at their expense is granted provided that no charge is made to any receiving party beyond the total incremental cost of providing this document to that party for reproduction, this means in part that the provider is not allowed to make a profit by providing this document for reproduction. For more information about copying this document contact, Portland State University Aeronautical & Space Systems Society, Portland State University Electrical & Computer Engineering Department PO. Box 751 Portland Oregon 97207-0751 Any copies of this document must retain this notice. All other rights reserved. Keywords inertial navigation, global positioning system, rocket, orientation, strapdown, coordinate transformation, quaternion, general- ized inverse, complementary filter, Kalman filter

Upload: versine

Post on 13-Dec-2015

18 views

Category:

Documents


9 download

DESCRIPTION

IMU DETAILS

TRANSCRIPT

Page 1: LV1b_IMU-0.03

LV1b Navigation (theory & practice)Version 0.03, 8/24/2000

(This is a 0 � version document, not yet ready for general release)

This document is copyright 2000 by T.BrandonPermission to make single copies for personal use is granted.Permission to make and distribute multiple copies is granted provided the cost to a recipient is always no more than the total incremental cost of reproduc-tion and transmission to that recipient, this means in part that the distributor is not allowed to make a profit by distributing copies of this document.Permission to provide this document to others for reproduction at their expense is granted provided that no charge is made to any receiving party beyond thetotal incremental cost of providing this document to that party for reproduction, this means in part that the provider is not allowed to make a profit byproviding this document for reproduction.For more information about copying this document contact, Portland State University Aeronautical & Space Systems Society, Portland State UniversityElectrical & Computer Engineering Department PO. Box 751 Portland Oregon 97207−0751Any copies of this document must retain this notice.All other rights reserved.

Keywordsinertial navigation, global positioning system, rocket, orientation, strapdown, coordinate transformation, quaternion, general-ized inverse, complementary filter, Kalman filter

Page 2: LV1b_IMU-0.03

ContentsHey dork boy, put in page numbers

0 Introduction

0.1 What, Why, Who (and where)

0.2 Method overview(should say more on Kalman, error state???)

Part I theory

Inertial Measurement (INS, IMU Guidance and control)

Inertial data(goals of sensor output)

1 Sensorssensor modelling and characterization(relate state to output w/ error bars)

1.1 accelerometers

1.2 rate� gyros

1.3 pressure transducer

1.4 thermistors

2 Relating sensor data to inertial state

2.1 the inconsistent nature of the problem

2.2 generalized inverses

2.3 application of weighted generalized inverses to inertial sensing(would like simple general equations and a simplified example)

2 LV1b_IMU−0.03

Page 3: LV1b_IMU-0.03

3 Reference frames(Perspective on strapdown navigation vs platform navigation etc.)(notes on inertial vs rotating frames, apparent vs real forces etc.)

3.1 reference frames for LV1b

3.1.1 frames of reference particular to the IMU

3.1.2 rocket body frame

3.1.3 local navigation frame

3.1.4 GPS reference frame

3.2 mathematics for transformation between frames

3.2.1 matrices and quaternions for expressing rotations

3.2.2 tangent� level plane transformations

3.3 efficient coordinate transformation by multi� rate algorithms(explain the problem of constantly changing reference)

3.3.1 two rate attitude update

3.3.2 the dual problem of velocity

3.3.3 coning & sculling

4 Strapdown Inertial Navigation: Velocity & Position

4.1 efficient velocity calculations

5 Gravity Modelling

5.1 gravity and the curvature of the Earth

5.2 assumed gravity

5.3 gravity on the ground

5.4 series approximations for gravity above the ground

secr "sNoiseTemp"

7.6

GPS / IMU Aiding

4.1 combining IMU and GPS data

4.2 Kalman filtering

LV1b_IMU−0.03 3

Page 4: LV1b_IMU-0.03

4.3 bias feedback by state augmentation

Part II practice

6 Quantifying the Initial Design

6.1 system inputs

6.2 measurement errors

6.3 design goals

6.4 computational considerations

7 Detailed Sensor Noise Calculations

7.1 ADXL250 ±40 gee accelerometer

7.2 ADXL202 ±2 gee accelerometer

7.3 Jupiter GPS module

7.4 Tokin CG16−D0 rate gyro

7.5 MPX5100A pressure transducer

7.6 NHQ103R10 temperature sensor

8 IMU Calibration

9 INS Aiding

Addenda

A Notation, Symbols, & Constants

B Elements of vector & matrix theory

B.1 properties of the generalized inverse

4 LV1b_IMU−0.03

Page 5: LV1b_IMU-0.03

C Quaternions

Sines & Cosines

Derivations

References

Selected Index

LV1b_IMU−0.03 5

Page 6: LV1b_IMU-0.03

0 IntroductionThis document provides a description of the techniques we use for position and attitude determination (orientation) of oursmall amateur rocket, which we call Launch Vehicle number 1, model b (LV1b). Our orientation system hardware consistsof an altimeter, a 6 degree of freedom Inertial Measurement Unit (IMU) and a Global Positioning System (GPS) receiver,data from these units is combined to provide a high bandwidth, bounded error signal suitable for navigation and control ofvarious payloads and the vehicle itself.

0.1 What, Why, Who (and where)LV1b is an unguided four finned rocket, under 3.3m long, about 11cm in dia. and about 21kg in mass. It is powered by anM−class solid motor, and in it’s original configuration (LV1) has flown to 3600m altitude and reached speeds in excess of0.9 Mach. The payload consists of an amateur band color TV transmitter and radio telemetry system. Onboard are sensorsfor pressure and temperature as well as the GPS and IMU. The IMU is constructed from commercially available low cost,solid state accelerometers and rate gyros. The cost of the LV1b orientation system is several hundreds of dollars, in contrastto many commercial systems which cost thousands and more.

LV1b is an all amateur project for learning and recreation. While it is possible that the things we do and learn could bedirectly applicable to future aerospace projects, the primary goal is to learn and teach each other, thus improving both ourskills and our lives. If someone were to ask, why rockets? A reasonable reply could point out the huge variety and depth oftechnology that has to be applied to a rocket as sophisticated as the one contemplated here. The prospect of applying somany esoterica to an object that goes zoom, is a great intellectual challenge, but an intriguing one. Yet, perhaps a deeperreason is something, call it romance, it’s the idea of being connected to an age of exploration, of being part of somethingbetter than a market� driven machine. In a round about way LV1b is our positive statement about the future.

Philosophy aside, the LV1b orientation system is a stepping stone as we try to construct a guided rocket. Active guidance ofa rocket allows the reduction or elimination of stabilizing fins, thus reducing drag and increasing altitude. Guidance allowsfor course correction so for instance a slightly bad angle leaving the launch pad will not cause the whole flight to veer offcourse by many kilometers. The ability to navigate to a specific point in space enhances the utility of a launch vehiclebecause payloads can count on reaching a known position. And both recovery and safety are enhanced by confining theoperation of the rocket to prescribed boundaries.

Our previous vehicle, LV1, used the same basic airframe as LV1b and was equipped with a rudimentary IMU [Ref???],whose performance was good enough to encourage this new effort. Our goal now is to demonstrate an orientation system ofsufficient accuracy and reliability to be used in active guidance on a planned future vehicle (LV2) currently underconstruction.

LV1b is the collaborative effort of dozens of people associated with Portland State University located in Portland Oregon.At the time of writing further information on this project is available on the web at http://ee.pdx.edu/~aess .

0.2 Method overviewOrientation information is derived by combining data from the GPS and IMU with a technique called GPS/INS aiding. TheGPS is a low cost essentially unmodified OEM� style unit from Rockwell called a "Jupiter board" for about 115$ it providesposition and velocity readings about once per second with an RS−232 interface, and since GPS selective availability hasrecently been deactivated, it should provide horizontal accuracy in the range of ~10m. Since the GPS is unmodified, wehave not implemented any feedback from the IMU to the GPS. This sort of feedback is helpful in both increasing GPSaccuracy and in recovering and maintaining satellite lock particularly during periods of rapid maneuvering [15], but cur-rently we lack the resources to crack the black box and make the necessary adjustments.

Onboard IMU hardware includes the Analog Devices Inc. ADXL202 and ADXL250 series dual accelerometers whichprovide noiselimited 10 milligee accuracy for about 10$ per axis. The rate gyros are of the vibrating beam ceramic typeCG16−D0 made by the Tokin corp. (Japan) for about 22$ per axis. We implement a 7 sensor system consisting of the 3orthogonal axes with linear acceleration and rotation rate sensing and one redundant acceleration axis perpendicular to therocket’s centerline and 45° to, that is midway between, the rocket’s transverse axes. These signals are digitized by a 12bitAnalog to Digital converter and processed by a Microchip Inc. PIC17C766 microcontroller with a single cycle multiply anda 30ns cycle time.

6 LV1b_IMU−0.03

Page 7: LV1b_IMU-0.03

Onboard IMU hardware includes the Analog Devices Inc. ADXL202 and ADXL250 series dual accelerometers whichprovide noise� limited 10 milligee accuracy for about 10$ per axis. The rate gyros are of the vibrating beam ceramic typeCG16−D0 made by the Tokin corp. (Japan) for about 22$ per axis. We implement a 7 sensor system consisting of the 3orthogonal axes with linear acceleration and rotation rate sensing and one redundant acceleration axis perpendicular to therocket’s centerline and 45° to, that is midway between, the rocket’s transverse axes. These signals are digitized by a 12bitAnalog to Digital converter and processed by a Microchip Inc. PIC17C766 microcontroller with a single cycle multiply anda 30ns cycle time.

From the inertial sensor array we derive a signal that represents the inertial state of the rocket. The inertial state is definedwith reference to 3 orthogonal axes, the primary one being the rocket centerline, about each axis are associated 3 indepen-dent quantities those being the linear acceleration, the angular rotation rate, and the angular acceleration, for a total of 9values making up the inertial state.

The output of the orientation system is the orientation vector. The orientation vector is defined relative to an Earth fixednavigation coordinate frame. The orientation vector contains 12 elements, the 3 position coordinates, the 3 velocity coordi-nates, the 3 coordinates defining rocket attitude (e.g. pitch, roll, yaw), and 3 coordinates expressing the roll rates about each(pitch, roll, yaw) axis. Additionally, where feasible, dynamic error bounds on the outputs may be helpful for controlpurposes.

The goal of the orientation system is to combine measurements of the inertial state with GPS position and velocity data andany other observations to produce an orientation vector for the rocket at a high enough rate and with enough accuracy to beused for realtime guidance and control. The GPS alone is not fast enough, while the IMU alone is not accurate enough,together they provide a good low cost solution.

Here is an outline of orientation system processing:

Measurement�TransformationFeedback & Filtering

MEASUREMENTThe measurement step consists of translating the IMU sensor data into an inertial state vector. This process is complicatedby the fact that the sensor data is both redundant and inconsistent. Our method of approach is by way of linear algebra andmatrix theory using what amounts to a least squares fit. This process is formulated below with some generality using themethod of generalized inverses. In preforming the least squares fit two criteria are employed. The first is a fit to the sensordata weighted by the estimated sensor accuracy. The second criterion involves a minimization on the inertial state vector,favoring vectors defined as having the least energy.

TRANSFORMATIONThe mathematics of our inertial measurement problem is complicated slightly by the selection of a strapdown system. Manyinertial measurement systems, particularly the early designs, are of the stabilized platform type. This means that the sensorarray is mounted on a gimbled platform and feedback is employed to try to keep the platform oriented to the navigationframe in a known way. Usually either fixed in the navigation frame or rotating at a known rate. Under this type of systemthe transformation of inertial state from the platform to navigation frame is either constant or slowly varying in a knownway, which presents a fairly easy problem in vector mathematics.

By contrast a strapdown system fixes the platform rigidly to the vehicle body (hopefully with some shock and vibrationdamping) so, particularly for an aircraft, the platform may be oriented in arbitrary ways and in any case will change itsorientation to the navigation frame continuously while the vehicle maneuvers. Since the goal is to provide orientationupdates at a high rate (at least 10Hz) and because computational resources are limited, we have decreased the computationalburden by going to a two rate update scheme. In this scheme the sensor data is acquired and transformed into an inertialstate vector at a higher rate perhaps in the 2kHz range. This data is numerically integrated using a simplified transformation.Then at a lower rate the accumulated data is used to update the full platform to navigation transformation. This is a goodscheme as long as the angular error between the two frames does not grow too large between transformation updates.Fortunately, most of the high frequency accelerations experienced in the platform frame have the nature of vibrations, whichtend to average to zero and do not much affect the vehicle’s orientation, at least on short time scales.

The two rate scheme presents some interesting difficulties, such as the effect of noncommutativity of rotation. When theincremental vehicle rotations are simply added up without being transformed into navigation frame coordinates the informa-tion contained in the order of the rotations is lost. One way to deal with this problem is to update the transformation oftenenough that the accumulated error is never too large, but the performance improvement over simply doing the transforma-tion each time may be disappointing. A more clever approach is to compensate for the effect by accumulating a noncommuta-tive correction angle in the high rate loop to be applied along with the other angles at transformation update time. Thisapproach turns out to be tractable and allows the transformation update rate to remain low.

LV1b_IMU−0.03 7

Page 8: LV1b_IMU-0.03

The two rate scheme presents some interesting difficulties, such as the effect of noncommutativity of rotation. When theincremental vehicle rotations are simply added up without being transformed into navigation frame coordinates the informa-tion contained in the order of the rotations is lost. One way to deal with this problem is to update the transformation oftenenough that the accumulated error is never too large, but the performance improvement over simply doing the transforma-tion each time may be disappointing. A more clever approach is to compensate for the effect by accumulating a noncommuta-tive correction angle in the high rate loop to be applied along with the other angles at transformation update time. Thisapproach turns out to be tractable and allows the transformation update rate to remain low.

FEEDBACK & FILTERINGOnce the inertial state is acquired, integrated and transformed into the navigation frame it is a matter of relative ease toproduce an orientation vector of the type required. The problem with relying only on IMU data is that over time the errorgrows without bound. Particularly for the low cost units of the type described here the time scale before the error grows toolarge can be just a few seconds. One way of maintaining accuracy is to provide corrections to the inertially derived orienta-tion estimates from the GPS. The question is how best to combine this information. The theory for this type of problem isextensively worked out and goes by several names, the most recognizable one is Kalman filtering. Kalman filtering asimplemented here is a linear feedback arrangement whereby the output, namely the orientation vector, is the sum of theIMU derived estimate and an error term produce by comparison of the IMU estimate and the GPS information, weighted bytheir estimated errors bounds. In fact the process is very reminiscent of the measurement phase, though potentially moreinvolved.

By the process of state augmentation the Kalman filter is made to estimate the sensor biases, and thereby provide a rudimen-tary online calibration function.

This subsection should be beefed up later???

8 LV1b_IMU−0.03

Page 9: LV1b_IMU-0.03

1 Sensors

What concerns us here is sensor modeling. For a given sensor under known conditions we wish to know both the outputresponse of the sensor for a known inertial input, and the answer to the inverse problem of deducing the input from thesensor output. For the case of low cost inertial sensors we need theory, testing and calibration, because the sensors are farfrom ideal.

For the purposes of inertial measurement we concern ourselves with 3 fundamental quantities. The acceleration in a straightline, the rate of rotation about an axis also called angular rate or angular velocity, and the time derivative of the angular rate,that is the angular acceleration. A reader may wonder why we distinguish between the angular rate and its derivative sinceevidently one can be derived from the other. Partly this is just a matter of convenience of notation, but more deeply it is tiedup in the fact that although an inertial unit can directly measure angular velocity, it can only directly measure linear accelera-tion. In any case it’s hoped that in what follows we can demonstrate that carrying two angular quantities is a useful thing todo.

When finding formulae for inertial quantities it is useful to provide an estimate for the errors involved. This allows for datato be combined in statistically valid ways generating estimates that are the most likely values for the actual quantities. Sothroughout this chapter we will pay attention to error and noise.

1.1 AccelerometersIdeally accelerometers are sensors that produce a signal proportional to the linear acceleration of the sensor along a singlesensitive axis. The ideal accelerometer has an accurately defined axis of sensitivity, and is insensitive to accelerations whichare perpendicular to the sensitive axis. It is insensitive to rotation, accurate, stable, has a very high bandwidth with a flatfrequency response, and is noise free. Real accelerometers fail, to a more or less degree, in all of these characteristics.

For LV1b we use accelerometers made by Analog Devices Inc. Theses are low cost, off the shelf devices that are commonin things like shock/tilt sensors and car alarms. In particular we use device numbers ADXL250, and ADXL202. The use ofdifferent devices is a compromise based on dynamic range and noise floor. The ADXL202 is more sensitive, but wouldsaturate during high gee liftoff and recovery, but is suitable for the transverse axes, while the ADXL250 has inferior noisecharacteristics, but is not in danger of saturation (we think). The theory of operation of the ADXL series is explained fairlywell in reference [3].

Here are the major characteristics for the ADXL(250/202) taken from the manufacture’s data sheets [4] [5]. The notationused is (minimum, typical, Maximum), and [units]�ADXL #

250202

Full Scale Whitenoise Bandwidth Angle Transverse Gain Offset Linearity

gee mgee Hz Hz deg % % °C gee °C % FS� 40, 50, , 1.0, 2.5 900, 1000, � 1 � 2 � 0.008 � 0.0061 0.2� 1.5, 2, , 0.5, 1.0 , 5000, � 1 � 2 � 0.026 � 0.0027 0.2

Full Scale the maximum linear rangeWhite noise RMS noise per BandwidthBandwidth Ultimate sensor 3dB bandwidthAngle Maximum misalignment between die and packageTransverse Sensitivity of sensor to perpendicular accelerations, includes effects of misalignment

angle. Expressed as a % of on axis sensitivity.Gain Temperature coefficient of gain. The figure for the ADXL202 may be overstated.Offset Temperature coefficient of zerogee offset, near maximum bounds.Linearity Maximum deviation from best fit line, as a percent of full scale.

LV1b_IMU−0.03 9

Page 10: LV1b_IMU-0.03

Full Scale the maximum linear rangeWhite noise RMS noise per BandwidthBandwidth Ultimate sensor 3dB bandwidthAngle Maximum misalignment between die and packageTransverse Sensitivity of sensor to perpendicular accelerations, includes effects of misalignment

angle. Expressed as a % of on� axis sensitivity.Gain Temperature coefficient of gain. The figure for the ADXL202 may be overstated.Offset Temperature coefficient of zero� gee offset, near maximum bounds.Linearity Maximum deviation from best fit line, as a percent of full scale.

These figures don’t tell the whole story. For instance, is the offset or gain coefficient stable enough to use for a temperaturecompensation formula? (probably not offset). What about the long term drift? We shall see.

This type of accelerometer is believed to be insensitive to rotation, but will respond to rotational effects if it is positionedsome distance away from a rotational axis. This is termed, lever arm effect. If we define the sensitive axis to be f, with thepositive direction towards the front of the package, and the in� plane transverse axis to be t, and the direction perpendicularand downward relative to the plane of the package as d (right handed coordinate system). Then we define gains for eachaxis Gf , Gt ,Gd, and let the offset be a0 . We find the signal from the accelerometer a is

(1.1)a � Ga � a � a0

where Ga is the gain vector, and a is the acceleration vector

In order to find the response of an accelerometer in the presence of lever arm effects consider an axis of rotation passingthrough the origin. Let the center of the accelerometer be located relative to this origin by a vector s , and the accelerometergain be described by a vector Ga as before. We can then classify the inertial forces acting on the accelerometer into 3categories. There is the acceleration due to the linear motion of the origin, the centripetal acceleration due to fixed rotationabout the axis, and the instantaneous linear acceleration due to a change in rotational velocity.

The expression for linear acceleration has already been given in (1.1). The centripetal acceleration is of magnitude s � 2 ,where � 2 is the vector component representing the part of the rotation through the origin which is perpendicular to s . Thecentripetal acceleration is directed towards the origin, that is in the direction of � s .

To find the acceleration due to a change in angular rate, first consider the instantaneous linear velocity due to the rotation.

(1.2)v � � s

The acceleration is clearly the time derivative of (1.2), if we let � � � and combine the 3 categories of rotational accelera-tion, we get an expression for the signal from an accelerometer whose position from the origin is given by s and whoseorientation is defined by Ga.

(1.3)a � Ga � a � � � s � s � � � a0

Note that (1.3) is nonlinear in � , and is constructed to be compatible with the idea that the sensitive axis is not perfectlyalinged with the package. The bias term a0 is not easy to characterize, and has significant components which resemblenoise. For initial analysis we will model a0 as a random walk, possibly this walk should be biased towards some centerishvalue, but detecting this bias presents complexities which are thought to be unecessary since the bias of the bias term a0 issmall, and the bias selection operates inside a feedback loop.

1.2 Rate GyrosA rate gyro measures angular rate, that is the speed of rotation about a given axis. Another popular gyro type is the spinningtop used in gyro compasses and similar devices. A spinning top gyro maintains a fixed orientation is space and so directlyindicates which way is up. A rate gyro doesn’t respond to any fixed direction so if it is to be used for orientation its signalsmust be integrated to provide angular position information. We prefer the rate gyro due to its ruggedness, unlimited range oftravel (most spinning top gyros loose their orientation if rolled completely over due to travel limitations in the gimbal), andlow cost.

10 LV1b_IMU−0.03

Page 11: LV1b_IMU-0.03

The rate gyros used on LV1b are made by the Tokin corporation, model CG16−D0. They suffer from all the problems of theaccelerometers, but to a greater degree.

Tokin Gyro mdl# CG16−D0 specification summary

Item: Value: Units: Notes:Full Scale ±90 [deg/sec]Bandwidth >100 [Hz] 3dB point

The specifications on the Tokin part are rather thin.

A good explanation of the theory of ceramic gyros, including the CG16−D0 can be found in [16], detailed informationspecific to the Tokin unit is contained in [2].

The rate gyro has a primary axis, about which it is sensitive to the rotation rate. The gyro is negligibly sensitive to rotationabout perpendicular axes, but has fairly high transverse sensitivity to linear accelerations. This suggests modeling a gyro asan accelerometer (hopefully, with very low gain) combined with a rotation sensitive axis. If we add to the accelerometerequation a new vector G� consisting of just one component parallel to the f � axis, then the gyro equation is

(1.4)� = G� · + Ga· ( a + � � s + � 2 s ) + �0

1.3 Pressure TransducerThe old standby in aerial navigation is the altimeter. In LV1b the instrument employed is a Motorola MPX5100GV vacuumpressure transducer. This is not a high accuracy instrument, but it is independent and fairly reliable. Pressure based altitudeis not used directly by the IMU, but it can be used as part of the feedback to correct orientation vector drift. In this sense thealtimeter relates to the IMU in a manner similar to the GPS, though it is of less importance.

Motorola MPX5100GV pressure sensor specification summary

Item: Value: Units: Notes:Sensitivity 45 [mV/ kPa]Rise Time 1 [s] 10−90% riseAccuracy ±2.5 [%] Total errorOffset (.088, .2, .313)[V] @minimum pressureOffset Stability±0.5 [%FS] 1000 hoursMax.Pressure <400 [kPa]Temp.Range 0−80 [°C] Operation outside this range

reduces accuracy

The pressure altitude relation is taken from the 1996 Chemical Rubber Company Handbook [12]

(1.5)h � 44331.514� 18411.8956P0.1902632

where h is the altitude in meters, and P is the pressure in kilo Pascals

The range of validity of (1.5) is [ −1524, 11000 ] meters. It also probably contains too many significant figures.

LV1b_IMU−0.03 11

Page 12: LV1b_IMU-0.03

1.4 ThermistorsThe bias terms a0 , � 0 in (1.3) and (1.4) are significant error terms, and have considerable temperature sensitivity. Tomeasure the IMU temperature we have incorporated a negative coefficient thermistor This instrument was chosen for itssmall size, low power consumption, low cost, good bandwidth, and high signal level. It also exhibits good repeatability andaccuracy. The particular type used was a Thermometrics model NHQ103R10. Here are the specs.

Thermometrics mdl# NHQ103R10 thermistor specification summary

Item: Value: Units: Notes:Resistance 10k [ � ] @25°CResistance Tol.±10 [%]� � value 3750 [°K] 25−85°C� � Tol. ±200 [°K]Temp.Range −40,125 [°C]Time constant< 5 [s]

LV1b uses a is a semiconducting negative coefficient thermistor as a temperature sensor. The resistance of such devicesvary exponentially with temperature [22], specifically

(1.6)R T � R T0 Exp � � T � T0� � � � � � � � � � � � � � � �� � � � �T � T0

Equation (1.6) is actually a linearized approximation (assumes the logarithm of R[T] is a straight line). The uncertainty in(1.6) over a span of 50°C is about 0.3°C. For better accuracy a polynomial fit can be applied. The standard result [22] is athird order polynomial

(1.7)1� � � � � �T

� a � bLn R T � cLn2 R T � dLn3 R T

This can be rewritten as

(1.8)Ln R T � A � B� � � � � � �T

� C� � � � � � � � �T2

� D� � � � � � � � �T3

It is often suggested that the squared terms in (1.7) and (1.8) can be dropped without significant loss of accuracy. [22]suggests the accuracies obtainable with (1.7) and (1.8) can exceed 0.01°C , while the accuracy of the equations with the 2ndorder term dropped is better than 0.1°C .

12 LV1b_IMU−0.03

Page 13: LV1b_IMU-0.03

2 Relating sensor data to inertial state

An inertial measurement unit (IMU) as conceived here is by design sensitive to two types of forces, linear acceleration andangular rotation rate. In fact due to the realities and imperfections of life, our IMU is sensitive to other things as well, but forthe moment let’s restrict ourselves just the desired response. The collection of 3 orthogonal linear accelerations and 3orthogonal rotation� rates are called the inertial state of the rocket, or without ambiguity just the state. Sometimes it may beinteresting to include the 3 orthogonal angular accelerations as well, increasing the dimensions of the state to 9.

Once the IMU sensor characteristics are known then, at least within the limits of applicability, for any given state we cancalculate the sensor responses. Putting this statement as a matrix equation

(2.1)A x = b

Where x is the inertial state of the rocket expressed in platform coordinates, b is the sensor output vector and A is thematrix representing a linear transformation from x to b.

In formulating the matrix A several concerns may arise.

1) The response of an individual sensor may be nonlinear.

2) The transformation itself may be nonlinear

3) The response of individual sensors depends on more than one state variable

An example of the first type difficulty might arise if a sensor had a weak nonlinearity, say

bi xj � � xj2 where � � 1

In this case, assuming that the nonlinearity’s magnitude is even significant, the seemingly best way to handle the problem isto assume the output of sensor� i will be linearized before being further processed by the IMU. For the present example, wemight form a new quantity

b i bi � � bi2

Which is the linearized sensor reading neglecting terms of order � 2. In this case the vector b would refer to b i rather thanbi .

The second type of difficulty is a generalization of the first and may arise in a number of ways. The sensor output maydepend on the history of the state, or on the product (or some more complex function), of several state elements, or on statevariables other than the inertial state. In the most general case, nonlinearities beyond those which are readily removable maypreclude the approach given here. However, for our project we assume that by application of linearization and approxima-tion the linear model given will suffice. Still the existence of nonlinearities may force the introduction of dependent coeffi-cients into matrix A, making subsequent analysis more difficult.

The problem of having a sensor output which depends on more that one state variable, does not by itself cause difficulty informulating matrix A, but it does mean that rather than having each sensor measure one thing, we have instead combinationsensors, whose outputs reflect the effect of several state elements at once.

LV1b_IMU−0.03 13

Page 14: LV1b_IMU-0.03

2.1 The inconsistent nature of the problemConsidering (2.1) clearly, determining the state from sensor outputs is a problem of inversion. That is we seek

(2.2)x � A � 1 b

The difficulty with this formulation is that x exists only if the given b is consistent with our model of the IMU sensorarray. For example suppose that we are given a state x1 then, according to our model there is an output state b1 uniquelydetermined by b1 A x1. Now suppose we perturb the b1 state by modifying only one of its elements with an error term,

say b i bi � � . It is very likely that this new output state, call it b 1 cannot be reached by any input state x 1 because any

adjustment made to x in order to match the b i element will cause new inconsistencies to develop between A x1 and the

other elements of b 1. We expect that in the presence of measurement noise and modeling uncertainty (2.1) will usuallyhave no exact solution for x .

In seeking approximate solutions for x we need to define what is meant by a solution which is close enough. We take thestandard approach of least squares and define the closeness of the approximation as the Euclidean norm of the differencewhich is then minimized. That is we seek an x in (2.1) so that

(2.3)A x � b

is minimized.

Even making this generalization there are potential difficulties with (2.1). As in the case of exact solutions there can bemore than one possible x which minimizes (2.3). Furthermore, the Euclidean norm is not necessarily the best one. Certainmeasurements may be more reliable or accurate than others, and thus should ideally be given more weight in calculating thestate. This suggests the so� called weighted least squares approach. Which is formulated here using what is sometimesreferred to as ellipsoidal norms.

The ordinary Euclidean norm can be calculated in a given coordinate system as

(2.4)x = xi2

We now extend this definition to allow for a weighting function

(2.5)x w = wi xi2 where wi > 0

In fact this can be generalized slightly as

(2.6)x W2 � x W x

where W is a positive definite matrix and x represents the Hermitian transpose of x

We will further assume that W is real and symmetric. This is not a restriction, at least for real x because any matrix can bewritten as the sum of symmetric and antisymmetric parts, and for an antisymmetric matrix Z = � ZT we have

x Z x = zi j (xi xj −xj xi ) = 0 � x � n

Therefore any antisymmetric part of W contributes zero to the norm.

Now we modify (2.3) and seek x so that

(2.7)A x � b W2 � A x � b W A x � b isminimized

This should give us a weighted least squares solution to the system A x b, but the solution is still not unique. One way todefine a unique solution is to select x so that it minimizes (2.7) and has minimum norm. That is, pick x to be the stateclosest to a non accelerating and non rotating frame that continues to be a least squares approximation to A x b .Towards this end, we define a new norm with matrix representation U

14 LV1b_IMU−0.03

Page 15: LV1b_IMU-0.03

This should give us a weighted least squares solution to the system A x b, but the solution is still not unique. One way todefine a unique solution is to select x so that it minimizes (2.7) and has minimum norm. That is, pick x to be the stateclosest to a non� accelerating and non� rotating frame that continues to be a least squares approximation to A x ! b .Towards this end, we define a new norm with matrix representation U

(2.8)x U2 = x U x

and seek x such that (2.7) and (2.8) are simultaneously minimized. The unique x thus found will be used as the measuredstate for subsequent IMU processing.

2.2 Generalized inversesWhen solving problems like the double minimization of (2.7) and (2.8) there are of course some well developed mathemati-cal techniques to apply which go by the various names generalized inverse, pseudoinverse, or Moore� Penrose inverse, butwhich we will refer to as simply the GI. Actually there are several possible definitions for the GI that form a family ofinverses with various properties. The pseudoinverse and Moore� Penrose inverse both refer to the same object, namely theunique GI denoted A" such that

if x = A " b , then x has the least possible norm x , while minimizing A x−b

Further properties of the GI are given in appendix B

As stated the GI is not directly applicable to our problem, being defined only for the ordinary Euclidean norm. However,clearly the ellipsoidal norm is isomorphic to the Euclidean, so we seek a mapping from one space to the other. Our approachis in two parts. First consider the weighted least squares problem and the associated W� norm, introduce the transformation

???start w/normal equation, outline in Appendix B generalize here, derive formula for GI[A,U,V], including explicitformula and in Appendix B.

(2.9)A � W1 2 A

b � W1 2 b

where W1 2is the matrix such that W=W1 2 W1 2. For a hermitian positive definite matrix such as W, W1 2 will alwaysexist. Using this transformation it can be demonstrated that

(2.10)A x � b � A x � b W

Using (2.9), we can rewrite the normal equation (see appendix B) as

(2.11)A A x � A b

A W A x � A W b

Therefore x is a W � norm least squares solution for A x=b iff x satisfies (2.11).

In exactly the same fashion introduce a transformation on x so that x satisfies the U� norm

(2.12)x � U1 2 x

(2.13)x = x U

LV1b_IMU−0.03 15

Page 16: LV1b_IMU-0.03

Combining (2.11) and (2.12) we can pose the problem

(2.14)minimize x subject to A WAx = A Wb

by (2.9) this is equivalent to

(2.15)A A U � 1 2 x = A b

which is in the form of a Euclidean GI {1,4} problem (minimum norm) which has a solution

(2.16)

x � A A U � 1 2 1,4A b

U1 2 x � W1 2 A W1 2 A U � 1 2 1,4 W1 2 A W1 2 b

x � U � 1 2 A W A U � 1 2 1,4 A W b

We now use the adjoint rewriting rule from section B.1 to rewrite (2.16) as

(2.17)

x � U � 1 2 U � 1 2 A W A A W A U � 1 2 U � 1 2 A W A 1,4 A W b

x � U � 1 A W A A W A U � 1 A W A 1,4 A W b

Now we note that by construction x satisfies (2−12) , so x is also a solution of a GI {1,3} problem (least squares problem),and therefore the inverse in (2.17) may be taken as a {1,2,3,4} inverse denoted A " .

2.3 Application of weighted generalized inverses to inertial sensing

To reiterate (2.1), given the state vector x we imagine that the output of a sensor bi can be found using an expression like

bi =j ai j xj = Ai x

where it’s understood that the bi may be subject to linearization of the type mentioned in section 2.0.

Using this assumption, we can apply the results on weighted generalized inverses in sec.2.2 to the problem of deducing thestate x from the sensor input b. The calculation of A is fairly straight forward given the sensor model, but one questionremaining is how to define matrices U and W?

The matrix U defines the weighting function of the state vector x. As always, since the norm is to be minimized, whatmatters is the relative weight given to each component of x not the total magnitude of U. The physicist’s toolbox suggeststwo immediate possibilities for U, either the choice that maximizes entropy, or the one that minimizes energy, in that order.The first choice presents a problem of definition. Specifically, the present author can’t think of what function of the statevector x should stand in for the usual entropy. Moving on to the idea of energy minimization, there are still problems.Consider a mass (m) accelerating in a straight line with magnitude (a), velocity (v) and initial velocity v0 , the powerneeded to sustain acceleration (a) as a function of time is P [t] .

(2.18)P [t] = ma(v0 + a t)

Evidently the power required depends on the velocity already attained, but if we consider only the energy increment overthe short time between measurements (T) we can write.

16 LV1b_IMU−0.03

Page 17: LV1b_IMU-0.03

(2.19)#

E = ma2 T

The expression for $ E lends itself to a norm, but since it treats each axis the same, it resembles the Euclidean norm. Later anon� Euclidean norm will arise from the consideration of how (2.19) relates to the rotational components of x .

The energy associated with rotation about one axis is

(2.20)E = 1� � � �2

I � 2

where I is the moment of inertia about the axis, and � the angular rate in radians.

Although (2.19) and (2.20) appear to be in a compatible form, they do in fact represent entirely different quantities. Equa-tion (2.19) is the energy expended in the last measurement period to change from the previous inertial frame to the currentone. While (2.20) is the energy associated with the total angular momentum about one axis. In other words, one expressionrepresents a difference, the other a total. In order to bring (2.20) more in line with (2.19) we will consider the energyincrement required to change from a rotation at rate � 1 at time t1 to � 2 at t2 assuming a constant angular acceleration� % � . Since this rotational case is entirely analogous to the linear one of (2.19) we have

(2.21)#

E = I & 2 T

Equations (2.19) and (2.21) are comparable energy terms, but � is not one of the primary measured quantities. We canintroduce � however, by a process of state augmentation. Let our inertial state vector x be the 9 element vector consistingof the 3 independent linear accelerations, 3 rotation rates, and the 3 previous rotation rates. Augment the b vector with the3 previous rotation rates, possibly from the output of some filter. Then define the U� norm of the state vector to be

(2.22)x U = m T ( ax2 + ay

2 + az2 ) + T ( Ix & x

2 + Iy & y2 + Iz & z

2 )

where � i = ( � i [T i] − � i [T(i−1)] )

Notice that the �U� norm defined here ignores the absolute magnitude of the � ’s

The definition of the W � norm for the least squares fit is considerably easier. Assuming that the standard deviations of theinput signals ' i are known, then we seek to minimize

(2.23)b i � bi

2

� � � � � � � � � � � � � � � �� � � � � � � �� � � � � � �(i2

where the b) i represent the values calculated via A x ! b* and the bi represent the measured values.

LV1b_IMU−0.03 17

Page 18: LV1b_IMU-0.03

3 Reference Frames

Reference frames are fundamentally a method of organizing information. Once quantities are measured or expressed in away convenient to one situation, they can be formally manipulated to relate to other information that has been recorded in adifferent frame. Many theorists dismiss the importance of the reference frame and the transformations between frames,disparaging them as mere bookkeeping exercises (while hoping that by adopting such an attitude they will coax someoneelse into doing the bookkeeping for them), but there are things of interest in the mathematics of transformations betweenframes. Even though once the interesting points have been noticed, a practitioner of transformations will wish for the bulkof the calculations to be handled by some obliging machine. An alternative title for this chapter might have been, "BeyondDouble Entry; Accounting for the Third Dimension".

For our purpose we restrict the reference frames considered to finite linear vector spaces. Things that may be represented byorthogonal basis vectors.

Reference frames are generally chosen to simplify measurements or calculations. For example in Chapter 1 the sensorequations were given in a frame that related directly to the orientation of the sensor in space. This choice made the sensorequations very compact to write down, but ultimately the sensor outputs have to be related to the navigation frame, whichon LV1b is an xyz rectangular frame whose origin is the rocket’s launch point. In connecting the sensor frame to thenavigation frame we will pass through several other reference frames, including the rocket body frame whose major axis isthe rocket centerline. Each choice of reference frame is designed to simplify the calculation or measurement of data at thestage to which it applies. The complications of transforming from frame to frame are hidden inside the automated proce-dures we construct, so that the overall complexity from the human perspective is greatly reduced.

Before considering specific frames a general comment is in order. Though many different kinds of reference frames areused, at least the simpler ones can be classified by two considerations, their geometry and whether or not they are accelerat-ing frames. The frame geometry is usually chosen to match a symmetry of the problem. Common choices are rectangular,cylindrical, spherical and ellipsoidal, but more complicated geometries are sometimes used. The question of acceleratingframes is common in physical science. A non� accelerating frame, also called an inertial frame, is one whose basis vectorsare not accelerating. This definition is circular in the sense that the position must be defined relative to another inertialframe, but it is nonetheless useful. The ultimate definition of an inertial frame is provided by the idealized experiment of anon� rotating mass not subject to outside forces. Coordinates relative to this mass define an inertial frame. Inertial frames areinteresting because physical objects are thought to obey the laws of inertia whereby an object whose position is measured inan inertial frame can only change the velocity of its center of mass if it is subject to an external force. A corollary to this isthat if an object is tracked in a non� inertial frame, it may change its velocity even without the application of an externalforce. This phenomenon is the origin of what are termed fictitious forces.

The type of non� inertial frame of interest for LV1b is the rotating frame. A rotating frame is an accelerating one because atleast some of the basis vectors describe a circular path. Consider a mass fixed away from the origin in an inertial frame. Ifthe frame is set to rotating at a constant rate the mass, as described in the rotating frame, will engage in circular motion.Even though it would be motionless in the original inertial frame. This motion in the rotating frame could be explained if wemade the (false) assumption that the rotating frame was an inertial frame, and that the mass traveled with a velocity oppositeto the rotation of the frame and was subject to an apparent force directed towards the frame’s origin thus forcing the massinto circular motion. This apparent force, entirely fictitious, is called the Coriolis force.

18 LV1b_IMU−0.03

Page 19: LV1b_IMU-0.03

3.1 Reference Frames for LV1bLV1b is a rocket which primarily travels over the surface of the earth; we are not yet ready to go further. The customaryreference frame for terrestrial navigation is known as the earth centered� earth fixed geodetic (ECEF−g) coordinate system.The coordinates for this frame are usually written <+ , , , h> for latitude, longitude, and altitude, respectively. Note thataltitude is defined as the normal distance above an assumed earth shape known as the geoid which is mathematically anellipsoid of revolution meant to approximate the true shape of the earth. ECEF−g is the coordinate system most commonlyassociated with the GPS. Since longitude is measured relative to a fixed point on the surface of the earth, ECEF−g rotates atthe earth rate, i.e. it is a non� inertial frame. As an alternative reference frame it is sometimes convenient to define an ECEFrectangular (ECEF−r) system. In this scheme the origin is at the earth center, the z� axis is directed up through the north pole,the x� axis is perpendicular passing through the prime meridian and the y� axis completes an <x, y, z> orthogonal, righthanded coordinate system. The ECEF−r system is fairly easy to relate to local rectangular frames, and most GPS units,including the one on LV1b can be placed into a mode that outputs data in ECEF−r coordinates, therefore ECEF−r is a goodchoice for GPS/INS integration.

Despite the utility of ECEF−g in terrestrial navigation the transformation from it to an inertial frame is rather involved,details given in [13], because of the complexity, the transformation is done only when required. Instead, navigation isaccomplished in a locally defined frame known as the tangent plane. This frame has its origin at the launch point with itsz� axis pointing up, perpendicular to the geoid surface at that point. The y� axis lies in the plane tangent to the geoid surface,directed due north and the x� axis, also in the tangent plane, points east. The tangent plane is a right handed coordinatesystem written <e, n, u> for <east, north, up>. Note that a similar system is often defined in the literature as<north, east, down> the choice of down rather than up is annoying and we ignore it.

The most difficult transformation in a strapdown navigation system is from the body frame to the navigation frame. ForLV1b the navigation frame is the <e, n, u> frame mentioned above. The body frame is assigned for convenience relative tothe rocket airframe. The primary body frame axis is the rocket centerline. This is the z� axis and is positive towards therocket nose. The origin of the body frame for LV1b coincides with the origin of the IMU platform. The x and y axes areperpendicular to the z� axis and define the pitch and yaw of the airframe. The x and y axes coincide with the x and y axes ofthe IMU (unless the airframe team decides to the contrary). For each <x, y, z> axis in the body frame we define a correspond-ing angle <- , . , , > representing pitch, yaw and roll respectively. These angles are defined positive along the <x, y, z> axesby the right hand rule.

The IMU itself uses a reference frame known as the platform frame as explained in sec.0.2 . The relationship of the platformframe to the body frame is a simple rotation and translation which would be completely defined if not for alignment errorduring installation or operation. The chief utility of the platform frame is in modularizing the IMU. Each sensor can bereferenced to the platform frame and all IMU output can be taken in the platform frame.

LV1b Reference Frame SummaryFrame : coordinates : Notes :Sensor <f, t, d> Unique to each sensorPlatform <x, y, z> IMU reference frameBody <x, y, z> Same frame as mechanical designAttack angles <- , . , , > Defined by velocity relative to body z� axisNavigation <e, n, u> Also called tangent plane. Primary IMU output frameAttitude <- , . , , > Rocket angles about the Navigation frame axesECEF−r <x, y, z> Similar to tangent plane, available from GPSGeodetic <+ , , , h> Same as GPS coordinates, alternate navigation frame

LV1b_IMU−0.03 19

Page 20: LV1b_IMU-0.03

3.2 Mathematics for Transformation Between FramesIn the case of two linear vector spaces a and b, a vector r can be transformed from coordinates given in a to coordinatesgiven in b by a rotation followed by a translation

(3.1)rb = (Ob− Oa) + Rab ra = Oab + Ra

b ra

here ra means the vector r coordinatized in frame a , Oa is the vector representing the origin of frame a and Rab is the

rotation matrix from frame a to b .

For the case of reference frames in relative rotation we introduce the notation � ba , which means the rotation rate vector offrame a relative to frame b. For rotating frames we have

(3.2)R/ ab

t � Rab t ba

a

where baa

is the skew symmetric representation of � ba coordinatized in frame a. Notice that (3.2) is really just (1.2)written in another notation.

If we combine (3.1) & (3.2) we get an expression for transforming a vector velocity between two frames in relative rotationto one another. This expression is called the theorem of Coriolis

(3.3)r/ b t � Rab t ba

a ra t � r/ a t

The term involving baa

represents the apparent motion due to the rotation of the frames.

An easy generalization of (3.3) covers the case of frame b having both rotational and translational motion relative to frame a

(3.4)r/ b t � O/ ab t � Rab t ba

a ra t � r/ a t

Taking the time derivative of (3.4)

(3.5)

0 2 rb� � � � � � � �� � � � � � � � �0t2

�0 2 Oab� � � � � � � � � � � � � � � �� � � � � �0

t2� R/ a

bbaa ra � r/ a � Ra

bba

ara � ba

a r/ a �0 2 ra� � � � � � � �� � � � � � � �0

t2

�0 2 Oab� � � � � � � � � � � � � � � �� � � � � �0

t2� Ra

bba

ara � ba

abaa ra � 2 ba

a r/ a �0 2 ra� � � � � � � �� � � � � � � �0

t2

Equations (3.1), (3.4) & (3.5) are the general transformation equations for position, velocity and acceleration from oneframe to another.

When we describe the motion of a frame of reference its all relative, meaning that the motion of one frame must be mea-sured with respect to another reference frame. Therefore to fully describe the motion, both frames must be specified.Consider particularly the case of frame b in relative rotation with respect to frame a. In the notation of (3.2) we write � ab asthe vector representation of the rotation rate. Any rotation, no matter how complex, may be built up from a sequence ofinfinitesimal, but not necessarily parallel, plane rotations. A plane rotation being one about a single fixed axis. The vector� ab t can be understood as denoting an instantaneous plane rotation at time t , where � ab 1 t is equal to the rotation’smagnitude, and the unit direction vector � ab � ab is parallel to the rotation axis. Angular rate vectors are proper vectors,and so in particular obey the rules of vector addition.

(3.6) ab � bc � ac

20 LV1b_IMU−0.03

Page 21: LV1b_IMU-0.03

Notice how the notation is designed as a mnemonic, with cancellation of the inner subscripts.

By a theorem due to Euler we know that if we begin with an orientation a (a can be taken as a reference frame) then by anyfinite sequence of plane rotations, and therefore any rotation, we will arrive at a new orientation b. For any a and b therealways exists a unique single plane rotation which transforms a to b.

With this theorem in mind define 2 ab as the unique rotation which transforms frame a to b. The definition of 2 ab iscompletely analogous to � ab . The magnitude and direction of 2 ab correspond to the magnitude and direction of theimplied rotation, and the sense of rotation is defined by the right hand rule. Often 2 is thought of as an operator that trans-forms a vector by rotation from one orientation to another, in this context 2 ab is called the vector rotator from a to b.

Here is a summary of what has been stated about rotations.1) � is a proper vector, in particular it obeys the addition rule given in (3.6)2) Infinitesimal plane rotations can be added to produce any rotation3) Any sequence of rotations result in a change that is equivalent to a single rotation

Based on these facts it might seem reasonable that the rotation 2 would follow the rules of vector addition, and that 2 is theintegral of � . Neither of these things are true.

Consider this counter example. Suppose a pilot is on a rocket travelling in a direction called forward. If the pilot executestwo maneuvers, a pitch up 90° and a roll right 90° the rocket will be travelling upwards relative to its previous direction. Onthe other hand if the order of the maneuvers is reversed, if the rocket rolls to its right then pitches up, the final direction oftravel will be to the right of the original direction. There is no great mystery here, since the meaning of each rotationdepends on which orientation the body has reached, the history of the rotations matters. This is different than simple addi-tion. For example in the one dimensional case, each addition is like saying move so much more to the left or to the right, thekind of motion that is made in no way depends on the previous position. By contrast the motion commanded by, say, pitchup 90°, or turn 90° about the north polar axis, is entirely dependent on whether the previous orientation was straight andlevel or straight up.

Because the orientation reached by a series of rotations depends on the order of the rotations, rotators like 2 cannot followthe rules of vector addition since vector addition can be done in any order. Likewise, 2 cannot be the integral of � , for if itwere then the fact that both the integral operator and � follow an addition rule would imply that 2 follows an addition ruleas well, which it does not.

However, the time history of � clearly does determine the resultant rotation 2 . Furthermore, we want to determine 2 from �because it is � that is measured by the IMU, and it is 2 that gives the resulting change in orientation of the platform relativeto another frame, such as the navigation frame. Towards this goal, consider the case where � does not change direction intime. This case is like a one dimensional rotation where everything actually does add up. That is

(3.7)3 � 0t for in onlyonedirection

This suggests seeking a function of � that reduces to (3.7) in the plane rotational case.

Start with the quaternion form of the rotator q , from B−??? we know

(3.8)q4 � 1� � � � �2

q 5 q in terms of 2 is by (B−???

(3.9)q �Sin 6 2� � � � � � � �� � � � � � � �� � �6 3Cos 7 2

� Sin 7 2� � � � � � � � � � � � � � � �� � � � � � � �� � � �73 � Cos 7 2

Substitute (3.9) into (3.8) and use the linearity of quaternion multiplication to get

LV1b_IMU−0.03 21

Page 22: LV1b_IMU-0.03

(3.10)q4 � 1� � � � �2

Sin 6 2� � � � � � � �� � � � � � � �� � �6 3Cos 7 2

5 � 1� � � � �2

Sin 7 2� � � � � � � � � � � � � � � �� � � � � � � �� � � �73 5 � Cos 7 2� � � � � � � � � � � � � � � �� � � � � � � �� � � � �

2

By (B−??? relation of quaternions to vectors ie 8 9 : ; 8 < : = 8 > : )

(3.11)q4 � 1� � � � �2

Sin 7 2� � � � � � � � � � � � � � � �� � � � � � � �� � � �73 � � � 7 � � � Cos 7 2� � � � � � � � � � � � � � � �� � � � � � � �� � � � �

2

Now take the derivative of (3.9)

(3.12)q4 � Sin 7 2� � � � � � � � � � � � � � � �� � � � � � � �� � � �73 ? � 3 7 @� � � � � � � �7 � 7 @ 7� � � � � � � �� � � � � �

2� 3 7 @� � � � � � � �� � �

2 7 Cos 7 2

Equate (3.11) and (3.12) and solve for 2 %

(3.13)3 @ � 1� � � � �2

3 � � � � 3 � � 7 Cot7� � � � � �2

� 3 7 @� � � � � � � �7 2 � 7 Cot7� � � � � �2

� 7 7 @This can be broken up into vector and scalar parts, each of which must be separately equal

(3.14)3 @ � 1� � � � �2

3 � � �� 7 Cot7� � � � � �2

� 3 7 @� � � � � � � �7 2 � 7 Cot7� � � � � �2

(3.15)7 7 @ � 3 � Now (3.15) can be substituted into (3.14) to eliminate A %

(3.16)3 @ � 1� � � � �2

3 � � � � 7 Cot7� � � � � �2

� 3 3 � � � � � � � � �� � � � � � �7 22 � 7 Cot

7� � � � � �2

A useful relation can be derived from the vector triple product (Appendix B)

(3.17)3 � 7 � � � 3 � 3 � 3 � 3 � 3 3 � � 7 2 By using (3.17) the term 2 2 B � can be eliminated from (3.16)

(3.18)3 @ � 1� � � � �2

2 � 3 � � � � 3 � 7 � � 1� � � � � � � � �7 22 � 7 Cot

7� � � � � �2

Recalling the trigonometric identity

(3.19)Cot7� � � � � �2

� Sin 7� � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � �1 � Cos 7

the relation between the rotator and the angular velocity can finally be written in its conventional form

22 LV1b_IMU−0.03

Page 23: LV1b_IMU-0.03

(3.20)3 � �3 C � � � � � � � �� � � � � � � � � �

2� 3 � 7 � � 1� � � � � � � � �7 2

1 � 7 Sin 7� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � �2 1 � Cos 7

0t

3.3 Efficient coordinate transformations by multi rate algorithms

Now that the expression for the rotator has been derived, consideration can be given to the specific application of LV1b.Much of the notation and procedure in this section is borrowed from [20]. Appendix (C−??? gives an equation for velocity ofthe rotator from the body to the navigation frame in terms of the two angular velocities measured relative to a third refer-ence frame, which can be taken as an inertial frame.

(3.21)q4 bn � 1� � � � �

2qb

n 5 ibb � 1� � � � �

2 in

n 5 qbn

The rotation of the navigation frame can be taken as two components, the one due to the rotation of the earth, and anotherdue to the rotation of the navigation frame relative to the earth

(3.22) inn � ie

n � enn

The quantity � enn is called the transport rate, however, for LV1b, which uses an Earth fixed navigation frame, the transport

rate is zero.

In (3.21) the body frame rotation rate can reach upto around 1Hz while the navigation frame rotation rate is more like onceper day. Even with a high transport rate (at least high relative to aircraft velocities) the navigation rate is perhaps a fewMach divided by 24,000 mi., which is still small compared to 1Hz. Therefore we can compute the navigation frame rota-tions at a rate slower than the body frame rotations. Let the computation of the navigation frame rotations be at the n� rate,and use the index n to number such computations. Similarly let the body rotations proceed at the faster m� rate. Then thenavigation� body rotator can be updated like this

(3.23)qb m

n n � qn nD 1

n n 5 qb m

n nD 1

(3.24)qb m

n nD 1 � qb mD 1

n nD 1 5 qb m

b mD 1

where indices like n , added to a reference frame symbol, indicate the position of the frame at the moment when t tn.

Equation (3.23) is run at the n� rate while (3.24) is run at the m� rate. Note that qb m

b mD 1 is a time reversed rotator.

By using (3.18) the rotation vector associated with qb m

b mD 1 can be written as

(3.25)3m@ � ib

b � 1� � � � �2

3m � �

ibb � f 7� � � � � � � �� � � � � � � � �7 2

3m � 7 m � �

ibb

LV1b_IMU−0.03 23

Page 24: LV1b_IMU-0.03

where the symbol 2 m means the rotator associated with the body frame rotation from time m � 1 to time m and the

scalar function f A 1 � E Sin EF F F F F F F F F F F F F F F FF F F F F F F FF F F F F F F F2 1G Cos E . Note that when using (3.25) to generate qb m

b mD 1 the correct vector is actually

� 2 m because of the time reversal.

Unfortunately, (3.25) is too computationally intensive to implement directly with the flight computer on LV1b, therefore asimpler approximate formula is desired. The function f A A 2 can be expanded in a power series.

(3.26)f 7� � � � � � � �� � � � � � � � �7 2

� 1� � � � � � � � �12

1 � 7 2� � � � � � � � �60

� 7 4� � � � � � � �� � � � � � � �2520

� O 7 6

Assuming the m� rate is fast enough that A doesn’t get too large, (3.26) can be approximated by just the first termf A A 2 H 1 12. If (3.26) is approximated as 1/12, then the rest of (3.25) should be approximated to the same order.

Carrying out this rather radical pruning yields

(3.27)3

m@ � ibb � 1� � � � �

2� t � �

ibb , � t �

tm� 1

t ibb 0

t

Whether (3.27) provides adequate accuracy depends on the relation between system requirements, the update m� rate and themagnitude and constancy of � ib

b . Probably, the demonstration of the adequacy of (3.27) will be handled by either field testsor a simulation versus (3.25) (the truth equation). In the case where � ib

b is parallel to 2 m, for instance if � ibb is constant,

(3.25) & (3.27) give the same result.

For convenience (3.27) can be broken into two parts, let

(3.28)I

t � 1� � � � �2 tm� 1

t � t � �ibb 0

t

then

(3.29)3

m � � m � Im

where � m � tm , J m J tm

Conceptually (3.29) is a division of (3.27) into � which is exact for the case of a non� rotating � , and J a second orderapproximation which compensates for the rotation of � .

In order to carry out the required integrals divide the m� interval into sub intervals with the index K . The K � rate equations arethen

(3.30)# I

t � 1� � � � �2 tK � 1

t � t � �ibb 0

t ,# I L � # I

tL

(3.31)I

t � I L� 1 � # I

t

(3.32)# � t �

tK � 1

t ibb 0

t ,# � L � # � t

L

(3.33)� t � � L� 1 � # � t

24 LV1b_IMU−0.03

Page 25: LV1b_IMU-0.03

Substituting (3.33) into (3.30)

(3.34)

# It � 1� � � �

2 tK � 1

t � L� 1 � # � t � �

ibb 0

t

� 1� � � �2 tK � 1

t � L� 1 � �

ibb 0

t � 1� � � �2 tK � 1

t # � t � �ibb 0

t

� 1� � � �2

� L� 1 � # & L � 1� � � �

2 tK � 1

t # � t � �ibb 0

t

Making the further approximation that � ibb is 1st order over the K � interval, that is

(3.35) ibb M A � B t � t

L� 1

where A & B are constant vectors.

Using this last approximation $ � t becomes

(3.36)# � t �

tK � 1

t

A � B t � tL

� 10

t � t � tL

� 1 A � 1� � � � �2

B t � tL

� 1

Therefore the last integral in (3.34) is

(3.37)

1� � � � �2 tK � 1

t

t � tL

� 1 A � 1� � � � �2

B t � tL

� 1 � A � B t � tL

� 10

t

� 1� � � � �2 tK � 1

t

t � tL

� 11� � � � �2

B � A t � tL

� 1 � t � tL

� 1 A � t � tL

� 10

t

� 1� � � � �2 tK � 1

t 1� � � � �2

A � B t � tL

� 12 0

t � 1� � � � � � � � �12

A � B t � tL

� 13

This result can be recast into the form of an update over the K � interval by considering the cross product

(3.38)# � L � # & L

� 1 � TL 2 A � B T

L� � � � � � � �� � � � � � �

2� � A � B T

L� � � � � � � �� � � � � � �

2� T

L 3 A � B

where TN is the length of the K � interval

Combining (3.38) and (3.37) with (3.34) yields

(3.39)

# I L � 1� � � � �2

� L� 1 � # & L � 1� � � � � � � � �

12# � L � # & L

� 1

� 1� � � � �2

� L� 1 � 1� � � � �

6# � L

� 1 � # & L

The work so far is sufficient to compute qb m

b mD 1 using high throughput K � rate expressions like (3.32) and (3.39). The

missing element, at least as far as attitude update equations are concerned is a method for computing qn nD 1

n n which is the

unaddressed term from the slower n� rate equation (3.23). This term represents the rotation of the navigation frame, whichfor LV1b is due to the rotation of the Earth. Since the Earth rate is almost perfectly constant all the cross product terms in(3.25) drop out, but even for a more general case the deflection of in over one m cycle is negligible and a 1st orderapproximation is valid. [20] raises the issue of the sufficiency of a 1st order approximation during initialization when the

magnitude of qn n 1

n n is not necessarily small. However for LV1b the 1st order terms should suffice. The approximation to

(3.20) is then

LV1b_IMU−0.03 25

Page 26: LV1b_IMU-0.03

The work so far is sufficient to compute qb m

b m 1 using high throughput rate expressions like (3.32) and (3.39). The

missing element, at least as far as attitude update equations are concerned is a method for computing qn n 1

n n which is the

unaddressed term from the slower n rate equation (3.23). This term represents the rotation of the navigation frame, whichfor LV1b is due to the rotation of the Earth. Since the Earth rate is almost perfectly constant all the cross product terms in(3.25) drop out, but even for a more general case the deflection of � in over one m� cycle is negligible and a 1st orderapproximation is valid. [20] raises the issue of the sufficiency of a 1st order approximation during initialization when the

magnitude of qn nD 1

n n is not necessarily small. However for LV1b the 1st order terms should suffice. The approximation to

(3.20) is then

(3.40)O

n �tn� 1

tn inn 0

t �tn� 1

tn ien 0

t �tn� 1

tnqe

n 5 iee 5 qe

n 0t

where P n is the rotator equivalent to qn nD 1

n n and � ien is a function of position (attitude).

26 LV1b_IMU−0.03

Page 27: LV1b_IMU-0.03

4 Strapdown Inertial Navigation: Velocity & Position

The contents of chapter 3 are concerned with a central question in inertial navigation, that of determining the attitude of thevehicle in the navigation frame. Besides the fact that attitude is of independent interest, it is essential information for thecalculation of position in the navigation frame. In this chapter the calculations for vehicle attitude presented in chapter 3 areapplied to the problem of finding the velocity and then position of the vehicle. Much of the notation and flow of this chapteris patterned on reference [21].

The basic equation for deriving velocity in an inertial frame from IMU data is

(4.1)a � v4 i � G r

where a is the IMU measured acceleration and G the local gravity vector.

For LV1b the velocity of interest is the velocity relative to the Earth frame ve expressed in the navigation frame. This canbe calculated from inertial measurements using (3.3)

(4.2)v4 en � Ri

nnii ve

i � v4 ei

To make use of (4.2) v� ei must be expressed in terms of the inertial frame acceleration a. This could be done by application

of (3.3) followed by a time derivative, but it is perhaps less error prone to use the general expression (3.5) which for thiscase is

(4.3)v4 ii �

0 2 rii� � � � � � � �� � � � � � � �0

t2� Re

iiee

iee re

e � 2 iee r4 e

e � v4 ee

where use has been made of the fact that both Oei and ie

e are zero.

Since vei Re

i vee we know that v� e

i Rei

iee

vee � Re

i v� ee substituting this into (4.3) and solving for v� e

i

(4.4)v4 ei � � Re

iiee

iee re

e � iee ve

e � v4 ii

Making multiple use of the similarity transform ???, the right side of (4.4) can be massaged into an expression involvingonly quantities measured in the inertial frame

(4.5)v4 ei � v4 i

i � iei

iei re

i � iei ve

i

using the basic equations (4.1) in place of v� ii

(4.6)v4 ei � a � G r � ie

iiei re

i � iei ve

i

LV1b_IMU−0.03 27

Page 28: LV1b_IMU-0.03

For subsequent work it is convenient to rewrite this as

(4.7)v4 ei � a � g r � ie

i vei

(4.8)g r � G r � ieC �

ieC r

g r may be thought of as the gravitational acceleration adjusted for the centrifugal force due to the Earth’s rotation.

Substituting (4.7) into (4.2)

(4.9)v4 e

n � Rin

nii ve

i � ai � g i r � iei ve

i

� an � gn r � nin � ie

n ven

Using ne ni � ie (4.9) becomes

(4.10)v4 en � an � gn r � ne

n � 2 ien ve

n

For LV1b the navigation frame is fixed to the Earth and ne 0

4.1 Efficient velocity calculationsThe approach taken here is similar to the attitude computations in section 3.2.

For computational convenience (4.10) can be cast as

(4.11)vmn � vm� 1

n � #vm

n � Q mn

(4.12)Q mn �

tm� 1

tmgn � ne

n � 2 ien � ve

n 0t

(4.13)#

vmn �

tm� 1

tman 0

t

In (4.12) R mn is the velocity increment in the navigation frame during the m� interval due to gravity and Coriolis effects. In

(4.13) $ vmn is similarly the velocity increment due to inertially measured acceleration.

When computing (4.12) gn may be approximated as constant during one m� interval. Approximations to gn are generallybased on polynomial fits. If both the [m] and [m−1] values are available at computation time, a common choice is to use theaverage value over the m� cycle. If the end values are not available an average value may be extrapolated. In any casedenoted the value to use as gmG 1 2

n .

The same comments on constancy apply to the Coriolis force terms in (4.12). Using these approximations the result is

(4.14)Q mn M Tm gm� 1 2

n � ne m� 1 2n � ie m� 1 2

n � ve m� 1 2n

where Tm is the length of the m� interval

28 LV1b_IMU−0.03

Page 29: LV1b_IMU-0.03

The Coriolis and gee� force terms in (4.12) & (4.14) are candidates for a low speed n� rate update algorithm of the type usedin section 3.3. Whether to do updates at the n� rate is a trade off between system accuracy, computer power, and softwarecomplexity. For now the question is deferred???

Errors in the gee� force term introduce an instability in the velocity calculations. The instability can be understood byconsidering the effect of an error in estimated altitude. Suppose that the estimated altitude is above the real altitude. Thenthe estimated gravity is less than the real gravity, therefore the excess real gravity will be interpreted as an accelerationupwards, so the next update cycle the altitude estimate will have an even higher error, which contributes to an even greaterestimated vs real gravity error. The error grows approximately geometrically with each update. The only way avoid largeerrors is to use additional information to stabilize the altitude figure. Possibilities include altimeter, rate of climb indicator,and GPS information.

In (4.11) to compute $ vmn while compensating for the rotation of the body frame the same scheme as in (3.23) & (3.24) can

be used

(4.15)#

vmn �

tm� 1

tmCn n� 1

n m Cb m� 1

n n� 1 Cb t

b m� 1 ab 0t

here the notation has been switched to DCM’s for compactness

To compute (4.15), break it into parts, let

(4.16)#

vmb m� 1 �

tm� 1

tmCb t

b m� 1 ab 0t

(4.17)#

vmn n� 1 � Cb m� 1

n n� 1 #vm

b m� 1

(4.18)#

vmn � Cn n� 1

n m #vm

n n� 1 � #vm

n n� 1 � Cn n� 1

n m � I#

vmn n� 1

The last form of (4.18) anticipates an approximation for Cn n� 1

n m . (4.18) is an m� rate equation, so it is desirable to elimi-

nate or simplify any updates to the navigation frame in an effort to cut computer load and push navigation frame computa-tions into the slower n� rate loop.

To form the approximation expand (3.20) in the manner of (3.40)???, then to 1st order

(4.19)Cn n� 1

n m M I � S n �This is a suitable m� rate approximation, though on LV1b this may be further approximated as just the identity matrix.???

The final piece of the velocity update is (4.16) which is the translational analog to (3.25). In approximating (4.16) it issufficient for now to take only 1st order terms from the expansion of the rotator vector (3.18). This is true even though inalmost identical circumstances in (3.27) a 2nd order approximation was taken. This difference is not justified a priori, it willbe up to the subsequent development to show that the errors made here are small enough. However a motivation for thisapproximation can be provided at this point. From the attitude update equation (3.27) the resulting attitude estimate is usedto compute (4.16), so the velocity estimate’s accuracy is limited by the attitude estimate accuracy. Therefore the extra termin (3.27) may be justified, it remains to be seen.???

Proceeding with the 1st order approximation

LV1b_IMU−0.03 29

Page 30: LV1b_IMU-0.03

(4.20)Cb t

b m� 1 � I � � t �where � t is defined in (3.27)

Substitute (4.20) into (4.16) to get

(4.21)#

vmb m� 1 � vm �

tm� 1

tm � t � ab 0t

(4.22)v t �tm� 1

t

ab 0t , vm � v tm

(4.21) contains an integral which might be susceptible to further approximation. In seeking an approximation consider(4.21) in the case where � ib

b & ab are constant such as during a constant rate turn. Then (4.21) is

(4.23)#

vmb m� 1 � vm � Tm

2� � � � � � � �� � � � � �2

ibb � ab � vm � 1� � � � �

2� m � vm

(4.23) suggests a method of partitioning the integral in (4.21) into a term which accounts for the constant part of the maneu-ver, namely � m T vm 2 and the rest of the integral.

To make this partition, seek a formula of the form

(4.24)� t � ab � 1� � � � �2

0� � � � � � � � �0t

� t � v t � ?

On substitution of (4.24) into (4.21), the integral of the 1st term gives the desired form, while the 2nd term is yet to bedetermined. To arrive at the 2nd term, consider the general derivative

(4.25)

0� � � � � � � � �0t

� t � v t � � t � v4 t � � 4 t � v t

therefore

(4.26)� t � v4 t �0� � � � � � � � �0t

� t � v t � v t � � 4 t

Splitting � t U v� t into halves and substituting (4.26)

(4.27)

� t � v4 t � 1� � � � �2

� t � v4 t � 1� � � � �2

� t � v4 t

� 1� � � � �2

0� � � � � � � � �0t

� t � v t � 1� � � � �2

� t � v4 t � v t � � 4 t

This reduces to the desired (4.24) by recalling the definitions of (3.27) and (4.22), that is

(4.28)� t � ab � 1� � � � �2

0� � � � � � � � �0t

� t � v t � 1� � � � �2

� t � ab � v t � ibb

30 LV1b_IMU−0.03

Page 31: LV1b_IMU-0.03

Substitute (4.28) into (4.21)

(4.29)#

vmb m� 1 � vm � 1� � � � �

2� m � vm � 1� � � � �

2 tm� 1

tm � t � ab � v t � ibb 0

t

This new equation make the desirable separation of the velocity increment into 3 parts. The integral term represents theeffect of turning motions which are synchronized with propulsive force. These drive the vehicle with a net velocity incre-ment in a manner analogous to propelling a boat from the stern with a single paddle. Therefore this term is often called thesculling term. The middle term in (4.29) accounts for the effect of a rotating velocity vector contributing a cross� velocitycomponent over the m� cycle. This term is called the velocity rotation compensation. As before break (4.29) into compo-nents for separate examination

(4.30)#vm

b m� 1 � vm � #vrotm � #

vsclm

(4.31)#

vrotm � 1� � � � �2

� m � vm

(4.32)#

vscl t � 1� � � � �2 tm� 1

t � t � ab � v t � ibb 0

t ,#

vsclm � #vscl tm

Note that (4.29) and therefore (4.30) are still 1st order approximations deriving from (4.20) and numerically equal to (4.21).However the terms of (4.30) separate the effect of a constant rate turn from more complicated turning motions. In a constantrate turn the $ vsclm term is zero and all the turn dependency is in the $ vrotm term. It is therefore possible to replace$ vrotm given by (4.31) with a more exact term. To find such a term consider the exact expression (4.16) in the constant � ib

b

& ab case. Using (B.25) to express the DCM as a function of vector rotator

(4.33)

#vm

b m� 1 �tm� 1

tmCb t

b m� 1 ab 0t

�tm� 1

tmI � Sin & t u V � � 1 � Cos & t u V � 2 ab 0

t

where u W � t � t is the unit vector parallel to � t .

By the assumption of constant ab and non� coning � ibb (4.33) is

(4.34)

#vm

b m� 1 �

tm� 1

tmab 0

t � u V � ab

tm� 1

tmSin & t

0t � u V � uV � ab

tm� 1

tm1 � Cos & t

0t

Recalling (4.22) for the constant ab case

(4.35)ab � vm Tm

so

LV1b_IMU−0.03 31

Page 32: LV1b_IMU-0.03

(4.36)#

vmb m� 1 � vm � � m � vm� � � � � � � � � � � � � � � �� � � � � � �& m Tm tm� 1

tmSin & t

0t � � m � & m � vm� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � �& m

2 Tm tm� 1

tm1 � Cos & t

0t

If � ibb is constant

(4.37)� t � Tm ibb

Using (4.37), (4.36) becomes

(4.38)#

vmb m� 1 � vm � 1 � Cos & m� � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � �� � � � �& m

2� m � vm � 1� � � � � � � �� � � � �& m

21 � Sin & m� � � � � � � � � � � � � � � �� � � � � � � �& m

� m � & m � vm

In (4.38), everything after the 1st term on the right is the exact form of $ vrotm . Note that to 1st order in � m the exact formreduces to (4.31) as can be seen from the expansions

(4.39)1 � Cos & m� � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � �� � � � �& m

2� 1� � � � �

2� & m

2� � � � � � � �� � � � �4 X � & m

4� � � � � � � �� � � � �6 X � O & m

6

(4.40)1� � � � � � � � � �& m2

1 � Sin & m� � � � � � � � � � � � � � � �� � � � � � � �& m� 1� � � � � � � �

3 X � & m2� � � � � � � �� � � � �

5 X � & m4� � � � � � � �� � � � �

7 X � O & m6

All that is now required to complete the velocity calculations are algorithms for vm & $ vsclm , these will be taken up next.

The approach taken will be to find calculations that proceed at a rate called the K � rate, which is faster than the m� rate, andsimplifies the computation of the velocity increments, while maintaining their accuracy. The approach parallels that taken insection 3.3 for attitude computation.

For computing vm the K � rate computation is quite simple

(4.41)v t � vL

� 1 � #v t

(4.42)#

v t �tN G 1

t

ab 0t

(4.43)

#v

L � #v t

L, v

L � vL

� 1 � #v

Lvm � v

Lt Y tm

G , vL � 0 t Y tm

ZBasically, to get vm the ab’s are just added up.

To get $ vscl more work is involved. First partition $ vscl t

(4.44)

#vscl t � #

vsclN G 1 � [ vscl t

[ vscl t � 1� � � � �2 tK � 1

t � t � ab � v t � ibb 0

t

32 LV1b_IMU−0.03

Page 33: LV1b_IMU-0.03

(4.45)[ vsclN � [ vscl t

L,

#vsclN � #

vsclN G 1 � [ vsclN#vsclm � #

vsclN t Y tm ,#

vsclN � 0 t Y tmG 1

Using (4.43) and the definition of � N from (3.33) in (4.44)

(4.46)[ vsclN � 1� � � � �2

� L� 1 � #

vL � v

L� 1 � # � L � 1� � � � �

2 tK � 1

tN # & t � ab � #v t � �

ibb 0

t

To compute (4.46) we resume the assumption of (3.35) and additionally assume

(4.47)ab � C � D t � tL

� 1

Under these assumptions the integral in (4.46) may be found as

(4.48)1� � � � �2 tK � 1

tN # & t � C � D t � tL

� 1 � #v t � A � B t � t

L� 1

0t

By (4.42) & (4.47)

(4.49)#

v t �tK � 1

t

C � D t � tL

� 10

t � t � tL

� 1 C � 1� � � � �2

D t � tL

� 1

Using (3.36) & (4.49), (4.48) becomes

(4.50)

1� � � � �2 0

tN � tK � 1t A � 1� � � � �

2t B � C � t D � C � 1� � � � �

2t D � A � t B

0t

� 1� � � � �2 0

tN � tK � 1t

0t A � 1� � � � �

2t B � C � t D � C � 1� � � � �

2t D � A � t B

Observing that

(4.51)A � 1� � � � �2

t B � C � t D � A � C � t A � D � t� � � � �2

B � C � t2� � � � � � �2

B � D

(4.52)C � 1� � � � �2

t D � A � t B � � A � C \ t� � � � �2

A � D � t B � C � t2� � � � � � �2

B � D

(4.50) becomes

(4.53)1� � � � �2 0

tN � tK � 1t

0t

t� � � � �2

A � D � t� � � � �2

B � C � 1� � � � �2

TL

3� � � � � � � �� � � �6

A � D � B � C

To put (4.53) into update form, consider the expression

(4.54)

LV1b_IMU−0.03 33

Page 34: LV1b_IMU-0.03

(4.54)

# & L� 1 � #

vL � #

vL

� 1 � # � L� T

LA � B T

L� � � � � � � �� � � � � � �

2� T

LC � 1� � � � �

2D T

L � TL

C � 1� � � � �2

D TL � T

LA � B T

L� � � � � � � �� � � � � � �

2

� TL

2 A � C � TL

� � � � � � � � �2

B � C � TL

� � � � � � � � �2

A � D �T

L2� � � � � � � �� � � �

4B � D � A � C � T

L� � � � � � � � �2

B � C � TL

� � � � � � � � �2

A � D � TL

2� � � � � � � �� � � �4

B � D

� TL

2 TL

A � D � TL

B � C � TL

3 A � D � B � C

Combining (4.53) & (4.54), (4.46) becomes

(4.55)

[ vsclN � 1� � � � �2

� L� 1 � #

vL � v

L� 1 � # � L � 1� � � � � � � � �

12# & L

� 1 � #v

L � #v

L� 1 � # � L

� 1� � � � �2

� L� 1 � 1� � � � �

6# & L

� 1 � #v

L � vL

� 1 � 1� � � � �6

#v

L� 1 � # � L

This equation completes the outline for computation of navigation frame velocity.

A construction similar to the velocity equations could be used for position calculation, but if certain approximations are heldvalid??? it is sufficient for now to use the simple integral of velocity. For example a 1st order integration of velocity wouldbe

(4.56)rmn � Tm� � � � � � � � � �

2vm� 1

n � vmn

34 LV1b_IMU−0.03

Page 35: LV1b_IMU-0.03

Table 1 gives a summary of the orientation calculations

Table 1

Category Input Output Equation s Function] ^rate calculations

Attitude � ibb $ � N 3.32 b� frameangularincrement

$ � N $ J N 3.39 coningincrement

Velocity ab $ vN 4.42 , 4.43 b� framevelocityincrement

� N , vN _ vsclN 4.55 scullingincrement

m̂ rate calculations

Attitude � N � m 3.27 sameasK � rateJ N J m 3.28 � 3.31 sameasK � rate

� m, J m 2 m 3.29 bodyframeupdaterotator trivial

2 m qb m

b mD 1 App??? bodyframeupdatequaternion

qb mD 1

n nD 1 , qb m

b mD 1 qb m

n nD 1 3.24 b ` n framequaternion

Velocity vN vm 4.22 sameasK � rate_ vsclN $ vsclm 4.45 sameasK � rate

vm, � m, $ vsclm $ vmb m� 1 4.30 b� framevelocityupdate

P n qn n� 1

n m 3.40 , 4.19 n� framemini � update

qb m� 1

n n� 1 , qn n� 1

n m $ vmn 4.16 � 4.18 n� framevelocityincrement

gn, � ien R m

n 4.12 , ??? localgravitycompensation

$ vmn , R m

n vmn 4.11 n� framevelocity

Position vmn rm

n 4.56 n� frameposition

n̂ rate calculations

Position rmn a + , , , h b ??? g� frametransformation

Planetary + � ien ??? localearthrate

rnn gn 5.120 gravitymodel

� ien qn nD 1

n n 3.40 n� frameupdate

LV1b_IMU−0.03 35

Page 36: LV1b_IMU-0.03

5 Gravity Modelling

To find the second derivative of position from the inertially sensed acceleration the gravitational force must be subtracted,see (4.1). A desirable formula would give g r the local gravity vector as defined in (4.8), with r expressed in a convenientcoordinate system. Since LV1b uses a local level navigation frame this seems a good choice for coordinates, because in thelocal level frame the gravity vector is by definition straight down. Although the rocket could wander far enough from thelaunch site that the sideways gravity force needs to be accounted for, in LV1b at least on the nominal trajectory, the effect isnegligible.??? To arrive at a gravity formula a good starting place is the fundamental equation for Newtonian gravitationalforce (5.1). The path from this starting point to application equations like (5.120) is a long one and need not be taken by acasual reader. This material is here because some of it is rather interesting as and example of what mathematical physicistsdid back in those olden days, and because merely presenting equations like (5.120) as fait accompli provides no insight intotheir assumptions or accuracy. (Most of the material for this section is adapted from reference [14].)

(5.1)F � Gm1m2� � � � � � � � � �l2

where F is the gravitational force, l is the distance between the masses, and m1, m2 are the respective masses. G is theuniversal gravitational constant with the accepted value G 6.6720T 10G 11 N m2 kg

If (5.1) is considered as the differential force per unit mass (1 F G 1 m l2) the gravitational potential V can be written as

(5.2)V � G

e

1� � � � �l

0m

The integral is taken over the entire volume, which in this case is the volume of the Earth. Equations (5.1) & (5.2) arerelated by F c V where F is the gravitational force vector. (5.2) can be rewritten using Gauss’ law resulting in thePoisson equation

(5.3)d 2 V � � 4 e G f

where g is the density of mass per volume.

The other component of local gravity is the centrifugal force mentioned in (4.8). The magnitude of this force is simply� 2 x2 � y2 where x, y are taken in the equatorial plane using an Earth centered rectangular coordinate system. This forcecan also be written as a potential function

(5.4)h � 1� � � � �

2� 2 x2 � y2

The laplacian of i is 2 � 2, inserting this into (5.3) gives the generalized Poisson equation for the gravity potential W, whichis to be distinguished from the pure gravitational potential V.

36 LV1b_IMU−0.03

Page 37: LV1b_IMU-0.03

(5.5)d 2 W � � 4 e G f � 2 � 2

In describing the shape and gravity of the Earth some idealization needs to be made. The approximation usually taken is dueto C. F. Gauss who proposed that the "mathematical figure of the earth" be the surface which the oceans would adopt if notsubject to the tides and winds and other more minor deviations. That surface is an equal potential surface of W. It is aslightly flattened sphere, an ellipsoid in fact, stretched at the equator by the centrifugal force. This surface is called theEarth’s geoid.

5.1 Gravity and the Curvature of the EarthAnalytic geometry can be used to find a relationship between the local gravity gradient and the curvature of the geoid.Begin with the equipotential surface of W

(5.6)0

W �j

W� � � � � � � �� � � � �jx

0x �

jW� � � � � � � �� � � � �jy

0y �

jW� � � � � � � �� � � � �jz

0z � d

W � 0x � g � 0

x

where 1 x 1 x, 1 y, 1 z and g is the local gravity defined in (4.8).

On the level surface by definition 1 W 0 so g B 1 x 0, which means that the gravity is normal to the level surface, as itshould be. To find the vertical gradient of the gravity requires a little thought as to what vertical really means. The ordinarydefinition of vertical when standing on the Earth’s surface is the direction opposite to which things fall, often called theplumb line. This is a very fine definition, but one point is often overlooked. Suppose an airplane flies directly overhead aswe stand considering which way is up. Apparently by directly overhead we mean that the airplane lies at that moment alonga line through the point on which we stand and extending upwards parallel to our local sense of vertical. The rub is that atthe position of the airplane, far above the Earth’s surface, the direction of the local gravity is not parallel to our local plumbline. Although it can be shown analytically, it is fairly clear that the gravitational lines of force defined by (5.5) are notstraight. They would be straight if the Earth was a non� rotating spherical mass but since they are not straight there’s a slightquandary as to how to define height. The solution is a standard one, define two heights suitable for different purposes. Theordinary altitude h is the distance along the straight line normal to the geoid. While the height more closely related to thegravity is called the orthometric height H and is measured along the curved lines of gravity. The differential of H is there-fore parallel (well anti� parallel) to g.

(5.7)g � 0x � � g

0H

where g g

The great advantage to this expression is the simplicity of the vertical gradient of the gravity in terms of H

(5.8)g � �j

W� � � � � � � �� � � � �jH

Now consider the local curvature of the ellipsoid. In one dimension the curvature of y f x is

(5.9)k � yl� � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � � �

1 � y@ 2 3 2

For a local level surface the first derivative is zero by definition so the curvature is simply

LV1b_IMU−0.03 37

Page 38: LV1b_IMU-0.03

(5.10)k � yl �0 2 y� � � � � � � �� � � � �0

x2

Define a local x, y, z coordinate system on the surface of the geoid with the z axis parallel to the local gravity. Then thecurvature along the x� z plane where y 0 is just m x 1 2 z 1 x2 this curvature can be related to W by considering itsderivative in the x direction, remembering that y 0 and z is a function of x.

(5.11)

0W� � � � � � � �� � � � �0x

�j

W� � � � � � � �� � � � �jx

�j

W� � � � � � � �� � � � �jz

0z� � � � � � � � � �0x

� 0

This is zero by the definition of the local level plane. Take the derivative again to get

(5.12)

j 2 W� � � � � � � �� � � � � � � �jx2

�j 2 W� � � � � � � �� � � � � � � �j

z2

0z� � � � � � � � � �0x

2 �j

W� � � � � � � �� � � � �jz

0 2 z� � � � � � � �� � � � �0x2

�j 2 W� � � � � � � �� � � � � � � � � �jx

jz

0z� � � � � � � � � �0x

�j 2 W� � � � � � � �� � � � � � � � � �jz

jx

0z� � � � � � � � � �0x

� 0

j 2 W� � � � � � � �� � � � � � � �jx2

�j 2 W� � � � � � � �� � � � � � � �j

z2

0z� � � � � � � � � �0x

2 �j

W� � � � � � � �� � � � �jz

0 2 z� � � � � � � �� � � � �0x2

� 2j 2 W� � � � � � � �� � � � � � � � � �jx

jz

0z� � � � � � � � � �0x

� 0

Again since we are on a local level surface, 1 z 1 x 0 and (5.12) implies

(5.13)

0 2 z� � � � � � � �� � � � �0x2

� �j 2 W� � � � � � � �� � � � � � � �j

x2

jW� � � � � � � �� � � � �jz

Because the z axis is parallel to 1 H , n W n H n W n z so using (5.8) and (5.13) in (5.10) gives the curvature in the x� zplane as

(5.14)kx �

j 2 W� � � � � � � �� � � � � � � �jx2

g

Likewise the curvature in the y� z plane is

(5.15)ky �

j 2 W� � � � � � � �� � � � � � � �jy2

g

Restating (5.5)

(5.16)d 2 W �

j 2 W� � � � � � � �� � � � � � � �jx2

�j 2 W� � � � � � � �� � � � � � � �j

y2�

j 2 W� � � � � � � �� � � � � � � �jz2

� � 4 e G f � 2 � 2

Recall that when the x, y, z coordinate system was defined, the z axis was carefully chosen to be parallel to the localgravity, but that the direction of the x and y axes was not specified other than by normality which requires them to bemutually perpendicular and to lie in the local level plane. Since the third term of the middle equation in (5.16) does notdepend on the choice of directions for x and y, the remainder of the equation cannot depend on the choice of direction either.That is the sum of the x and y second derivatives is independent of the rotation of the xy plane. This observation motivates adefinition involving the curvatures in (5.14) & (5.15). Define the mean curvature J at a point on a surface as the average ofthe curvatures measured in the intersection of the surface with two mutually perpendicular planes that include the surfacenormal at the point of measurement. So for our case

38 LV1b_IMU−0.03

Page 39: LV1b_IMU-0.03

(5.17)J � � 1� � � � �2

kx � k

y � � 1� � � � � � � �� � �2g

j 2 W� � � � � � � �� � � � � � � �jx2

�j 2 W� � � � � � � �� � � � � � � �j

y2

The minus sign in (5.17) is only a convention wherein positive curvatures are preferred.

Putting (5.17) into (5.16)

(5.18)� 2g J �j 2 W� � � � � � � �� � � � � � � �j

z2� � 4 e G f � 2 � 2

Again referring to (5.8)

(5.19)

j 2 W� � � � � � � �� � � � � � � �jz2

�j� � � � � � � � �jz

jW� � � � � � � �� � � � �jz

�j� � � � � � � � �jz

jW� � � � � � � �� � � � �jH

�j� � � � � � � � �jz

� g � �j

g� � � � � � � �� � � �jH

Which gives at last

(5.20)

jg� � � � � � � �� � � �jH

� 4 e G f � 2 � 2 � 2g J

This is an interesting equation which will prove useful later. Originally derived by Bruns in 1878 it relates the gravitygradient which we need for inertial navigation, to the mean curvature, which is something that can be calculated based onposition.

5.2 Assumed GravityThe main problem for gravity modelling is to find the value to the gravity at a given point. To do this consider the gravitypotential function W defined above.

The gravitational potential V has a nearly spherical symmetry, so it seems reasonable to expand it in spherical harmonics.This procedure is only valid outside the surface of the Earth since the spherical harmonics are literally harmonic functionsof zero divergence. The basic equation for V is (5.2) whose only parameter of geometrical interest is l which represents thedistance between the point at which the potential is to be found and the infinitesimal mass element. The factor 1/l can beexpanded into spherical harmonics using a formula which derives from the zonal harmonics [14].

(5.21)

1� � � � �l

�n Y 0

oPn Cos p� � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � � �

rn q 1r @ n Pn Cos p @ �

2mY 1

n n � m X� � � � � � � � � � � � � � � �� � � � � � � � �n � m X

Rnm p , r� � � � � � � � � � � � � � � �� � � � � � � �� � � � �rn q 1

r @ n Rnm p @ , r @ � Snm p , r� � � � � � � � � � � � � � � �� � � � � � � �� � � �rn q 1

r @ n Snm p @ , r @

Here the un� primed coordinates are those of the point at which the potential is to be determined and the primed coordinatesare those of the infinitesimal mass element. The Rnm and Snm are surface spherical harmonics while Pn Cos - is theLegendre function with m 0.

Carrying out the integral of (5.2) with the expansion for 1/l gives

LV1b_IMU−0.03 39

Page 40: LV1b_IMU-0.03

(5.22)V �n Y 0

omY 0

n

AnmRnm p , r� � � � � � � � � � � � � � � �� � � � � � � �� � � � �

rnq 1� Bnm

Snm p , r� � � � � � � � � � � � � � � �� � � � � � � �� � � �rn q 1

where for m 0

(5.23)An0 � G

e

r @ n Pn Cos p @ 0m

and for m s 0

(5.24)Anm � 2n � m X� � � � � � � � � � � � � � � �� � � � � � � � �n � m X G

e

r @ n Rnm p @ , r @ 0m

(5.25)Bnm � 2n � m X� � � � � � � � � � � � � � � �� � � � � � � � �n � m X G

e

r @ n Snm p @ , r @ 0m

The spherical harmonics are well known, the first few are

(5.26)

R00 � 1 S00 � 0r R10 � z r S10 � 0r R11 � x r S11 � y

r2 R20 � � 1� � � �2

x2 � 1� � � �2

y2 � z2 r2 S20 � 0

r2 R21 � 3 xz r2 S21 � 3 yz

r2 R22 � 3 x2 � 3 y2 r2 S22 � 6 x y

Applying the actual harmonics to the zero order coefficient of the potential V gives

(5.27)A00 � G

e

R00 p @ , r @ 0m � G

e

0m � G M

where M is the mass of the Earth. Likewise the first order terms are

(5.28)A10 � G

e

z@ 0m, A11 � G

e

x@ 0m, B11 � G

e

z@ 0m

Considering the first order terms, recall that the x coordinate of the center of mass in rectangular coordinates is given by

(5.29)x centerof mass � 1� � � � � � � �M

e

x@ 0m

40 LV1b_IMU−0.03

Page 41: LV1b_IMU-0.03

Therefore all the 1st order terms in (5.28) are proportional to the coordinates of the center of mass. If the coordinate systemhas its origin at the Earth’s center of mass, which it does, then all these terms are zero.

Here are the second order terms

(5.30)

A20 � 1� � � � �2

G

e

� x@ 2 � y@ 2 � 2z@ 2 0m,

A21 � G

e

x@ z@ 0m, B21 � G

e

y@ z@ 0m,

A22 � 1� � � � �4

G

e

x@ 2 � y@ 2 0m, B22 � 1� � � � �

2G

e

x@ y@ 0m

Three of these are in the form of products of inertia x% z% etc. . These will vanish if any of the axes of integration are alongthe principal axes of inertia. This is the case for the z axis which is in fact the axis of maximum inertia, so two of the threeare zero. The remaining product of inertia involves x% y% this will vanish if either the Earth is perfectly rotationally symmetri-cal or if one of the x or y axes happens to land on a primary axis of inertia. In general neither point is true. To simplify theremaining equations define

(5.31)

Ix �e

y@ 2 � z@ 2 0m

Iy �e

x@ 2 � z@ 2 0m

Iz �e

x@ 2 � y@ 2 0m

Ix y �e

x@ y@ 0m

The various Ix, Iy, Iz can be recognized as the moments of inertia defined about their respective axes, while Ix y is theproduct of inertia in the x� y plane. With these definitions the low order coefficients of V become

(5.32)

A00 � G MA10 � A11 � B11 � 0

A20 � 1� � � �2

G Ix � Iy � 2 Iz

A21 � B21 � 0

A22 � 1� � � �4

G Iy � Ix

B22 � 1� � � �2

GIx y

Although the principle axes of inertia aren’t specified, in theory the x and y axes could be aligned to them. If this were donethen the B22 coefficient would be zero. Substituting (5.32) with B22 0 into (5.22) and using (5.26) gets a second orderapproximation for V in terms of the spherical harmonics

LV1b_IMU−0.03 41

Page 42: LV1b_IMU-0.03

(5.33)

V �G M� � � � � � � �� � � � � � �

r� G� � � � � � � �

r2

1� � � � �2

Iz � Ix � Iy� � � � � � � �� � � � � � � �� � � �2

1 � 3Cos p 2 � 3� � � � �4

Iy � Ix Sin p 2 Cos2 r � O1� � � � � � � �r4

This can be converted into rectangular coordinates

(5.34)V � G M� � � � � � � �� � � � � � �r

� G� � � � � � � �� � � � �2 r5

Iy � Iz � 2 Ix x2 � Iz � Ix � 2 Iy y2 � Ix � Iy � 2 Iz z2 � O1� � � � � � � �r4

This expansion for V is useful particularly when r is very large. For r closer to Earth’s surface it would be nice to preservethe squashed spherical nature of the planet without carrying so many terms. What (5.34) does is to approximate the truegravity of the Earth as the gravity of a sphere, and give first order corrections for the errors in doing so. A slightly betterapproximation, which has been mentioned before is to assume that the Earth is a ellipsoid. Once the ellipsoidal form hasbeen assumed further deviations can be considered small, and therefore linear corrections to the gravity field (so calledgravity anomalies). To be precise, what is desired is to define the geoid as an equipotential surface of W. Then the potentialeverywhere outside the geoid is completely determined and depends on only four parameters namely the total mass of theEarth M, the angular velocity of the Earth � and the semiaxes of the ellipsoid a and b. This approximate gravity potential Uand associated field will be referred to as the assumed gravity. Whether an ellipsoid is really any better than a sphere inapproximating the gravity will only be clear once both approximations are in hand. It’s probably the case that which is bestis application dependent.

The equation for an ellipsoid of revolution in rectangular coordinates is

(5.35)x2 � y2� � � � � � � � � � � � � � � �� � � � � �

a2� z2� � � � � � � �

b2� 1

This equation can be rewritten into an ellipsoidal coordinate system where we take the reference surface to be an ellipsoidof revolution with constant linear eccentricity E a2 � b2 centered at the origin and whose axis of symmetry coincideswith the z axis. The coordinates of a point P are then determined by parameter u the semiminor axis of an ellipsoid passingthrough P, by the polar angle t and by the longitude , which is measured relative to the x axis. Using these definitions thecoordinate transformations are

(5.36)

x � u2 � E2 Sin u Cos vy � u2 � E2 Sin u Sin v

z � uCos uGeometrically the quantity u2 � E2 is the semimajor axis of the ellipsoid through point P. This being so (5.35) can bewritten as

(5.37)x2 � y2� � � � � � � � � � � � � � � �� � � � � � �u2 � E2

� z2� � � � � � � �u2

� 1

It is often convenient to use the so called reduced latitude in place of t . Define reduced latitude �

as

(5.38)� � 90° � u�

is therefore similar to the ordinary latitude, zero at the equator and ±90° at the poles, it is not quite the same howeverbecause the geographical (that is ordinary) latitude is the angle from the equatorial plane to the vertical plumb line at thepoint of interest. However the plumb line does not usually pass though the center of the Earth.

42 LV1b_IMU−0.03

Page 43: LV1b_IMU-0.03

The intention in introducing ellipsoidal coordinates is to expand the assumed gravity in ellipsoidal harmonics, analogous tothe spherical harmonics. To do this will require the Laplacian operator c 2in ellipsoidal coordinates which in turns requiresthe element of arc length.

(5.39)0

s 2 � 0x 2 � 0

y 2 � 0z 2

where

(5.40)

0x �

jx� � � � � � � � � �ju

0u �

jx� � � � � � � � � �j u

0 u �j

x� � � � � � � � � �j v0 v

0y �

jy� � � � � � � � � �ju

0u �

jy� � � � � � � � � �j u

0 u �j

y� � � � � � � � � �j v0 v

0z �

jz� � � � � � � � � �ju

0u �

jz� � � � � � � � � �j u

0 u �j

z� � � � � � � � � �j v0 v

working out the differentials from (5.36) and substituting into (5.39) yields

(5.41)0

s 2 � u2 � E2 Cos u 2� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � � �u2 � E2

0u 2 � u2 � E2 Cos u 2 0 u 2 � u2 � E2 Sin u 2 0 v 2

This reduces to the arc length for spherical coordinates when E ` 0 as it should.

(5.41) represents an orthogonal coordinate system. This is shown by the lack of mixed differentials such as1 u 1 t , or 1 t 1 , in the terms of the equation. An orthogonal coordinate system is on in which the family of surfacesgenerated by holding one coordinate constant and letting the other coordinates range over all possible values never intersect.The Laplacian can be expressed in a form which holds for any orthogonal coordinate system. Suppose that an orthogonalcoordinate system has coordinates q1, q2, q3 and an element of arc length

(5.42)0

s2 � h12 0

q12 � h2

2 0q2

2 � h32 0

q32

then the Laplacian is given by

(5.43)d 2 h � 1� � � � � � � � � � � � � � � �� � � � � � � � �

h1 h2 h3

j� � � � � � � �� � � � �jq1

h2 h3� � � � � � � �� � � � � � � � �h1

j h� � � � � � � �� � � � �jq1

�j� � � � � � � �� � � � �jq2

h3 h1� � � � � � � �� � � � � � � � �h2

j h� � � � � � � �� � � � �jq2

�j� � � � � � � �� � � � �jq3

h1 h2� � � � � � � �� � � � � � � � �h3

j h� � � � � � � �� � � � �jq3

Applying this to the case at hand let u q1, t q2, , q3

(5.44)

d 2 h � 1� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � �u2 � E2 Cos u 2 Sin uj� � � � � � � � � �j

uu2 � E2 Sin u

j h� � � � � � � �� � �ju

�j� � � � � � � � � �j u Sin u

j h� � � � � � � �� � �j u �j� � � � � � � � � �j v

u2 � E2 Cos u 2� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � � �u2 � E2 Sin u

j h� � � � � � � �� � �j vPerforming the indicated differentiations yields

LV1b_IMU−0.03 43

Page 44: LV1b_IMU-0.03

(5.45)

d 2 h � 1� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � � �u2 � E2 Cos u 2

u2 � E2

j 2 h� � � � � � � �� � � � � �ju2

� 2u

j h� � � � � � � �� � �ju

�j 2 h� � � � � � � �� � � � � �j u 2

� Cot uj h� � � � � � � �� � �j u � u2 � E2 Cos u 2� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � � � �

u2 � E2 Sin u 2

j 2 h� � � � � � � �� � � � � �j v 2

Again this reduces to the spherical case as E ` 0

The solution for V is now found by the same technique used for solving Laplace’s equation with spherical harmonics. FirstV is assumed to be separable, that is of the form

(5.46)V u, u , v � f u g u h vPutting this into Laplace’s equation

(5.47)1� � � � � �f

u2 � E2 f l � 2u f @ � 1� � � � �g

gl � g@ Cot u � u2 � E2 Cos u 2� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � � � �u2 � E2 Sin u 2

hl� � � � � � � � �h

0

All the , dependence is through h so h% % h must be constant say h% % h � m2 . The factor for m can be split into parts

(5.48)u2 � E2 Cos u 2� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � � � �u2 � E2 Sin u 2

1� � � � � � � � � � � � � � � �� � � � � � �Sin u 2

� E2� � � � � � � � � � � � � � � �� � � � � � �u2 � E2

Making these substitutions and separating the variables on the left and right

(5.49)1� � � � � �f

u2 � E2 f l � 2u f @ � E2� � � � � � � � � � � � � � � �� � � � � � �u2 � E2

m2 � 1F F F F Fg

gw � g% Cot t � m2� � � � � � � � � � � � � � � �� � � � � � �Sin u 2

The left and the right are functions of independent variables, so they must be constant, by analogy to the spherical harmon-ics that constant is taken as n n � 1 now the Laplace equation separates into three equations

(5.50)u2 � E2 f l � 2u f @ � n n � 1 � E2� � � � � � � � � � � � � � � �� � � � � � �u2 � E2

m2 f 0

(5.51)Sin u gw � Cos t g@ � n n � 1 Sin u � m2� � � � � � � � � � � � � � � �� � � � � � �Sin u 2

g 0

(5.52)hl � m2 h 0

The t and , equations are exactly the same as for the spherical harmonics, the u equation is different but very similar. Aswith the spherical harmonics make the substitution t Cos t and also make the trial substitution x y u E then the u and tequations become

(5.53)1 � z 2 f{ { l � 2 z f

{ { @ � n n � 1 � m2� � � � � � � �� � � � � � � �� � �1 � z 2

f{ { 0

44 LV1b_IMU−0.03

Page 45: LV1b_IMU-0.03

(5.54)1 � t2 g| | w � 2 t g{ { @ � n n � 1 � m2� � � � � � � �� � � � � � � � � �1 � t2

g| | 0

The overbars indicate that the f and g are expressed using the transformed variables t and x .

These equations are now in the form of Legendre’s equation with solutions Pnm & Qnm being Legendre functions of thefirst and second kind.

The Qnm are divergent for real arguments, but are suitable for the complex argument x , therefore the solutions are

(5.55)

f u � Pnm } u EQnm } u E

g u � Pnm Cos uh v � Cosm v

Sin m vwhere n and m a n are integers.

There are therefore two families of solutions for V namely those involving the Pnm and the ones with the Qnm. The familyof Pnm solutions are harmonic inside the ellipse, while the Qnm are harmonic outside. For�Earth gravity the Qnm are clearlythe desired solutions. Further the assumed gravity is rotationally symmetric, so there can be no , dependence, so m must bezero. The gravitational potential can then be written

(5.56)V u, � �n Y 0

oQn } u� � � � �

E� � � � � � � � � � � � � � � �� � � � � � � � �Qn } b� � � � �

E

An Pn Sin �

In this equation the reference ellipsoid with semiminor axis b has been introduced. This is a constant factor so does noteffect the solution of Laplaces’s equation but it has the effect of cancelling the imaginary parts so that all the coefficients Anare real. The reference ellipsoid will become the surface of the Earth’s geoid.

Recall the centrifugal potential i from (5.4)

(5.57)h � 1� � � � �

2� 2 x2 � y2 � 1� � � � �

2� 2 u2 � E2 Cos � 2

This can be combined with V to write the total gravity potential

(5.58)U u, � �n Y 0

oQn } u� � � � �

E� � � � � � � � � � � � � � � �� � � � � � � � �Qn } b� � � � �

E

An Pn Sin � � 1� � � � �2

� 2 u2 � E2 Cos � 2

This potential has been labelled U rather than W to distinguish the assumed gravity potential U from the real gravity poten-tial W.

The boundary condition on U is U U0 when u b that means

(5.59)

n Y 0

oAn Pn Sin � � 1� � � � �

2� 2 b2 � E2 Cos � 2 � U0

LV1b_IMU−0.03 45

Page 46: LV1b_IMU-0.03

The coefficients of the boundary value problem can be found be application of a standard trick (technique). If the equationcan be rewritten into the form An Pn 0 where all the

� dependence is in the Pn then it can be concluded that all the An

are zero. To do this refer to the definition of the first few Legendre polynomials.

(5.60)

P0 � 1P1 t � t

P2 t � 3� � � �2

t2 � 1� � � �2

P2 Sin�

can be manipulated to get

(5.61)Cos � 2 � 2� � � � �3

1 � P2 Sin �Now (5.59) becomes

(5.62)

n Y 0

oAn Pn Sin � � 1� � � � �

3� 2 a2 � 1� � � � �

3� 2 a2 P2 Sin � � U0 � 0

where a2 b2 � E2 has been used

Each coefficient of the Pn can be isolated

(5.63)

A0 � 1� � � � �3

� 2 a2 � W0 P0 Sin � �

A1 P1 Sin � A2 � 1� � � � �3

� 2 a2 P2 Sin � �n Y 3

oAn Pn Sin � � 0

Because the entire equation is zero for all values of �

and the An do not depend on �

, the An must individually be zero.

Solving for the An and putting the result into (5.56) gives a solution for V

(5.64)V u, � � U0 � 1� � � � �3

� 2 a2Q0 } u� � � � �

E� � � � � � � � � � � � � � � �� � � � � � � � �Q0 } b� � � � �

E

� 1� � � � �3

� 2 a2Q2 } u� � � � �

E� � � � � � � � � � � � � � � �� � � � � � � � �Q2 } b� � � � �

E

P2 Sin �

The Qn are

(5.65)Q0 } u E � � } Tan� 1 E u

Q2 } u E � } 1� � � �2

1 � 3u2 E2 Tan� 1 E u � 3u E

Let

(5.66)q � 1� � � � �2

1 � 3u2 E2 Tan� 1 E u � 3u E

and q0 be q evaluated at u b, then (5.64) simplifies as

46 LV1b_IMU−0.03

Page 47: LV1b_IMU-0.03

(5.67)V u, � � U0 � 1� � � � �3

� 2 a2 Tan� 1 E u� � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � �� � � �Tan� 1 E b

� 1� � � � �2

� 2 a2 q� � � � � � � �q0

Sin � 2 � 1� � � � �3

In the limit as u ` ~(5.68)Tan� 1 E� � � � � �

u� E� � � � � �

u� O

1� � � � � � � �u3

Noting that r2 x2 � y2 � z2 u2 E2 Cos� 2 the limit of (5.67) can be taken as r ` ~ as

(5.69)V � U0 � 1� � � � �3

� 2 a2 E� � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � �� � � �Tan� 1 E b

1� � � � �r

� O1� � � � � � � �r3

Taking the same limit in (5.34) gives

(5.70)V � G M� � � � � � � �� � � � � � �r

� O1� � � � � � � �r3

Solving for U0

(5.71)U0 � G M� � � � � � � �� � � � � � �E

Tan� 1 E� � � � � �b

� 1� � � � �3

� 2 a2

If the value for U0 is put into (5.67) and the term for centrifugal force (5.57) is added the expression for the assumed gravityis found to be

(5.72)U u, � � G M� � � � � � � �� � � � � � �E

Tan� 1 E u � 1� � � � �2

� 2 a2 q� � � � � � � �q0

Sin � 2 � 1� � � � �3

� 1� � � � �2

� 2 u2 � E2 Cos � 2

5.3 Gravity on the GroundTo find the assumed gravity on the reference ellipsoid the gradient of U in (5.72) can be evaluated for u b. To find thegradient, the differential of arc length can be used to get the differential of the various coordinates. The arc length from(5.41) is

(5.73)0

s2 � w2 0u2 � w2 u2 � E2 0 � 2 � u2 � E2 Cos � 2 0 v 2

where

(5.74)w2 � u2 � E2 Sin � 2� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � �u2 � E2

So, allowing only one variable to change at a time the differentials are found to be

LV1b_IMU−0.03 47

Page 48: LV1b_IMU-0.03

(5.75)

0su � w

0u0

s� � w u2 � E20 �0

s� � u2 � E2 Cos � 0 vLet R c U be the assumed gravity force then

(5.76)

�u � � U� � � � � � � � �

� su� 1� � � � �

w� U� � � � � � � �

� u

� � � � U� � � � � � � � � �� s� � 1� � � � � � � � � � � � � � � �� � � � � � � �� � �

w u2 q E2� U� � � � � � � �

� �� � � � U� � � � � � � � �

� s� � 1� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � �u2 q E2 Cos � � U� � � � � � � �

� � � 0

The � � component is zero due to the rotational symmetry of the assumed gravity.

Doing the partial differentiations gets

(5.77)� w �u � G M� � � � � � � � � � � � � � � �� � � � � � �

u2 � E2� 1� � � � �

2

� 2 a2 E� � � � � � � � � � � � � � � �� � � � � � � �u2 � E2

q{ {� � � � � � � �q0

Sin � 2 � 1� � � � �3

� � 2 uCos � 2

(5.78)� w � � �� 2 a2� � � � � � � � � � � � � � � �� � � � � � � �� � � � � � �u2 � E2

q� � � � � � � �q0

� � 2 u2 � E2 Sin � Cos �with

(5.79)q{ { � � u2 � E2� � � � � � � � � � � � � � � �� � � � � � �E

0q� � � � � � � � � �0u

� 3 1 � u2� � � � � � � � �E2

1 � u� � � � � �E

Tan� 1 E� � � � � �u

� 1

Recalling that b2 � E2 a it can be seen that (5.78) is zero on the ellipsoid u b. In fact this has to be true since byconstruction the assumed gravity is normal on the geoid.

Since on the geoid w0 1F F F F Fa

b2 � E2 Sin� 2 1F F F F F

aa2 Sin

� 2 � b2 Cos� 2 , and making the standard substitutions

(5.80)m �� 2 a2 b� � � � � � � � � � � � � � � �� � � � � � �

G M, e@ � E� � � � � �

b, e � E� � � � � �

a

where e is called the first eccentricity, e% is the second eccentricity, and m is a standard abbreviation in physical geodesy. mis a dimensionless ratio of the centrifugal force and the gravitational force. It will occur throughout what follows.

The gravity on the geoid � can then be written as

(5.81)

� � �G M� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � � � �

a a2 Sin � 2 � b2 Cos � 21 � m� � � � � � �

3e@ q{ {

0� � � � � � � � �q0

Sin � 2 � 1 � m � m� � � � � � �6

e@ q{ {0� � � � � � � � �

q0Cos � 2

Define the equatorial and polar gravity on the surface as

48 LV1b_IMU−0.03

Page 49: LV1b_IMU-0.03

(5.82)�a � � 0 � G M� � � � � � � �� � � � � � �

ab1 � m � m� � � � � � �

6e@ q{ {

0� � � � � � � � �q0

(5.83)�b � � � 90° � G M� � � � � � � �� � � � � � �

a21 � m� � � � � � �

3e@ q{ {

0� � � � � � � � �q0

These can be related using a formula inspired by (5.93) which can be verified by direct substitution

(5.84)a � b� � � � � � � �� � � � � � � �

a�

�b � �

a� � � � � � � � � � � � � � � �� � � � � � ��a

�� 2 b� � � � � � � �� � � � � � ��

a1 � e@ q{ {

0� � � � � � � �� � � � � � � �2q0

This is a precise relation between the shape of the Earth and the gravity force measured at the extremal points of the equatorand the poles.

The formula for � can be cleaned up by writing it in terms of the extremal gravity values

(5.85)� � a �

b Sin � 2 � b �a Cos � 2� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � �

a2 Sin � 2 � b2 Cos � 2

The reduced latitude �

is related to the geographical latitude + by the exact formula

(5.86)Tan � � b� � � � �a

Tan rso the gravity becomes

(5.87)� � a �

a Cos r 2 � b �b Sin r 2� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � � � � � �

a2 Cos r 2 � b2 Sin r 2

This formula is exact for the assumed ellipsoidal gravity at the geoid. It was first derived by Somigliana in 1929.

5.4 Series Approximations for Gravity Above the Ground

The Earth clearly approximates a sphere. Therefore the Earth’s gravity may be approximated in a power series using thesmallness of the aspherical parameters. The small parameters are the various eccentricities of the Earth such as E , e and e% .The expansions here will be to second order retaining eccentricities of the fourth power. These series will be used

(5.88)

Tan� 1 e@ � e@ � 1� � � �3

e@ 3 � 1� � � �5

e@ 5 � 1� � � �7

e@ 7 � �q � 2 1� � � � � � �

15e@ 3 � 2� � � � � � �

35e@ 5 � 3� � � � � � �

63e@ 7 � �

q{ { � 6 1� � � � � � �15

e@ 2 � 2� � � � � � �35

e@ 4 � 3� � � � � � �63

e@ 6 � �b � a� � � � � � � � � � � � � � � �� � � � �

1 q e% 2� a 1 � 1� � � �

2e@ 2 � 3� � � �

8e@ 4 � �

LV1b_IMU−0.03 49

Page 50: LV1b_IMU-0.03

Applying these series to (5.71), (5.82), (5.83), and (5.84)

(5.89)U0M G M� � � � � � � �� � � � � � �

b1 � 1� � � � �

3e@ 2 � 1� � � � �

5e@ 4 � 1� � � � �

3� 2 a2

(5.90)�a

M G M� � � � � � � �� � � � � � �ab

1 � 3� � � � �2

m � 3� � � � � � � � �14

e@ 2 m

(5.91)�b

M G M� � � � � � � �� � � � � � �a2

1 � m � 3� � � � �7

e@ 2 m

(5.92)a � b� � � � � � � �� � � � � � � �

a�

�b � �

a� � � � � � � � � � � � � � � �� � � � � � ��a

M 5� � � � �2

� 2 b� � � � � � � �� � � � � � ��a

1 � 9� � � � � � � � �35

e@ 2

If the last equation (5.92) is truncated to first order it may be written as

(5.93)f � f M 5� � � � �2

� 2 b� � � � � � � � ��a

The new symbols f and f are dimensionless numbers called the ellipsoidal and gravity flattening and are defined by

(5.94)f � a � b� � � � � � � �� � � � � � � �a

, f ��

b � �a� � � � � � � � � � � � � � � �� � � � � � ��

a

Equation (5.93), which is a low order approximation of (5.84), is known as the theorem of Clairaut and was originallypublished in 1738.

Referring to (5.80) the parameter m can be approximated by using (5.90) whereby

(5.95)

� 2 a� � � � � � � �� � � � � � ��a

� m� � � � � � � � � � � � � � � �� � � � � � � � �1 � 3� � � �

2m

Using the series

(5.96)1� � � � � � � �� � � � � � � �

1 � [ M 1 � [ � [ 2 � [ 3 � �m may then be found from the relation

(5.97)

� 2 a� � � � � � � �� � � � � � ��a

M m � 3� � � � �2

m2

The approximate form given here is suitable for some purposes, but since m is a constant it is advisable to check the accu-racy of any approximations.

By the same series expansion (5.96), the (5.90) can be manipulated to get

50 LV1b_IMU−0.03

Page 51: LV1b_IMU-0.03

(5.98)G M M ab �a 1 � 3� � � � �

2m � 3� � � � � � � � �

14e@ 2 m � 9� � � � �

4m2

which is a means of weighing the Earth by measuring its gravity. (???Check if better way)

Using this result the mass can be eliminated from (5.89) replaced by � a

(5.99)U0M a �

a 1 � 1� � � � �3

e@ 2 � 11� � � � � � � � �6

m � 1� � � � �5

e@ 4 � 2� � � � �7

e@ 2 m � 11� � � � � � � � �4

m2

The � dependence has been removed by application of the definition of m

Returning to (5.87) as rewriting slightly

(5.100)� � �

a 1 �b � b � a � a� � � � � � � � � � � � � � � �� � � � � � �

a � bSin r 2

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � �� � � � � �1 � a2 � b2� � � � � � � �� � � � � � � �

a2 Sin r 2

Now apply these series

(5.101)

1� � � � � � � �� � � � � � �1 � x

� 1 � 1� � � �2

x � 3� � � �8

x2 � �a2 � b2� � � � � � � �� � � � � � � �

a2 � e% 2� � � � � � � �� � � � � � �1q e% 2

M e@ 2 � e@ 4

b � b � a � a� � � � � � � � � � � � � � � �� � � � � � �a � b

M � e@ 2 � 5� � � �2

m � e@ 4 � 13� � � � � � �7

e@ 2 m � 15� � � � � � �4

m2

to get

(5.102)

� � �a 1 � � 1� � � � �

2e@ 2 � 5� � � � �

2m � 1� � � � �

2e@ 4 � 13� � � � � � � � �

7e@ 2 m � 15� � � � � � � � �

4m2 Sin r 2 �

� 1� � � � �8

e@ 4 � 5� � � � �4

e@ 2 m Sin r 4

The series approximations given are usually expressed in terms of the flattening f which is of the same order as m. To dothis use yet another series

(5.103)e@ 2 � 1� � � � � � � � � � � � � � � �� � � � � � � �1 � f 2

� 1 M 2 f � 3 f 2 � �Now rewrite the big three equations in terms of f (all second order)

(5.104)G M � ab �a 1 � 3� � � � �

2m � 3� � � � �

7f m � 9� � � � �

4m2

(5.105)U0 � a �a 1 � 2� � � � �

3f � 11� � � � � � � � �

6m � 4� � � � �

5f 2 � 4� � � � �

7f m � 11� � � � � � � � �

4m2

LV1b_IMU−0.03 51

Page 52: LV1b_IMU-0.03

(5.106)

� ��

a 1 � � f � 5� � � � �2

m � 1� � � � �2

f 2 � 26� � � � � � � � �7

f m � 15� � � � � � � � �4

m2 Sin r 2 � � 1� � � � �2

f 2 � 5� � � � �2

f m Sin r 4

It is conventional to further rewrite the last equation by auxiliary coefficients

(5.107)� � �a 1 � f2 Sin r 2 � f4 Sin r 4

so that

(5.108)f2 � � f � 5� � � �

2m � 1� � � �

2f 2 � 26� � � � � � �

7f m � 15� � � � � � �

4m2

f4 � � 1� � � �2

f 2 � 5� � � �2

f m

By making the observation that to second order f2 � f4 f ( f being the gravity flattening) and applying the trigidentity

(5.109)Sin r 4 � Sin r 2 � 1� � � � �4

Sin 2 r 2

The gravity (5.107) can be put in yet another form

(5.110)� � �a 1 � f Sin r 2 � 1� � � � �

4f4 Sin 2 r 2

Now that perhaps too many expressions are available for the assumed gravity at the surface, the original gravity problemcan finally be tackled, which was to find the gravity above the surface given the position. Evidently the gravity will dependon altitude h and latitude + , but not on longitude , since the assumed gravity is rotationally symmetric. To find the gravityfunction employ a power series in h.

(5.111)� h � � �j �� � � � � � � � � �j

hh � 1� � � � �

2

j 2 �� � � � � � � �� � � � � �jh2

h2 � �Only terms upto second order will be retained in this approximation, which it is hoped, is justified by the smallness of h. Toget the first derivative make use of Bruns’ formula (5.20) where g 0 and therefore

Expand the gravity in a power series around zero altitude

(5.112)� h � � �j �� � � � � � � � � �j

hh � 1� � � � �

2

j 2 �� � � � � � � �� � � � � �jh2

h2 � �

(5.113)

jg� � � � � � � �� � � �jH

�j �� � � � � � � � � �j

h� � 2 � 2 � 2 � J

The equality of g and � is by definition while the replacement of H by h is justified because the derivative is taken at thegeoid’s surface.

The curvature of the ellipsoid is given to first order in f by

52 LV1b_IMU−0.03

Page 53: LV1b_IMU-0.03

(5.114)J M b� � � � � � � �a2

1 � 2 f Cos r 2

so

(5.115)

j �� � � � � � � � � �jh

� � 2 � 2 � 2 �� � � � � � � � � �a

b� � � � �a

1 � 2 f � 2 f Sin r 2

Making use of the first order approximations

(5.116)b� � � � �a

M 1 � f , � 2 M m � a

the derivative to first order becomes

(5.117)

j �� � � � � � � � � �jh

� � 2 � m� � � � � � � �� � � � � � � � �a

� 2 �� � � � � � � � � �a

1 � f 1 � 2 f � 2 f Sin r 2

� � 2 �� � � � � � � � � �a

1 � f � m � 2 f Sin r 2

The second derivative is calculated from the spherical approximation

(5.118)� � G M� � � � � � � �� � � � � � �a2

,j �� � � � � � � � � �j

h�

j �� � � � � � � � � �ja

� � 2G M� � � � � � � � � � � � � � � �� � � � � � � �a2

,j 2 �� � � � � � � �� � � � �j

h2� 6G M� � � � � � � �� � � � � � � �� � �

a4� 6 �� � � � � � � � � �

a2

Combining these results gives the desired formula

(5.119)�h h, r � � 1 � 2� � � � �

ah 1 � f � m � 2 f Sin r 2 � 3� � � � � � � �

a2h2

This can be made slightly more convenient by considering the difference � h � � using (5.102) and holding only terms linearin f and m

(5.120)�h � � � � 2 �� � � � � � � � � �

a1 � f � m � � 3 f � 5� � � � �

2m Sin r 2 h � 3 �

a� � � � � � � �� � � � �a2

h2

The last two equations are suitable for inertial navigation. They can be made more precise by using higher order approxima-tions to (5.110) or using an exact expression for assumed gravity like the gradient of (5.72), or terms could be added toaccount for local gravity anomalies, which would require that a gravity map of the area was online. On the other hand forLV1b simplifications could be made by just ignoring the variation with altitude, or by precomputing the latitude, or lineariz-ing latitude variations. What sort of gravity model is appropriate depends on the system accuracy requirements.

LV1b_IMU−0.03 53

Page 54: LV1b_IMU-0.03

6 Quantifying the Initial Design

This chapter is could have been placed much earlier in the document, and each section herein could logically be placedwithin other chapters. The organization chosen here is meant to match the approach of someone unfamiliar with the tech-niques used. The first chapters hopefully have addressed the question of how an orientation system might work. This andsubsequent chapters explore the application of the more theoretical material to the specific problem of LV1b.

To begin the more concrete design, the major inputs and outputs of the orientation system are assigned quantitative values.These in turn are used to guide the tradeoffs made in the design of the orientation system. It’s a harsh reality that there willnot be time to explore all the tradeoffs that need to be made in detail, so estimate and argument will sometimes replace theindisputable facts. This is the most common situation in engineering, where it is the intelligent use of a truncated search thatmarks a good systems designer.

On LV1b there is a great deal that is not known about the sensors and how the orientation system will behave during flight.Part of what this experience is about is finding out how things work, and towards this end the project is not always timidabout trying things of uncertain reliability. It could be argued that some of what is done is not smart, and maybe so, butwhat’s really going on is a tradeoff between the time to complete a launch vehicle versus the reliability of that vehicle. Thistradeoff is always in consideration as the design proceeds.

6.1 System InputsThe fundamental input to the orientation system is the motion of the vehicle. The motion is considered to consist of accerlera-tion, velocity, position, angular acceleration, angular velocity, and attitude, that is pitch, roll and yaw. Since the motion isthree dimensional this gives a total of 18 numbers describing the motion. The dynamic range of theses parameters will nowbe estimated.

� Attitude

Due to the nature of rocket flight any flight angle can be assumed to occur. The application of sucessive rotations aboutperpendicular angles to specify attitude is refered to as rotation by Euler angles. This formulation is bothersome in that thecombination of rotations that leads to a particular attitude is frequently not unique. Since Euler angles are often, thoughperhaps unadvisadely used for control, it is very objectionable for them to be discontinuous. For LV1b the main computa-tion of attitude utilizes the quaternion representation which lacks this sort of singularity, but it is not obvious at this point ifa derivation of the Euler angles from the quaternions can be had that is inherintly continuous, or if a contiunous outputneeds to be generated using the Euler angles from the previous time step as a reference???

Another interesting consideration is the proper reference in which to take the attitude. Though for some purposes theattitude clearly has to be expressed in the navigation frame, and aerodynamically important parameter is the attitude of theairframe with respect to the free stream. It is quite likely that eventually some sort of slip stream sensors will be added toallow precise alingment of the airframe to the apparent wind. Then the delta� attitude (angle of attack) from the velocityvector to the airframe attitude would be known more precisely than the attitude itself. Also the Euler angles used for angleof attack would tend to be smaller than the attitude angle in the navigation frame. Further, considering that the velocityvector is a lower order integration, and is better observable, and since the angle of attack is probably always of interest, itmay make sense to compute angle of attack as a primary orientation value and derive navigation frame attitude by thesummation with the unit velocity vector.

54 LV1b_IMU−0.03

Page 55: LV1b_IMU-0.03

Another interesting consideration is the proper reference in which to take the attitude. Though for some purposes theattitude clearly has to be expressed in the navigation frame, and aerodynamically important parameter is the attitude of theairframe with respect to the free stream. It is quite likely that eventually some sort of slip stream sensors will be added toallow precise alingment of the airframe to the apparent wind. Then the deltaattitude (angle of attack) from the velocityvector to the airframe attitude would be known more precisely than the attitude itself. Also the Euler angles used for angleof attack would tend to be smaller than the attitude angle in the navigation frame. Further, considering that the velocityvector is a lower order integration, and is better observable, and since the angle of attack is probably always of interest, itmay make sense to compute angle of attack as a primary orientation value and derive navigation frame attitude by thesummation with the unit velocity vector.

The last point raises another interesting idea. Perhaps the attitude could be expressed in some form other that a Euler angle,as a straight vector, or a unit vector with separate magnitude, or a vector rotator, of quaternion. Partly this is a question forthe control designer, and further discussion is needed.

The other part of the dynamic range question is of course how small an angle to keep track of. A guiding principle in theselection of computational precision is that the processing add less error to the result than the measurement, and barringcomputational constraints that is the goal here.

Instead, can put the calculations here, explain the order as correct for the design process???

Actual calculation of the angular noise floor will need to wait for sensor noise figures to be determined in the next section,but the general formula can be had now. For LV1b the attitude is found in two ways, by the GPS velocity vector, and by theintegration of the angular rate sensed by the gyros. To find the accuracy avaliable for angular determiniation the twomeasurements must be compared and the one with the smallest error will determine the required precision.

If the gyros make an unbiased measurement with standard deviation ' g then the angular position has standard deviation' g T where T is the time between angular updates. For LV1b use the rule of thumb that the calculation is accurateenough if it increases the error by less than 1/4 over that of the perfect calculation. Further assume that 4 levels of calcula-tion lie between the attitude and the position, position being the parameter most subject to calculation errors. Then if it issupposed that the errors accumulate about equally for each level of calculation the precision of the attitude calculationshould be 2.7 times more accurate than the error in angle. This comes from splitting the error bound 4 ways, and recallingthat the standard deviations add in quadrature. In fact there is a slight reduction in angular error due to the low pass filteringapplied, but the reduction is not very great, at least during anyting but lathargic manuvering, due to the need to maintainbandwidth. No more than a factor of 3 could be credited to this effect, and this is probably too high.

The GPS error will be considered later. Due to the low update rate, the GPS will have experience no noise reduction fromexternal filtering.

To summarize the calculation of angular noise floor, the angular measurement noise for both possible sources is calculatedand the smaller taken. This is reduced by 2.7, and a extra factor of about 3 in the case of the gyros. The primary use of thisfigure is to select the bits of precision used to represent angle. Since the choice is made in multiples of 8, hopfully it is not atough one. The required precision may also guide the rounding decisions in subsequent processing.

� Angular rate

The angular rate is, along with the acceleration, a key element of the inertial state vector, and is the quantity directly tar-geted by the gyros. From a flight operations perspective there is a considerable difference between the roll axis and the othertwo axes. It is possible that a fairly high roll rate could be sustained during what was otherwise a normal flight. This is acause for some concern because the specification of the gyros is ±90°/s that’s only 1/4 Hz! This is very bad and sort of sad,but frankly may not even be true. The gyros are not well characterized at this point??? and the manufacture’s specs may bewrong. On the bright side, at the higher roll rates the centrafugal accelerations begin to show up in the accelerometers due tolever arm effects, so if the gyros were even a little better understood it might be possible to make a smooth transition fromgyros to accellerometers as the roll rate picked up while maintaing a moderate noise floor. Currently 1Hz is considered theminimum design goal for roll rate and the computations will be scaled accordingly. During asscent it is expected that theangular rates on the pitch and yaw axes will be much less than 1Hz, but the computations will be scaled the same partly forreasons of symmetry but also because to the more violent rolling that can occur on the paracutes during descent.

To find the minimum angular rate refer to the section on attitude above. The gyro error is ' g. It should not prove a burdento maintain mumeric precision 3 times more accurate than this, which would only contribute 5% to the error.

LV1b_IMU−0.03 55

Page 56: LV1b_IMU-0.03

� Angular acceleration

The angular acceleration is a second rate item on LV1b. No sensor targets it and it is not normally reported outside theorientation system??? The functionality of angular acceleration is mostly in the selection of the inertial state vector from thesensors using the generalized inverse. This specific technique is of interest here because it is, as far as we know, original tothis project. Peak accelerations can of course be quite large at high frequencies without having large aphlitudes or highenergies. For our purposes the angular acceleration is only measured at one of the lower rates(probably the m� rate???), sothat substantial averaging reduces the high frequency content.

It seems important both to capture the limit of detectability for angular acceleration, and to avoid overranging the high endbecause of the potential interest in the vibratory environment. If the acceleration from zero to the maximum rate (~1Hz) inone m� rate can be captured, at least within a factor of four or so, and the minimum detectable acceleration can still berepresented in a reasonable word size, then that is good enough.

To find the limit of detectability (1.3) can be used, so the threshold can be taken as the point when the magnitude of � s justequals the accelerometer noise floor.

� Linear acceleration

The most important thing an IMU measures ts the linear acceleration. Of course without angular measurments the accelera-tion isn’t too useful, but with GPS aiding techniques and some lever arm compensation accelerometers are all you reallyneed. The signal the accelerometers measure can reasonably be classified as consisting of two components. The lowerfrequency part relates directly to the large scale motion of the vehicle and can be thought of as those accelerations caused bymanuvering, while the high frequency part shakes the vehicle without much changing its postion, this is identified asvibration. The gyros also experience vibration but they are so poorly characterized that it’s hardly known what this will doto them, and any way it’s thought that the vibratory environment is not strongly driving the rocket’s rotation compared tothe translational modes, so if the gyros can reject translational vibration, they should be fairly quiet.

The vibratory enviornment is one of the big unknowns on LV1b. The rocket moter is acoustically very loud and it may havelarge energy output at frequencies from near zero into the audio range. Large vibrations can saturate the IMU even if thelow frequency components are in the linear range, causing large errors. Also small errors in the handling of large signalsthat should average to zero can cause a rectification error where an apparent motion is sensed even though none is occuring.What the kinds of vibrations are present in the flight environment is one of the things LV1b is supposed to find out, but notknowing before hand creates design uncertainty. In an attempt to compensate for these uncertainties the sample rate hasbeen kept high (about 1kHz) and the dynamic range widened to the extent thought affordable to try to assure that validmeasurements can be made.

One clear point is that the IMU platform should be isolated from vibrations at frequencies higher than about 1/2 the samplerate. The instrumentation is of course electrically filtered down to below this threshold, but mechanical filtering is highlydesirable due to the possibility of saturation or energy leakage in the filter tails. Further the inertial sensors have mechanicalresonances in the the multi� kHz range and the the effect of exciting those resonances could include satutation even at lowamphlitudes or loss of accuracy due to either energy bleed past the input filter or possibly excitation of unknown in� bandinternal modes within the sensing elements.

The accelerometers fortunately have a decent spec. sheet so the noise floor is readily calculated. Again the goal is to holdthe full dynamic range of the accelerometer output in a fixed point number. If The same assumptions are made as forattitude above the numeric precision should be about 3 times the noise floor (which is in the 1� 10 miligee range). Themaximum acceleration is about 10 gee so the dynamic range is no more than about 15 bits (and much less off centerline)

56 LV1b_IMU−0.03

Page 57: LV1b_IMU-0.03

� Velocity

The maximum expected velocity on LV1b is Mach 1 or ~300 m/s, but since velocity is the result of a low repetition rateintegration there is little harm in providing a much higher maximum velocity range than is needed, at least a factor of two.The real issue for dynamic range of velocity is in the velocity increment over one m� cycle. The maximum change is themaximum acceleration times the m� interval Tm . While likewise the minimum change is the minimum detectable accelera-tion T Tm.

� Position

As with velocity, the cost in terms of memory and computer time in keeping a large number of significant figures forintegrated position is quite small. Additionally the computation involved in integrating navigation frame velocity to naviga-tion frame position is so small that it can be carried out using whatever precision is decided for the full velocity integral.The dynamic range of the position increment is equal to the velocity increment’s dynamic range, it is the ratio of themaximum to minimum acceleration which is less than 10 gee/1 milligee = 10G 4 or 14 bits.

� Flight modes and parameters

At turn on the orientation system is expected to sit with the rest of the rocket on the launch pad for an appreciable period oftime. This time on the pad provides a controlled environment where the various sensor biases can be estimated. The twoprimary mechanisms for this are the comparison of sensed versus computed gravity and the assumption of a stationaryplatform. While on pad the orientation system needs to make the stationary assumption to gain the best accuracy in biascalibration, but as soon as the vechicle has launched the system has to shift into flight mode in order to track the flight path.A reasonable way to do this is to implement an itchy trigger finger, where the orientation system, while recieving andon� pad signal and detecting an almost stationary environment is willing to make the stationary assumption, but if motion isdetected the system immediately shifts to flight mode. If the on� pad signal persists and the motion ceases then the stationarycalibration mode can be reentered, but never if the on� pad signal is absent.

The launch pad itself can have a few constraints placed on it. The launch position will always be near vertical. The expectedlaunch lattitude is within a few degrees of 45° N lattitude, though this may not be a necessary assumption. The launchaltitude is expected to be between sea level and 2000 m

6.2 Measurement ErrorsThe previous section demonstrated that to make definitive statements about the system a designer must know the limits ofsensor accuracy. Here is a partial list of elements that contribute to sensor inaccuracy on LV1b.

� Modelling error

There are at least three ways to have the wrong model for a sensor. The best way is to neglect or approximate somethingwhich is truly negligible, hopefully in order to get a simpler working model of the sensor. When this is done everybody says"Good engineer", and it’s time to think stock option. Ideally a good model will evaluate what has been left out and showwhy the neglected parts are neglibible. When this is not done it’s easy to encounter� a second type of mistaken model, thisbeing one where important things are left out. The typical problem in this catagory is assuming something is constant whenit is not. This could be a scale factor, or a gain over frequency, or a coefficient of linearity. Another very popular thing toget wrong is to assume two things are equal when they aren’t.

Despite the intellectual bad taste shown by neglecting aspects of a model that could be included, the practice of simplifyingthe model deserves to be vigorously defended. It’s an amazing truth that often very poor models work adequately well. Takefor example a thermistor. In section 1.4 it was stated that a thermistor is an exponential output device, but there are mansuccessful designs where a thermistor is treated as a linear device. Particularly if a system operates by feedback it is fre-quently desirable to make horrendous simplifying assumptions inorder to get to something cheap that works. This get itdone attitude will be in play at least to a small extent on LV1b because of the time constraints involved.

LV1b_IMU−0.03 57

Page 58: LV1b_IMU-0.03

Despite the intellectual bad taste shown by neglecting aspects of a model that could be included, the practice of simplifyingthe model deserves to be vigorously defended. It’s an amazing truth that often very poor models work adequately well. Takefor example a thermistor. In section 1.4 it was stated that a thermistor is an exponential output device, but there are mansuccessful designs where a thermistor is treated as a linear device. Particularly if a system operates by feedback it is fre-quently desirable to make horrendous simplifying assumptions inorder to get to something cheap that works. This get itdone attitude will be in play at least to a small extent on LV1b because of the time constraints involved.

On the other hand, some modelling errors really are undesirable. These are in the catagory of wrong models. There aremodels of course that are just absolutely contrary, that always (occasionally may be alright) give the qualitatively wronganswer. It is to be hoped that really bad models can be identified without too much trouble. The more subtle problem iswhere the bad model almost seems to work. For example sometimes it makes sense to use a linear approximation, but if theapproximation needs to be broken up piecewise, and then interpolated to try and get so many significant figures, thenperhaps going to the correct model, like say a tanh curve is really more desirable.

Here is the free advice on choosing a model. When an assumption is made, stop a moment and consider, what is the justifica-tion for this assumption, and what is being left out. If a simple order of magnitude computation can be shown to justify thechoice then great. If a detailed calculation is required then it becomes a question of expending resources versus managingrisk. Maybe someone else can be talked into doing the work?

There is a special issue concerning modelling and inertial mavigation. Because inertial nav. systems are so complicated, andbecause the controlled testing environment can be hard to set up, and because so many interacting assumptions are made inthe software and algorithms. It is natural to do a lot of testing by simulation, which usually means comparing the INSsoftware to a related truth model which should make a minimum number of approximations. The problem with a truthmodel is that is may be subject to exacly the same modelling errors as the test software, and further since it avoids approxi-mation, it’s easy for the truth model to becomes very complicated. While for a simple INS like in LV1b it may be easy toneglect entired catagories of terms as negligible, for the truth model what is desired is to quantify the errors made byneglecting those terms. So either all the terms have to be retained, or the neglected terms have to be further sorted into thosethat really do matter and thoses that are still negligible. Since this can easily be hundreds of terms the sorting task rapidybecomes unpleasent. While the task of modeling all those terms is not necessarily fun. All that it seems can be done aboutthis situation is to stick with sound practice, try to make decisions which have large impacts on the workload early in theprocess and double check important decisions.

� Sensor noise

On LV1b the main sensors are the inertial sensors, the accelerometers and rate gyros. These sensors are characterizedprimarily by two types of noise. The broadband white noise which is characterized per� root� Hertz, and the flicker (1/f )noise. The white noise figure is a fundamental limit on sensor accuracy. A typical figure for our accelerometers is around 1milligee per� root� Hertz 10G 2 mF F F F F F F F

s2Hz . So for example if such a sensor is measured over a bandwidth from 0� 1kHz

the RMS noise measured would be 1000 Hz 10G 2 mF F F F F F F Fs2

Hz 0.316 m s2 . If the resulting measurements where

then averaged over 1/10th of a second, that is 100 samples, the noise whould be reduced by a factor of 100 10, which isconsistent with the new bandwidth of 10Hz.

The flicker noise is an almost universal phenomenon which seems to arise from the ensemble action of a broad class ofsystems with randomly interacting parts. For our inertial sensors the flicker noise manifests itself as a random walk in thesensor bias. The LV1b inertial sensors are logic level devices that signal their outputs as an analog voltage within the rangeof 0� 5 Volts. Since they measure a bipolar quantity that may take either sign, they represent the zero value as a positiveoffset voltage (bias). The measured value is then proportional to the output signal minus the offset voltage. The difficult partof this is that the bias voltage is constantly changing by small amounts, following the 1/f statistic. This means that at suffi-ciently low frequencies, when the bias has had a long time to drift, the bias error can be arbitrarily large. Now in fact thebias drift is only aproximately 1/f and bias error is really bounded, but it can still be quite large, and worse, since this lowfrequency error is integrated in the INS, the resulting position errors grow very large over time. The solution to this problemis the externally aided INS. The GPS is used to provide an approximately 1Hz reference signal to the IMU. This effectivelyrolls off the 1/f noise at 1Hz and therefore keeps the magnitude of the error small.

58 LV1b_IMU−0.03

Page 59: LV1b_IMU-0.03

� Sensor failure

Adapting to sensor failure is too sophisticated a problem for LV1b except in one respect. It may happened from time to timethat a sensor might saturate temporarily. Since the accelerometer array has some redundancy this would not nessecarillyresult in any discontinuity in the data if handled properly. The trick to handling saturation is to first recognize the saturationthen to properly ignore the missing data. For this orientation system the process could be implemented in either one of twoplaces, or probably both. The determination of inertial state by the generalized inverse could be modified to cover the thecase where a redundant sensor saturates, and the Kalman filter feedback could be modifed to to ignore of derate missing orpartial measurements. These modifications are interesting, and will be considered further later.

� Quantization noise

After the sensor noise the next source of error in the signal processing chain is the conversion from analog to digital values.There are a host of potential errors introduced by the digitization process. The most obvious ones are due to the finitenumber of bits and the periodic sampling used to represent the continuous analog value. LV1b uses a 12 bit AD converter ata moderately high sample rate. The sensor noise is generally many times higher than the quantitization noise, so this noisesource is negligible. Quatitization noise is statistically a white noise source with magnitude ' 2 A2 TF F F F F

62G 2N W, where N is

the digital word length in bits, A is the total span of the digital word expressed in whatever units are being measured, W isthe bandwidth in Hertz over which the measurement is taken (must be in the range of 0 to 1F F F F F F F F F

2T, for greater bandwidths, no

extra quantization noise is added if the assumptions under which the original expression is derived hold), and T is thesample time. A necessary condition for the quantization noise to be assumed to be white noise is that the measured signal isuncorrelated with the sample clock, that would seem to be the case here.

Other digitization errors include aperture error, jitter, and nonlinearity. None of these problems are significant on LV1bwhich uses a stable timebase and a fair quality AD converter with a sample and hold that is fast compared to the sample rate.

� Computational Error

Computational errors are usually modeled as additive white noise. The usual effect is due to round off error due to finiteword length, though occasionally a computation will be biased toward certain preferred values such as zero. Usually it isbetter to use unbiased algorithms since their errors over time tend to average out to zero. The computation on LV1b is doneusing mostly 16bit fixed point arithmetic. This is done to reduce computational load, allowing all the computations to behandled by our mighty PIC17C766 microcontroller. On the one hand 16 bit accuracy is reasonable given the moderateaccuracy of the low cost inertial sensors involved, but on the other hand using a general purpose microcontroller without afloating point unit to do number crunching is sort of silly in the year 2000. Using the PIC makes sense if the hassle involvedin coding the algorithm isn’t to great, because the power consumption, size, weight and cost are all reduced. Which could beimportant if this application was to be adapted to other uses where a cheap drop in solution is desired.

The noise added due to truncation to finite word length is given by ' 1F F F F F F F FF F F F F F F2 3

LSB where LSB is the value of the least

significant bit in the finite word.

LV1b_IMU−0.03 59

Page 60: LV1b_IMU-0.03

� Calibration Error

The last source of error considered here is an example of what are often called systematic errors. These errors can stem frommodelling errors or biased computations, but the particular form of interest here is the error due to fitting a presumablyaccurate and well implemented model with inaccurate calibration parameters. Calibration errors can be akin to modellingerrors, when a constant is used knowing that the true value varies over time or temperature. Even after all these consider-ations have been made, calibration values may be in error, either because the wrong values get entered, or because they areapproximated in the interest of expediting the calibration procedure.

Two ways to deal with calibration error are validation and feedback. Both methods can be applied to other sources of errorbesides calibration errors. Validation consists of testing the system in situations where the correct answer is already knownand comparing the system output to the expected value. Feedback in this context is the online comparison and correction ofthe calibration parameters by comparison to a reference. Calibration is always some combination of validation and feed-back, though by calibration what is usually meant is offline or special mode comparison of the system to the reference.

6.3 Design GoalsThe design goals for the LV1b orientation system are simple. That the system produces orientation data whose accuracy isclose to the maximum possible given sensor limitations and at a rate high enough to be used in guidance and control. To bespecific, the orientation data should be no worse than 1.5 times less accurate than the theoretical maximum, and the outputrate should be 10Hz or better. These figures were arrived at based on intuition and a little experimentation with what shouldbe possible considering the equipment at hand.

6.4 Computational ConsiderationsAs coding on the orientation system starts, the flight computer code for LV1b is not complete, so the exact number of cyclesavaliable is not known. In order to set some bounds the orientation system will be initially designed to run at 11Mhz (30%CPU on the PIC). The target for main memory usage is about 512 bytes, but this might be stretched by up to 50%, also thereis off chip SRAM avaliable for parameter storage, but this is not memory mapped, and so access is slow.

The main concession to lowering the computer load is fixed point arithmetic. In many ways fixed point is a more elegantway to use computer resources compared to floating point, but it is more bothersome to program because it is now up to theprogramer to be sure that values stay within the valid range.

Another important question about coding the orientation system is how to implement the multirate algorithim. One way todo it is by interrupt scheduling, where a periodic interrupt starts each calculation at the appropriate time. In some ways thisis a good way to do things, it would mean that the main loop is reduced to those bits of code that can run at whatever speedis allowed by surplus CPU cycles. A possible main line could include scale factor or bias correction, battery monitoring,systems health checking or diagnostics, or sleep instructions for reducing power consumption.

The more conventional way to handle scheduling involves forking in the main line code, or breaking the slower tasks intopieces that can be executed round robin over multiple passes of the inner loops. Between the two, LV1b currently favors theinterrupt scheduling format.

60 LV1b_IMU−0.03

Page 61: LV1b_IMU-0.03

7 Detailed Sensor Noise Calculations

Each sensor class will be considered separately. The noise figures used will be the typical figures because this is not a worstcase design effort trying to satisfy a specification. Rather the goal here is avoid adding noise that is more than a fraction(1/2) of the noise intrinsic to the sensing device.

7.1 ADXL250 ±40 gee accelerometerTypical white noise level is 1 milligee Hz 10G 2 mF F F F F F F F

s2Hz so if the filter bandwidth is 1kHz the expected noise is

(7.1)10� 3 gee� � � � � � � �� � � � � � � � �Hz

9.81m s2� � � � � � � �� � � � � � � � �gee

1000 Hz � 0.310 m s2

If fact the filter used on the LV1b IMU is a two pole analog type with a −6dB/octave roll off, this finite roll off rate allowsmore noise to enter the system than is predicted by (7.1). This extra noise can be treated mathematically by using a band-width that is wider than the real filter bandwidth for the purpose of calculating the noise that passes through the filter. Thiswider bandwidth is called the equivalent noise bandwidth, and is the bandwidth of an ideal brick� wall filter that would passthe same amount of white noise energy as the real filter. A remarkable fact [18] is that for the type of filter used on LV1b,the equivalent noise bandwidth is proportional to the 3dB cut off frequency � c

(7.2)�n � �

ce� � � � �4

2 � 1 M 1.22033�c

where � n is the equivalent noise bandwidth.

(7.2) applies to any second order lowpass filter with quality factor Q 1F F F F F2

.

The ultimate meaning of this is that (7.1) underestimates the noise by the factor given in (7.2). The corrected value of theexpected noise is.

(7.3)10� 3 gee� � � � � � � �� � � � � � � � �Hz

9.81m s2� � � � � � � �� � � � � � � � �gee

1000 Hz C 1.22033� 0.378 m s2

It’ s worth pointing out that the value for expected noise here applies to the assumed bandwidth of 1000Hz. If the accelerom-eter output is averaged, effectively lowering the bandwidth, the noise decreases following the square root law given.

Another source of noise certain to occur is quantization noise. The expression for quantization noise has been given above,to apply it to the present case these additional facts are needed. The sample rate is 2.5kHz, the digitization is 12 bits over aspan of 5V. The typical sensitivity of the ADXL250 is 45.6[mV/gee] and the filter gain is −2 . From these facts, the sampletime is 1 2.5kHz 400� s. At the output of the filter, 1 m s2 is typically represented by

1 ms2

1 9.81 gee ms2

45.6 10 3 V gee 2 9.30mV . Since the span of the ADC is 5V, the total span in m s2 is

5 V 9.30mV 538 m s2 . Thus the quantization noise is given by

LV1b_IMU−0.03 61

Page 62: LV1b_IMU-0.03

Another source of noise certain to occur is quantization noise. The expression for quantization noise has been given above,to apply it to the present case these additional facts are needed. The sample rate is 2.5kHz, the digitization is 12 bits over aspan of 5V. The typical sensitivity of the ADXL250 is 45.6[mV/gee] and the filter gain is −2 . From these facts, the sampletime is 1 2.5kHz 400 s. At the output of the filter, 1 m s2 is typically represented by

1 mF F F F F F F Fs2

1 9.81 gee mF F F F F F F Fs2

45.6T 10G 3 V gee T 2 9.30mV . Since the span of the ADC is 5V, the total span in m s2 is

5 V 9.30mV 538 m s2 . Thus the quantization noise is given by

(7.4)2� N AT� � � � � �6

BW � 2� 12 538 m s2 400C 10� 6 s� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � �6

1000Hz � 0.034m s2

Uncorrelated noise adds in quadrature, so the new noise total is

(7.5)0.3782 � 0.0342 � 0.380 m s2

which is an almost negligible increase.

There are other significant sources of error for the accelerometers, such as drift over time and temperature, but these errorsare correlated over many sample times, and subject to detection and compensation by the INS aiding system. In the presentcalculations the noise sources considered are restricted to those that are not correlated over one, or at least a few, sampletimes. With this restriction (7.5) is a reasonable estimate of the total noise, assuming that all the other, more parasitic noisesources have been minimized during the IMU design process, which is believed to have been done [???be nice to have anIMU design reference].

7.2 ADXL202 ±2 gee accelerometerThe calculations for the ADXL202 are similar to the 250 with these changes. Sensitivity is 312[mV/gee], and white noiseparameter is 0.5 milligee Hz .

Proceeding as before the white noise intrinsic to the accelerometer output is

(7.6)0.5 C 10� 3 gee� � � � � � � �� � � � � � � � �Hz

9.81m s2� � � � � � � �� � � � � � � � �gee

1000 Hz C 1.22033� 0.189 m s2

The typical voltage which represents 1 m s2 at the filter output is

(7.7)1m� � � � � � � �s2

1 9.81 geem� � � � � � � �s2

312C 10� 3 V gee C 2 � 63.6mV

Which gives a span of 5 V 63.6mV 78.6m s2 . Then the quantization noise is found as

(7.8)2� 12 78.6m s2 400C 10� 6 s� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � �6

1000Hz � 4.95C 10� 3 m s2

The total noise is then

(7.9)0.1892 � 0.004952 � 0.189 m s2

Which means the quantization noise is completely negligible for this case (where it was only very very small for theADXL250).

62 LV1b_IMU−0.03

Page 63: LV1b_IMU-0.03

7.3 Jupiter GPS moduleThe Jupiter GPS is not documented for rapid acceleration three dimensional maneuvering. This does not mean it is unsuit-able for this application, merely that some things a designer would like to know can’t be found out by reading the documenta-tion. This GPS provides a platform option called "air (high)" (message #1012), but it is not clear if this option implies anon� steady acceleration assumption, a non� zero acceleration assumption, or a changing altitude assumption, or all (or nonefor that matter) of these. Reference [11] section 6.6.3.1 appears to imply that updates do not account for acceleration at all,but this reference is old, and not regarded as reliable anyway.

Jupiter GPS specifications

RecieverType 12ChannelSinglefrequencywith DeltaRangePhaseTrackingOperatingfrequency GPSL1 H 19cm, 1575.42MHzRecieverDynamicRange � 163, � 130 dBWSize 71 T 41 T 11 mm withoutantennaMass 25gMaxVelocity 500 m sMaxAcceleration 5geeMaxAltitude 12km 45kmwith environmentalenclosurePower Operating200mA � 5V, Standby75 � A � 5V Low power3.3V operationpossibleDifferentialGPSinput StandardRTCMSC� 104, inputusingtheprovidedsecondserialportCost a 100$

It’s interesting to note that the maximum velocity limitation of this GPS appears to be unrelated to any technical consider-ation, but rather is a lame attempt at export control by archaic cold warriors. At best this sort of annoyance might allowsome interested engineers an excuse to familiarized themselves with GPS firmware, while all the efforts wasted by suchstupidity are regarded as acceptable losses.

The main question of interest for LV1b is the accuracy of the GPS measurements. The expected accuracy without selectiveavailability (SA) corruption is 19m user equivalent range error (UERE) using the R95% statistic. The UERE is a timedependent random variable with approximately gaussian distribution whose value is unique for each combination ofsatellite, receiver and location. UERE is the quadrature sum of the several independent factors whose typical values arelisted here [1].

Table 2

UncorrectedSatelliteClockBias 6.5mD� BandDelayVariation 1.0mSatelliteOrbitalUncertainty 2.0mMisc. SpaceBasedErrors 1.0mEphemerisModelingError 8.2mMisc. ControlBasedErrors 1.8mUncorrectedIonosphericDelay 9.8 � 19.6 mUncorrectedTroposphericDelay 3.9mNoiseAddedBy theReceiver 2.9mMultipathError 2.4mOtherMisc. Error 1.0m

TotalError 15.6� 23.1 m

GPS UERE Error Budget (C/A Code without SA, errors given use the R95 statistic)

UERE is not the whole story on intrinsic GPS position error. For LV1b the other major contributor is called dilution ofprecision (DOP). DOP factors are related to� the geometry of satellites relative to the receiver. For position location purposesthe ideal arrangement of four GPS satellites and one receiver would have the receiver centered in a tetrahedron of satellites,so that each satellite’s pseudorange measurement would have the least redundancy, but this arrangement is not even possi-ble, because the Earth blocks a minimum of about 180° of the sky. The best possible arrangement of satellites would havethem spaced equally in solid angle, over the sky, but sufficiently high above the horizon that excessive uncompensatedsignal delay would not be introduced by passage through considerably more atmosphere. Of course due to the limitednumber of satellites and orbital constraints visible satellites occasionally tend to cluster in one part of the sky and be absentin another. Particularly, it is rare that a satellite passes directly overhead, so usually GPS altitude is not as accurate as GPShorizontal position. As an example, if the satellites cluster in the east (or west) the error in the receiver longitude will below, but the latitude uncertainty will be high.

LV1b_IMU−0.03 63

Page 64: LV1b_IMU-0.03

UERE is not the whole story on intrinsic GPS position error. For LV1b the other major contributor is called dilution ofprecision (DOP). DOP factors are related to� the geometry of satellites relative to the receiver. For position location purposesthe ideal arrangement of four GPS satellites and one receiver would have the receiver centered in a tetrahedron of satellites,so that each satellite’s pseudorange measurement would have the least redundancy, but this arrangement is not even possi-ble, because the Earth blocks a minimum of about 180° of the sky. The best possible arrangement of satellites would havethem spaced equally in solid angle, over the sky, but sufficiently high above the horizon that excessive uncompensatedsignal delay would not be introduced by passage through considerably more atmosphere. Of course due to the limitednumber of satellites and orbital constraints visible satellites occasionally tend to cluster in one part of the sky and be absentin another. Particularly, it is rare that a satellite passes directly overhead, so usually GPS altitude is not as accurate as GPShorizontal position. As an example, if the satellites cluster in the east (or west) the error in the receiver longitude will below, but the latitude uncertainty will be high.

Exact details of the calculation process can vary considerably, but conceptually the DOP factors are calculated as timevarying multipliers, fairly constant over one GPS measurement interval, that relate the effective UERE to the variousposition variances. As an example, given a UERE related factor ' , which could possibly be formed as the weighted RMSaverage of the UERE’s from all the satellites currently used for position fix, the vertical dilution of precision (VDOP) couldbe defined as

(7.10)(z � ( VDOP

This definition is easily extended to other common DOP factors

(7.11)

(t2 � ( TDOP

(x2 � (

y2 � ( HDOP

(x2 � (

y2 � (

z2 � ( PDOP

(x2 � (

y2 � (

z2 � (

t2 � ( GDOP

The acronmys stand for Time, Horizontal, Position and Geometric Dilution Of Precision, respectively.

DOP factors in practice are always considerably more than 1. Rules of thumb hold that under good conditions single DOPfactors are around 1.5 while poor conditions usually produce single DOP factors of less than 3.5, but under unusual circum-stances the DOP may be much higher. Due to the uncommonness of a satellite overhead the VDOP tends to be about 1.5times larger than the HDOP. Note that if the HDOP is say 3, the GDOP will probably be around 5.8 because GDOP is thequadrature sum of all the single DOP’s, and the VDOP is typically larger than the HDOP.

While dilution of precision is an important concept, it has little direct utility for navigation. GPS receivers such as theJupiter board compute variances directly as part of their Kalman filtering operations, and these variances are more useful forsubsequent processing. On the Jupiter board the estimated variances are available from message 1000 or 1001 as theexpected horizontal and vertical position error, expected time error, and expected horizontal velocity error.

The usefulness of DOP factors lies in their statistical nature. Most filtering operations are designed to filter on white noise(also called Gaussian or normally distributed) variables. GPS position variations are not white, chiefly because of thegeometric effects embodied in the DOP factors. On the other hand the UERE values are approximately white noise, so ifwhite nose variables are desired, they can be extracted using the DOP’s.

The velocity on the Jupiter board is derived mainly from a technique called variously Doppler, delta range, or carrier phase,and probably known by many other names [13]. In overview, the RF section of the receiver employs a GaAs front endattached to a phase locked loop. The error signal from this loop contains a term proportional to the relative velocity betweenthe satellite and the receiver Since the satellite velocity is precisely known relative to the Earth, the receiver velocity relativeto the Earth can be calculated. This technique gives very good velocity estimates with variances as low as 0.1 m s usingthe 1� ' statistic. The effect of the DOP factors on velocity is similar to the effect of DOP on position, with the same rules ofthumb.

64 LV1b_IMU−0.03

Page 65: LV1b_IMU-0.03

Different statistical measures are commonly used to describe GPS random errors. This document has mentioned the 1−' ,also called RMS, and R95 statistics, other common choices are DRMS, 2DRMS, CEP, and SEP. It’ s useful to understandwhat these statistics mean, and how they relate to each other.

Fundamentally The GPS system allows a receiver to measure the relative time delay of signal propagation between thereceiver and each satellite in view. By using a minimum of four satellites and knowledge of their positions, the position ofthe receiver and the time of reception can be calculated. The receiver’s measurements of relative signal delay are calledpseudoranges. The pseudoranges contain an approximately Gaussian noise component.

(7.12)f i � f i � [ f i

where g i is the pseudorange from the receiver to the i � th satellite, g i is the receiver’s measurement of the pseudorange, and_ g i the additive zero mean Gaussian noise. Let the standard deviation of _ g i be denoted ' i , then the probability that thenoise is less than a given value R is

(7.13)P [ f � R � 1� � � � � � � � � � � � � � � �� � � � � � � �( 2 e � R

R � � � 2 2 � 2 0 fThe argument to the integral can be considered as

(7.14)N f ; � , ( � 1� � � � � � � � � � � � � � � �� � � � � � � �( 2 e Exp � f � � 2� � � � � � � � � � � � � � � �� � � � � � � � �2 ( 2

Which is called the normal or Gaussian density function with mean � and standard deviation ' . It’s value represents theprobability of the event that a random variable X satisfying the Gaussian normal statistic will take on a value in the rangeg , g � 1 gReferring to (7.13) the probabilities for some special values of R are

(7.15)

P [ f � ( M 0.683P [ f � 2 ( M 0.954P [ f � 3 ( M 0.997

The variances _ g i can be converted geometrically to variances in the GPS navigation frame. If the GPS frame is taken to bethe east, north, up frame (<e, n, u>) let these variances be respectively ' e, ' n, ' u. One possible definition of, for example,' e based on ensemble measurement error is

(7.16)(e � 1� � � � � � �

N

N [ e2

Because of the form of this equation, variables like ' e are often called root mean square error variables, and the associatedstatistic is sometimes called the east� west RMS position error, or, where the east� west direction is understood, just the RMSerror, or the 1� ' error. If it is stated that the RMS error is say 10m, this means that the probability that the true position iswithin 10m of the reported position is about 68.3%. All the other GPS statistics can be derived from the RMS statistics.

Another statistic sometimes seen is the DRMS, this is the horizontal RMS error, and therefore is defined in the <e, n, u>system as

(7.17)DRMS � (e

2 � (n

2

The origin the "D" in DRMS is obscure.

LV1b_IMU−0.03 65

Page 66: LV1b_IMU-0.03

Yet another related statistic is the so called 2DRMS, which is defined literally as 2DRMS 2 T DRMS , this is an apparentattempt to confuse people, since this statistic is occasionally mistaken as "2D� RMS", that is the two dimensional RMSvalue, which is actually DRMS.

A somewhat more meaningful two dimensional statistic is the probability that the true horizontal location is within a givenradius R of the reported location. This probability can be found from the Gaussian probability distribution (7.13) by conver-sion to polar coordinates.

(7.18)P r � R � 1� � � � � � � � � � � � � � � �� � � � � � � �� � � � �2 e (

e(

n 0

R

0

2 �Exp

� r2� � � � � � � �� � � � �2

Sin p 2� � � � � � � � � � � � � � � �� � � � � �(e2

� Cos p 2� � � � � � � � � � � � � � � �� � � � � � � �(n2

r0 p 0

r

If ' e ' n this integral can be done in closed form

(7.19)1� � � � � � � �� � � � � � � �� � � �

2 e ( 20

R

0

2 �Exp

� r2� � � � � � � �� � � � � � �2 ( 2

r0 p 0

r � 1 � Exp � R2� � � � � � � �� � � � � � �2 ( 2

This can be solved for R

(7.20)R � 2 ( Log1� � � � �2

1� � � � � � � �� � � � � � � � �1 � P

(7.19) is the basis for the remaining common two dimensional GPS error statistics. The circular error probable (CEP) is theradius R for which the probability that the reported value is within R of the true position is 50%, while similarly the R95 isthe radius for which the probability is 95%. For the assumption that the horizontal error variances are equal (' e ' n), thevarious two dimensional GPS statistics are rather easily related, as is summarized in the next table.

Table 3

StatisticName R in termsof ' P r a R

RMS ' H 0.6831 � ' ' H 0.6832 � ' 2 ' H 0.9543 � ' 3 ' H 0.997

drms 2 ' H 1.414' 1 � Exp � 1 H 0.632

2drms 2 2 ' H 2.828' 1 � Exp � 4 H 0.982

CEP 2Ln 2 ' H 1.177' 0.50

R95 2Ln 20 ' H 2.448' 0.95

Relationship of Various 2−D GPS statistics assuming equal x� y variance 'For air operations the two dimensional statistics are not as useful as for surface navigation. An easy extension of (7.19) canbe made to the three dimensional case where all the ' ’s are equal (in practice the vertical error is usually larger than thehorizontal error, but this can be handled approximately by scaling the vertical direction by the ratio VDOP/HDOP). Tomake the extension to the three dimensional case, define a new error radius using the Pythagorean theorem asr e2 � n2 � u2 , where the e, n, u are mean zero Gaussian random variables with variance ' representing measurementerrors in the three orthogonal directions east, north, and up.

The square of a normally distributed random variable follows the gamma density. If the random variable X has the densityfunction N 0, ' 2 , that is X is a Gaussian random variable with mean zero and standard deviation ' , then Y X2 will havethe gamma density � y ; 1 2, 1 2 ' 2 where

66 LV1b_IMU−0.03

Page 67: LV1b_IMU-0.03

(7.21)�

y ; & , r �r V� � � � � � � �� � � � � � �� & y

V � 1� � � y, y � 0

0, y � 0

If a set of m independent random variables have densities � � i , + , then the sum of the m variables will have density� � i , + , so the density of r2 is found to be

(7.22)�

r2 ;3� � � � �2

,1� � � � � � � �� � � � � � �

2 ( 2� r� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �� � �( 3 2 2

� 3� � � �2

Exp� r2� � � � � � � �� � � � � � �2 ( 2

The gamma function can be evaluated using the identity

(7.23)� n� � � � �

2� e n � 1 X� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � �

2 n � 1 n � 1� � � � � � � � � �2

Xand finally, to find the density of r r2 multiple the density of r2 by the derivative of the inverse transformation(r2 % 2 r), thus the distribution of r is

(7.24)P r � R � 1� � � � � � � � � �( 3

2� � � � �e 0

R

r2 Exp� r2� � � � � � � �� � � � � � �2 ( 2

0r

This is the Maxwell distribution, which was derived originally as the distribution of molecular speeds in an ideal gas. (7.24)can be used to relate ' to the radius of a common three dimensional GPS statistic called the spherical error probable (SEP),which is the radius R for which P r a R 1 2. The integral in (7.24) can be done in terms of the error function

Erf z 2 �0zExp � t2 1 t, the result is

(7.25)P r � R � ErfR� � � � � � � �� � � � � � � �� � �2 ( � R� � � � � � �( 2� � � � �e Exp

� r2� � � � � � � �� � � � � � �2 ( 2

Some values of interest are given in the next table.

Table 4

StatisticName Rvalue P r a R

1 � ' ' H 0.1992 � ' 2 ' H 0.7393 � ' 3 ' H 0.971SEP H 1.538' 0.5SEP� 95 H 2.795' 0.95

Relationship of Various 3−D GPS statistics assuming equal x, y, z variance 'The main question of interest for LV1b is what is the accuracy of the GPS measurements. The expected error without SA is,from table 2, ' 7.76m , but even under ideal conditions the variance can be substantially larger. The hope is to design analgorithm which can take advantage of the full available accuracy of the GPS, but which can use the real time varianceestimates to optimize the overall system accuracy. Under the best circumstances, GPS accuracy can be under 5 m in positionand 0.1 m/s in velocity. Position accuracy can be improved to the sub� meter level using differential GPS (DGPS). For thepresent project the algorithms will be designed when possible to use the highest available GPS accuracy which will beassumed to be 0.1 m and 0.1 m/s. If necessary the position accuracy can be relaxed to 5 m without fear of loss assuming thatDGPS is not used. However it is very desirable to use the real time estimates of GPS accuracy to optimize the INS aidingcalculations, and this will be done whenever possible.

LV1b_IMU−0.03 67

Page 68: LV1b_IMU-0.03

The main question of interest for LV1b is what is the accuracy of the GPS measurements. The expected error without SA is,from table 2, 7.76m , but even under ideal conditions the variance can be substantially larger. The hope is to design analgorithm which can take advantage of the full available accuracy of the GPS, but which can use the real time varianceestimates to optimize the overall system accuracy. Under the best circumstances, GPS accuracy can be under 5 m in positionand 0.1 m/s in velocity. Position accuracy can be improved to the submeter level using differential GPS (DGPS). For thepresent project the algorithms will be designed when possible to use the highest available GPS accuracy which will beassumed to be 0.1 m and 0.1 m/s. If necessary the position accuracy can be relaxed to 5 m without fear of loss assuming thatDGPS is not used. However it is very desirable to use the real time estimates of GPS accuracy to optimize the INS aidingcalculations, and this will be done whenever possible.

7.4 Tokin CG16−D0 rate gyroSince LV1b is still a project in it’s preliminary stages, the gyros have not been adequately characterized. However, theoutput appears to be usable down to 2mV (with possible qualifications). Assuming a gain of 5 in the gyro amp and a gyronominal sensitivity of 1.1 [mV/(°/s)], the "noise floor" of the gyros is about 0.364 [°/s]. Whether this level of performancecan really be achieved (or bettered) remains to be seen, but the figure is useful for algorithm design as discussed previously.

7.5 MPX5100A pressure transducerThis integrated pressure sensor has a much better data sheet than the rate gyros, but it still completely lacks noise data. Theeasy solution to this is to hook up a ’scope to the output and have a look. This has been done and the results are subject tosome interpretation. When looking at the output signal at a low sweep rate on the ’scope, the usual broad line of ‘noise’ isseen. What’s the RMS value of this broad line? The answer follows the same line of reasoning as was used in (7.15). Since' represents the RMS average of the peak value, 2' is the RMS average of the peak to peak value, the peak to peak valuebeing more conveniently read off the oscilloscope. The probability that the peak to peak value exceeds a fixed value isgiven by the normal distribution. Using the error function defined previously the probability is found as

(7.26)P Vpp � L � 1 � ErfL� � � � � � � � � � � � � � � �� � � � � � � �

2 2 (Some numerical examples are

(7.27)

P Vpp � 2 ( M 0.317P Vpp � 3 ( M 0.134P Vpp � 4 ( M 0.0455P Vpp � 5 ( M 0.0124P Vpp � 6 ( M 0.00270P Vpp � 7 ( M 0.00047

For the pressure sensor, it was decided that the 1.2% level could be eye� balled credibly. The peak to peak value was esti-mated as 3.5mV implying that the RMS value is 0.7mV, with a moderate chance of being somewhat larger. To fix the whitenoise characteristic, the bandwidth must also be estimated.

Since the job of estimating noise bandwidth on the ’scope comes up moderately often it’s worth considering how to do it. Aconvenient signal to view on the oscilloscope, assuming the signal has a constant DC average, is obtained by triggering onthe zero crossing (AC� coupling), and adjusting the time base so that an exponential envelope increasing from zero to thefull width of the noise signal is seen. The time constant of this envelope clearly relates to the noise bandwidth, the questionis how.

68 LV1b_IMU−0.03

Page 69: LV1b_IMU-0.03

The situation can be treated as an ordinary forced response problem [9]. The system response x t is the convolution of theinput f t with the system impulse response g t which is the inverse Laplace transform of the system transfer functionG s

(7.28)x t �0

t

g z f t � z 0 zThe autocorrelation function Rx can then be computed

(7.29)

Rx t1, t2 � E x t1 x t2

� E0t1 g u f t1 � u

0u

0t2 g v f t2 � v

0v

�0t2

0t1 g u g v E f t1 � u f t2 � v

0u

0v

If f t is stationary, that is it’s mean, variance, and higher moments don’t depend on time, then the autocorrelation simpli-fies to

(7.30)Rx t1, t2 �0

t2

0

t1g u g v Rf t2 � t1 � u � v

0u

0v

From this the mean square value is found

(7.31)E x2 t � Rx t, t �0

t

0

t

g u g v Rf u � v0

u0

v

For our particular case, assume that the bandwidth is limited be a first order low pass filter, and that the input noise is whitenoise with spectral density A, then

(7.32)G s � 1� � � � � � � � � � � � � � � �� � � � �

1 � T sSf

� � A

Inverse transforms give

(7.33)g u � 1� � � � � �

T

� � u T

Rf z � A [ zwhere _ x represents the dirac delta function

Putting this into (7.31) gets

(7.34)

E x2 t �0

t

0

t A� � � � � � � � �T2

� � u T� � v T [ u � v

0u

0v

� A� � � � � � � � �T2

0

t � � 2v T 0v

� A� � � � � � � �� � �2T

1 � � � 2 t T

We identify the bandwidth W of the filter as 1 T, then the RMS value of a bandlimited white noise signal has a limit ast equal to W A 2 . The mean square output from an ideal brickwall filter in response to white noise is 2W A thefactor of 2 arising because the spectral density treats negative frequencies as separate from positive frequencies. So the firstorder low pass filter has an RMS output only 1/2 as great as a brickwall filter of the same bandwidth. The relationshipbetween nd, the white noise density per root Hertz, and A is simply nd 2 A .

LV1b_IMU−0.03 69

Page 70: LV1b_IMU-0.03

We identify the bandwidth W of the filter as 1 T, then the RMS value of a band� limited white noise signal has a limit ast ` ~ equal to W A 2 . The mean square output from an ideal brickwall filter in response to white noise is 2W A thefactor of 2 arising because the spectral density treats negative frequencies as separate from positive frequencies. So the firstorder low pass filter has an RMS output only 1/2 as great as a brickwall filter of the same bandwidth. The relationshipbetween nd, the white noise density per� root� Hertz, and A is simply nd 2 A .

Applying all this to the case at hand, we have these observations

DC RMS value 0.7mVEnvelope reaches nearly full width (3.4mV) in about 6� sEnvelope only 2.4mV after 2� s

If the assumption is made that full width is 3.5mV, then each envelope observation implies a bandwidth via (7.34). Theimplied times are (remembering to square the values read off the ’scope) 4.8� s, and 6.3� s, the value based on the smallerwidth is probably more accurate, taking it as the truth, gives a bandwidth of 159kHz, which is rather higher than expected,but within the believable regime for a regular IC op�amp. The implied noise density is nd 210 � V Hz This is abelievable figure.

The process of matching the measured envelope to (7.34) makes an assumption that the Gaussian statistic applies in thetransition region. This is probably only approximate, but eyeballing the ’scope is a crude approximation to begin with. Also,the cut off frequency is probably �too high to originate from mechanical sources in the pressure transducer. More likely itcomes from the processing circuitry down stream. This leaves open the possibility that the noise signal is not a simple whitenoise source, but may consist of the sum of noise sources of very different bandwidths.

Since we filter this signal down to 72Hz, the expected RMS noise value is

(7.35)1� � � � �2

210 � V Hz 72 Hz � 0.9 mV

This noise figure is near the size of the ADC quanta (5 V 2^12 H 1.2mV).

The sensitivity of the pressure sensor is found from the data sheet by the transfer function

(7.36)Vo V � Vcc 0.0091 kPa C P kPa � �P

� �T � 0.095

� T is about 1 kPa in the range 0� 85°C, increasing to 3 kPa at −40°C. � Pa 2.5 kPa in the range 15� 115[kPa]

The repeatability exceeds the accuracy, so this instrument could benefit from further calibration.

The pressure readings [kPa] are converted to altitude [m] using (1.5) which is repeated here

(7.37)h � 44331.514� 18411.8956P0.1902632

The potential accuracy of the altitude readings can be found by considering the slope of (7.37)

(7.38)

jh� � � � � � � � � �jP

� 3503.11� � � � � � � � � � � � � � � �� � � � � � � � �P0.809737

m� � � � � � � �� � � �kPa

The pressure at 0 meters, and 3600m (the expected apogee for LV1b) is by (7.37) 101.3 and 65.0 kPa respectively. Evaluat-ing (7.38) at these values gives −83[m/kPa] and −119[m/kPa]. For estimation purposes assume that the sensitivity is100[m/kPa] then using (7.36) the 0.9mV estimated noise implies a noise floor for altitude near

(7.39)Vo� � � � � � � �� � � � �Vcc

1� � � � � � � �� � � � � � � � � �0.009

jh� � � � � � � � � �jP

� 0.9 mV� � � � � � � � � � � � � � � �� � � � � � � �� � � �6.019V

1� � � � � � � �� � � � � � � � � �0.009

kPa 100m� � � � � � � �� � � �

kPa� 1.6 m

Now this may seem optimistic, and it is. Such precision could only be achieved by averaging over several measurementsdue to the quantization noise, and to achieve the accuracy implied would require both detailed calibration and drift compen-sation, but this does illustrate high potential accuracy for the altimeter. Certainly the altimeter should be considered as analtitude aiding device, augmenting the GPS altitude measurements.

70 LV1b_IMU−0.03

Page 71: LV1b_IMU-0.03

Now this may seem optimistic, and it is. Such precision could only be achieved by averaging over several measurementsdue to the quantization noise, and to achieve the accuracy implied would require both detailed calibration and drift compen-sation, but this does illustrate high potential accuracy for the altimeter. Certainly the altimeter should be considered as analtitude aiding device, augmenting the GPS altitude measurements.

The absolute accuracy specification for the MPX, assuming various compensations and calibrations, is of order 1/2%, whichon a reading of 100kPa implies an altitude accuracy of around 50m. This can clearly be improved by feedback and on� padcalibration. The achievable accuracy for LV1b therefore lies between these two estimates. Even at 50m accuracy thealtimeter is not useless as a check on the GPS determined altitude, and we hope to do better.

7.6 NHQ103R10 temperature sensorThe expected temperature range of the IMU is potentially rather wide. Sitting in the sun on the desert floor can producetemperatures of 45°C and more. The expected temperture at 4000m altitude is −11°C (assuming −6.5°C/1000m lapse rateand 15°C at zero meters, which is the standard atmosphere assumption). So a nice measurement range would include about−20 � 50°C. Using (1.6) the implied resistance range is 3.78k� � 93.5k� . The temperture dependent voltage is read by theADC on the PIC17C766, which has a 120pF input capacitor, with an input impedance of 8k� with a 5V supply. Theleakage is guaranteed over temperature to be < ±500nA. The 1/2LSB voltage is 5 V 2^11 2.44mV . For the maximumleakage to produce an error less than 1/2LSB the source resistance needs to be less than 4.9k� . This is probably achievablebecause the maximum leakage will occur at maximum temperature, and the thermistor resistance is lowest at the highesttemperatures. Assuming that the thermistor voltage is produced by a simple voltage divider, there is an optimum resistorvalue for the voltage divider, which maximizes the output span for a given themistor range. The optimum choice is thegeometric mean of the thermistor range endpoints. For the given values this is near 20k� .

Assuming a 20k� resistor, the impedance levels are 3.18k� hot, and 16.5k� cold. The resulting output voltages are 4.2Vhot, and 0.88V cold.

The acqusition time of the ADC is given according to to the PIC17C7XX data sheet [17] as a function of the desiredaccuracy, the temperature, the supply voltage, and the source impedance. The equation from the data sheet is

(7.40)tACQ � 2 � s � T � 25°C 0.05

� s� � � � � � � � �°C

� 120pF 1k � � Rss � Rs Ln 2N q 1 � 1

Rss � 5 � 2 6 V � Vcc k �tACQ is the acquisition time, T is the temperature of the PIC, Vcc is the PIC’s supply voltage, Rss is the internal switchresistance of the ADC, Rs is the source resistance, and N is the number of bits of precision desired. The acquisition timesfor the temperature extremes are 8.7� s cold and 7.3� s hot. To be on the safe side allowing 10� s minimum seems advisable.

The noise from the thermistor is the same as from any resistive component, and is called Johnson noise. The expression is

(7.41)eR �

4k T RW � 4 1.38C 10� 23 J K 253 K 16.5k � W M 4.8 C 10� 10 W

eR is the RMS voltage noise, k is Boltzmann’s constant, T is the absolute temperature, R is the resistor value, and W is thebandwidth of the measurement. The expression has been evaluated for the maximum divider resistance.

The intention on LV1b is to measure the temperature three times per second. The bandwidth necessary to raise the RMSvoltage noise to the 1/2LSB level is well into the terra� Hertz range, so Johnson noise will not be a factor. This presents aninteresting set of questions. On the one hand it would seem that quantization noise would dominate, but since the timeconstant of the thermistor is as great as 8s, the change in quanta could occur over many measurement cycles. This suggests astochastic resonance approach, but that’s probably not worth thinking about now. The easiest thing is to cut the bandwidthdown to about 1Hz and be content to oversample. With a resistance as low as 3.2k the required capacitor is 37 F, 39 Fbeing the closest standard value.�At the high range of 16.5k the time constant would be about 1/4Hz. This is pushing thetime constant of the thermistor, as a compromise, a 10 F capacitor might serve, the high point bandwidth would be 5Hz,which would alias into the passband, but probably negligibly since the thermistor shouldn’t produce signals at this fre-quency, and other noise sources should be negligible over the narrow bandwidth.

LV1b_IMU−0.03 71

Page 72: LV1b_IMU-0.03

The intention on LV1b is to measure the temperature three times per second. The bandwidth necessary to raise the RMSvoltage noise to the 1/2LSB level is well into the terraHertz range, so Johnson noise will not be a factor. This presents aninteresting set of questions. On the one hand it would seem that quantization noise would dominate, but since the timeconstant of the thermistor is as great as 8s, the change in quanta could occur over many measurement cycles. This suggests astochastic resonance approach, but that’s probably not worth thinking about now. The easiest thing is to cut the bandwidthdown to about 1Hz and be content to oversample. With a resistance as low as 3.2k� the required capacitor is 37� F, 39� Fbeing the closest standard value.�At the high range of 16.5k� the time constant would be about 1/4Hz. This is pushing thetime constant of the thermistor, as a compromise, a 10� F capacitor might serve, the high point bandwidth would be 5Hz,which would alias into the passband, but probably negligibly since the thermistor shouldn’t produce signals at this fre-quency, and other noise sources should be negligible over the narrow bandwidth.

Further discussion of the practicality of using a large size of the filter capacitor has lead us to favor the 1� F size. This wouldof course allow a 50Hz passband, which is acceptable based on an argument which goes like this. The expected RMS noiseover 10kHz is less than 10mV. So over 50Hz the noise is 10000 50 14.1 times less, or about 710� V RMS. Since the

digitization is 10 bits at 10/3 Hz, the quantization noise is ' A2 TF F F F F6

2G 2N W 5 V 2G 10 1F F F F F F F F12

1.4 mV , which

dominates the noise leaking through the filter. A 10� F capacitor would be better than a 1� F capacitor, but if a 10� F is toobig, a 1� F will work with slightly degraded noise performance, that is assuming the noise estimate is not way too small.

The greatest source of error from the thermistor maybe the calculation required to convert the ADC reading to temperature.The Thermistor resistance in terms of the ADC reading x is

(7.42)RT � R2N � x� � � � � � � �� � � � � � � �� � � �

x

where R is the resistor to ground, and N is the number of bits of the conversion.

The temperature can be found from the thermistor resistance by the approximation

(7.43)1� � � � � �T

�i Y 0

bi Lni RT

where i is commonly either 1 or 3.

These two equations can be combined and simplified to

(7.44)1� � � � � �T

�i Y 0

ai Lni 2N� � � � � � � � � �x

� 1

where the constant R has been absorbed into the ai

The mimimum computation by elementary functions is therefore two reciprocals and a log. Alternately the combined logand argument could be computed directly.

72 LV1b_IMU−0.03

Page 73: LV1b_IMU-0.03

8 IMU Calibration

Before the IMU data can be interpreted in flight operations, several factors need to be determined. For each intertial sensorsthere is at least four numbers to be determined, namely the three dimensional sensitivity vector and the sensor bias factor(1.1). Cross sensitivity and lever arm effects can raise the number of parameters per sensor up to ten (1.4). It is a practicalfact that all calibration values can be shown to vary with both time and temperature and so in defining a calibration proce-dure a designer must choose which parameters to treat as constant in addition to which parameters to ignore. For this projectthe expected outcome will be to treat platform offsets (vector s in (1.4) ) as constants, to treat the direction of sensitivityvectors, and hopefully also their magnitude, as constant, and to treat all cross sensitivities as hopefully negligible constants.The remaining non� constant calibration values are the sensor biases, which aren’t very constant at all.

The off � line calibration problem then is to determine the various ‘constant’ parameters, while the online calibration problemis to find the biases.

Starting with the online problem, the expected calibration enviornment will be LV1b, sitting on the launch pad in an approxi-mately vertical orientation at a GPS derived position on the surface, stationary except for occasional buffeting by the windand the launch crew. Under these circumstances the local gravity vector is computable from the GPS position and consti-tutes the only non� zero average accelleration. Therefore the three accelerometer outputs can be relaxed by a long timeconstant averging technique to agree with the calculated gravity by adjusting the three accelerometer biases. This alsoproduces a platform orientation vector relative to the local level plane. The important issue of platform to body framealingment will not be addressed here. The thinking on this is that the body orientation issue becomes important only whenactive guidance is used, and that is a post LV1b scenario. If active guidance is undertaken additional sensors that give directindication of body orientation, such as side slip manometers would probably be added, or extra calibration would be done toaddress the body orientation question.

Getting back to LV1b calibration issues, once the accelerometer biases are approximated and platform orientation is approxi-mately known, then if necessary the gyro cross sensitivity can be computed and the gyro biases adjusted to zero the angularrate. Almost certainly this process will be done iteratively with a first approximation for orientation used to calculate initialaccelerometer biases and gyro cross sensitivities, then initial gyro biases would be calculated, and the loop repeated, usingresidual acceleration measure to calculated gravity error to drive a feedback loop. This procedure should be sufficient foron� pad, online IMU calibration.

Off � line calibration is simplified down to a manageable level by considering each sensor separately. In principle the IMU issubjected to various known accelerations and angular rates while the raw output is recorded. Then the response of eachsensor is examined separately to find it’s constant and variable calibration parameters. The only immediately troubling thingabout this concept is the lack of both a spin table and slip rings. The only common spin tables are record turn tables, whichoften have two speeds, which is nice, while the lack of slip rings might be solved with batteries and an infrared serialtransceiver pair (or maybe batteries and one slip ring). Short of actually spinning the IMU the next most obvious thing is toset it into oscillatory motion as on the end of a string. This is vastly inferior however, and considerably more complicatedmathematically.

The procedure for calibration can now be outlined stepwise in approximate order.

LV1b_IMU−0.03 73

Page 74: LV1b_IMU-0.03

8.1 IMU PreparationFor reasonably accurate calibration with reasonable convenience the best procedure is probably to integrate the IMU and FCboards together with all mounting devices and associated hardware. This integrated system may as well be referred to as theINS. In flight the INS is mounted in an elongated payload module by attaching to slender aluminum rails. For calibrationpurposes this is an unwieldy arrangement. During calibration it would be convenient to hold the INS in an accuratelydefined plane relative to the local level, then to turn the whole unit by a fixed number of degrees and examine the newoutput with the new known acceleration. To make this easy to do, a six sided test fixture with accurately squared outsidecorners could be constructed which ideally would allow the INS to be oriented parallel to any of the six sides of the box(perhaps there would be a notch on one edge of the fixture to accommodate the passage of wires). The test fixture could befancied up slightly be providing a small plate that would fit into a recess on any of the six open sides, and with a centeredhole, allowing the fixture to be located accurately on say the center peg of a record turntable.

Similarly, if slip rings were used a similar disk could be provided, perhaps of copper clad printed circuit board materialpatterned with concentric conductive rings, that would be placed on top of the fixture. Four contacts, such as those extractedfrom a high quality relay would then press vertically down on this upper disk providing power, ground, and serial in/out tothe INS.

If the described test fixture were used in calibration, the orientation of the INS in the fixture would become the defactoplatform frame for the IMU.

In addition to the mechanical aspects, the software on the FC would be modified to provide continuous raw output from thesensors. This data would appear at the maximum convenient rate on an FC serial port and captured along with some addi-tional data in a PC for analysis.

8.2 Test PlatformsFor LV1b two test platforms are desired. The first is a simple flat plate, such as a machinist’s stone which would accommo-date the INS test fixture. The plate would be accurately leveled and hopefully vibration isolated. The test fixture can then besimply placed onto the plate, measurements taken, then the fixture rotated to rest on another face, more measurementstaken, etc.

The rotating platform is the most difficult challenge. The present vision calls for a high quality phonograph turntable,possibly with a heavy disk added to stabilize the mechanism. Ideally there would be some rotation speed measurements aswell, possibly a frequency counter and an opto interrupter monitoring the table speed. The turntable should be accuratelyleveled. Fortunately most turntables feature some vibration isolation, though this could be enhanced for our purposes. Allthat is required of the turntable itself is to turn at a constant rate with minimum wow and flutter. Unfortunately most ordi-nary turntables do not define a particularly accurate plane perpendicular to the rotation axis since LP’s aren’t very sensitiveto this up and down motion. This partly the reason for calling for a high quality turntable. The effect is also minimized bystaying close to the rotation axis. It would be nice if the turntable provided several different speeds for testing, which is themost common case.

Besides the turntable the rotating platform requires some extra support hardware. The fingers which contact the slip ringsmust be supported somehow, maybe by a heavy laboratory ring stand. Then the very desirable speed measurement needs tobe made and recorded. If the speed is stable enough then recording is just a matter of writing the figure down. If the speed issubject to many fluctuations then it maybe desirable to log the speed data along with the IMU raw output. For us this is aconsiderable complication, and so justifies making the speed measurement of a prospective turntable first, because it may beworth putting considerable effort into getting a turntable that provides an accurate rotation speed rather than trying tocompensate for inaccurate rotation during post processing.

74 LV1b_IMU−0.03

Page 75: LV1b_IMU-0.03

8.3 Off Line Calibration ProcedureFor each of the seven inertial sensors, six independent measurement conditions are readily imposed using the test platformsdescribed above. Three orthogonal accelerations can be applied and three orthogonal rotation rates (possibly at differentspeeds). There is the further possibility of applying angular accelerations, possibly by ramping the frequency to the turntableor by observing the output during startup.

Ideal accelerometers are insensitive to constant rotation rate, so our idealized accelerometers exhibit this sensitivity onlythrough lever� arm effects (1.3). Therefore at least conceptually, each accelerometer can be calibrated through a processwhich is described now. First the local gravity vector is either measured of calculated (preferably measured, probablycalculated). Then the biases and sensitivities for each accelerometer can almost be derived by inspection from the orthogo-nal acceleration measurements. For example if the initial measurement aligns g, the local gravity, with the platform d� axis,then the accelerometer output is

(8.1)a � � Ga � g � a0 � Gd g � a0

If this procedure is repeated for the six sides of the test fixture then the first term is repeated with opposite sign for each ofthe three orthogonal platform directions, therefore the bias is found as the average of the six measurements, and two indepen-dent measurements of each gain factor are taken.

Once the accelerometer sensitivities are found, the INS can be spun in the rotating test fixture to apply known angular rates.Again assuming the spin is applied along the positive d� axis the expected response for an accelerometer whose positivetransverse axis points to the origin is

(8.2)a � Ga � g � s � � � a0 � Gd g � Gt s �d

2 � a0

This equation contains no more information than (8.1), but it could be a good consistency check. In particular, there may beunrecognized dependencies in the accelerometer output that might show up here.

8.4 Online Calibration

LV1b_IMU−0.03 75

Page 76: LV1b_IMU-0.03

9 INS Aiding

LV1b is a preliminary effort, which we hope will be followed by subsequent development, because there is a definitepressure to, "Get it out the door". The subsequent work will be guided by designers intuition her that can be substituted for amore rigorous, and presumably time consuming approach.

There are many, many ways various navigation sensor outputs could be combined to generate an orientation estimate. Theapproach tried here follows the basic philosophy of the complimentary filter [8], [13], [9], a choice which still leaves a largeamount of basic decisions undetermined. The first is what is the primary signal? This is an easy one on LV1b, the primarynavigation source is the INS, nothing else comes close to meeting the mission objectives down the road. Note that a muchbetter answer would be that there is no primary signal. All the available information could be evaluated, and the bestpossible estimate made at all times. This is within the computational capacity of today’s small computers, and the approachhas both the least error and greatest reliability against mechanical failure, it is also considerably more complicated, so it isnot of interest at this moment. The choice of INS as primary signal means that if the INS fails the whole navigation systemwill probably fail, but since the INS is the only instrument capable of providing guidance information this is a smallproblem.

The broad class of complementary filters can be roughly divided into feedforward and feedback types. The feedback filtersends at least part of the error signal back to the primary sensor, the INS in our case, to correct systematic bias in the INS.Feedforward filters merely estimate the INS biases and subtract them to generated the corrected output. For very longmissions the feedback approach is typically used to keep the INS from wandering off into silly corners of the world, but forshort missions the feedforward scheme may offer some simplification, which is desirable on LV1b.

Whether the hoped for simplification actually arises depends on the implementation details. On LV1b the simplificationsshould come from a reduction in the number of states in the INS error model, simplification of the calibration and INScomputation, and more modularity between the INS code and the aiding code. Optimistically assuming these things to holdtrue, the feedforward approach is hereby adopted.

Feedforward is not great for calibration however, and some online calibration of the IMU is necessary. This is done sittingon the launch pad in an approximately know position and with an approximately known attitude. The good thing about thissituation is that it is sufficiently controlled to allow steady state approximations to be made. Even if the calibration was donethrough optimal filtering the implied filter would be one with constant coefficients (or at least coefficients readily comput-able from the known initial conditions) . Such a filter could be computed off line and it’s outputs allowed to settle at anon� critical rate while the rocket waits on the pad.

A rough outline of the aiding system is shown in figure 0

Import "ruff_block.eps" ;

Show %, AspectRatio � Automatic ;

76 LV1b_IMU−0.03

Page 77: LV1b_IMU-0.03

Figure 0

� �   ¡e¢ £

e

¤ ¥ ¦ § ¨ © ª © « ¬ ­ ®e¢ £

¡e ®e ¤ ¯

This is the classic feedforward complementary filter. Here x t is the navigation state of the rocket. The key principle is thatthe IMU error ° 1 is primarily a low frequency signal. In other words the IMU output is accurate over short time scales butincreasingly inaccurate over longer times, where as the GPS and altimeter errors ° 2 are accurate over long time scales(errors average toward zero), but contain high frequency noise. The filter G s therefore is a lowpass type.

Inside the IMU the seven inertial sensors each have a randomly variable bias as well as several calibration constants. Theintention is to define the calibration constants off line and determine the biases while on the pad. From the perspective ofthe filter during flight the biases would appear as fixed constants plus a randomly varying signal. The random signal isthought to be a first order Markov process, but particularly in the case of the gyros, this is yet to be proven.

± x

ScientificForm %, 4

n ² 2.795

LV1b_IMU−0.03 77

Page 78: LV1b_IMU-0.03

ScientificForm 0.1987480430987994‘,0.7385358700508893‘, 0.9707091134651118‘ , 3

1.99 ³ 10 ´ 1, 7.39 ³ 10 ´ 1, 9.71 ³ 10 ´ 1

rr "rBarth"

eqr "eSenseAccZ1"

secr "sGIs"

9.1

Appendix A Notation, Symbols, & Constants

Scalars are written in lowercase italic, or occasionally plain face. Such asµ , i, k, x, r

Vectors are written in lowercase boldface or as column matrices or lists, for example if v ¶ · 3

(A.1)v ¸ v1

v2

v3

¸ {v1, v2, v3}

The elements v1, v2, v3 are dependent on the basis in which v is expressed. Given independent basis vectors i, j, k bydefinition

(A.2)v ¹ i v1 º j v2 º k v3

Any vector in · n can be represented uniquely by a linear combination of n independent vectors. A set of n such vectors iscalled a basis for · n. If additionally the n vectors are orthogonal and of unit length the basis is said to be orthonormal. Anorthonormal basis is also called a reference frame. A vector written out as a matrix or list is implicitly assumed to be in theform given by (A.2) and to be using an orthonormal basis. Any vectors so expressed follow the usual rules of addition andmultiplication of vector components, provided that all the vectors are expressed in the same basis or reference frame. Avector written with respect to a given reference frame is said to be in that frame, or coordinatized in that frame.

78 LV1b_IMU−0.03

Page 79: LV1b_IMU-0.03

Any vector in n can be represented uniquely by a linear combination of n independent vectors. A set of n such vectors iscalled a basis for n. If additionally the n vectors are orthogonal and of unit length the basis is said to be orthonormal. Anorthonormal basis is also called a reference frame. A vector written out as a matrix or list is implicitly assumed to be in theform given by (A.2) and to be using an orthonormal basis. Any vectors so expressed follow the usual rules of addition andmultiplication of vector components, provided that all the vectors are expressed in the same basis or reference frame. Avector written with respect to a given reference frame is said to be in that frame, or coordinatized in that frame.

Since inertial navigation involves many different reference frames it is important to keep track of which frame is being used.To help with this task a notation of superscripts is used. A vector in reference frame a is written va. Reference frames aredenoted by lowercase italic letters similar to ordinary scalars. By convention vectors which would otherwise be equal, that isthey are parallel and of equal magnitude, but that are coordinatized differently are not considered equal. That is given avector v

(A.3)va » vb if a » b

Table 5 lists the abbreviations for coordinate reference frames used for LV1b

Table 5

a non� orthogonalaccelerometercoordinatesb body vehicle coordinatese ECEFg non� orthogonalgyroi inertialp platformt tangentplanen navigationframe

The vector cross product can be related to matrix multiplication by

(A.4)v ¼ = 0 v3 ½ v2

½ v3 0 v1

v2 ½ v1 0

Multiplying the column form of a vector on the left by the matrix given in (A.4) produces the same result as the left crossproduct of v and the vector, assuming that the vectors are expressed in the same reference frame. This matrix form of thecross product is called the skew symmetric form because the matrix so defined is skew symmetric.

A useful type of 3� vector is the angular rate vector ¾ which defines the instantaneous rate of rotation of something relativeto something else. If for instance the rotation of a body b is considered relative to a reference frame a then we write ¾ ab.Note that whether we consider the rotation of a body or a reference frame makes no essential difference since the orientationof a body can be taken to define implicitly a reference frame attached to the body.

The definition of angular rate vector has been given in section 3.2 but for convenience it is restated here. The instantaneousangular rate vector, also called the angular velocity, of a reference frame b is measured relative to an arbitrary frame a andis written ¾ ab t . The definition of angular rate derives from consideration of rotation by a small angle. Rotation by a smallangle is to first order equivalent to a plane rotation about a fixed axis. If this rotation takes place in finite time then in thelimit of infinitesimal angle, ¾ is defined as the vector in the direction of the rotation axis, and with magnitude equal to thelimit of angular displacement divided by rotation time. The sense of rotation is defined by the right hand rule.

Angular rate vectors are true vectors and so obey the laws of vector algebra. One useful aspect of this is a sort of chain rulefor expressing angular rates when each rate depends on another intermediate reference frame. As an example, imagine abody rotating in it’s self defined reference frame b relative to a navigation frame n, while the n� frame rotates relative to theEarth fixed frame e, and the Earth rotates relative to an inertial frame i. The rotation rate of the body relative to the inertialframe can be computed by this formula

(A.5)¿ib ¹ ¿

ie º ¿en º ¿

nb

The notation is designed to make this chain rule easy to remember. The rule is that the inner subscripts cancel for theaddition of rate vectors.

LV1b_IMU−0.03 79

Page 80: LV1b_IMU-0.03

A less general but still correct way to write (A.5) is

(A.6)¿ibi ¹ ¿

iei º ¿

eni º ¿

nbi

The superscripts mean (as was mentioned above) that the vector is written with respect to a particular basis, that is, in aparticular coordinate system, in this case the i � frame inertial coordinates. Vectors are defined to be entities whose propertiesare independent of the coordinates in which they are measured, however in computing with vector quantities, if two vectorsare represented in different coordinates they usually have to be brought into a common coordinate system before thecomputations can be completed. Because this document is concerned with the efficient calculation of many vector quantitiesthe vectors herein will often specify the coordinate frame in which they are expressed, and often vector operations will bearranged so that the vector arguments are in the same frame.

A common operation with rate vectors is the cross product. For example (1.2) expresses a fundamental property of angularrate in terms of a cross product. The situation is common enough that there is a special notation for the cross product of theangular rate. Referring to (A.4) define

(A.7)¿ ¼ ¹ ¹0 À 3 ½ À 2

½ À 3 0 À 1

À 2 ½ À 1 0

By moving this cross product into matrix form a subtle change is effected. Vectors, as has been stated, are implicitlycoordinate free, that is when writing a vector operation such as a+b the implication is that no matter what coordinates a andb are measured in, if any, the calculation will be adjusted so that it properly accounts for the coordinate systems and theresult is independent of coordinate choice. The convention for matrices is different. For example, by convention whenconformable matrices are added the result is simply the matrix of corresponding sums, it is up to the generator of thearguments to assure that the addition is meaningful. Not that this observation is a fundamental distinction between vectorand matrix operations, rather it is a distinction between vector and matrix notation. The difference in interpretation of avector operation versus a matrix one is the reason for the slightly odd non� equality of (A.3). The idea is that by coordinatiz-ing a vector the vector assumes a matrix� like form.

The upshot of this applied to (A.7) is that most often when dealing with matrices derived from vector quantities the frame

will be noted explicitly, writing iei

rather than ie

By convention matrices are written in uppercase boldface or by element or as lists, for example if A ¶ · 2 Á · 2

(A.8)A ¸ a11 a12

a21 a22 ¸ {{ a11, a12}, {a21, a22} }

A Useful 3×3 matrix is called the direction cosine matrix (DCM). This matrix transforms a vector by rotating it about theorigin. The DCM can be thought of as a specific representation of an operator for rotating vectors, such operators are calledrotators. If two frames differ only by a rotation one can be transformed into the other by application of a rotator. The rotatorthat transforms the a� frame to the b� frame can be written in DCM form as

(A.9)Rab

Using this notation a vector can be rotated from the a� frame to the b� frame like this

(A.10)vb ¹ Rab va

Considering the properties of matrix multiplication it’s not surprising that we can define a chain rule for rotation matrices

(A.11)Rad ¹ Rc

d Rbc Ra

b

80 LV1b_IMU−0.03

Page 81: LV1b_IMU-0.03

As was the case in (A.5), the notation in (A.11) is designed to be mnemonic. The chain rule for rotators can be rememberedby noticing the subscript on the left cancels with the superscript on the right.

The DCM is only one possible representation for a rotator. Two other representations used here are the quaternion and thevector representations. Whatever representation is used the transformation defined by the rotator is exactly the same andeach representation can be converted to any other representation.

The vector representation of a rotator, called the rotator vector (or vector rotator), is defined similarly to the angular ratevector. A vector rotator  represents a single plane rotation and is defined so that  is parallel to the rotation axis, and themagnitude of  is equal to the angular displacement of the rotation. The sense of rotation being defined by the right handrule. In this document the use of superscripts and subscripts on the vector rotator to describe which frames are being trans-formed is avoided. There’s nothing wrong with using this sub/superscript notation with vector rotators, but for our purposesit is more convenient to write the rotator vector as an ordinary vector.

The quaternion representation of a rotator is based on some interesting properties of the quaternion field. Multiplication ofcomplex numbers can be considered as representing a rotation by the sum of the polar angles of the numbers multiplied. Ofcourse complex numbers are limited to a single plane. Quaternions are an extension of the complex numbers, and containthem as a subfield. Quaternions retain a rotational property, which is detailed in Appendix C

As far as notation, quaternions are written like vectors with lowercase bold letters. Quaternions have 4 components and arealways coordinatized the same so that is not an issue, but when written in column vector or list form the quaternion basiselements {1, i, j, k} have an assumed order that must be stated. For a quaternion q we write

(A.12)q ¹ a º i b º j c º k d ¹abcd

¹ a, b, c, d

The element a in (A.12) is called the scalar component of the quaternion q, while the remainder is called the vector compo-nent or sometimes the pure quaternion part.

The quaternion rotator is written similarly to the DCM form. In fact

(A.13)qad ¹ qc

d à qbc à qa

b

Expresses a chain rule for quaternion rotators almost identical to the DCM chain rule (A.11). The small open circles in(A.13) denote quaternion multiplication.

Besides all the above there is a frequent need to index a quantity by the time instant to which it corresponds. When there isno conflict with another subscript, the value of a quantity b at time instant tn is written bn. When there is a conflict withanother subscript a quantity such as be it is written with square brackets be n .

LV1b_IMU−0.03 81

Page 82: LV1b_IMU-0.03

Here is a summary of the scalar, vector, matrix and quaternion notations used in this document

Table 6

a scalar, lowercaseitalica vector, lowercaseboldA matrix, uppercasebold

q quaternion, lowercaseboldva vectorcoordinatizedin framea

Oa vectordefininingtheoriginof referenceframea

Rab rotatorfroma tob, directioncosineform

qab rotatorfroma tob, quaternionform

¾ abc angularratevectorof frameb relativeto frameacoordinatizedin framec

v Ä skewsymmetricformof vectorcrossproduct, see A.4bn quantitybattime t Å tnbe n alternateformfor quantitybe attimet Å tn, usedwhensubscriptsconflict

To all of the above notation there are occasionally added modifiers which distinguish between various forms of the sametheoretical quantity. For example an overbar denotes a predicted or extrapolated value. Table 7 lists the modifiers used andtheir meanings.

Table 7

a none, exactvalue

a hat, calculatedvalue, orcurrentestimate

a_

bar, predictedvalue

a tilde, measuredvalueÆa small� delta, error, definedas a Ç aÈ occasionallysmallchangeratherthanerrorÉa big� delta, changein valueoverspecifiedinterval

Table 8 gives an alphabetical list of the major symbols used in this document

Table 8

a scalar, lowercaseitalica vector, lowercaseboldA matrix, uppercasebold

q quaternion, lowercaseboldva vectorcoordinatizedin framea

Oa vectordefininingtheoriginof referenceframea

Rab rotatorfroma tob, directioncosineform

qab rotatorfroma tob, quaternionform

¾ abc angularratevectorof frameb relativeto frameacoordinatizedin framec

v Ä skewsymmetricformof vectorcrossproduct, see A.4bn quantitybattime t Å tnbe n alternateformfor quantitybe attimet Å tn, usedwhensubscriptsconflict

82 LV1b_IMU−0.03

Page 83: LV1b_IMU-0.03

Appendix B Elements of Vector & Matrix Theory

Note that in the interest of brevity the results in these summaries have not been stated very cautiously. As a result a carelessreader could be lead astray by applying a rule where it was invalid. For example is makes no sense to consider the matrixinverse when the matrix is singular, or to divide by zero, be careful.

Vector dot product (v Ê u) properties (s, v arescalars, u, v, w arevectors)

u Ê v Å v Ê u commutativeu Ê v Ê w Å u Ê v Ê w associatives u Ë v Ê w Å s u Ê w Ë v Ê w distributive

v Ê v Å v 2 Å v2 normative

u Ê v Ì u v Cauchy� Schwarzinequality

Vector cross product (v Ä u) properties (s, v arescalars, u, v, w, z arevectors)

u Ä v Å Ç v Ä u anti� commutativeskewsymmetryu Ä v Ä w Í u Ä v Ä w NOTassociativeÎu Ä s v Ë w Å s u Ä v Ë u Ä w distributiveu Ê v Ä w Å v Ê w Ä u Å w Ê u Ä v Å u, v, w scalartripleproductu Ä v Ä w Å u Ê w v Ç u Ê v w vectortripleproduct leftu Ä v Ä w Å u Ê w v Ç v Ê w u vectortripleproduct rightu Ä v Ê w Ä z Å u Ê w v Ê z Ç v Ê w u Ï z dotof crossesu Ä v Ä w Ä z Å u, w, z v Ç v, w, z u crossof crosses

v Ä v Å 0 orthogonality

u Ê u Ä v Å u Ê v Ä u Å 0 orthogonalitytoarguments

u Ä v 2 Å u 2 v 2 Ç u Ê v 2 Lagrangeidentity

LV1b_IMU−0.03 83

Page 84: LV1b_IMU-0.03

Matrix properties

AB Í BA NOTcommutativeÎAB C Å A BC associative

s A Ë B C Å s AC Ë BC distributive

AB T Å BT AT transposeof product

AT T Å A doubletranspose

AA Ð 1 Å A Ð 1 A Å I definitionof inverse

A Ð 1 Ð 1 Å A doubleinverse

AB Ð 1 Å B Ð 1 A Ð 1 inverseof product

AT Ð 1 Å A Ð 1 T inverseof transpose

sA Ð 1 Å 1Ñ Ñ Ñ Ñ Ñs

A Ð 1 inversewith scalar

AÒ Ò ÒÒ Ò Ò Å A doubleconjugate

ABÒ Ò Ò Ò Ò Ò Ò Ò Å A

Ò Ò ÒB

Ò Ò Òconjugateof product

ATÒ Ò Ò Ò Ò Ò Ò Å A

Ò Ò Ò T conjugateof transpose

A Å AÒ Ò Ò T definitionof adjoint modernusage

alsocalledHermitiantransposereducesto transposefor realmatrices

H Å H definitionof Hermitian

UUT Å UT U Å I definitionof orthogonalalsocalledorthonormal

UU Å U U Å I definitionof unitarysameasorthogonalfor realmatrices

Tr A Ë B Å Tr A Ë Tr B traceof sum

Tr sA Å sTr A tracewith scalar

Tr A B Å Tr B A traceof product

Tr AT Å Tr A traceof transpose

Ç Tr A Ó nÐ 1 traceaspartof characteristicequation

Tr CAC Ð 1 Å Tr A traceinvariantundersimilarity transform

Any matrix A can be written as the sum of its symmetric and antisymmetric parts

(B.1)A ¹ U º Z

(B.2)U ¹ 1Ô Ô Ô Ô Ô2

A º AT ¹ UT symmetricpart

(B.3)Z ¹ 1Ô Ô Ô Ô Ô2

A ½ AT ¹ ½ ZT antisymmetricpart

A matrix Z with the property (B.3) is also called a skew symmetric matrix

For a square matrix B we define the quadratic form of B as

84 LV1b_IMU−0.03

Page 85: LV1b_IMU-0.03

(B.4)x B x ¹ 1Ô Ô Ô Ô Ô2

x BT º B x

which is a scalar function of x . The quadratic form depends only on the symmetric part of B .

Any matrix B is positive definite iff

(B.5)x B x Õ 0 Ö x » 0

That is if its quadratic form is always positive. A matrix is positive semidefinite if its quadratic form is never negative, andlikewise for negative definite and semidefinite.

For our purposes we restrict U to be a real symmetric matrix. A real symmetric matrix U is positive definite iff thereexists a real nonsingular matrix C such that

(B.6)U ¹ C C

The null space of a matrix A is the set of vectors x such that A x = 0

The range of a matrix A is the set of vectors b such that for some vector x, A x = b

Let X be the set of all possible vectors x, let the range of A be denoted A(X) and the null space be N(A), then

(B.7)dim N A º dimA X ¹ dim X

The rank of A is the dimension of the range of A

A matrix can be used to represent linear transformations. Rotations are a type of linear transformation important in inertialnavigation, where vectors in one reference frame are often rotated into alignment with another frame. Let the initial refer-ence frame a have basis vectors {a, b, c}, and the final frame b have basis {u, v, w} then a matrix Ra

b, by linearity willhave the correct transformation property if

(B.8)Rab ¹ u v w T × a b c ¹

u × a u × b u × cv × a v × b v × cw × a w × b w × c

In other words to transform a to b, project the basis for a onto b. To see that (B.8) is correct, consider a vector in thea� frame va Å v1 a Ë v2 b Ë v3 c

(B.9)

Rab va ¹ u v w T × a b c

v1

v2

v3

¹ u v w T × v1 a º v2 b º v3 c

¹v1 u × a º v2 u × b º v3 u × cv1 v × a º v2 v × b º v3 v × c

v1 w × a º v2 w × b º v3 w × c¹ vb

Referring back to (B.8), Rab is a matrix of 9 dot products. Since all the arguments are unit vectors the dot products are

numerically equal to the cosines of the included angles. For this reason the matrix Rab is called the direction cosine matrix

(DCM).

LV1b_IMU−0.03 85

Page 86: LV1b_IMU-0.03

A useful fact about Rab is that it is a unitary matrix, meaning that it’s inverse is it’s transpose.

(B.10)Rba ¹ Ra

b T

To see that this is true consider the matrix of orthonormal basis vectors A Å a, b, c as before, clearly

(B.11)a b c T × a b c ¹ I

Since A is manifestly nonsingular with A Ð 1 Å AT it is also true that A AT Å I . This means that though by construction thecolumns of A are orthonormal the rows of A are also orthonormal, which though perhaps geometrically obvious is algebra-ically a somewhat remarkable fact. Applying this remarkable fact to Ra

b establishes (B.10) because

(B.12)Rab Ra

b T ¹ UT A UT A T ¹ UT A A T U ¹ UT I U ¹ UT U ¹ I

where A Å a, b, c and U Å u, v, w are matrices of orthonormal basis vectors as before.

The rotation represented by the DCM is expressible in a number of ways. Often the vector rotator is used (see appendix Aand section 3.2). A vector rotator is a 3 dimensional entity expressing a rotation equivalent to the DCM, which of course has9 elements. The DCM has only 3 degrees of freedom however, because it must satisfy 3 normality constraints and 3 orthogo-nality constraints. It’s desirable to be able to move from one representation to the other so the next task will be to provideexpressions for the DCM in terms of the vector rotator. Deriving the relation directly is not very intuitive, so our approachwill be to consider the time derivative of the DCM.

To get at the derivative of the DCM consider a rotation by a small angle. Let A and U be defined as in (B.12) but supposethat they differ by only an infinitesimally small rotation. A may be brought into alignment with U by 3 infinitesimal rota-tions about the u, v, w axes. These rotations may be represented by a vector with proportional components along theaxes. Such a vector is in the form of a vector rotator. Consider a small rotation about the u axis, referring to (B.9) thediagonal terms of the rotator matrix are either unity or the cosine of the rotation angle, which for small angles is just 1. Theprojection of the rotation onto the u axis is exactly zero, and the since the a axis is almost parallel projections onto it arezero to first order. Therefore all the off diagonal terms involving a and u are zero. This leaves only two nonzero off diago-nal terms, both are proportional to the sine of the angle, which means proportional to the angle for small angles. The trickyquestion is whether the sign of the element is positive or negative. In a sense there’s no good answer since it depends on thehandedness of the coordinate system and the like, but if a right handed x, y, z style coordinate system is assumed ananswer can be given. Assume that a vector in the A frame is to be expressed in the U frame. This can be achieved bystarting with the frames aligned, then rotating the U frame through a small positive angle (defined by the right hand rule).The initial rotation about the a axis will project the w axis onto the b axis with negative sign. The same rotation projects thev axis onto the c with positive sign. Let the small angle vector rotator be

Æ Øbaa Å Ù , Ú , Û then, so far, the matrix rotator

around the a axis has been shown to be.

1 0 00 1 Ù0 Ç Ù 1

Proceeding identically for the b and c axes the small angle rotator matrix is found by composition. For small angles theorder of rotation is not important because only first order terms are retained, and the rotator is

(B.13)ÜR ¹

1 0 00 1 Ý0 ½ Ý 1

1 0 ½ Þ0 1 0

Þ 0 1

1 ß 0

½ ß 1 00 0 1

¹1 ß ½ Þ

½ ß 1 ÝÞ ½ Ý 1

¹ I º Ü àbaa ¼

where Æ Ø

baa Ä is the skew symmetric form of the cross product for the small angle rotator vector. (B.13) actually states a

rather obvious fact, at least in retrospect, that to first order, rotation by a small angle deflects a vector in a direction perpen-dicular to the rotation axis.

86 LV1b_IMU−0.03

Page 87: LV1b_IMU-0.03

The derivative of a matrix rotator can be found from the definition of the derivative

(B.14)Rá ab ¹ limâ ã

0

Rab t º ä ½ Ra

b tÔ Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô Ô Ô Ôä ¹ Ra

b t limâ ã0

I º ä å baa ½ IÔ Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô Ô Ô

ä ¹ Rab t ba

a

also

(B.15)Rá ba ¹ Rá a

b T ¹ Rab t ba

a T ¹ baa T Ra

b t T ¹ ½ baa Rb

a t

To generate the DCM from the vector rotator (B.15) can be integrated.

(B.16)

Rá ba ¹ ½ ba

a Rba t

0 ¹ Expt0

tbaa æ t Rá b

a º Expt0

tbaa æ t ba

a Rba

0 ¹ çÔ Ô Ô Ô Ô Ôç t

Expt0

tbaa æ t Rb

a

Expt0

tbaa æ t Rb

a t ¹ Expt0

t0baa æ t Rb

a t0 ¹ Rba t0

Rba t ¹ Exp ½ t0

tbaa æ t Rb

a t0

Let è i Å Çt0

t éi t ê t , ë Å Ç

t0

tbaa

t ê t , then these recurrence relations hold

(B.17)ì ¹

0 v3 ½ v2

½ v3 0 v1

v2 ½ v1 0

(B.18)ì 2 ¹

½ v22 º v3

2 v1 v2 v1 v3

v1 v2 ½ v12 º v3

2 v2 v3

v1 v3 v2 v3 ½ v12 º v2

2baa

(B.19)ì 3 ¹ ½ í 2 ì

(B.20)ì 4 ¹ ½ í 2 ì 2

(B.21)

ì 5 ¹ º í 4 ì

Therefore

LV1b_IMU−0.03 87

Page 88: LV1b_IMU-0.03

(B.22)

Exp ½t0

t

baa æ t ¹ I º ì º 1Ô Ô Ô Ô Ô Ô Ô Ô

2 îì 2 º 1Ô Ô Ô Ô Ô Ô Ô Ô

3 îì 3 º 1Ô Ô Ô Ô Ô Ô Ô Ô

4 îì 4 º 1Ô Ô Ô Ô Ô Ô Ô Ô

5 îì 5 º ï

¹ I º ì º 1Ô Ô Ô Ô Ô Ô Ô Ô2 î

ì 2 ½ í 2Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô3 î

ì ½ í 2Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô4 î

ì 2 º í 4Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô5 î

ì º ï¹ I º ì

1 ½ í 2Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô3 î º í 4Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô

5 î ½ ï º ì 2 1Ô Ô Ô Ô Ô Ô Ô Ô2 î ½ í 2Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô

4 î º ï¹ I º ì Sin ðÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ôð º ì 2 1 ½ Cos ðÔ Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô Ôð 2

Substitute (B.22) into (B.16) to get

(B.23)Rba t ¹ I º ì Sin ðÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ôð º ì 2 1 ½ Cos ðÔ Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô Ôð 2

Rba t0

If we let ¾ baa be a constant vector and  Å

t0

t ¾ baa ê t then Â Å Ç è and  is a vector rotator, if we assume zero rotation

at t0 then finally

(B.24)Rba ¹ I º Sin ñÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ôñ

ò ¼ º 1 ½ Cos ñÔ Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô Ôñ 2ò ¼ 2

where  is the vector rotator from frame b to a.

The rotator  is coordinatized exactly the same in both frames, this can be seen by applying (B.24)

(B.25)Rba ò ¹ I º Sin ñÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ôñ

ò ¼ º 1 ½ Cos ñÔ Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô ÔÔ Ô Ô Ô Ô Ô Ô Ôñ 2ò ¼ 2 ò ¹ ò

B.1 Properties of the Generalized InverseA generalized inverse (GI) X of A can be classified by its adherence to these fundamental equations

(1) AXA = A equation solving

(2) XAX = X defined null� space

(3) AX = AX least squares property

(4) XA = XA minimum norm property for x

Any GI which satisfies as many as 3 of these equations is called an {i,j,k} inverse (a {1,2,3,4} inverse, which adheres to all4 equations is usually denoted with a dagger). For example, a {1,3} inverse is written as A 1,3 or A{1,3} and has theproperty that for x=A 1,3 b, x satisfies Ax=b, if possible, and in any case minimizes A x−b .

These 4 statements, related to the A 1,3 inverse, are equivalent

u is a least squares solution of Ax=bu is a solution of Ax Å AA ó bu is a solution of A Ax Å A b ô known as the normal equationu = A ó b+h , where h ¶ N(A)

88 LV1b_IMU−0.03

Page 89: LV1b_IMU-0.03

Basic properties of the pseudoinverse A ó satisfying above properties {1,2,3,4}

A ó ó Å A doubleinverse

AB ó Í B ó A ó NO Î inverseof product

A ó Å A ó inverseof adjoint

sA ó Å 1Ñ Ñ Ñ Ñ Ñs

A ó , if s Í 0 inversewith scalar

A A ó Å A ó A ó inverseof adjointproduct

A Å A A A ó Å A ó A A adjointrewritingrule

UAV ó Å V A ó U , whereU, V areunitarymatrices unitarytransform

Facts about A óAB ó Í B ó A ó (not equal in general, some exceptions), likewise A ó 2 Í A2 ó

If matrix A does not have either full column rank or row rank thenõ K ¶ · , ° > 0 ö matrix E , E < ° A Ë E ó −A ó ÷ K

apeqr "eMatRot3"

Appendix C Quaternions

Quaternions can be used to represent rotational transformations. The chief advantage of doing this is the lack of singularity.Most of the material in this appendix is lifted from [13]

A quaternion can be written as if it were a 4 vector with basis {1, i, j, k}. A quaternion b which represents a rotation vector¾ is written

(C.1)b = Cos ø 2

E Sin ø 2 , where ø = ¿ and E = ¿ / ¿

Note that b = 1

The quaternion product b ù c may be written in one of two ways depending on convenience

ú ú Algebra‘Quaternions‘

LV1b_IMU−0.03 89

Page 90: LV1b_IMU-0.03

Quaternion b1, b2, b3, b4 û û Quaternion c1, c2, c3, c4

Quaternion b1 c1 ü b2 c2 ü b3 c3 ü b4 c4, b2 c1 ý b1 c2 ü b4 c3 ý b3 c4,b3 c1 ý b4 c2 ý b1 c3 ü b2 c4, b4 c1 ü b3 c2 ý b2 c3 ý b1 c4

Apply List, %8 MatrixForm

b1 c1 ü b2 c2 ü b3 c3 ü b4 c4b2 c1 ý b1 c2 ü b4 c3 ý b3 c4b3 c1 ý b4 c2 ý b1 c3 ü b2 c4b4 c1 ü b3 c2 ý b2 c3 ý b1 c4

Flatten

b1 þ b2 þ b3 þ b4b2 b1 þ b4 b3b3 b4 b1 þ b2b4 þ b3 b2 b1

.

c1c2c3c4

ÿ %13 FullSimplify

True

Flatten

c1 þ c2 þ c3 þ c4c2 c1 c4 þ c3c3 þ c4 c1 c2c4 c3 þ c2 c1

.

b1b2b3b4

ÿ %13 FullSimplify

True

Z � Transpose

c1 þ c2 þ c3 þ c4c2 c1 c4 þ c3c3 þ c4 c1 c2c4 c3 þ c2 c1

;

90 LV1b_IMU−0.03

Page 91: LV1b_IMU-0.03

(C.2)

b à c =

b1 ½ b2 ½ b3 ½ b4

b2 b1 ½ b4 b3

b3 b4 b1 ½ b2

b4 ½ b3 b2 b1

c1

c2

c3

c4

= Ybc

=

c1 ½ c2 ½ c3 ½ c4

c2 c1 c4 ½ c3

c3 ½ c4 c1 c2

c4 c3 ½ c2 c1

b1

b2

b3

b4

= ZcTb

From the definitions given in (C.2) we can derive these properties for Y and Z

(C.3)Y� 1 ¹ YT , Z

� 1 ¹ ZT , andYZ ¹ ZY

To rotate a vector r from frame a to b using the quaternion approach we write r as a 4 vector and use

(C.4)rb= b à ra à b = YbZbra

where b = b1 Ç b2 Ç b3 Ç b4T and ra = 0 r1 r2 r3

T

From (C.4) we can easily compute the rotation matrix Rab in terms of b by comparing rb = Ra

bra to (C.4).

YbZb =

b12 Ë b2

2 Ë b32 Ë b4

2 0 0 0

0 b12 Ë b2

2 Ç b32 Ç b4

2 2 b2 b3 Ç b1 b4 2 b1 b3 Ë b2 b4

0 2 b2 b3 Ë b1 b4 b12 Ç b2

2 Ë b32 Ç b4

2 2 b3 b4 Ç b1 b2

0 2 b2 b4 Ç b1 b3 2 b1 b2 Ë b3 b4 b12 Ç b2

2 Ç b32 Ë b4

2

So Rab is found merely by dropping the first row and column. Recall we have assumed b1

2 Ë b22 Ë b3

2 Ë b42 = 1 .

Reference [13] gives an efficient algorithm for computing Rab from b which produces a normalized R even if b is not

normalized. We repeat it here, note that Rij means the i � j element of matrix Rab

(1) p1 Å b12 p2 Å b2

2 p3 Å b32 p4 Å b4

2 p5 Å p3 Ë p4(2) if p1 Ë p2 Ë p5 Í 0 { p6 Å 2 p1 Ë p2 Ë p5 } else { p6 Å 0}(3) R11 Å 1 Ç p5 p6 R22 Å 1 Ç p6 p2 Ë p4 R33 Å 1 Ç p6 p2 Ë p3(4) p2 Å p6 b2 p3 Å p6 b3 p5 Å p6 b1 b4 p6 Å p2 b3(5) R12 Å p6 Ë p5 R21 Å p6 Ç p5(6) p5 Å p3 b1 p6 Å p2 b4(7) R31 Å p6 Ë p5 R13 Å p6 Ç p5(8) p5 Å p2 b1 p6 Å p3 b4(9) R23 Å p6 Ë p5 R32 Å p6 Ç p5

Calculation of the quaternion b from Rab is straightforward

b =

1Ñ Ñ Ñ Ñ Ñ2

1 Ë R11 Ë R22 Ë R33

R32 R23Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ ÑÑ Ñ Ñ Ñ Ñ Ñ Ñ ÑÑ Ñ Ñ Ñ Ñ Ñ Ñ Ñ4b1

R13 R31Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ ÑÑ Ñ Ñ Ñ Ñ Ñ Ñ ÑÑ Ñ Ñ Ñ Ñ Ñ Ñ Ñ4b1

R21 R12Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ ÑÑ Ñ Ñ Ñ Ñ Ñ Ñ ÑÑ Ñ Ñ Ñ Ñ Ñ Ñ Ñ4b1

LV1b_IMU−0.03 91

Page 92: LV1b_IMU-0.03

Euler angles from quaternions: (Warning, singularities!???)

Sin[ Ù ] = Ç 2 b2 b4 Ç b1 b3Ú = arctan2[ Ç 2 b2 b3 Ç b1 b4 , 1 Ç 2 b12 Ë b2

2 ]Û = arctan2[ Ç 2 b1 b2 Ç b3 b4 , 1 Ç 2 b22 Ë b3

2 ]

92 LV1b_IMU−0.03

Page 93: LV1b_IMU-0.03

ReferencesNote, local availability is sometimes given. Except as noted PSU means the reference is available at Portland State Univer-sity main library, Bevo means Beaverton (Oregon) city library main branch, and MoCo refers to Multnomah county librarycentral branch.

1. "Navstar GPS User Equipment Introduction, Public Release Version"Anonomous, http://www.navcen.uscg.mil/gps/geninfo/gpsdocuments/(GPSUser Equipment Introduction), Sep.1996

2. "PiezoelectricCeramic Cylinder Vibratory Gyroscope"Abe, Hiroshi, Yoshida, Tetsuo and Turuga, Kikuo, Japanese Journal ofApplied Physics 31(1)30613063, 1992

3. "Monolithic Accelerometer With Signal Conditioning Datasheet for the ADXL50Rev.B"

Analog Devices Inc.,1996,C1808b−5−3/96, available on the web as a pdfdocument

4. "Datasheet for the ADXL150/ADXL250 Rev.0"Analog Devices Inc., 1998,C2949−8−4/98, available on the web as a pdfdocument

5. "Datasheet for the ADXL202 Rev.A"Analog Devices Inc., 1998,C3037a−0−8/98, available on the web as a pdfdocument

6. "Generalized Inverses: theory & applications"Ben−Israel, Adi and Greville, Thomas N.E., John Wiley, 1974, PSUQA188.B46

7. "Inertial Navigation Systems Analysis"Britting, Kenneth, R., Wiley & Sons, 1971, PSU TL588.5.B75

8. "Integrated Navigation Systems & Kalman Filtering: A Perspective"Brown, Robert Grover, Navigation: Journal of the Institute of Navigation,19(4)355−362, 1972

9. "Introduction to Random Signal Analysis & Kalman Filtering"Brown, Robert Grover, John Wiley, 1992, PSU TK5102.5.B696(1983)

10. "Generalized Inverses of Linear Transformations"Campbell, S.L. and Meyer, C.D., Pitman, 1979, PSU QA188.C36

11. "Zodiac GPS Receiver Family Designer’s Guide", December 16 1996,Order#GPS−33

Conexant Systems, Inc. a subsidiary of Rockwell International(www.conexant.com) A more recent version of this document was unfindableon the conexant website. A possible location for this document ishttp://www.unitronic.de/rockwell/GPS−999.htm

12. "CRC Handbook of Chemistry & Physics 1995−1996 76th edition"CRC Press 1995 ???

13. "The Global Positioning System & Inertial Navigation"Farrell, Jay and Barth, Matthew, McGraw−Hill, 1999, Bevo 623.89

14. "Physical Geodesy"Heiskanen & Moritz, Freeman Press 1967, PSU QB281.H4

LV1b_IMU−0.03 93

Page 94: LV1b_IMU-0.03

15. "Rapid Development of Tightly Coupled GPS/INS Systems"Knight, Donald T., IEEE Aerospace & Electronic Systems Magazine,Feb.1997, http://www.knightsys.com/aesm1.htm

16. "Analysis & Compensation of Imperfection Effects in Piezoelectric VibratoryGyroscopes"

Loveday, Philip Wayne, PhD thesis Virginia Polytechnic Institute, Feb.1999

17. "PIC17C7XX Data Sheet"Microchip Technology Inc., 1998, Document number DS30289A

18. "Filter Facts"Portland State University Aeronautical & Space Systems Society, internalpublication, Portland State University Electrical & Computer Engineering Department PO.Box 751 Portland Oregon 97207−0751, http://ee.pdx.edu/~aess/???

19. "Strapdown System Algorithms"Savage, Paul, G., Advances in Strapdown Inertial Systems, NATA AGARDLecture Series 133, Neuilly Sur Seine, France, May 1984

20. "Strapdown inertial navigation integration algorithm design, Part1: Attitudealgorithms"

Savage,Paul,G., Journal of Guidance, Control & Dynamics, 21(1)19−28, Jan−Feb, 1998

21. "Strapdown inertial navigation integration algorithm design, Part2: Velocity &Position algorithms"

Savage,Paul,G., Journal of Guidance, Control & Dynamics, 21(2)208−221,Mar−Apr, 1998

22. "ntc_notes.pdf"Thermometrics Inc., http://www.thermometrics.com, 1999

94 LV1b_IMU−0.03