GPS based attitude determination

LiU-ITN-TEK-A--09/060--SE GPS based attitude determination Erika Thorstensson 2009-11-06 Department of Science and Technology Linköping University S...
Author: Allan Ray
0 downloads 0 Views 12MB Size
LiU-ITN-TEK-A--09/060--SE

GPS based attitude determination Erika Thorstensson 2009-11-06

Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

Institutionen för teknik och naturvetenskap Linköpings Universitet 601 74 Norrköping

LiU-ITN-TEK-A--09/060--SE

GPS based attitude determination Examensarbete utfört i Elektronikdesign vid Tekniska Högskolan vid Linköpings universitet

Erika Thorstensson Handledare Björn Gabrielsson Examinator Kent Axelsson Norrköping 2009-11-06

Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/ Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances. The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/

© Erika Thorstensson

Abstract This paper is the result of a masters thesis performed at Linköping University for Saab Bofors Dynamics in Linköping, Sweden. Attitude is defined as the orientation of a coordinate frame in reference to another coordinate frame. This is often referred to as three consecutive rotations, called roll, pitch and yaw (or heading). Attitude determination is generally performed using inertial navigation systems composed of gyros and accelerometers. These systems are highly accurate but are very expensive and experience a drift when used for a long period of time. The global positioning system, or GPS, was developed by the US military to determine a user’s position, velocity and time. These parameters can all be determined by performing measurements on the GPS satellite signal code that is modulated onto the GPS satellite signal carrier. But the GPS signal can also be used to determine attitude by performing carrier measurements for two or more GPS antennas. When determining the relative position between two antennas, by measuring the phase difference between them, information of the baseline is attained. The calculated baseline will be in a local navigation frame. By rotating it to the known body frame, a rotation matrix known as a direction coordinate matrix, or DCM, will be attained. From this rotation matrix, only two of the three attitude angles can be calculated, since the third rotation is about the baseline’s own axis. Using three or more antennas (two or more baselines), all three attitude angles can be determined from the DCM. This thesis work included development of a hardware platform carrying four NovAtel Superstar II GPS receivers. The platform enables serial communications between the receivers and a PC, as well as providing the supply for the receivers and antennas. The attitude determination algorithm was written and tested using a test platform mounted onto a car. The result shows a one degree deviation from an INS reference system in heading and pitch during both static and dynamic tests. The roll angle was not measured during the test drives because only one baseline was locked. The GPS based attitude determination system performed well when the baselines were locked, but it requires some improvements for full functionality.

Acknowledgements First of all I want to thank all the people at Saab Bofors Dynamics for a great time during my stay there. I especially want to thank my supervisor Björn Gabrielsson for all the help he provided, Johan Bejeryd for the help with the implementation of the algorithms, Arne Lilja and Nils Lilja for help with the electronics design and finally Torbjörn Crona for delivering inputs for the report. Kent Axelsson at Linköping University, my examiner, also deserves acknowledgment for giving great input to my writing and for showing interest in the work throughout. Finally I want to thank Fredrik Johansson for helping me with the Linux jungle, and for proofreading the report. /Erika Thorstensson

Abbreviations 1PPS ADGPS bps C/A DCM DGPS DLL DoD DOP ECEF ECI GPS IC IERS INS MCS NED OEM P(Y) PCB PDOP PLL PPS PRN RF SBD SNR SPS UV WGS-84

-

One Pulse Per Second Attitude Determination GPS Bits per Second Coarse/Acquisition Direction Cosine Matrix Differential GPS Delay Lock Loop Department of Defense Dilution of Precision Earth Centered Earth Fixed Earth Centered Inertial Global Positioning System Integrated Circuit International Earth Rotation and Reference System Service Inertial Navigation System Master Control Station North East Down Original Equipment Manufacturer Encrypted P-code Printed Circuit Board Position Dilution of Precision Phase Lock Loop Precise Positioning Service Pseudo Random Noise Radio Frequency Saab Bofors Dynamics Signal to Noise Ratio Standard Positioning Service Ultra Violet World Geodetic System 1984

Operators ~b ˆb A A−1 AT A† In Cβα H ∆ ∇∆ dxe [[~b]]

-

Vector b Unit vector b Matrix A Inverse of matrix A Transpose of matrix A Pseudo-inverse of matrix A Unity matrix of n × n dimension Rotation matrix from frame α to frame β Matrix composed of line-of-sight vectors Single difference Double difference Round upward Cross product matrix for vectors

Definitions Almanac

-

Apogee Attitude

-

Bias Carrier Chip-rate Code Coordinate Frame Cycle slip

-

Doppler frequency Doppler shift

-

Ephemeris

-

Epoch Heading Integrated Doppler Mask angle

-

Navigation message

-

Noise

-

Perigee Pseudorange

-

7 of the ephemeris parameters for all satellites, transmitted in the navigation message Satellite orbit point furthest from the Earth’s surface The orientation of a coordinate frame in reference to another coordinate frame Error that persists over time RF carrier signal for the GPS satellites Repetition frequency of the GPS code PRN sequence modulated on the GPS carrier signal Set of axes that defines an object’s orientation Loss of counter on whole number of code cycles that has passed a GPS antenna Pseudorange change rate Projection of the relative motion between satellite and user onto the line-of-sight vector 15 parameters transmitted by the GPS satellites in the navigation message used eg to determine the satellites position or to correct signal errors Instant in time when measurements are taken Same vector as the yaw angle but with opposite direction GPS carrier phase measurement Satellites with elevation lower than this angle should not be used in the measurements Binary encoded message modulated on the GPS carrier containing e.g. ephemeris Quickly varying error that averages out to zero over a short time interval Satellite orbit point closest to the Earth’s surface GPS signal transit time divided by the speed of light

Contents 1 Introduction 1.1 Background 1.2 Purpose . . 1.3 Method . . 1.4 Outline . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

1 1 2 2 3

2 The Global Positioning System 2.1 Range Measurements . . . . . . . . . . . . 2.2 GPS Signals . . . . . . . . . . . . . . . . . 2.2.1 Signal Architecture . . . . . . . . . 2.2.2 Signal Acquisition and Tracking . 2.3 GPS Measurements . . . . . . . . . . . . . 2.3.1 Code Phase Measurements . . . . 2.3.2 Carrier Phase Measurements . . . 2.4 The GPS Constellation . . . . . . . . . . . 2.4.1 Space Segment . . . . . . . . . . . 2.4.2 Control Segment . . . . . . . . . . 2.4.3 User Segment . . . . . . . . . . . . 2.4.4 Differential GPS . . . . . . . . . . 2.5 Error Sources . . . . . . . . . . . . . . . . 2.5.1 Clock Bias . . . . . . . . . . . . . 2.5.2 Relativistic Effect . . . . . . . . . 2.5.3 Atmospheric Effects . . . . . . . . 2.5.4 Satellite Position Prediction Error 2.5.5 Multipath . . . . . . . . . . . . . . 2.5.6 Antenna Phase Center Variation . 2.5.7 Receiver Noise . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

5 5 6 7 7 8 8 9 9 10 11 11 11 12 12 12 13 14 14 16 16

3 Attitude Determination 3.1 Coordinate Frames . . . . . . . . . . . . . 3.1.1 Earth Centered Inertial Frame . . 3.1.2 Earth Centered Earth Fixed Frame 3.1.3 Local Navigation Frame . . . . . . 3.1.4 Body Frame . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

17 17 17 18 18 19

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

3.2

. . . . . . . .

19 19 21 21 23 25 25 25

4 Implemented Algorithm 4.1 Integer Ambiguity Algorithm . . . . . . . . . . . . . . . . . . . . . 4.2 Attitude Determination Algorithm . . . . . . . . . . . . . . . . . .

29 29 31

5 Hardware 5.1 The NovAtel Superstar II Receiver 5.2 Hardware Design . . . . . . . . . . 5.2.1 Power Source . . . . . . . . 5.2.2 RS-232 Transceiver . . . . . 5.2.3 Active Antenna Supply . . 5.2.4 Oscillator . . . . . . . . . . 5.2.5 Indicators . . . . . . . . . .

. . . . . . .

35 35 36 36 37 37 38 40

6 Test Results 6.1 Test Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Static Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Dynamic Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41 41 43 45

7 Conclusions 7.1 Discussion . . . . . . . . . . . . 7.2 Improvements and Future Work 7.2.1 Hardware . . . . . . . . 7.2.2 Software . . . . . . . . .

49 49 50 50 51

3.3

3.4

Representing Attitude . . . . . . . . . . . . 3.2.1 Euler Angles . . . . . . . . . . . . . 3.2.2 Quaternions . . . . . . . . . . . . . . 3.2.3 Coordinate Transformation Matrices GPS Attitude Determination . . . . . . . . 3.3.1 Single Differences . . . . . . . . . . . 3.3.2 Double Differences . . . . . . . . . . Integer Ambiguity Resolution . . . . . . . .

. . . .

. . . .

. . . . . . .

. . . .

. . . . . . .

. . . .

. . . . . . .

. . . .

. . . . . . .

. . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . . . . . .

. . . .

. . . .

Bibliography

53

A Schematic Primary PCB

55

B Schematic Secondary PCB

57

C Test Drive Route

59

List of Figures 2.1 2.2 2.3 2.4

Representation of satellite range measurements . . . . . . The nominal satellite constellation with 24 GPS satellites Multipath effect . . . . . . . . . . . . . . . . . . . . . . . . Choke ring principle . . . . . . . . . . . . . . . . . . . . .

. . . .

6 10 15 15

3.1 3.2

Comparison of the different coordinate frames . . . . . . . . . . . . Determination of the Euler angles in reference to the local navigation frame NED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relative distance N λ + ∆Φ between antennas in the line-of-sight direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

4.1

A search space formed with three satellites

30

5.1

NovAtel’s Superstar II OEM board GPS receiver with primary side to the left and secondary side to the right . . . . . . . . . . . . . . General overview of the designed hardware . . . . . . . . . . . . . Back panel of the housing with antenna and serial cable connector as well as power and external oscillator connectors. . . . . . . . . . Inside view of the designed hardware and housing . . . . . . . . . . Front panel of the housing, with the Power, 1PPS, Antenna, Position and Traffic indicators and Reset button . . . . . . . . . . . . .

3.3

5.2 5.3 5.4 5.5

6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8

. . . .

. . . .

. . . .

. . . .

. . . . . . . . . . . . .

Side view of the vehicle platform with the camera, INS and LegAnt antenna in the front and the four Aeroantennas in the back. . . . . The antenna/baseline setup with body frame coordinates . . . . . Front view of the vehicle platform, with the camera to the left, the INS in the middle and LegAnt antenna to the right. . . . . . . . . Signal to noise ratio for the four Superstar receivers and satellites 27 and 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Static test, pitch and heading with the INS comparison . . . . . . Slow dynamic test heading with the INS comparison. . . . . . . . . Fast dynamic test heading with the INS comparison. . . . . . . . . Fast dynamic test pitch with the INS comparison. . . . . . . . . .

C.1 Test drives route . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20 24

36 37 39 39 40

42 42 43 44 45 46 47 48 59

Chapter 1

Introduction This report is the result of a masters thesis at Linköping University, Sweden for Saab Bofors Dynamics AB. Saab Bofors Dynamics, SBD, is part of the Saab concern with head office located in Karlskoga Sweden, and with additional offices at four other locations in Sweden including Linköping. Saab Bofors Dynamics provides defense systems for army, navy and air force separated into two core businesses: complete missile systems and short range support weapons. The Carl-Gustav, BAMSE and the RBS15 are examples of weaponry developed by SBD. [14]

1.1

Background

The movement or orientation of a body relative to another body or coordinate frame is known as the attitude of the body. For a three dimensional set of axes, rotation to another set of axes result in three angles of rotation, often referred to as roll, pitch and yaw, see section 3.2. The attitude of a body is often determined in reference to the Earth, in either WGS-84 coordinates (longitude and latitude) or in some other reference system. A compass, for example, measures the attitude in one dimension relative to magnetic north. Inclinometers use the gravitational vector to determine the horizontal plane. For three dimensional attitude determination however, more complex systems is required. The general way of attitude determination is to use some kind of inertial navigation system, or INS. An INS is often composed of gyros and accelerometers. It measures the motion of a body coordinate frame relative a generic inertial coordinate frame such as the Earth Centered Inertial, ECI, frame, thus providing precise attitude measurements. INS are very complex, expensive and the solution drifts over time. An alternative to INS is to use multiple GPS receivers and measure the phase 1

2

Introduction

difference between the antennas to determine the attitude. This provides a cheaper system that is insensitive to magnetic disturbances and still delivers good precision. However, such a system would be sensitive to satellite signal blockage, signal distortion etc but techniques to decrease the influences of such disturbances are being developed.

1.2

Purpose

The thesis work was performed at Saab Bofors Dynamics AB in Linköping, Sweden with the purpose to continue development of a previous thesis work developing a GPS attitude system, see [1]. The attitude system determines two attitude angles using two high-grade GPS receivers. SBD was interested to see if the system could be developed into measuring three attitude angles, which requires at least three GPS receivers, in real-time. The requirements for the thesis work were set to using four low-cost GPS receivers. The fourth receiver would aid the system by over-determining the solution, reducing measurement errors and providing a more robust solution. The question that SBD wanted answered was: • How well will the new low-cost GPS receivers work for attitude determination compared to a navigation-grade INS system? The work included designing hardware for the OEM board GPS receivers and software development for PC-to-receiver communications and attitude algorithm implementation. The system should be tested and compared to a navigation-grade INS system.

1.3

Method

The work started with a literature study of how the GPS system works as well as how attitude determination can be implemented using GPS. Then, the hardware was designed using specifications from the GPS receiver data sheets, see [12] and [13]. As a middle step, the previously developed algorithm for determining two attitude angles was ported to the cheaper GPS receivers. Then, the attitude determination algorithm was extended to measure the third angle as well. Finally, performance of the system was tested using a test platform mounted on a car.

1.4 Outline

1.4

3

Outline

This is the outline of the report: Chapter 2 gives an introduction to what the GPS is and how it works. It also explains GPS signal measurements and the errors that affect the measurements. Chapter 3 explains the theory behind coordinate frames, attitude representation and attitude determination. There is also a section about integer ambiguity solution that is a crucial part of GPS attitude determination. Chapter 4 explains the algorithms that were implemented in the thesis work. Chapter 5 gives an introduction to the GPS receiver used in the thesis and explains the hardware designed for the system. Chapter 6 shows the test that was performed on the developed system, and the test rigging that was used. Both static and dynamic tests were performed, and this chapter shows the results. Chapter 7 provides a discussion and the conclusion of the thesis work. The tests are analyzed and compared to an INS system. The results are also compared to the previous thesis work [1] to see how the low-cost receivers perform compared to the high-cost ones.

Chapter 2

The Global Positioning System This chapter provides the reader with some basic knowledge behind the GPS constellation, GPS signal elements and how range measurements can be performed. The chapter also includes information about error sources that reduces the system’s accuracy.

2.1

Range Measurements

To know one’s position it is useful to measure the distance to some known locations. If the distance to one location is known, you know that you are standing somewhere on a circle with the radius equal to the distance and with the location in the center of the circle. With two known locations and distances to each of them, you know that you are standing on either of the two points where the circles intersect. One of these points can sometimes be eliminated by knowing roughly where you are, or by some other measurements, or by measuring the distance to a third location. This is the constellation most radio navigation systems use. By measuring the time it takes for the radio signal to travel from the sender to the receiver, and by knowing the velocity of which the radio signal travels in air, the distance can be calculated. However, these land-based radio navigation systems can never provide information about altitude, since there is a limitation of how high an emitting antenna can be placed. For three-dimensional navigation, you need something else, and satellite positioning systems are some of the available solutions. The Global Positioning System, GPS, uses the same idea about distance measurement, but since the satellites orbit the earth, the distance measured to one satellite predicts that we are standing somewhere on a sphere rather than a circle, with 5

6

The Global Positioning System

the satellite in its center. With distances known to two satellites, the position is narrowed down to the intersecting circle of the two spheres. Adding a third satellite distance, the possible positions left is the two intersecting points of the three spheres, see figure 2.1. One of these points is located out in space, and can thus be eliminated from the solution, leaving only one possible position of a user on Earth.

Figure 2.1. Representation of satellite range measurements

2.2

GPS Signals

The GPS satellites continuously transmit data on two carrier frequencies in the L-band spectrum, namely L1 and L2, with central frequencies of 1575.42 MHz and 1227.60 MHz respectively1 . In order to separate the signals transmitted from the satellites, and allowing for them to transmit on the same frequency, the signals are modulated with a pseudo random noise, or PRN, sequence that is unique for each satellite. The PRN sequences are uncorrelated, thus allowing the signal separation. [5] The L1 carrier signal is modulated with two different PRN codes, one for civil use which is a coarse/acquisition or C/A code and one precision, P, code for military 1 The satellites actually transmits on other frequencies as well, called L3, L4 and L5, but these are associated with future developments to the GPS that are not discussed here, or other military applications such as the Nuclear Detonation Detection System [10]

2.2 GPS Signals

7

applications, that is encrypted and thus referred to as P(Y) code. On the L2 carrier there is only one modulated code; the P(Y) code. [16]

2.2.1

Signal Architecture

The GPS signal is composed of the following three components: • A RF sinusoidal carrier signal with a central frequency of L1 or L2 • A PRN sequence uniquely assigned to each satellite. This allows for the satellites to broadcast on the same frequency without interference. The PRN are either C/A or P(Y) or both, depending on the carrier. The C/A code is a unique sequence of 1,023 bits, or chips, that repeats in a loop. The frequency of the C/A code is 1,023 MHz, thus the whole sequence takes 1 ms to transmit [2]. This chip-rate gives a 300 km range of possible navigation 3 solutions (1 · 10−3 [s] · 3 · 108 [ m s ] = 300 · 10 [m]). The P(Y) code on the other hand is a unique sequence of an extremely long (∼ 1014 chips) PRN sequence that repeats once-a-week, but only provides 3 m of range uncertainties. • A binary encoded message that includes satellite health and status information, ephemeris, clock bias parameters and almanac. The navigation message is transmitted at 50 bps, and therefor takes 12.5 min to receive, but essential ephemeris- and clock parameters are repeated each 30 seconds to speed up the signal acquisition. The code is combined with the binary message using modulo-2 addition before being modulated onto the carrier. [10] Henceforth, the signal components will be referred to as carrier, code and navigation message respectively.

2.2.2

Signal Acquisition and Tracking

The basic function of a GPS receiver is to capture the signals transmitted from the satellites and separate them. It must also decode the navigation message, revealing ephemeris and clock parameters in order to make measurements on the signal transit time and Doppler shift2 . The user’s position3 is derived from those measurements. For satellite signal acquisition, the receiver generates a replica of the carrier signal modulated with a replica of the C/A code for the specific satellite4 . By shifting 2 Doppler shift is caused by the relative motion between the user and the satellite. It is defined as the projection of the relative motion onto the line-of-sight vector [10] 3 Other parameters that can be derived from the GPS signal is the user’s velocity and time in reference to the satellite system time 4 The C/A PRN sequences for all GPS satellites are publicly known

8

The Global Positioning System

it in time and correlating it with the received signal, the signal transit time is determined as the time shift needed for the correlation modulus 1 ms. Since the length of the C/A code is small, this is a relatively quick process. The P(Y) code is harder to acquire, and it is usually done by first acquiring the C/A code and using it together with timing information. More information about the signal acquisition process can be found in [10]. After signal acquisition, a delay-lock-loop, DLL, keeps the replica signal aligned to the received signal in order to track changes in it. The PRN is removed, by using the property of the PRN sequence that its square equals the unity. Thus, by multiplying the incoming signal with the replica, the carrier is recovered with only the navigation message modulated on to it. This recovered signal is also tracked, using a phase-lock-loop, or PLL. In this loop, the Doppler shift is measured, and the navigation message is extracted. [2]

2.3

GPS Measurements

Two types of GPS measurements can be performed; code measurements and carrier measurements. Code measuring provides an instantaneous range to the satellite called the pseudorange, whilst the carrier measurements reveals the difference in received carrier phase and replicated carrier phase giving a precise measurement of the changes in pseudorange over a time interval. It also gives an estimation of the change rate, or Doppler frequency. [10]

2.3.1

Code Phase Measurements

The GPS signal transit time is measured as the time difference between the signal receiving time and its transmission time. As mentioned before, this is equal to the time shift necessary to correlate the replicated C/A code with the received C/A code. The pseudorange is provided by multiplying the transit time with the speed of light. But the measurement is biased by measurement errors and clock drifts and the accuracy of the position estimation relies on the ability to compensate for these biases. Section 2.5 explains the different errors and biases in the measurements more thoroughly. The pseudorange observation with measurement errors is written as:

ρ = r + c[δtu − δts ] + Iρ + Tρ + ρ where

(2.1)

2.4 The GPS Constellation r c δtu δts Iρ Tρ ρ

= = = = = = =

9

True satellite-to-user range [m] Speed of light [m/s] Receiver clock bias [s] Satellite clock bias [s] Ionosphere delay [m] Troposphere delay [m] Measurement errors [m]

The C/A code is short, repeating each millisecond, but the signal transit time lies in between 70-90 ms, which leaves an uncertainty of how many code cycles that have passed during the transit time. This can be solved for by knowing roughly where the user’s position is (within a 300 km radius). The P(Y) code’s frequency is much slower, and thus provides unambiguous pseudorange measurements. [10]

2.3.2

Carrier Phase Measurements

The carrier phase measurement is much more precise than the code phase measurement and is therefor much more suitable for attitude determination. Changes in the carrier phase measurement are known as the delta-range or integrated Doppler. The carrier phase is determined by measuring the initial phase difference between the replicated carrier with the received carrier, and continuously keeping track of the number of whole cycles (counting the number of wavelengths) passing. Since the carrier is sinusoidal, the carrier measurement can only detect differences in fractions of the phase difference. The counting of cycles provides knowledge of the number of wavelength passing during the measurement, but the initial number of wavelengths is left unknown. This ambiguity must be solved for. Momentarily loosing track of the cycle count is called a cycle slip. In this case, the carrier phase measurement must be restarted, requiring resolving of the integer ambiguity. The code phase measurement provides essentially unambiguous pseudoranges, but it is rather coarse. The carrier phase measurement is on the other hand extremely precise, but requires the initial integer ambiguity to be solved for. [10]

2.4

The GPS Constellation

The US Department of Defense developed the GPS in order to provide the US military with accurate position, velocity and time, but it was also left available to an uninhibited number of users. The DoD decreed that civil users were to be provided with “reasonable” accuracy due to national security, which led to

10

The Global Positioning System

the division of the two different kinds of services: the SPS (Standard Positioning Service) for civil usage and the PPS (Precise Positioning Service) for military use, i.e. for DoD authorized users. The SPS was until May 2000 degraded by introducing controlled errors to the satellite clock parameters, a feature called Selective-Availability or SA, but since it is no longer active it will not be further discussed here. The main features that separate PPS from SPS is the encryption of the P code. This feature is referred to as Anti-Spoofing, or AS, and protects the military user from false GPS signals. The P(Y) code also has greater accuracy. [16] The GPS is divided into tree segments; the space segment, the control segment and the user segment. The DoD is responsible for the space segment as well as the control segment whilst the user segment development is left to market forces. [10]

2.4.1

Space Segment

The space segment consists of a nominal 24 GPS satellites orbiting the Earth. Today (2009) there are currently 33 GPS satellites orbiting, where two of them are not in use (one is for back-up, the other is “unhealthy”). The satellites orbit at an altitude of 20,100 km above the surface of the Earth in slightly elliptical orbits, and completes a full circle in 11 hours and 58 minutes, giving them a speed of 4 km/s. The satellites are arranged into 6 Earth-centered orbital planes (generally named A-F) with stationary ground tracks, divided by 55o of inclination to the equator and 60o of longitude apart, see figure 2.2. With this arrangement, 5-14 satellites should be visible above the horizon at any given point of the Earth, at any time. [5]

Figure 2.2. The nominal satellite constellation with 24 GPS satellites

2.4 The GPS Constellation

2.4.2

11

Control Segment

The control segment is responsible for the GPS maintenance, such as keeping track of the satellite orbits, monitoring the satellites health and signal integrity, and uploading updates of the ephemeris- and almanac data and clock correction parameters. In order to calculate the correction parameters, monitor stations spread around the Earth makes pseudorange and delta range measurements to the satellites while they pass overhead. The raw data together with local weather information and received satellite navigation data is sent to the Master Control Station 5 , MCS, using various ground communication systems. The MCS computes the clock corrections, the ephemeris and almanac for each satellite, and uploads the information to the satellites using ground antennas. [5][10]

2.4.3

User Segment

This segment includes all devices that are capable of acquiring and tracking satellite signals and compute user position, velocity and time. There are receivers that are capable of tracking either C/A or P(Y) or both codes on L1, or dual-frequency on both L1 and L2, but for civil users the single frequency L1 C/A code receiver is the most common. For the P(Y) code, cryptographic equipment is needed. The receivers have multiple channels, where each channel tracks transmissions from a single satellite, and can compute three different satellite-to-user measurements: pseudorange, delta range and Doppler shift. [5] GPS receivers were first introduced in the mid-80’s, at a cost of over $100 000. Fortunately, the development of integrated circuits have made the receivers smaller, low-weight, cheaper and most importantly, more accurate.

2.4.4

Differential GPS

A recent development on the GPS market is the Differential GPS, or DGPS. It is used to enhance the standalone accuracy by removing the correlated errors from two (or more) GPS receivers viewing the same satellites. One of the receivers acts as a base station having its location precisely known. The other receiver is used as a roving station. If both receivers view the same satellites, and the baseline is kept within a couple of hundred kilometers, both receivers would experience approximately the same measurement errors. Both receivers perform pseudorange measurements, but since the base station’s location is known, the biases can be detected, and sent to the rover using some communication device. The rover then 5 The Master Control Station is located at Schriever Air Force Base in Colorado Springs, Colorado

12

The Global Positioning System

incorporates the correction parameters in the range measurements, significantly improving the accuracy of its position estimation. [5][10]

2.5

Error Sources

The signal transit time measured during the time shift of the replicated signal multiplied with the speed of light provides the pseudorange. This measurement includes the true range together with a number of errors and biases that either delays or advances the GPS signal. This section brings up these error sources for a more closely view. There are several sources of random errors or biases that affect the pseudorange and Doppler measurements: clock biases, receiver noise, signal propagation delay in the atmosphere or distortion due to multipath. The pseudorange measurement includes these errors, and they have to be compensated for, in order to maximize the true range accuracy.

2.5.1

Clock Bias

There are three different reference times in the GPS; the GPS system time, the satellite reference time and the receiver reference time. The satellites carry atomic clocks that may deviate as much as 1 ms to the GPS system time. That adds 300 km to the pseudorange measurement. But the ranging error caused by the satellite clock drift rarely exceeds 3 m, due to the clock correction parameters estimated by the MCS and broadcast as part of the ephemeris in the navigation message. But since they are only estimates, some residual error remains. Atomic clocks are big, heavy and expensive, so it is not hard to understand why receivers are not equipped with such clocks. Instead the receiver clock bias is left as an unknown in the pseudorange measurement. In order to calculate a user’s position and time offset from GPS system time, pseudorange measurements must be done for four or more satellites. And by over-determination of the equation system, by adding more pseudorange measurements, the user position- and time offset errors can be reduced. [5]

2.5.2

Relativistic Effect

Relativistic effect occurs when there is a relative motion between the signal source and receiver, or if the gravitational potential changes for either one of them. A type of relativistic effect that has to be corrected for affects the satellite clock, and it is due to the slight eccentricity of the satellites orbit. It is a periodic effect that depends on two things: the periodic change in the satellite speed relative to the

2.5 Error Sources

13

ECI coordinate frame (see section 3.1) and the periodic change in the satellites gravitational potential. At perigee, the satellite velocity is increased whilst the gravitational potential is decreased which slows down the satellite clock. The opposite happens when the satellite is at apogee, where the situation is reversed and the clock runs faster. This effect causes a maximum pseudorange error of 21 m, but it can be compensated for, and the parameters used are part of the ephemeris parameters. [5]

2.5.3

Atmospheric Effects

During the GPS signal propagation to the user on Earth, its speed changes as it enters the atmosphere surrounding the planet. The atmosphere is divided into two layers that affect the electro-magnetic signal differently, namely the ionosphere and the troposphere.

Ionospheric Delay The ionosphere is the top layer of the atmosphere, containing ionized gasses and free electrons, at approximately 70-1000 km above the Earth’s surface. It is the UV rays from the sun that breaks up the molecules into ions and free electrons, and the electrons influence the electro-magnetic wave propagation of the GPS signal so that the carrier is advanced while the code is delayed. See [10] for more information about the physics of traveling waves in different mediums. The ionospheric effect is more eminent in the day, and changes with the sun’s solar activity. For low elevation satellites, the effect increases almost three times opposed to a satellite at zenith. For a satellite at zenith, the ionosphere delay causes range errors of approximately 3 m at night and 15 m during the day, while a satellite with elevation of 0 - 10o causes range errors of 9 m during the night up to 45 m in daytime. [5]

A dual frequency receiver can eliminate the ionospheric delay since the same P(Y) code modulation is transmitted on both L1 and L2. This leaves the delay only as a scale factor to the two different signal time-of-arrivals, and is easy to remove. The P(Y) code does not have to be decrypted during signal acquisition, so this feature can be used by civilians as well. [5] For single-frequency receivers, the ionospheric delay must be estimated using modeling parameters that are broadcast by the satellites in the ephemeris, to apply the corrections.

14

The Global Positioning System

Tropospheric Delay The troposphere is the lower layer of the atmosphere, and it contains water vapor. The pseudorange errors caused by the troposphere is ∼2 m at 90o elevation up to 25 m at 5o elevation [5]. The delay effect is not frequency dependent, so it affects carrier and code equally, thus a dual frequency measurement can not compensate for this. The solution is to use a model based on the refraction index of air, and apply Snell’s law to solve for a correction [2]. The parameters needed for this correction are broadcast in the navigation message as part of the ephemeris together with the ionosphere model parameters. [10]

2.5.4

Satellite Position Prediction Error

The ephemeris parameters that are used to calculate the satellite’s position in space are based on a model of the satellites orbits, and are predicted during the epochs in between each update. And since it is only an estimate of the true satellite position, some residual bias is left. [5]

2.5.5

Multipath

Multipath occurs when the GPS signal is reflected on surrounding ground, buildings and objects near the receiver antenna, so that the signal is received via multiple paths, see figure 2.3. Multipath distorts both carrier and code, and can cause the phase-tracking loop to loose lock of the signal. In that case, the signal acquisition process must be restarted to regain lock of the signal. The pseudorange errors caused by multipath is generally below 5 m, but low elevation satellites causes more multipath and thus should be removed from the measurement solution [5]. A mask angle of 5 - 10o is commonly used to minimize the effect while still keeping enough satellites for a navigation solution to be found. The mask angle also helps to reduce atmospheric effect. Choke rings can be used to reduce the effects of multipath. The design of the concentric rings surrounding the antenna element causes attenuation of incident signals on and below the horizon, preventing multipath from the ground [5]. Both direct and reflected components of the signal reaches the antenna in presence of multipath. The choke rings have no effect on the direct component other than reducing the antenna gain for low-elevation satellites. The effect is on the reflected signal from underneath. The reflected incoming signal can be viewed as a primary and a secondary electromagnetic field wave. The purpose of the choke rings is for the primary and the secondary waves to cancel each other out, at 180o phase difference, see figure 2.4. Since it is the depth and width of the rings that provides the phase shift of the secondary wave, it can only be used for a specific frequency. Also, the multipath suppression works best for high elevation satellites. [4]

2.5 Error Sources

15

Figure 2.3. Multipath effect

Figure 2.4. Choke ring principle

16

2.5.6

The Global Positioning System

Antenna Phase Center Variation

The antenna phase center does not coincide with the geometrical antenna center. The phase center can actually change several centimeters, as the satellite’s position change. The offset will affect the coordinate calculation for the antenna’s location. [4]

2.5.7

Receiver Noise

Receiver noise is the common name for all antenna-, amplifier-, cable- and receiver noise. This random noise affects both carrier and code measurements.

Chapter 3

Attitude Determination In this chapter, the basics behind attitude representation will be given. To fully understand the concept of attitude motion and angles, the theory of coordinate frames is first explained. Then there will be a section about attitude representation and rotation matrices. Finally the single- and double difference technique are explained together with the integer ambiguity resolution theory.

3.1

Coordinate Frames

All navigation problems involve at least two coordinate frames; an object frame which describes the body whose position/orientation is desired, and a reference frame onto which the object’s position/orientation is relative [3]. This section provides a short introduction to some of the most used coordinate frames1 in navigation systems.

3.1.1

Earth Centered Inertial Frame

The physical definition of an inertial coordinate frame is a frame that does not accelerate or rotate in reference to the rest of the universe. However, this is hard to achieve on Earth since it accelerates in its orbit around the sun as well as the galaxy rotates in reference to the universe. The Earth Centered Inertial, ECI, frame however provides a sufficiently accurate approximation of an inertial coordinate frame for navigational purposes. The ECI frame has its origin at the Earth’s center of mass, with the z-axis pointing through the true North Pole (not the magnetic). The x- and y-axes are in 1 All

coordinate frames herein are considered orthogonal and right-handed

17

18

Attitude Determination

the equatorial plane. The ECI frame does not rotate with the Earth, so to transform it to Earth Centered Earth Fixed, ECEF, coordinates (see 3.1.2) the time of measurement must be specified. [3]

3.1.2

Earth Centered Earth Fixed Frame

The Earth Centered Earth Fixed coordinate frame is similar to the ECI frame, but with the difference that all axes are fixed in respect to the Earth, i.e. it rotates with the Earth. The origin is at the Earth’s center of mass, with the z-axis pointing through the true North Pole. The x-axis points toward the intersection of the equatorial plane and the IERS reference meridian, which defines 0o longitude. The y-axis completes the right-hand system by pointing east, see figure 3.1. [3] This coordinate frame, publicly known as the WGS-84, is commonly used in navigation since it is convenient for a user to know its position relative Earth.

Figure 3.1. Comparison of the different coordinate frames

3.1.3

Local Navigation Frame

The Local Navigation Frame has its origin at the point where a navigation solution is sought for. This could be the navigation system’s-, a user’s- or a vehicle’s center of mass. The z-axis, or Down as it is often referred to, is defined as the normal to the reference surface ellipsoid. In case of the Earth as a reference, Down will roughly point toward the Earth’s center of mass. Simple methods use the gravitational vector to decide the Down axis. The x-axis, or North, is the projection of the line from the user to the North Pole in the plane orthogonal to the Down axis. The y-axis completes the right-hand system by pointing east; therefor it is normally referred to as the East-axis. The common name for this local navigation frame is North-East-Down, NED, and it is the most used local

3.2 Representing Attitude

19

navigation frame. Other local navigation frames are the East-North-Up or the South-West-Down frames. [3] Figure 3.1 shows the NED frame.

3.1.4

Body Frame

The body frame has its origin and orientation as the object for which a navigation solution is to be found, see figure 3.1. The origin coincides with that of the local navigation frame, but the axis is fixed to the body. The axes are generally defined as x = forward, y = right and z = down. For angular motions the x-axis is known as the roll axis, the y-axis is known as the pitch axis and the z-axis is known as the yaw axis. [3]

3.2

Representing Attitude

For all methods of representing attitude, there are two functions that must be fulfilled. The representation must describe the orientation of one coordinate frame in respect to another and provide a means of transforming a vector from one frame to another. [3] There are many ways of representing attitude, and this sections brings up a few of the most common ways; Euler angles, quaternions and coordinate transformation matrices.

3.2.1

Euler Angles

For Euler angles, attitude is represented as three successive rotations, named the roll, (φ), pitch, (θ), and yaw, (ϕ). Figure 3.2 represents these rotations around the axes for a NED local navigation frame. The Euler angle representation is very intuitive for describing the orientation of a body frame in respect to the coinciding local navigation frame. The first rotation is around the z-axis, transforming the x- and y-axes but leaving the z-axis unaltered. The second rotation is around the new y-axis, transforming the new x-axis and the unaltered z-axis, but leaving the new y-axis unaltered. Finally the third rotation is performed around the new x-axis, transforming only the y- and z-axes. The rotation from a frame α to a frame β is described in equation (3.1).

20

Attitude Determination

Figure 3.2. Determination of the Euler angles in reference to the local navigation frame NED

ϕ:

θ:

φ:



= xα cos ϕ + y α sin ϕ



= −xα sin ϕ + y α cos ϕ



= zα



= xϕ cos θ − z ϕ sin θ



= yϕ



= xϕ sin θ + z ϕ cos θ



= xθ



= y θ cos φ + z θ sin φ



= −y θ sin φ + z θ cos φ (3.1)

The order in which the rotations are performed is critical. A different rotation order will not end up with the same resulting orientation of the axes since the Euler angles do not commute. The rotation presented above is called 3-2-1 rotation because the order of axis rotations is around z-y-x. The most used rotation in navigation however is the 3-1-2 (z-x-y) rotation. To reverse the Euler rotation, the whole operation must be reversed beginning with the roll, or using a completely different operation altogether. This, together

3.2 Representing Attitude

21

with the fact that Euler angles suffers a singularity at 90o pitch, where the roll and yaw becomes indistinguishable, makes the Euler angles rarely used for attitude computation. [3]

3.2.2

Quaternions

Quaternions is a complex vector of four components, often referred to as ~q = (q0 , q1 , q2 , q3 )T , that can be used to represent a rotation. The q0 element represent the magnitude of the rotation whilst the other three components describe the axes that the rotation is taking place about. The axis of rotation, or the rotation vector, is common for both coordinate frames α and β. Equation (3.2) defines the quaternion attitude representation. 

~qβα

 cos(µβα /2) u ˆβα,1 sin(µβ,α /2)  = u ˆβα,2 sin(µβ,α /2) u ˆβα,3 sin(µβ,α /2)

(3.2)

where µβα is the rotation angle and u ˆβα is the unit vector of the rotation axis. Since there are only four components, the quaternion attitude representation is computational efficient. However, manipulation of the quaternions are not intuitive and it makes navigation equations hard to follow. [3] The quaternion elements are not independent, there is a constraint that must be fulfilled [17]: q12 + q22 + q32 + q42 = 1

(3.3)

however, the sign of the quaternions does not matter, thus ~q = −~q

(3.4)

For more in depth information about quaternions, see [7]

3.2.3

Coordinate Transformation Matrices

The coordinate transformation matrix Cβα transforms a vector from a frame α to a frame β by taking the dot product of the unit vectors of the two frames [11]: xβ = Cβα xα

(3.5)

22

Attitude Determination

The coordinate transformation matrix is a 3x3 matrix that represents the rotation from an object frame to a reference frame. It is equally possible to represent the attitude as a reference frame to object frame transformation Cα β. The elements of the coordinate transformation matrix is the product of the unit vectors describing the two frames. This product equals the cosine of the angles between the axes, hence the term Direction Cosine Matrix, DCM, that are often used to describe these matrices.

Cβα

  u ˆβx u ˆαx u ˆβx u ˆαy u ˆβx u ˆαz ˆβy u ˆαx u ˆβy u ˆαy u ˆβy u ˆαz  = u u ˆβz u ˆαx u ˆβz u ˆαy u ˆβz u ˆαz   cos µβx,αx cos µβx,αy cos µβx,αz = cos µβy,αx cos µβy,αy cos µβy,αz  cos µβz,αx cos µβz,αy cos µβz,αz (3.6)

The direction cosine matrices are easily manipulated. Reversing the operation is done using the transpose of the DCM which is made possible by the fact that the DCM is orthonormal: Cβα Cα β = I3

(3.7)

β T Cα β = (Cα )

(3.8)

Successive transformations or rotations are easily performed by multiplying the matrices, but note that the order of the multiplication is critical, as with all matrix multiplications. Cβα = Cβγ Cγα

(3.9)

Cβα 6= Cγα Cβγ

(3.10)

The orthonormal property of equation (3.7) shows that even though there are nine elements in the matrix, only three are independent, giving it equal numbers of degrees of freedom as the Euler angles. Both quaternion representation as well as Euler angles can be transformed into DCM representation. For Euler angles, the rotations must first be represented as matrices, and then multiplied with the first rotation matrix to the right. Equation 3.11 shows a DCM representation of the Euler 3-1-2 rotation. [11][6][17]

3.3 GPS Attitude Determination

C312

= =

=

23

C2 (φ)C1 (θ)C3 (ϕ)     cos φ 0 sin φ 1 0 0 cos ϕ − sin ϕ 0  0 1 0  0 cos θ − sin θ  sin ϕ cos ϕ 0 − sin φ 0 cos φ 0 sin θ cos θ 0 0 1   cos ψ cos φ − sin ψ sin θ sin φ − sin ψ cos θ cos ψ sin φ + sin ψsinθ cos φ sin ψ cos φ + cos ψ sin θ sin φ cos ψ cos θ sin ψ sin φ − cos ψ sin θ cos φ − cos θ sin φ sin θ cos θ cos φ (3.11)

The transformation between quaternions to DCM is as following:

q12 + q22 + q32 + q42 C =  2(q1 q2 − q3 q4 ) 2(q1 q3 + q2 q4 ) 

2(q1 q2 + q3 q4 ) −q12 + q22 − q32 + q42 2(q2 q3 − q1 q4 )

 2(q1 q3 − q2 q4 ) 2(q2 q3 + q1 q4 )  −q12 − q22 + q32 + q42

(3.12)

or for the opposite direction:

q4

=

q1

=

q2

=

q3

=

1p 1 + C(1, 1) + C(2, 2) + C(3, 3) 2  1 C(2, 3) − C(3, 2) 4q4  1 C(3, 1) − C(1, 3) 4q4  1 C(1, 2) − C(2, 1) 4q4

±

(3.13)

3.3

GPS Attitude Determination

Determining the attitude by GPS measurements is done by calculating the relative position between 2 or more antennas. The vector between these positions, called the baseline, ~b, contains information of the attitude. With one baseline, only two attitude angles can be determined since the third angle is around the baseline’s own axis. But the addition of a second baseline (three antennas) that are non-colinear, will provide the extra information needed for full attitude determination [1]. The relative position between antennas is estimated by measuring the phase difference of the carrier signal. The phase difference is used to determine the dis-

24

Attitude Determination

tance between antennas, in the direction of the line-of-sight vector2 , eˆ, see figure 3.3.

Figure 3.3. Relative distance N λ + ∆Φ between antennas in the line-of-sight direction

But as mentioned earlier, only the fraction of a phase cycle can be measured, so the initial cycle ambiguity must be resolved first. Once resolved, it can be held fixed whilst counting the number of cycles passing. If the count is lost; a cycle slip occurs, then the integers must be resolved again before the attitude can be determined. Section 3.4 provides the theory of integer ambiguities. Equation (3.14) summarizes the carrier phase measurement: i ΦiA = rA + βA − λNAi + i + iA

(3.14)

where ΦiA i rA βA λ NAi i iA

= = = = = = =

Integrated Doppler for receiver A and satellite i [m] Range from satellite i to receiver A [m] Clock bias for receiver A [m] Carrier wavelength [m] Initial integer ambiguity for satellite i and receiver A [cycles] Measurement error for satellite i [m] Measurement error for satellite i and receiver A [m]

The erroneous measurements are a good reason for forming the single and double differences that will be further discussed in sections 3.3.1 and 3.3.2. 2 The distance between the antennas and the satellites is far greater than the distance between the antennas, so the line-of-sight vectors to a satellite for both antennas are considered to be parallel

3.4 Integer Ambiguity Resolution

3.3.1

25

Single Differences

The single difference is defined as the difference in phase measurements between two antennas.

∆ΦiAB

=

ΦiA − ΦiB

=

i i (rA − rB ) + βA − βB − (λNAi − λNBi ) + iA − iB

=

i i i rA − rB + ∆βAB − λ∆NAB + ∆iAB

(3.15) This removes the satellite measurement errors i such as satellite clock bias, ionosphere delay, troposphere delay and the error of predicting the satellites position, since both receivers experiences the same error. [11] The receiver clock bias still remains in the equation, and the double differences can be formed to eliminate this error, but using a common oscillator between the receivers provides a reference to all measurements. As the receiver’s clock bias is common mode, it will cancel out when forming the single differences and the measurements will be considerably cleaner. The clock bias can also be solved for using an additional phase measurement. [2]

3.3.2

Double Differences

The double differences are formed by subtracting single difference phase measurements from two satellites.

∇∆Φij AB

=

∆ΦiAB − ∆ΦjAB

=

j j j i i i (rA − rB ) − (rA − rB ) − (λ∆NAB − λ∆NAB ) + ∆iAB − ∆jAB

=

j j ij i i rA − rB − rA + rB − λ∇∆NAB + ∇∆ij AB

(3.16) The clock bias error ∆βAB is then removed from the measurement, but this comes at the cost of increased measurement errors by increasing the noise, multipath and reducing the geometrical strength of the solution. [11]

3.4

Integer Ambiguity Resolution

Measuring the carrier phase difference between two receiver only provides information about the fraction of wavelengths between them. This is due to the sinusoidal

26

Attitude Determination

property of the carrier signal. The number of whole wavelength are unknown, and must be resolved in order to calculate the attitude. Once resolved, the number can be held fixed until the satellite disappears beneath the horizon, is blocked or a cycle slip occurs. There are numerous ways of determining the integer ambiguities. Most common is to perform a search through possible integer candidates, and evaluate them using distinguishing tests. Examples of test can be a baseline length test (since the baseline length is known) or phase residual tests where the difference between measured phase and predicted phase is compared. Other techniques uses a grid of guessed baselines, or separates the ambiguities into sets so that not all ambiguities are used in the actual search. There is also a brute force technique that calculates all possible baselines and candidates for a single ambiguity and tests them. When using longer baselines, or having a large number of satellites in view, extensive computational power is required for this technique, and it is therefor unsuited for real time applications or even post-processing applications. Dividing the satellites into a primary and a secondary set, speeds up the algorithm since only three ambiguities are required to calculate the three coordinates of the baseline. By forming the sets, the ambiguities for the primary set can be calculated using a brute force technique, leaving the search space for the secondary set considerably smaller. Calculating the baseline using the primary integers can then yield the secondary integers, as explained in [1], by:

~bp ∆Ns

= H†p (λ∆Np + ∆Φ) 1 = d (H~bp − ∆Φs )e λ (3.17)

where



 T eˆ1  2T   eˆ   H=  ..   .  T eˆn

and

3.4 Integer Ambiguity Resolution ~bp H†p ∆Np ∆Φ ∆Ns ∆Φs

-

Found baseline Pseudo-inverse of the primary line-of-sight vectors matrix H Primary satellite integers Single difference phase measurements Secondary satellite integers Single difference phase measurements to secondary satellites

27

Chapter 4

Implemented Algorithm This chapter gives the mathematics behind the implemented algorithms for both the integer ambiguity resolution and the attitude determination.

4.1

Integer Ambiguity Algorithm

Attitude determination using GPS requires carrier phase measurements from two or more antennas and resolved integer ambiguities for those measurements. The line-of-sight vector must be resolved in the external frame, then the antenna baseline vector can be found in the external frame. Knowledge of the baseline in the body frame provides the means for solving the rotation between the body and external frame, and the rotation angles roll, pitch and yaw is determined from the rotation matrix. [11] The algorithm that has been implemented for solving the integer ambiguities will be explained in this section. The integers are solved for one baseline at a time, and follows the algorithm described in [1] precisely. Since only three ambiguities are needed to calculate the three coordinates of the baseline, a primary set is formed with the best measurements. The best measurements are determined due to the satellite’s elevation, since high elevation satellite experience less atmospheric errors and multipath, and the geometry of the satellite. The geometry strength of a satellite are determined by its Position Dilution of Precision, PDOP. The PDOP is calculated by using the first three diagonal elements of the HT H matrix1 :

P DOP = 1 The

q

HT H(1, 1) + HT H(2, 2) + HT H(3, 3)

H is composed of the line-of-sight vectors as before

29

(4.1)

30

Implemented Algorithm

The combination of satellites that has the highest elevation that yields the lowest PDOP are chosen. The primary set is search for all combinations of integers. If a candidate baseline is found, it is subject to a length test, since the baseline length is precisely known. Baselines with too large length errors are discarded. If a baseline passes the length test, the secondary integers are derived from the baseline and a new baseline is calculated. Another length test is performed and if the candidate passes, it is stored in the search space. Figure 4.1 shows the search space for three satellites. The line-of-sight vectors are depicted with arrows, and the possible integer values are shown as concentric bands about the line-of-sight vectors. Every place where the three bands intersect is a possible integer candidate.

Figure 4.1. A search space formed with three satellites

To find the correct set of integers, a number of distinguishing test are performed. For each epoch the phase residuals of the candidates are calculated. The phase residuals are the difference between measured phase and predicted phase derived from the baseline and satellite direction. The correct integer set should have lower phase residuals than the second best set. A ratio test where the primary residuals divided by the secondary residuals should exceed a threshold α. α must be predetermined, which can be a bit tricky since the residuals vary greatly with noise and multipath disturbances. If a integer set is found, it is not immediately locked. The phase residuals are monitored for a few epochs, and if it passes all the tests each epoch, it is considered the right one.

4.2 Attitude Determination Algorithm

4.2

31

Attitude Determination Algorithm

Assuming that the single differences have been formed, there is no clock bias and i that the initial integer ambiguity has been resolved, the range difference ∆rAB contains information about the baseline geometry as [1]: T i ∆rAB = eˆi ~bAB

(4.2)

where eˆi ~bAB

= =

line-of-sight unit vector to satellite i in local frame l baseline vector between receiver A and B in local frame l

The line-of-sight vector is known in the local navigation frame, and the baseline is known in the body frame. When performing the rotation Clb , the attitude can be determined from the rotation matrix. In equation (4.3), the only unknown is the rotation matrix Clb which represents the rotation from the body frame to e.g. the local frame NED.

~bl

=

Clb~bb

i ∆rAB

=

eˆil Clb~bb

T

(4.3) The range difference can now be represented as: T

i eˆi Clb~b = ∆ΦiAB + λ∆NAB − ∆AB

(4.4)

Combining measurements to n satellites, and with m baselines, equation 4.4 yields:



 T eˆ1  2T   eˆ  l   .  Cb ~b1 ~b2  .   .  T eˆn

. . . ~bm



=

+

∆Φ1AC ∆Φ2AC .. .

 ∆Φ1AB ∆Φ2AB   ..  .

 ∆Φ1m ∆Φ2m   ..  + . 

∆ΦnAB ∆ΦnAC . . . ∆Φnm   1 1 1 ∆NAB ∆NAC . . . ∆Nm 2 2 2 ∆NAB ∆NAC . . . ∆Nm   λ . − . . .. .. ..   ..  . n ∆NAB



... ... .. .

∆AB

n ∆NAC

∆AC

...

... ∆m

n ∆Nm 

(4.5)

32

Implemented Algorithm

or with matrix representation: HClb b = ∆Φ + λ∆N − ∆

(4.6)

The corresponding equation for the double differences is similar, but here the H matrix consists of the differenced line-of-sight vectors: HClb b = ∇∆Φ + λ∇∆N − ∇∆

(4.7)

When the integers are resolved, and measurements have been made to three or more satellites, an overdetermined equation system is attained, that can be solved using a least-square approach:

H

T

HClb b

= ∇∆Φ + λ∇∆N − ∇∆

HClb b Clb b

= HT (∇∆Φ + λ∇∆N) =

(HT H)−1 HT (∇∆Φ + λ∇∆N) (4.8)

However, the attitude matrix Clb is nonlinear in Euler or quaternion parameterization. To solve for this, the equation must be linearized. The means for this ¯ l of the attitude linearizion is explained in [11], and it uses an initial estimate C b DCM matrix:   ~ C ¯ lb = I + [[δ θ]] ¯ lb Clb = δCC

(4.9)

~ where δC can be seen as a correction to the estimated attitude matrix, and [[δ θ]] is defined as the cross product matrix for a vector: 

0 ~ = −δθ3 [[δ θ]] δθ2

δθ3 0 −δθ1

 −δθ2 δθ1  0

(4.10)

After some rearranging from the initial equation, the measured and predicted phase after single differencing is presented as:

∆φ = ~bT Clb eˆ − λ∆N + ∆β + ∆ ¯ + ∆β¯ ¯ lb eˆ − λ∆N ∆φ¯ = ~bT C where

(4.11)

4.2 Attitude Determination Algorithm ∆φ ∆φ¯

= =

33

Measured differenced phase Predicted differenced phase

Thus the phase residual is defined to be the measured differenced phase minus the predicted differenced phase:

δφ = ∆φ − ∆φ¯

(4.12)

Finally, after rearranging and accumulation of n satellite measurements and m baselines, the equation yields:      ∆11 H11 δφ11  ..   ..  ~  ..   .  =  .  δθ +  .  

δφnm

Hnm

(4.13)

∆nm

where the H matrix elements are defined by:  ¯ lb eˆ T [[~b]] Hij = C The angle correction δ θ~ is solved for using the least-square technique explained before, assuming that the measurement errors are independent with zero mean, and the correction δC to the attitude matrix is computed using the Euler - DCM matrices.

δC = C1 (δθ1 )C2 (δθ2 )C3 (δθ3 )

(4.14)

~ the order in which the rotations are performed Note here that for small angles δ θ, does not matter. ¯ l is updated as: The predicted attitude matrix C b ¯ lb = δCC ¯ lb C

(4.15)

The correction of the attitude matrix is iterated until the small angle corrections δ θ~ are sufficiently small. ¯ l is a Euler 3-1-2 DCM as seen in equation 3.11, The resulting attitude matrix C b thus the attitude angles roll φ, pitch θ and yaw ϕ can be calculated from the ¯ l as [15]: rotation matrix C b

34

Implemented Algorithm

φ θ

¯ l (1, 3) −C b = tan ¯ l (3, 3) C b −1 l ¯ = sin Cb (2, 3)

!−1

¯ l (2, 1) −C b ¯ l (2, 2) C b

!−1

ϕ =

tan

(4.16)

Chapter 5

Hardware This chapter gives an introduction to the NovAtel Superstar II GPS receiver, and explains the hardware design that was a part of the thesis work. Two PCBs was designed, one primary that housed the Superstar receivers, RS-232 transceivers, antenna power supply and indicator circuitry, and a secondary PCB which housed the circuitry for the internal/external oscillator configuration, see section 5.2.4. The designed PCBs was fitted inside an aluminum housing with connectors in the back and indicators in the front, see figures 5.3 and 5.5.

5.1

The NovAtel Superstar II Receiver

The NovAtel Superstar II GPS receiver model used in this thesis work is a lowcost OEM board capable of receiving L1 C/A code and output position, range and phase measurements at 1 Hz1 . Communication with the Superstar is done using a serial interface, and the data output can either be request-based, or continuously outputted. The data is divided into several predefined proprietary binary messages [12], including a header in the beginning and a checksum at the end. Each data message has a corresponding request message, and these together with command messages, such as to reset receiver or initiate link, forms the binary protocol. For the attitude determination system, the necessary data required is the ephemeris, the carrier phase measurements and the position in ECEF coordinates. Also necessary is the pseudorange and the Doppler shift, but these were not provided by the receiver, so they had to be calculated using time and phase measurements in the software using equations given in the Superstar data sheet [12]. 1 There

are Superstar models available with other output frequencies such as 5 Hz

35

36

Hardware

Figure 5.1. NovAtel’s Superstar II OEM board GPS receiver with primary side to the left and secondary side to the right

Since this thesis is based on a previous thesis work, where an ADGPS system was developed using two high-grade receivers, the software already developed was ported to use the Superstar receivers. Software was also written to enable serial communication and to parse the binary messages that was transmitted by the receivers.

5.2

Hardware Design

The hardware required for the attitude determination system was designed after specifications given in the data sheets for the Superstar receiver [12][13]. It requires a 3.3V DC power supply, LVTTL/RS-232 voltage level converters for serial communication with a computer and a current limited power source for active antenna supply. In addition, the capability to add an external oscillator was added, as well as a variety of LED’s, switches and buttons. Appendices A and B shows the schematics for the designed PCBs.

5.2.1

Power Source

The Superstar receivers require 3.3V DC power supply, and since the system is supposed to be used in a car environment, which is 12V typically, a DC/DC converter is necessary. The converter chosen, a TRACO POWER TEN40-1210, takes an input of 9-18V and converts it to 3.3V at an efficiency of 86%. The high efficiency rate would provide a low temperature inside the housing, the input voltage range is enough to deal with the fluctuating conditions a 12V system

5.2 Hardware Design

37

Figure 5.2. General overview of the designed hardware

normally has2 .

5.2.2

RS-232 Transceiver

The system requires communications with a PC, in order to perform the calculations necessary to determine the attitude. The receiver’s receive and transmit outputs operates at LVTTL/CMOS levels while the PC uses the standard RS232 protocol voltage levels. To connect these together, two MAX3223E RS-232 transceivers [8] was added to the design. These ICs translates the voltage levels between the devices and allow communication’s between them.

5.2.3

Active Antenna Supply

Due to the fact that the GPS signal has very low amplitude once arrived at the antenna, an amplifier as close to the antenna as possible prevents unnecessary distortion and errors on the measurements. Active antennas have a built-in preamplifier but require power supply. If active antennas are to be used with the Superstar 2A

car may power as much as 14V during certain conditions such as engine start

38

Hardware

receivers, a current limited power source needs to be used to protect the RF frontend and the antennas against shorts [13]. The current limiters added to the design (four MAX4995C current limiters [9], one for each antenna) are connected in between the system’s power supply and the antenna supply. Thus, the antennas are powered with 3.3V even though 5V might have been preferred. This is done to save space on the PCB, rendering that extra voltage level unnecessary since all other circuitry are driven with 3.3V. There are plenty of active GPS antennas on the market that are capable of being driven with power as low as 2-3V, so this should not limit the system usage much. The MAX4995C provides a output signal that goes HIGH when the current is being limited, and it was connected to a LED on the front panel of the housing. In case the LED goes out, the user knows that the current is being limited, thus implying that something might be wrong with the antenna.

5.2.4

Oscillator

Usage of a common oscillator between the receivers removes part of the clock bias from the phase measurements3 . This improves the carrier phase measurements. The Superstar receiver in its standard form does not provide the means for using an external oscillator, but there is a footprint on the board where a coaxial connector can be soldered in. That, together with some additional modifications to the Superstar hardware, allows for the internal oscillator to be disconnected and the clock signal to be taken from that coaxial connector instead. This feature was used in the thesis to improve the measurements. The four receivers were modified to work using an external oscillator. An additional PCB provided a clock driver so that the oscillator could drive all four receivers. The oscillator connector is at the back of the housing, see figure 5.3. If no external oscillator is at hand, the attitude system can still run, using one of the Superstar’s internal oscillator. This clock signal is also fed through the clock driver, and a switch determines whether internal or external oscillator is used. However, the internal oscillator clock signal has to be biased to reach the voltage levels that the clock driver works around. The signal is also fed via three cascaded inverters to improve the signal to noise ratio, SNR, as this is a common approach. The internal clock biasing and noise reduction can be seen in figure 5.4. The upside-down mounted IC is a capsule with six inverters. This solution was not part of the original design, hence the patches made to the circuit board.

3 A common oscillator does not remove all of the clock bias. There is still some bias left between each receiver channel, and if different antenna cables are used

5.2 Hardware Design

39

Figure 5.3. Back panel of the housing with antenna and serial cable connector as well as power and external oscillator connectors.

Figure 5.4. Inside view of the designed hardware and housing

40

5.2.5

Hardware

Indicators

The Superstar is equipped with a few general purpose I/O pins to extend its usage. One of these I/Os outputs a one pulse per second, 1PPS, signal that can be used for time synchronization with e.g. a PC. Here it was only used as an indication. Only one of the receiver’s 1PPS output was used and connected to a MOSFET4 to drive a LED. The receivers set another I/O pin HIGH when a valid position has been found, and the signal was used to indicate that position is locked and measurement data can be outputted continuously from this point. All four signals were connected to LEDs with driving MOSFETs. Four LEDs to indicate TX traffic from the receivers, together with a POWER indicator and the antenna power indicators, completes the set of LEDs in the system, all of them mounted on the housing’s front panel, see figure 5.5.

Figure 5.5. Front panel of the housing, with the Power, 1PPS, Antenna, Position and Traffic indicators and Reset button

4 A MOSFET is a type of transistor commonly used as LED driver. It is connected so that the LED does not drain the signal

Chapter 6

Test Results To determine the performance of the ADGPS system, a series of tests were performed. The system was tested using both a static setup where the antenna mounting was held fixed to the ground, and dynamic tests where the antenna setup was mounted on a car, and driven through different terrains. For reference, an INS was mounted together with the GPS antennas connected to one of the high-cost GPS receivers used in the previous thesis work. The GPS receiver was used to aid the INS. The INS attitude and position was used as the truth. During the test runs, raw data transmitted from the Superstars were logged. The attitude algorithm was tested in post-processing, so that changes to the algorithm could be made. The system was not actually tested in real-time, since the raw binary data was only logged and then used in post-processing to determine the attitude. However, the system is capable of performing all the necessary calculations between each epoch (1 Hz). If only one baseline was locked, due to e.g. a cycle slip or an empty search space, attitude in two angles were still computed.

6.1

Test Platform

Four Aeroantenna AT575-90 single frequency L1 antennas with choke rings were mounted on the test platform, see figure 6.1. Multipath gives large errors in the measurements, and the choke rings would suppress some of it. The antennas were positioned in an array as in figure 6.2. The baseline lengths was approximately 65 cm, 69 cm and 89 cm for b1, b2 and b3 respectively. The GPS antennas were mounted on a rigid metal platform on the roof of a car together with a Honeywell H423 INS as a reference system. The Honeywell is 41

42

Test Results

Figure 6.1. Side view of the vehicle platform with the camera, INS and LegAnt antenna in the front and the four Aeroantennas in the back.

Figure 6.2. The antenna/baseline setup with body frame coordinates

6.2 Static Test

43

capable of determining attitude with an accuracy below a tenth of a degree, and it drifts less than 0.01o /h. A digital camera that was triggered by the system to take a picture each epoch was also mounted on the platform. The camera was used in post-processing to check the surrounding area when the attitude solution was poor, so that conclusions about the system’s multipath sensitivity could be determined among other things. Also there was a Javad LegAnt dual frequency antenna mounted to the platform, connected to one of the Javad Lexon GGD GPS receivers used in the previous thesis work, see figure 6.3. The Javad receiver was used to aid the INS system.

Figure 6.3. Front view of the vehicle platform, with the camera to the left, the INS in the middle and LegAnt antenna to the right.

6.2

Static Test

For the static test, the car was parked in an open area. Data was logged during approximately 20 minutes, and the INS system was turned on for the last couple of minutes. The static test provides information on the SNR for each satellite/receiver pair. The SNR affect the phase measurements so the best scenario would be for all of the receivers to experience the same SNR for a specific satellite, see figure 6.4. As seen in the figure, receiver one experience less SNR than the other receivers,

44

Test Results

Figure 6.4. Signal to noise ratio for the four Superstar receivers and satellites 27 and 18

and this is probably due to the fact that receiver one is used as the source for the internal oscillator, see section 5.2.4. This causes the integer ambiguity algorithm to lock on the wrong baseline or not find any candidates at all. A quick test to confirm this was to change the antenna setup so that receiver one defined antenna four in figure 6.2, while receiver two, which experienced a much higher SNR, defines antenna one. In this case, the number of locked epochs increased. The other, more obvious result of the static test is to see how the attitude deviates from the true solution during a time period where the surroundings do not interfere. Figure 6.5 shows the pitch and heading for the static test. The roll angle was not measured since only one baseline was locked. The attitude algorithm developed measures the heading angle rather than the yaw angle, since it is most often used in navigation. Heading is in the same plane as yaw and the conversion between them is simple: heading = 2Π − ϕ

(6.1)

In comparison to figure 6.5, the high-grade receivers used in the previous thesis work showed a deviation of approximately ±1o in heading and pitch in static tests, see [1].

6.3 Dynamic Tests

45

Figure 6.5. Static test, pitch and heading with the INS comparison

6.3

Dynamic Tests

Three test drives were performed with the antennas mounted to the car. The roads chosen was mainly open area but places where cycle slips should occur were passed as well. The camera mounted to the car was useful to determine the location of such areas. Appendix C shows the driven route. The INS system was used as the truth for attitude, and figure 6.6 shows the heading for one of the test drives. In the drive, the car was doing a slow circle and, as seen in the figure, the ADGPS system follows perfectly. Figure 6.7 shows a test drive where the car was driving faster. The ADGPS system noise increases here, and it does not follow the INS as accurately, but the deviation is still only ∼1o . In the last epoch, the ADGPS system looses lock of the baseline and seize to follow the INS. The results in pitch are similar, with noise levels in the ±1o region as seen in figure 6.8. However, the pitch motion registered by the INS to the right in the figure, is less than the ADGPS system’s noise, hence it can not register it. Unfortunately, there were no epochs during the test drives where a baseline was locked and the elevation angle (roll or pitch) was greater than ±1o . The ADGPS system should

46

Test Results

Figure 6.6. Slow dynamic test heading with the INS comparison.

be able to detect elevation angles greater than the noise level, but it was not confirmed during these tests.

6.3 Dynamic Tests

Figure 6.7. Fast dynamic test heading with the INS comparison.

47

48

Test Results

Figure 6.8. Fast dynamic test pitch with the INS comparison.

Chapter 7

Conclusions The thesis work concluded developing a hardware board carrying four GPS receivers that would allow communication between the receivers and a PC. Software was written to enable this communication, using the binary protocol that the receivers used. Algorithms to perform real-time attitude determination were also implemented in the PC. The whole system was then tested and compared to an INS. In this chapter, a performance evaluation is presented. The ADGPS system is compared with the previous thesis results and the INS system. A conclusion is given and improvements to the thesis are suggested.

7.1

Discussion

The designed hardware performed well during the software development phase as well as during the test drives. The internal/external oscillator changes to the receivers worked fine, even though some patches were required. The internal oscillator biasing however might be the cause of the SNR differences seen in figure 6.4, since ripples on the clock signal can propagate into the receiver front end and affect the SNR. Both the static and dynamic tests showed that the ADGPS system performance is good while the baselines are locked. A one degree deviation is to be expected due to receiver noise and measurement errors, and this is what the high-cost Javad receivers managed as well. That only one baseline is locked, and only locked for a short period of time is a big problem that is due to the satellite management software and not hardware specific. Satellites that have been removed from the solution due to bad signal integrity, a cycle slip or some other reason, reappears and causes the wrong baselines to be found or the right ones to be discarded. 49

50

Conclusions

Better satellite management would result in the right baselines to be locked, and stay locked until e.g. a cycle slip occurs, so that all three baselines are locked at the same time. All three attitude angles can only be calculated if at least two baselines are locked, and since the satellite management handler problem was unfortunately not solved completely due to lack of time, only two attitude angles could be calculated for the test drives. The dynamic test showed that when the vehicle moves at higher speed, the 1 Hz measurements are not fast enough to register the full curvature of the motion. For commercial ADGPS systems, output frequencies of 5 and 10 Hz are common. There are Superstar receiver models with 5 and 10 Hz output capability, and if the vehicle onto which the ADGPS system are to be mounted are supposed to be going in high speeds, a receiver model change should be considered.

7.2

Improvements and Future Work

The section about improvements is divided into a software and a hardware part, since the thesis work included both of these areas.

7.2.1

Hardware

Improvements on the hardware is first to incorporate the patches made to the design. The biasing of the internal oscillator signal was not part of the original design, and the schematic should be updated with the changes, and a new PCB would have to be manufactured. Also, there is no need for the circuitry to be separated into two PCBs. The design could be incorporated onto one PCB. The final design would then run on either internal or external oscillator without the need for any external components. A major improvement to the ADGPS-system would be to convert the four serial outputs into USB, like the COM-port-to-USB adapter used in the thesis work. That would give fewer cables and less connectors to the housing. Also, the buffering could be controlled more thoroughly. As of now, the internal buffering in the COM-port-to-USB converter slows down the program at the initial phase where communications are setup, causing the time of the receiver synchronization phase to increase. The final step in improving the hardware would be to convert the system into a stand-alone ADGPS system where a microcontroller performs the computations and logs the attitude data, much like the INS does today.

7.2 Improvements and Future Work

7.2.2

51

Software

The ADGPS system was only tested using two baselines, so the first and foremost improvement to the attitude determination algorithm is to incorporate the third baseline into the algorithm. It is possible to determine all three attitude angles using only two baselines, but adding a third would provide with extra measurements and provide a test of the baselines orientations. Thus it can easily be determined if the wrong baselines have been found. The attitude algorithm software is written so that the incorporation of the third baseline will not cause for any major changes. The only requirements is that the pitch angle for the third baseline needs to be rotated to either baseline one or two. The satellite management handling in the algorithm must be improved in order to prolong the number of epochs where the baselines are locked. Satellites with bad signal integrity must be removed from the solution, and events where new satellites are added, or when cycle slips occur must be handled better to achieve this.

Bibliography [1] Johan Bejeryd. GPS-based Attitude Determination. Master’s thesis, Linköping University, Department of Electrical Engineering, 2007. LiTHISY-EX–07/4127–SE. [2] Clark Emerson Cohen. Attitude Determination Using GPS: Developement of an all Solid-State Guidance, Navigation and Control Sensor for Air and Space Vehicles Based on the Global Positioning System. PhD thesis, Stanford University, 1992. [3] Paul D. Groves. Principals of GNSS, Inertial, and Multisensor Integrated Navigation Systems. Artech House Publishers, Inc., 2008. ISBN 1-58053-2551. [4] Javad. A gps tutorial. Webb page tutorial, Visited 3rd september 2009. http://www.javad.com/jns/index.html?/jns/gpstutorial/. [5] Elliott D. Kaplan. Understanding GPS: Principles and Applications. Artech House Publishers, Inc., 1996. ISBN 0-89006-793-7. [6] Jiun Han Keong. Determining Heading and Pitch Using a Single Difference GPS/GLONASS Approach. Master’s thesis, The University of Calgary, Department of Geomatics Engineering, 1999. UCGE Reports Number 20134. [7] Jack B. Kuipers. Quaternions and Rotation Sequences. Princeton University Press, 2002. ISBN 0-691-10298-8. [8] Maxim. Data Sheet: MAX3223: RS-232 transcievers with AutoShutdown, 5th edition, October 1996. Publication Number 19-0306. [9] Maxim. Data Sheet: MAX4995: 50mA to 600mA Programmable CurrentLimit Switch, 1st edition, June 2009. Publication Number 19-4363. [10] Pratap Misra et al. Global Positioning System: Signals, Measurements and Performance. Ganga-Jamuna Press, 2001. ISBN 0-9709544-0-9. [11] NavtechGPS. Course 326: GPS-based attitude determination. Seminar Notes, June 2007. Seminar held at Saab Bofors Dynamics AB, Linköping. 53

54

Bibliography

[12] NovAtel. Superstar II Reference Manual, 5th edition, June 2005. Publication Number OM-20000086. [13] NovAtel. Superstar II User Manual, 6th edition, June 2005. Publication Number OM-20000077. [14] SaabGroup.com. Official Homepage, http://www.saabgroup.com.

Visited 7th september 2009.

[15] John B. Schleppe. Development of a Real-Time Attitude System Using a Quaternion Parameterization and Non-Dedicated GPS Receivers. Master’s thesis, The University of Calgary, Department of Geomatics Engineering, 1996. UCGE Reports Number 20096. [16] Sandra Verhagen. The GNSS Integer Ambiguities: Estimation and Validation. PhD thesis, Delft University on Technology, Institute of Earth Observation and Space Systems, 2004. ISBN 90-804147-4-3. [17] Chaochao Wang. Development of a Low-Cost GPS-Based Attitude Determination System. Master’s thesis, The University of Calgary, Department of Geomatics Engineering, 2003. UCGE Reports Number 20175.

Appendix A

Schematic Primary PCB The schematic for the primary PCB, which includes the antenna current limiters, RS232 transceivers and power supply.

55

Schematic Primary PCB

Saab Bofors Dynamics

56

Appendix B

Schematic Secondary PCB The schematic for the secondary PCB includes the external oscillator circuitry with a switch and clock driver. The internal clock biasing and inverter cascading is not in this schematic since it was added post-manufacturing of the PCB.

57

Schematic Secondary PCB

Saab Bofors Dynamics

58

Appendix C

Test Drive Route The test drive routes is presented in figure C.1.

Figure C.1. Test drives route

59