Color Code
Understanding Color Code
The term "color code" originates from early cellular radio planning, where frequency reuse patterns were drawn on maps using different colors to visually distinguish adjacent cell sites sharing the same frequency group. Each "color" represented a different co-channel identification code that allowed mobiles to distinguish between signals from the desired cell and interference from distant co-channel cells. The concept carried into modern digital radio standards as a lightweight, low-overhead mechanism for co-channel discrimination that does not require complex handshake protocols.
In DMR (Digital Mobile Radio, ETSI TS 102 361), the 4-bit color code is embedded in every TDMA burst within the CACH (Common Announcement Channel) and the embedded signaling field. The receiver checks this code against its programmed value within the first 30 ms of each burst, enabling rapid accept/reject decisions without processing the entire voice or data payload. Since DMR uses two-slot TDMA on each 12.5 kHz channel, each time slot on each frequency can carry a different color code, theoretically doubling the available co-channel discrimination. However, practical DMR deployments typically assign the same color code to both slots on a repeater to simplify network planning.
Digital Squelch System Comparison
42 sub-audible tones (67.0 to 254.1 Hz), transmitted continuously below voice band
DMR Color Code:
4-bit value (0 to 15) in CACH field of every TDMA burst (30 ms decision time)
P25 NAC:
12-bit value (0x000 to 0xFFF) in NID field of HDU/LDU frames
CTCSS provides 42 codes (3 adjacent sites can share same frequency with different tones), DMR provides 16 codes (sufficient for 4-site frequency reuse), P25 provides 4,096 codes (statewide public safety networks without code reuse conflicts).
Co-Channel Identification by Standard
| Standard | Identifier Name | Bit Width | Values | Location in Frame | Typical Use |
|---|---|---|---|---|---|
| DMR (Tier II/III) | Color Code | 4 bits | 0 to 15 | CACH + embedded | Repeater sites |
| P25 Phase 1 | NAC | 12 bits | 0x000 to 0xFFF | NID field | Public safety trunked |
| P25 Phase 2 | NAC | 12 bits | 0x000 to 0xFFF | SACCH/FACCH | TDMA public safety |
| TETRA | Color Code | 6 bits | 0 to 63 | Sync burst | European public safety |
| NXDN | RAN | 6 bits | 0 to 63 | LICH field | Conventional/trunked |
Frequently Asked Questions
How does a color code prevent co-channel interference?
When two repeaters share the same frequency, radios in the overlap zone receive both. The color code acts as a digital gate: the receiver checks the code in each frame header against its programmed value and discards non-matching frames. In DMR, this decision happens within 30 ms of each burst. This is functionally similar to CTCSS in analog systems but operates digitally with no audio bandwidth penalty.
What is the difference between a DMR color code and a P25 NAC?
Both prevent co-channel interference but differ in capacity. DMR uses 4-bit values (0 to 15, 16 codes) in the CACH field. P25 uses 12-bit NACs (0x000 to 0xFFF, 4,096 codes) in the NID field. The larger P25 space allows statewide public safety networks with unique site identifiers before reuse is needed, while DMR's 16 codes are sufficient for typical commercial repeater networks with 4-site frequency reuse patterns.
How are color codes assigned in a multi-site network?
Codes are assigned using frequency reuse patterns: adjacent same-frequency sites get different codes. With DMR's 16 codes, a 4-frequency/4-code reuse pattern prevents conflicts within interference range. Sites separated beyond the interference distance (20 to 50 km for VHF/UHF depending on terrain) can safely reuse codes. Network management systems track assignments and flag conflicts when new sites are proposed.