Initially released in the 1990s and updated multiple times (e.g., IRN-153C-004, IRN-153D-001), the protocol supports both the legacy GPS L1 C/A-code and the encrypted P(Y)-code for precise positioning (PPS). It is the foundation for many military aviation receivers (e.g., DAGR, PLGR, and embedded GPS/INS systems). | Feature | Specification | |---------|----------------| | Physical layer | RS-422 (differential) or RS-232 (single-ended) | | Data rate | 4,800, 9,600, 19,200, 38,400, 115,200 baud (default 9,600) | | Data bits | 8 | | Parity | None | | Stop bits | 1 | | Message format | Binary (not ASCII) | | Update rate | Up to 20 Hz (depending on message type) | | Time synchronization | 1 PPS (pulse per second) output | | Security | Supports selective availability (SA) and anti-spoofing (A/S) modes | 3. Message Structure All ICD-GPS-153 messages are binary packets with a consistent frame structure:
| Field | Size (bytes) | Description | |-------|--------------|-------------| | Sync (Header) | 2 | Always 0xAA 0x55 (start of message) | | Message ID | 2 | Unique identifier for data type (e.g., 0x0010 = position) | | Length | 2 | Number of data bytes following this field | | Data | Variable | Payload per message ID | | Checksum | 2 | 16-bit CRC (CCITT polynomial: X^16 + X^12 + X^5 + 1) | icd-gps-153 protocol
| Offset | Type | Value Range | Description | |--------|------|-------------|-------------| | 0 | int32 | ±90° (scaled by 1e7) | Latitude (degrees * 10^7) | | 4 | int32 | ±180° (scaled by 1e7) | Longitude (degrees * 10^7) | | 8 | int32 | -1000 to 50000 m | Height above ellipsoid (m) | | 12 | int16 | 0–65535 | Time of week (ms) | | 14 | uint8 | bitmask | Fix quality: 0=no fix, 2=2D, 3=3D | | 15 | uint8 | 0–12 | Number of satellites used | | 16 | float32 | -1.0 to +1.0 | Horizontal dilution of precision (HDOP) | | 20 | uint8 | — | System status (reserved) | | 21 | uint8 | — | Altitude source flag | Value = 37.1234567 × 10^7 = 371,234,567 → stored as 0x1A 0x5F 0x1F 0x16 (little-endian). 6. Command Example: Set Output Rate to 10 Hz To request position updates at 10 Hz, the host sends Message 0x0412: Initially released in the 1990s and updated multiple
1. Introduction ICD-GPS-153 (Interface Control Document for GPS User Equipment) is a technical standard published by the U.S. Space and Missile Systems Center (SMC). It defines the electrical, mechanical, and data protocol interfaces between a GPS receiver and an external host system (e.g., a navigation computer, weapon system, or display unit). Unlike consumer-oriented NMEA 0183, ICD-GPS-153 is designed for high-integrity, high-update-rate military and aviation applications . Unlike consumer-oriented NMEA 0183