Day 11: Forming Messages in RTCM SC-104 Format
Lecturer: Dr. Andrew, Senior Researcher, Navigation Systems Laboratory
Date: March 2003
Part 1: Forming Messages in RTCM SC-104 (up to 2003)
Topic: Forming Messages in the RTCM SC-104 Format
Goal: Study the structure, message types, and application of the RTCM SC-104 format up to 2003.
Introduction
Andrew: Good afternoon, dear students! Today we will dive into the world of satellite navigation and examine the RTCM SC-104 format — the international standard that, in the late 1980s and 1990s, helped make GPS more accurate. Imagine it as a "letter with instructions" for GPS receivers, describing corrections to improve accuracy from 10 meters down to 1 meter. We will study its structure, the key message types, and examples of its application up to 2003. In the second part of the lecture, we will move on to what happened to this standard after 2004.
Brief conclusion: RTCM SC-104 is the basis of differential GPS correction up to the early 2000s.
General Structure of RTCM SC-104 Messages
Andrew: All messages in the RTCM SC-104 format are built on the same principle and are transmitted in 30-bit words. This ensures standardization and simplifies data processing. Each message begins with two standardized header words, followed by an information section whose content depends on the message type. Think of the message as a parcel: the header is the address and the stamp, while the content is the correction data.
| Word | Parameter | Bits | Range | Description |
|---|---|---|---|---|
| 1 | Preamble | 8 | 01100110 |
"Hello, I am an RTCM message!" |
| Message Type | 6 | 1–64 | Indicates what is inside (e.g., corrections) | |
| Station ID | 10 | 0–1023 | Number identifying the station | |
| Check Bits | 6 | — | Checksum for error checking | |
| 2 | Modified Z-count | 13 | 0–3599.4 s | Start time of the frame (0.6 s step) |
| Sequence Number | 3 | 0–7 | Order in the message chain | |
| Frame Length | 5 | 0–31 | Number of words in the message | |
| Station Integrity | 3 | See description | Station health status | |
| Check Bits | 6 | — | Another checksum | |
| 3–33 | Information Section | — | Depends on message type | Main data |
Andrew: Let us break down each field of the first and second words that make up the message header in more detail.
First Word:
- Preamble (8 bits, bits 1-8): Always the fixed bit sequence
01100110. It serves to identify the start of a new RTCM message by the receiver. Think of it as a "postal stamp" so the receiver knows an RTCM message has begun. - Message Type (6 bits, bits 9-14): Determines what type of information is transmitted in the message. There are many message types; values range from 1 to 64. It is like a note on the envelope saying "Urgent," "Personal," "Invoice," etc.
- Station ID (10 bits, bits 15-24): Identifies the specific reference station from which the message is being sent. Ranges from 0 to 1023, allowing over a thousand different stations.
- Check Bits (6 bits, bits 25-30): Part of the error-checking mechanism. They verify whether the data was distorted during transmission.
Second Word:
- Modified Z-count (13 bits, bits 1-13): Indicates the start time of the next frame and serves as a time reference for the parameters of the message. The step is 0.6 seconds, and its range is 0–3599.4 seconds.
- Sequence Number (3 bits, bits 14-16): Used for frame synchronization, helping the receiver track the sequence of messages, ranging from 0 to 7.
- Frame Length (5 bits, bits 17-21): Indicates the size of the message in 30-bit words. A value of "0" indicates that the frame length is 2 words (i.e., only the header).
-
Station Integrity (3 bits, bits 22-24): Conveys the operational status of the reference station:
- Values 0–5: Used by the service provider
- Value 6: No observed transmissions from the station
- Value 7: Station is not operational
- Check Bits (6 bits, bits 25-30): Another set of check bits for error checking.
Visualization (conceptual description): Imagine an RTCM SC-104 message as a train. The first "car" is the preamble (the locomotive, signaling the start). The second car is divided into sections: "Message Type," "Station ID," "Modified Z-count," etc. Cars from the third to the thirty-third are the "Information Section" (the freight cars with the useful data: corrections, coordinates, etc.). Each car ends with check bits (ensuring the cars are not lost and remain intact).
Example: A message starts with the bit sequence 01100110 000001 (preamble + message type "GPS Differential Corrections" – Type 1). It is like an address on a parcel, stating that it contains GPS corrections.
Brief conclusion: RTCM SC-104 messages have a strict and clear structure, enabling reliable data transmission and correct interpretation by the receiver.
RTCM SC-104 Message Types
Andrew: The RTCM SC-104 format supports up to 64 different message types. Each type is intended for transmitting a particular type of information. Let us examine the most important message types that were actively used up to 2003.
| Type | Content | Usage |
|---|---|---|
| 1 | GPS Differential Corrections | Improves GPS positioning accuracy |
| 3 | Reference Station Position in WGS-84 | Transmits station coordinates |
| 5 | GPS Integrity Information | Monitors and evaluates the health of GPS satellites |
| 18 | Uncorrected Carrier Phase Measurements | High-precision geodesy, scientific research |
| 19 | Uncorrected Pseudorange Measurements | Accurate distance measurements |
Detailed Review of Key Message Types
Type 1: GPS Differential Corrections
Andrew: Type 1, "GPS Differential Corrections," is, without exaggeration, the "workhorse" of the RTCM SC-104 standard. This message type is used to transmit differential corrections that significantly improve GPS positioning accuracy.
| Parameter | Bits | Range | Step | Description |
|---|---|---|---|---|
| Scale Factor (FS) | 1 | 0–1 | — | Indicates the corrections scale |
| UDRE | 2 | 0–3 | See table below | User Differential Range Error |
| Satellite ID (IDS) | 5 | 1–32 | — | GPS satellite number (PRN) |
| PRC | 16 | ±655.34 m or ±10485.44 m | 0.02 m or 0.32 m | Pseudorange Correction |
| RRC | 8 | ±0.254 m/s or ±4.064 m/s | 0.002 m/s or 0.032 m/s | Range Rate Correction |
| IOD | 8 | — | — | Issue of Data identifier |
Key parameters explained:
-
UDRE (User Differential Range Error): A two-bit field indicating the estimated reliability and accuracy of the differential correction:
- 0: UDRE ≤ 1 m (Highest accuracy)
- 1: 1 < UDRE ≤ 4 m (High accuracy)
- 2: 4 < UDRE ≤ 8 m (Medium accuracy)
- 3: UDRE > 8 m (Low accuracy)
-
Scale Factor (FS): Defines the scale for pseudorange (PRC) and range rate (RRC) corrections:
- FS = 0: PRC step = 0.02 m, RRC step = 0.002 m/s (High accuracy, smaller range)
- FS = 1: PRC step = 0.32 m, RRC step = 0.032 m/s (Lower accuracy, larger range)
- PRC (Pseudorange Correction): A 16-bit field with the differential pseudorange correction value. Example: If FS = 0 and PRC = 100, then the correction is 100 × 0.02 m = 2 m.
Practical Example: In 1995, surveyors actively used Type 1 messages for high-precision land measurements. Using differential corrections of Type 1 improved GPS positioning accuracy from about 10 meters to around 1 meter or better, opening new possibilities for cadaster work and land management.
Type 3: Reference Station Position in WGS-84
Andrew: Type 3 is for transmitting the precise coordinates of the reference station antenna in the WGS-84 geocentric coordinate system.
| Parameter | Bits | Step (m) | Range (m) |
|---|---|---|---|
| X Coordinate | 32 | 0.01 | ±21,474,836.47 |
| Y Coordinate | 32 | 0.01 | ±21,474,836.47 |
| Z Coordinate | 32 | 0.01 | ±21,474,836.47 |
Practice Assignment
Andrew: To consolidate the material, here is a small practical task.
Task: Suppose you received the following start of an RTCM SC-104 message of Type 1:
- Preamble:
01100110 - Message Type:
000001(Type 1 – GPS Differential Corrections) - Z-count (modified): binary
0011111010000, corresponding to the decimal value 1008 - Scale Factor (FS) = 0 (from the information section)
- Pseudorange Correction (PRC): binary corresponding to the decimal value 50
- Satellite ID (IDS) = 5, which corresponds to PRN 5
Question: Based on these data, calculate the pseudorange correction in meters.
Solution:
- FS = 0 means the PRC step is 0.02 m.
- The PRC value is 50.
- Pseudorange correction = PRC × step = 50 × 0.02 m = 1 m.
Answer: The pseudorange correction for PRN 5 is 1 meter.
Self-Check Questions (Part 1)
- What does the modified Z-count in RTCM SC-104 messages represent? Calculate the modified Z-count value in bits for a time of 1200 seconds.
- Why are there check bits in every word of an RTCM SC-104 message? Provide an everyday analogy where data integrity control is used.
- How do you calculate the pseudorange correction (PRC) for a Type 1 message if FS=1 and the PRC value in bits corresponds to decimal 200? Indicate the scale step and the units.
- How do you determine the geographic coordinates of a reference station from a Type 3 message if the X-coordinate in bits corresponds to decimal 100000? Indicate the scale step and the units.
- What does an SNR (signal-to-noise) value of 40 dBHz mean in a Type 5 "GPS Integrity Information" message? What range of SNR values is typical for Type 5 messages?
Part 2: Evolution of RTCM SC-104 from 2004 to the Present
Goal: Study the evolution of RTCM SC-104 after 2003 and its replacement by modern standards.
Introduction
Andrew: We have examined the RTCM SC-104 format in detail as it was used up to the early 2000s. However, technology does not stand still, and by 2004 it became clear that RTCM SC-104 was becoming obsolete. A need arose for a more accurate, compact, and universal standard, one that could support new satellite systems such as GLONASS and offer higher positioning accuracy. Imagine: if RTCM SC-104 is a reliable but outdated paper map, then RTCM 3.x is a modern smartphone GPS navigator with constantly updated maps and traffic information.
Transition to RTCM 3.x and Modern Standards
Andrew: Starting in 2004, the more advanced RTCM 3.x standard (including various versions like RTCM 3.0, 3.1, 3.2, 3.3) replaced RTCM SC-104. RTCM 3.x became the main standard for transmitting differential corrections and other GNSS data.
| Parameter | RTCM SC-104 (up to 2003) | RTCM 3.x (from 2004) | Comment |
|---|---|---|---|
| Correction Accuracy | 0.02 m step (Type 1) | Up to 0.001 m or better | 20+ times more accurate! |
| GLONASS Support | Limited, via Type 31 | Full support, same as GPS | Universal. Supports all modern GNSS |
| Message Size | Up to 33 (30-bit) words | More compact binary format | Efficiency. Smaller data volume |
| Extensibility | Limited, fixed message types | Flexible, modular | Adaptability. Easy to add new types |
| Compatibility | GPS-oriented | Multi-GNSS (GPS, GLONASS, Galileo, BeiDou) | Modern Systems. Multi-constellation support |
Andrew: As the comparison table shows, RTCM 3.x is a significant step forward compared to RTCM SC-104. The improvements cover almost every key characteristic of the standard.
Practical Example: In the 2010s, the RTCM 3.x standard became essential for high-precision applications. It enabled centimeter-level accuracy for precision agriculture, land surveying, mapping, and many other civil engineering tasks.
Modern Use of RTCM Standards
Andrew: Today, RTCM SC-104 has been almost entirely phased out. Modern GNSS receivers, software, and differential correction services are geared toward RTCM 3.x standards. However, it is important to note that the principles laid out in RTCM SC-104 formed the foundation for developing RTCM 3.x and other modern GNSS data transmission protocols.
Case: Imagine you are an engineer in a company developing precision agriculture systems. To achieve centimeter-level accuracy in controlling agricultural machinery, you must use RTK (Real-Time Kinematic) or PPK (Post-Processed Kinematic) technologies. In both cases, differential correction data is transmitted in RTCM 3.x format. Using RTCM SC-104 in modern precision agriculture would be inefficient and would not meet the required accuracy and functionality.
Practice Assignment (Part 2)
Andrew: To better understand the difference in efficiency between RTCM SC-104 and RTCM 3.x, let us solve the following problem:
Task: Calculate and compare the approximate volume of data required to transmit differential corrections for 8 GPS satellites using:
- RTCM SC-104, Message Type 1: Assume that sending corrections for one GPS satellite in Type 1 requires an average of 32 bits (information part only, excluding the header). Calculate the total data volume for 8 satellites, adding the size of the RTCM SC-104 header (the first two words).
- RTCM 3.x: Assume that RTCM 3.x can transmit the same data for these 8 satellites in half the size because of more efficient binary formatting and encoding. Calculate the data volume for RTCM 3.x.
- Evaluate the savings in bits and percentage when using RTCM 3.x compared to RTCM SC-104.
Solution:
-
RTCM SC-104:
- Information for 8 satellites: 8 × 32 bits = 256 bits
- Header size (2 words × 30 bits/word) = 60 bits
- Total RTCM SC-104 data volume: 256 + 60 = 316 bits
-
RTCM 3.x: Assumed 2 times more compact:
- 316 bits / 2 = 158 bits
-
Savings:
- Bit savings: 316 - 158 = 158 bits
- Percentage savings: (158 / 316) × 100% = 50%
Answer: Using RTCM 3.x in this example reduces the data volume by about 50% compared to RTCM SC-104, a significant advantage in bandwidth-limited transmissions.
Self-Check Questions (Part 2)
- Why did RTCM SC-104 become outdated and get replaced by RTCM 3.x? List the main drawbacks of RTCM SC-104 in the context of modern GNSS requirements.
- How did the RTCM 3.x standard improve the accuracy of differential corrections compared to RTCM SC-104? Provide examples of quantization steps for corrections in both standards.
- Name three examples of modern systems and technologies that actively use the RTCM 3.x standard for GNSS data transmission.
- What are the key differences in GLONASS support between RTCM SC-104 and RTCM 3.x? How does RTCM 3.x achieve multi-GNSS compatibility?
- How does a more compact RTCM 3.x message format affect transmission speed and overall GNSS system efficiency? Describe the benefits of compact data transmission in modern applications.
Discussion with Interested Students
Andrew: Now let us move on to a discussion and consider some questions that will help connect the material to real-world applications and modern trends in GNSS technology.
Question 1: In which areas of autonomous systems could RTCM SC-104 have been used before 2003, despite its limitations compared to modern standards? Provide examples and justify your opinion.
Answer (option): Even though RTCM SC-104 provided about 1-meter positioning accuracy, which is not very high by modern standards, it could have been used effectively in early autonomous systems where that level of accuracy was sufficient. For instance, in the first experimental autonomous vehicles from the 1980s and 1990s, RTCM SC-104 might have been utilized for basic GPS correction, enabling lane-keeping and rudimentary navigation. Another example could be early agricultural systems or some forms of land monitoring, where a meter-level accuracy was enough to perform simpler tasks.
Question 2: Why do you think RTCM 3.x became the de facto standard for modern high-precision GNSS instead of some other format? Which key advantages allowed RTCM 3.x such widespread adoption?
Answer (option): RTCM 3.x has become the leading high-precision GNSS standard due to several key advantages:
- High accuracy: Supports more precise corrections, down to centimeter-level accuracy.
- Multi-GNSS compatibility: Complete support for major constellations (GPS, GLONASS, Galileo, BeiDou), making it universal.
- Compactness and efficiency: Binary format and efficient encoding methods produce smaller messages and faster data transfer.
- Flexibility and extensibility: A modular structure and new message types allow the standard to evolve and adapt to new technologies.
- Wide industry support: Backed by RTCM (Radio Technical Commission for Maritime Services), an authoritative international body, and supported by GNSS equipment manufacturers and software developers worldwide.
Question 3: Are there current use cases where RTCM SC-104 might still be justified, despite being outdated? Provide examples, if any.
Answer (option): In today's high-precision GNSS environment, RTCM SC-104 use cases are extremely limited. However, one might find certain niche or legacy scenarios where it could still be acceptable or even advantageous, for instance:
- Obsolete systems: Some older monitoring or control systems introduced in the 1990s or early 2000s might still operate with hardware that only supports RTCM SC-104. Replacing it could be economically unfeasible, and maintaining SC-104 might be a temporary solution.
- Educational purposes: For teaching the fundamentals of differential GPS and correction protocols, RTCM SC-104 can be instructive due to its simpler structure compared to RTCM 3.x.
- Specialized low-dynamics, low-accuracy needs: In some niche applications where high accuracy isn't critical and movement is minimal (e.g., monitoring static objects over large areas), using RTCM SC-104 might be sufficient, especially if older, inexpensive hardware is available.
Andrew: In conclusion, although RTCM SC-104 played an important historical role in developing differential GPS, it has essentially yielded to more modern and capable standards like RTCM 3.x, offering the accuracy, reliability, and functionality required by a wide range of current GNSS applications.
Conclusion
Andrew: This concludes our lecture. Today, we examined the RTCM SC-104 format in detail: its structure, key message types, and usage up to 2003. We also looked at the standard's evolution and the transition to RTCM 3.x, the dominant standard in today's GNSS industry. I hope you found this lecture both informative and useful.
Key Takeaways:
-
RTCM SC-104 (up to 2003):
- Provided differential corrections with ~0.02 m precision (Type 1)
- Was the foundation of differential GPS in the 1990s and early 2000s
- Had limited GLONASS support and lower efficiency than modern standards
-
RTCM 3.x (from 2004 to present):
- Offers differential corrections down to ~0.001 m or better
- Is now the de facto standard for high-precision GNSS
- Provides full multi-GNSS support (GPS, GLONASS, Galileo, BeiDou, etc.), compactness, flexibility, and scalability
Andrew: Thank you for your attention and active participation. I hope the knowledge gained will be helpful in your future work and research in satellite navigation.
End of Lecture.