Plaque It!
Sponsored by: Flash of Genius |
[0001] 1. Technical Field
[0002] This invention relates generally to protocols and, in particular, to acquisition of global positioning signal.
[0003] 2. Related Art
[0004] The global positioning satellite (GPS) system is a satellite based navigation system having a network of 24 satellites, plus on orbit spares, orbiting 11,000 nautical miles above the Earth. Each satellite in the system orbits the Earth every twelve hours.
[0005] A prime function of GPS satellites is to serve as a clock that keeps GPS time. Each satellite derives a signal from an on board 10.23 MHz Cesium atomic clock. GPS time is kept in terms of seconds and weeks since Jan. 6, 1980. There are 604,800 seconds per week. Consequently, GPS time is stated in terms of a time of week (TOW) and a week number. TOW ranges from 0 to 604800. The week number started with week zero and is currently in excess of 1000 weeks. The TOW can have a fractional part, such as in the real time clock, where the resolution is {fraction (1/32,768)}
[0006] Each satellite transmits a GPS spread spectrum signal having an individual pseudo noise (PN) code. By transmitting several GPS signals over the same spectrum with each GPS signal having distinctly different PN coding sequences, the satellites may share the same bandwidth without interfering with each other. The PN codes used in the GPS system are 1023 bits long and are sent at a rate of 1.023 megabits per second, yielding a time mark, called a “chip” approximately once every micro-second. The sequence repeats once every millisecond and is called the course acquisition code (C/A code). Every 20
[0007] There are 32 PN codes designated by the GPS authority for use in orbiting satellites. Additional codes are designated for other purposes. Twenty-four PN codes are assigned to current satellites in orbit. The remaining PN codes are spare codes that may be used in new satellites to replace old or failing satellites. A GPS receiver may, using the different PN code sequences, search the signal spectrum looking for a match. If the GPS receiver finds a match, then it is able to identify the satellite that generated the GPS signal.
[0008] GPS receivers may use a variant of radio direction finding (RDF) methodology, called triangulation, in order to determine the position on the Earth of the GPS receiver. The position determination is different from the RDF technology in that the radio beacons are no longer stationary; they are satellites moving through space at a speed of about 1.8 miles per second as they orbit the Earth. By being spaced based, the GPS system can be used to establish the position of virtually any point on Earth using a triangulation method.
[0009] The triangulation method depends on the GPS receiver units obtaining a time signal from multiple GPS satellites enabling the distance to each satellite to be calculated. If, for example, the GPS satellite is 11,000 nautical miles from the GPS receiver, then the GPS receiver must be somewhere on a location sphere having a radius of 11,000 nautical miles from the GPS satellite. When the GPS receiver ascertains the position of a second GPS satellite, then the GSP receiver calculates its location based on a location sphere around the second GPS satellite. The possible location of the GPS receiver on the two spheres lies at there intersects and forms a circle. To further resolve the location of the GPS receiver, the distance from a third GPS satellite to the GPS receiver is determined to be a location sphere around the third GPS satellite. The location sphere of the third satellite intersects the location circle produced by the intersection of the location sphere of the first two GPS satellites at just two points. By determining the location sphere of one more GPS satellite, whose location sphere will intersect one of the two possible location points, the precise position of the GPS receiver is determined. As a consequence of the GPS system, the exact time may also be determined, because there is only one time offset that can account for the positions of all the satellites. The triangulation method may yield positional accuracy on the order of 30 meters, however the accuracy of GPS position determination may be degraded due to signal strength and multipath reflections of the satellite signals.
[0010] GPS receivers may have visibility of as many as 12 GPS satellite signals at one time at the surface of the earth. The number of orbiting satellites that are visible depends on the location of the receiver and the locations of the satellites at a given point in time. The number visible in an unobstructed location may vary from approximately 5 to 12 satellites. In certain environments such as a canyon, some GPS satellites may be blocked out, and the GPS position determining system may depend for position information on satellites that have weaker signal strengths, such as GPS satellites near the horizon. In other cases overhead foliage may reduce the signal strength of the GPS satellites that are received by the GPS receiver unit. In either case the signal strength is reduced.
[0011] There are multiple ways of using radio spectrum to communicate. For example in frequency division multiple access (FDMA) systems, the frequency band is divided into a series of frequency slots and different transmitters are allotted different frequency slots. In time division multiple access (TDMA) systems, the time that each transmitter may broadcast is limited to a time slot, such that transmitters transmit their messages one after another during an allotted period. Furthermore, the frequency upon which each transmitter transmits in a TDMA system may be a constant frequency or may be continuously changing (commonly referred to as frequency hopping).
[0012] A third way of allotting the radio spectrum to multiple users is through the use of code division multiple access (CDMA) also known as spread spectrum communication. In a CDMA system, all users transmit on the same frequency band all of the time. Each user has a dedicated code that is used to separate his transmission from transmissions from other users. This dedicated code is commonly referred to as a spreading code, because it spreads the information across the band. The code is also commonly referred to as a Pseudo Noise or PN code. In a CDMA transmission, each bit of transmitted data is replaced by a particular spreading code associated with a user. If the data to be transmitted is a binary “1”, then the particular spreading code is transmitted. If the data to be transmitted is a binary “0”, then the spreading code is replaced by the inverse of the spreading code.
[0013] To decode the transmission at the receiver it is necessary to “despread” the code. The despreading process takes the incoming signal and multiplies it by the spreading code and sums the results. This process is commonly known as correlation, and it is commonly said that the signal is correlated with the PN code. The result of the despreading process is that the original data may be separated from all other transmissions, and the original signal is recovered. A property of PN codes used in CDMA systems is that the presence of one spread spectrum code does not change the result of the decoding of another code. The property that one code does not interfere with the presence of another code is often referred to as orthogonality, and codes that possess this property are said to be orthogonal codes.
[0014] The process of extracting data from a spread spectrum signal is commonly known by many terms, including correlation, decoding, and despreading. The codes used by a spread spectrum system are commonly referred to by a variety of terms including, but not limited to, PN (Pseudo Noise) codes, PRC (Pseudo Random Codes), spreading codes, despreading codes, and orthogonal codes.
[0015] It is because CDMA spreads the data across the broadcast spectrum that CDMA is often referred to as spread spectrum. The global positioning system (GPS) uses spread spectrum technology to convey data to ground units. The use of spread spectrum is especially advantageous in the GPS systems. Spread spectrum technology enables GPS receivers to operate on a single frequency, thus saving on additional electronics that would be needed to switch and tune to other bands if multiple frequencies were used. A spread spectrum system also minimizes power consumption requirements compared to other types of radio systems. GPS transmitters for example require 50 watts or less and tolerate substantial interference.
[0016] A GPS receiver determines its position by measuring the range to four or more satellites. Since the positions of the satellites are known by evaluating their orbital equations, the location of the receiver can then be computed. The orbital equations are based on parameters broadcast by the satellites. For precise position, the more precise ephemeris parameters are required. In order to determine the range to a satellite, knowledge of GPS system time must be known, because the orbital equations are a function of time. The satellites orbit the earth about twice per day. The normal procedure is to use synchronization and time data provided by the GPS signal from each satellite. Using this procedure requires at least 6 seconds because the synchronization is repeated one time in each 6-second sub-frame of the GPS signal structure.
[0017] The use of data collection from the satellite to resolve GPS time requires at least 6 seconds to decode the required data to provide a common time error for all of the satellite signals being received. When the initial time and position data are accurate to better than ±0.5 PN code period (±0.5 ms), the common value of time error for all satellites can be computed without the need to obtain this data from the satellites' signal structure. Advances in digital integrated circuit technology allows acquisition of the PN codes of several satellites in less than a second rather than the tens of seconds requires a few years ago. Hence the minimum six second penalty to establish a common time error by the conventional approach is now the dominant time delay in realizing the initial position solution. In many applications, it is critical to provide position updates with minimized expenditure of energy from a battery. This can be done most efficiently if most circuitry of the receiver can be turned off between position updates. With the circuitry off, synchronization with the received waveforms of the various satellites is lost and has to be reestablished for the next position update. What is needed in the art is an approach to maintaining time between updates with low power consumption penalties and an approach to resolving code-period range ambiguity to a GPS satellite system in tens of milliseconds, rather than several seconds.
[0018] Broadly conceptualized, the invention is an approach to rapidly, relative to known methods, identify the location of a GPS receiver. The GPS receiver receives a number of GPS signal from at least four GPS satellites and determines pseudo ranges (range measurements with a bias error that is common to all of the measurements) to each of the four satellites by resolving the code-period ambiguity of the range and determining the current received code phase being received from each satellite. Using the pseudo range and the location of each of the transmitting GPS satellites, the GPS receiver determines the coordinates of its location by solving the pseudo navigation equations simultaneously for the receiver location and local time base clock error. Thus, the GPS receiver is able to resolve the location of the GPS receiver in less time than traditional approaches while avoiding the always on power consumption penalties.
[0019] Other systems, methods, features and advantages of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims.
[0020] The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the figures, like reference numerals designate corresponding parts throughout the different views.
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027] In
[0028] In
[0029] A PN code period that is 1 millisecond long represents approximately three hundred kilometers in terms of distance (speed-of-light times propagation time=2.99792458e
[0030] A chip Ck
[0031] where:
[0032] (x, y, z) are coordinates for the receiver;
[0033] (x
[0034] R is the estimated a priori range from the satellite to the receiver;
[0035] c is the speed of light (299792458 m/s)
[0036] C
[0037] C
[0038] Ĉ
[0039] L
[0040] In
[0041] If the receiver has a local clock having an error of less than 0.5 ms relative to GPS time, the 6-seconds required for synchronization can be avoided and the position solution can be determined as soon as three or more satellites are in track. Note that the error in the receiver's initial estimate of its position is equivalent to an error in its initial estimate of GPS system time. Hence a more precise statement of the requirements is that the combined error in the receiver's initial time estimate and the equivalent time error due to its initial position error must be less than 0.5 ms.
[0042] The requirement of a maximum error of 0.5 ms arises as follows. The propagation time from a satellite to a receiver on the surface of the earth is approximately 70 ms. The propagation time is less if the satellite is directly overhead and is more when the satellite is near the horizon, with the maximum variation being approximately the radius of the earth. The time of one period of the PN code of a given satellite is 1 ms. Hence, there are on average 70 periods of the PN code propagating from the satellite to the receiver at any point in time. Once the receiver has locked onto the PN code, it knows to a fraction of a microsecond which point in the PN code period is being received at a given instant. The receiver knows a priori which point in the overall GPS signal structure is being transmitted at any instant of time. However, without knowledge of GPS system time, the receiver cannot know where in the overall signal structure the PN code period it is currently receiving is located. On the other hand, if the receiver does know GPS system time to better than 0.5 ms (better than one half of a code period), then it can determine where this code period fits in the overall GPS signal structure. Using the initial time estimate in the orbital equations provides estimates of satellite positions. These position estimates along with the initial position of the receiver, allows the propagation time from the satellite to the receiver to be known to better than 0.5 ms. This propagation time along with the initial time value provides an estimate of which PN chip of the code period should currently be expected to arrive at the receiver. Since the receiver is synchronized to the PN waveform, it knows which chip is actually being received at the present time. The difference in these two values represents the combined error in the receiver's initial estimate of time and position. If the receiver could determine the error in its time estimate, it could then solve for the position error. With measurements from four or more satellites, the receiver can simultaneously solve for three dimensional position and time. The time error is the same in the propagation time measurement for each of the four or more satellites because all but the position in the final code period propagating from the satellite to the receiver is known from the initial time and position data. If this were not true, the time error to each satellite would have an additional component of some number of full code periods (1 ms increments) more or less than the correct value. Resolving the values of these added parameters is far more difficult.
[0043] In
[0044] Upon reception of the GPS signal from at least three GPS satellites
[0045] It is possible that an erroneous measurements may occur or a sudden change in location of the GPS receiver
[0046] By avoiding the need to collect a sub-frame to establish local GPS time reduces the position update time by up to 6 seconds and allows updates to occur in a fraction of a second. Faster acquisition time results in faster position determination and in mobile communication systems means quicker location identification and reduced response time.
[0047] In
[0048] The navigation processor
[0049] The radio receiver
[0050] The GPS matched filter
[0051] The GPS oscillator is a 10.949 MHz oscillator. A more precise value is 137*F
[0052] The local GPS clock generator
[0053] Both the GPS oscillator
[0054] An A/D converter
[0055] The real time clock
[0056] The real time clock
[0057] The edge aligned ratio counter
[0058] The navigation processor
[0059] The calculation of the GPS receiver location and error in the receiver GPS time is partially dependent on the RTC time epochs from the real time clock
[0060] Turning to
[0061] If the ephemeris data is available, then the frequency error of the GPS oscillator
[0062] If the code phases are identified (
[0063] Using the calculated pseudo ranges (
[0064] It is appreciated by those skilled in the art that the process shown in
[0065] Additionally, machine-readable signal bearing medium includes computer-readable signal bearing mediums. Computer-readable signal bearing mediums have a modulated carrier signal transmitted over one or more wire based, wireless or fiber optic networks or within a system. For example, one or more wire based, wireless or fiber optic network, such as the telephone network, a local area network, the Internet, or a wireless network having a component of a computer-readable signal residing or passing through the network. The computer readable signal is a representation of one or more machine instructions written in or implemented with any number of programming languages.
[0066] Furthermore, the multiple process steps implemented with a programming language, which comprises an ordered listing of executable instructions for implementing logical functions, can be embodied in any machine-readable signal bearing medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, controller-containing system having a processor, microprocessor, digital signal processor, discrete logic circuit functioning as a controller, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
[0067] While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible that are within the scope of this invention.