GPS signals are broadcast by Global Positioning System satellites to enable satellite navigation. Using these signals, receivers on or near the Earth's surface can determine their Position, Velocity and Time (PVT). The GPS satellite constellation is operated by the 2nd Space Operations Squadron (2SOPS) of Space Delta 8, United States Space Force.
GPS signals include ranging signals, which are used to measure the distance to the satellite, and navigation messages. The navigation messages include ephemeris data which are used both in trilateration to calculate the position of each satellite in orbit and also to provide information about the time and status of the entire satellite constellation, called the almanac.
There are four GPS signal specifications designed for civilian use. In order of date of introduction, these are: L1 C/A, L2C, L5 and L1C. L1 C/A is also called the legacy signal and is broadcast by all currently operational satellites. L2C, L5 and L1C are modernized signals and are only broadcast by newer satellites (or not yet at all). Furthermore, , none of these three signals are yet considered to be fully operational for civilian use. In addition to the four aforementioned signals, there are restricted signals with published frequencies and chip rates, but the signals use encrypted coding, restricting use to authorized parties. Some limited use of restricted signals can still be made by civilians without decryption; this is called codeless and semi-codeless access, and this is officially supported.Civilian GPS Receivers Actually do Have Access to the L2 Frequency .
The interface to the User Segment (GPS receivers) is described in the Interface Control Documents (ICD). The format of civilian signals is described in the Interface Specification (IS) which is a subset of the ICD.
Common characteristics The GPS satellites (called space vehicles in the GPS interface specification documents) transmit simultaneously several ranging codes and navigation data using binary phase-shift keying (BPSK). Only a limited number of central frequencies are used. Satellites using the same frequency are distinguished by using different ranging codes. In other words, GPS uses code-division multiple access. The ranging codes are also called chipping codes (in reference to CDMA/DSSS), pseudorandom noise (PRN) and pseudorandom binary sequences (in reference to the fact that the sequences are predictable yet that they statistically resemble noise).
Some satellites transmit several BPSK streams at the same frequency in quadrature, in a form of quadrature amplitude modulation. However, unlike typical QAM systems where a single bit stream is split into two, half-symbol-rate bit streams to improve spectral efficiency, the in-phase and quadrature components of GPS signals are modulated by separate (but functionally related) bit streams.
Satellites are uniquely identified by a serial number called space vehicle number (SVN) which does not change during its lifetime. In addition, all operating satellites are numbered with a space vehicle identifier (SV ID) and pseudorandom noise number (PRN number) which uniquely identifies the ranging codes that a satellite uses. There is a fixed one-to-one correspondence between SV identifiers and PRN numbers described in the interface specification. Unlike SVNs, the SV ID/PRN number of a satellite may be changed (resulting in a change to the ranging codes it uses). That is, no two active satellites can share any one active SV ID/PRN number. The current SVNs and PRN numbers for the GPS constellation are published at NAVCEN.
Legacy GPS signals The original GPS design contains two ranging codes: the coarse/acquisition (C/A) code, which is freely available to the public, and the restricted precision (P) code, usually reserved for military applications.
Frequency information
For the ranging codes and navigation message to travel from the satellite to the receiver, they must be modulated onto a carrier wave. In the case of the original GPS design, two frequencies are utilized; one at 1575.42 MHz (10.23 MHz × 154) called L1; and a second at 1227.60 MHz (10.23 MHz × 120), called L2.
The C/A code is transmitted on the L1 frequency as a 1.023 MHz signal using a bi-phase shift keying (BPSK) modulation technique. The P(Y)-code is transmitted on both the L1 and L2 frequencies as a 10.23 MHz signal using the same BPSK modulation, however the P(Y)-code carrier is in quadrature with the C/A carrier (meaning it is 90° out of phase).
Besides redundancy and increased resistance to jamming, a critical benefit of having two frequencies transmitted from one satellite is the ability to measure directly, and therefore remove, the ionospheric delay error for that satellite. Without such a measurement, a GPS receiver must use a generic model or receive ionospheric corrections from another source (such as the Wide Area Augmentation System or WAAS). Advances in the technology used on both the GPS satellites and the GPS receivers has made ionospheric delay the largest remaining source of error in the signal. A receiver capable of performing this measurement can be significantly more accurate and is typically referred to as a dual frequency receiver.
Modulation codes Coarse/acquisition code The C/A PRN codes are Gold codes with a period of 1023 chips transmitted at 1.023 Mchip/s, causing the code to repeat every 1 millisecond. They are exclusive-ored with a 50 bit/s navigation message and the result phase modulates the carrier as previously described. These codes only match up, or strongly autocorrelate when they are almost exactly aligned. Each satellite uses a unique PRN code, which does not correlate well with any other satellite's PRN code. In other words, the PRN codes are highly orthogonal to one another. The 1 ms period of the C/A code corresponds to 299.8 km of distance, and each chip corresponds to a distance of 293 m. Modern microcontrollers, even low cost ones, are able to measure phase angles well within 1% error. 1% of the given 1.023 Mchip/s results in approximately 10 nanoseconds. Since GPS signals propagate at the speed of light, this represents a positional accuracy of about 3 Meters.
The C/A codes are generated by combining (using "exclusive or") two bit streams, each generated by two different maximal period 10 stage linear-feedback shift registers (LFSR). Different codes are obtained by selectively delaying one of those bit streams. Thus: C/Ai(t) = A(t) ⊕ B(t-Di) where: C/Ai is the code with PRN number i. A is the output of the first LFSR whose generator polynomial is x → x10 + x3 + 1, and initial state is 11111111112. B is the output of the second LFSR whose generator polynomial is x → x10 + x9 + x8 + x6 + x3 + x2 + 1 and initial state is also 11111111112. Di is a delay (by an integer number of periods) specific to each PRN number i; it is designated in the GPS interface specification. ⊕ is exclusive or. The arguments of the functions therein are the number of bits or chips since their epochs, starting at 0. The epoch of the LFSRs is the point at which they are at the initial state; and for the overall C/A codes it is the start of any UTC second plus any integer number of milliseconds. The output of LFSRs at negative arguments is defined consistent with the period which is 1,023 chips (this provision is necessary because B may have a negative argument using the above equation).
The delay for PRN numbers 34 and 37 is the same; therefore their C/A codes are identical and are not transmitted at the same time (it may make one or both of those signals unusable due to mutual interference depending on the relative power levels received on each GPS receiver).
Precision code
The P-code is a PRN sequence much longer than the C/A code: 6.187104 x 1012 chips. Even though the P-code chip rate (10.23 Mchip/s) is ten times that of the C/A code, it repeats only once per week, eliminating range ambiguity. It was assumed that receivers could not directly acquire such a long and fast code so they would first "bootstrap" themselves with the C/A code to acquire the spacecraft ephemerides, produce an approximate time and position fix, and then acquire the P-code to refine the fix.
Whereas the C/A PRNs are unique for each satellite, each satellite transmits a different segment of a master P-code sequence approximately 2.35 x 1014 chips long (235,000,000,000,000 chips). Each satellite repeatedly transmits its assigned segment of the master code, restarting every Sunday at 00:00:00 GPS time. For reference, the GPS epoch was Sunday January 6, 1980 at 00:00:00 UTC, but GPS does not follow UTC exactly because GPS time does not incorporate leap seconds. Thus, GPS time is ahead of UTC by an integer (whole) number of seconds.
The P code is public, so to prevent unauthorized users from using or potentially interfering with it through spoofing, the P-code is XORed with W-code, a cryptographically generated sequence, to produce the Y-code. The Y-code is what the satellites have been transmitting since the anti-spoofing module was enabled. The encrypted signal is referred to as the P(Y)-code.
The details of the W-code are secret, but it is known that it is applied to the P-code at approximately 500 kHz,. about 20 times slower than the P-code chip rate. This has led to semi-codeless and codeless approaches for tracking the P(Y) signal without knowing the W-code in extremely accurate civilian positioning, where it helps correct for ionospheric delay when combined with L1CA. Unofficial use of L2P(Y) signals may be affected by future changes such as transmission power adjustments (potentially changing its phase). In 2008, the U.S. government agreed to not change the L2P(Y) phase until 2020. The intent is to have civilian users migrate to the L2C code which provides an equivalent benefit.
Navigation message + GPS message format Sub-frame Word Description1 1–2 Telemetry and handover words(TLM and HOW) 3–10 Satellite clock,GPS time relationship2–3 1–2 Telemetry and handover words(TLM and HOW) 3–10 Ephemeris(precise satellite orbit)4–5 1–2 Telemetry and handover words(TLM and HOW) 3–10 Almanac component(satellite network synopsis,error correction) In addition to the PRN ranging codes, a receiver needs to know the time and position of each active satellite. GPS encodes this information into the navigation message and modulates it onto both the C/A and P(Y) ranging codes at 50 bit/s. The navigation message format described in this section is called LNAV data (for legacy navigation).
The navigation message conveys information of three types: The GPS date and time, and the satellite's status. The ephemeris: precise orbital information for the transmitting satellite. The almanac: status and low-resolution orbital information for every satellite.
An ephemeris is valid for only four hours, while an almanac is valid–with little dilution of precision–for up to two weeks. The receiver uses the almanac to acquire a set of satellites based on stored time and location. As the receiver acquires each satellite, each satellite’s ephemeris is decoded so that the satellite can be used for navigation.
The navigation message consists of 30-second frames 1,500 bits long, divided into five 6-second subframes of ten 30-bit words each. Each subframe has the GPS time in 6-second increments. Subframe 1 contains the GPS date (week number), satellite clock correction information, satellite status and satellite health. Subframes 2 and 3 together contain the transmitting satellite's ephemeris data. Subframes 4 and 5 together contain one page of the 25-page almanac. The almanac is 15,000 bits long and the satellite takes 12.5 minutes to cycle through transmission of all 25 pages.
A frame begins at the start of the GPS week and every 30 seconds thereafter. Each week begins with the transmission of almanac page 1.