Geoconnect is a specialist GNSS Dealer and offers Rugged Computing and Software Solutions

GPS signals (L1, L2, L5)

Global Positioning System (GPS) satellites broadcast radio signals to enable GPS receivers to determine location and synchronized time.

GPS signals include ranging signals, used to measure the distance to the satellite, and navigation messages. The navigation messages include ephemeris data, used to calculate the position of the satellite in orbit, and information about the time and status of the satellite constellation.

Original GPS signals

The original GPS design contains two ranging codes: the Coarse/Acquisition code or C/A, which is freely available to the public, and the restricted Precision code, or P-code, usually reserved for military applications.


The C/A code is a 1,023 bit long pseudonoise code (also pseudorandom binary sequence) (PN or PRN code) which, when transmitted at 1.023 megabits per second (Mbit/s), repeats everymillisecond. These sequences only match up, or strongly correlate, when they are exactly aligned. Each satellite transmits 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. This is a form ofCode Division Multiple Access (CDMA), which allows the receiver to recognize multiple satellites on the same frequency.


The P-code is also a PRN, however each satellite’s P-code PRN code is 6.1871 × 1012 bits long (6,187,100,000,000 bits) and only repeats once a week (it is transmitted at 10.23 Mbit/s). The extreme length of the P-code increases its correlation gain and eliminates any range ambiguity within the Solar System. However, the code is so long and complex it was believed that a receiver could not directly acquire and synchronize with this signal alone. It was expected that the receiver would first lock onto the relatively simple C/A code and then, after obtaining the current time and approximate position, synchronize with the P-code.

Whereas the C/A PRNs are unique for each satellite, the P-code PRN is actually a small segment of a master P-code approximately 2.35 × 1014 bits in length (235,000,000,000,000 bits) and each satellite repeatedly transmits its assigned segment of the master code.

To prevent unauthorized users from using or potentially interfering with the military signal through a process called spoofing, it was decided to encrypt the P-code. To that end the P-code was modulated with the W-code, a special encryption sequence, to generate the Y-code. The Y-code is what the satellites have been transmitting since the anti-spoofing module was set to the “on” state. The encrypted signal is referred to as the P(Y)-code.

The details of the W-code are kept secret, but it is known that it is applied to the P-code at approximately 500 kHz, which is a slower rate than that of the P-code itself by a factor of approximately 20. This has allowed companies to develop semi-codeless approaches for tracking the P(Y) signal, without knowledge of the W-code itself.


In addition to the PRN ranging codes, a receiver needs to know detailed information about each satellite’s position and the network. The GPS design has this information modulated on top of both the C/A and P(Y) ranging codes at 50 bit/s and calls it the Navigation Message.

The navigation message is made up of three major components. The first part contains the GPS date and time, plus the satellite’s status and an indication of its health. The second part contains orbital information called ephemeris data and allows the receiver to calculate the position of the satellite. The third part, called the almanac, contains information and status concerning all the satellites; their locations and PRN numbers.

Whereas ephemeris information is highly detailed and considered valid for no more than four hours, almanac information is more general and is considered valid for up to 180 days. The almanac assists the receiver in determining which satellites to search for, and once the receiver picks up each satellite’s signal in turn, it then downloads the ephemeris data directly from that satellite. A position fix using any satellite can not be calculated until the receiver has an accurate and complete copy of that satellite’s ephemeris data.

The navigation message itself is constructed from a 1,500 bit frame, which is divided into five subframes of 300 bits each and transmitted at 50 bit/s (therefore each subframe requires 6 seconds to transmit).

  • Subframe 1 contains the GPS date and time, plus satellite status and health.
  • Subframes 2 and 3, when combined, contain the transmitting satellite’s ephemeris data.
  • Subframes 4 and 5, when combined, contain 1/25th of the almanac; meaning 25 whole frames worth of data are required to complete the 15,000 bit almanac message. At this rate, 12.5 minutes are required to receive the entire almanac from a single satellite.


For the ranging codes and navigation message to travel from the satellite to the receiver, they must be modulated onto a carrier frequency. 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 Key (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 quadraturewith 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 EGNOS). 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.

Modernized GPS signals

Main article: GPS modernization

Having reached Full Operational Capability on July 171995[1] the GPS system had completed its original design goals. However, additional advances in technology and new demands on the existing system led to the effort to “modernize” the GPS system. Announcements from the Vice President and the White House in 1998 heralded the beginning of these changes and in 2000, the U.S. Congress reaffirmed the effort; referred to it as GPS III.

The project involves new ground stations and new satellites, with additional navigation signals for both civilian and military users, and aims to improve the accuracy and availability for all users. A goal of 2013 has been established with incentives offered to the contractors if they can complete it by 2011.


Modernized GPS civilian signals have two general improvements over their legacy counterparts; a dataless acquisition aid and Forward Error Correction (FEC) coding of the NAV message.

A dataless acquisition aid is an additional signal—called a pilot carrier in some cases—broadcast alongside the data signal. This dataless signal is designed to be easier to acquire than the data encoded and, upon successful acquisition, can be used to acquire the data signal. This technique improves acquisition of the GPS signal and boosts power levels at the correlator.

The second advancement is to use Forward Error Correction (FEC) coding on the NAV message itself. Due to the relatively slow transmission rate of NAV data (usually 50 bits per second) small interruptions can have potentially large impacts. Therefore, FEC on the NAV message is a significant improvement in overall signal robustness.


One of the first announcements was the addition of a new civilian-use signal, to be transmitted on a frequency other than the L1 frequency used for the Coarse Acquisition (C/A) signal. Ultimately, this became the L2C signal; so called because it is broadcast on the L2 frequency. Because it requires new hardware onboard the satellite, it is only transmitted by the so-called Block IIR-M and later design satellites. The L2C signal is tasked with improving accuracy of navigation, providing an easy to track signal, and acting as a redundant signal in case of localized interference.

Unlike the C/A code, L2C contains two distinct PRN code sequences to provide ranging information; the Civilian Moderate length code (called CM), and the Civilian Long length code (called CL). The CM code is 10,230 bits long, repeating every 20 ms. The CL code is 767,250 bits long, repeating every 1500 ms. Each signal is transmitted at 511,500 bits per second (bit/s), however they are multiplexedtogether to form a 1,023,000 bit/s signal.

CM is modulated with the CNAV Navigation Message (see below), where-as CL does not contain any modulated data and is called a dataless sequence. The long, dataless sequence provides for approximately 24 dB greater correlation (~250 times stronger) than L1 C/A-code.

When compared to the C/A signal, L2C has 2.7 dB greater data recovery and 0.7 dB greater carrier-tracking, although its transmission power is 2.3 dB weaker.


The CNAV data is an upgraded version of the original NAV navigation message. It contains higher precision representation and nominally more accurate data than the NAV data. The same type of information (Time, Status, Ephemeris, and Almanac) is still transmitted using the new CNAV format, however instead of using a frame / subframe architecture, it features a new pseudo-packetizedformat made up of 12-second 300-bit message packets.

In CNAV, two out of every four packets are ephemeris data and at least one of every four packets will include clock data, but the design allows for a wide variety of packets to be transmitted. With a 32-satellite constellation, and the current requirements of what needs to be sent, less than 75% of the bandwidth is used. And only a small fraction of the available packet types have been defined. This enables the system to grow and incorporate advances.

There are many important changes in the new CNAV message:

  • It uses Forward Error Correction (FEC) in a rate 1/2 convolution code, so while the navigation message is 25 bit/s, a 50 bit/s signal is transmitted.
  • The GPS week number is now represented as 13-bits, or 8192 weeks, and only repeats every 157.0 years, meaning the next return to zero won’t occur until the year 2137. This is longer compared to the L1 NAV message’s use of a 10-bit week number, which returns to zero every 19.6 years.
  • There is a packet that contains a GPS-to-GNSS time offset. This allows for interoperability with other global time-transfer systems, such as Galileo and GLONASS, both of which are supported.
  • The extra bandwidth enables the inclusion of a packet for differential correction, to be used in a similar manner to satellite based augmentation systems and can be used to correct the L1 NAV clock data.
  • Every packet contains an alert flag, to be set if the satellite data can not be trusted. This means users will know within 6 seconds if a satellite is no longer usable. Such rapid notification is important for safety-of-life applications, such as aviation.
  • Finally, the system is designed to support 63 satellites, compared with 32 in the L1 NAV message.


An immediate effect of having two civilian frequencies being transmitted is the civilian receivers can now directly measure the ionospheric error in the same way as dual frequency P(Y)-code receivers. However, if a user is utilizing the L2C signal alone, they can expect 65% more position uncertainty than with the L1 signal.

Defined in IS-GPS-200D

L5, Safety of Life

Civilian, safety of life signal planned to be available with first GPS IIF launch (2009).

Two PRN ranging codes are transmitted on L5: the in-phase code (denoted as the I5-code); and the quadrature-phase code (denoted as the Q5-code). Both codes are 10,230 bits long and transmitted at 10.23 MHz (1ms repetition). In addition, the I5 stream is modulated with a 10-bit Neuman-Hofmancode that is clocked at 1 kHz and the Q5-code is modulated with a 20-bit Neuman-Hofman code that is also clocked at 1 kHz.

  • Improves signal structure for enhanced performance
  • Higher transmitted power than L1/L2 signal (~3db, or twice as powerful)
  • Wider bandwidth provides a 10x processing gain
  • Longer spreading codes (10x longer than C/A)
  • Uses the Aeronautical Radionavigation Services band

The recently launched GPS IIR-M7 satellite transmits a demonstration of this signal.[2]


The L5 CNAV data includes SV ephemerides, system time, SV clock behavior data, status messages and time information, etc. The 50 bit/s data is coded in a rate 1/2 convolution coder. The resulting 100 symbols per second (sps) symbol stream is modulo-2 added to the I5-code only; the resultant bit-train is used to modulate the L5 in-phase (I5) carrier. This combined signal will be called the L5 Data signal. The L5 quadrature-phase (Q5) carrier has no data and will be called the L5 Pilot signal.


Broadcast on the L5 frequency (1176.45 MHz, 10.23 MHz × 115), which is an Aeronautical navigation band. Both the WRC-2000 added space signal component to this aeronautical band so aviation community can manage interference to L5 more effectively than L2. Defined in IS-GPS-705


Civilian use signal, broadcast on the L1 frequency (1575.42 MHz), which currently contains the C/A signal used by all current GPS users. The L1C will be available with first Block III launch, currently scheduled for 2013. Per the draft IS-GPS-800 specification, L1C was developed to serve as the baseline signal format for Japan’s Quasi-Zenith Satellite System (QZSS).

The PRN codes are 10,230 bits long and transmitted at 1.023 MHz. It uses both Pilot and Data carriers like L2C.

As of July 2007, the modulation technique has been finalized. The chosen method is to use BOC(1,1) for the data signal and TMBOC for the pilot. The Time Multiplexed Binary Offset Carrier(TMBOC) is BOC(1,1) for all except 4 of 33 cycles, when it switches to BOC(6,1). Of the total L1C signal power, 25% is allocated to the data and 75% to the pilot.

  • Implementation will provide C/A code to ensure backward compatibility
  • Assured of 1.5 dB increase in minimum C/A code power to mitigate any noise floor increase
  • Data-less signal component pilot carrier improves tracking
  • Enables greater civil interoperability with Galileo L1

Defined in IS-GPS-800

Source: Wikipedia.