Field Guide · term

Also known as: EMB, embedded signalling header

The DMR EMB (Embedded signalling header) is the 16-bit control word that frames the signalling carried inside the 48-bit sync field of voice bursts B–F.1 A voice burst has no room for a separate signalling channel, so DMR reuses the central field: 16 EMB bits, split into an 8-bit half at each end, wrap a 32-bit fragment in the middle. The EMB itself carries three things — the 4-bit Color Code, a 1-bit PI (privacy/encryption indicator), and the 2-bit LCSS that marks where the enclosed fragment sits within a longer message — and is nominally protected by a QR(16,7,6) quadratic-residue code.2

EMB hi · 8 embedded fragment · 32 bits EMB lo · 8 EMB (16) = CC[15:12] · PI[11] · LCSS[10:9] · spare[8:0] LCSS: 00 single/null · 01 first · 11 continuation · 10 last
The 48-bit field splits into an 8-bit EMB half at each end wrapping a 32-bit fragment; the reassembled 16-bit EMB gives the color code, a privacy bit, and the LCSS position code.

Fields and LCSS

GopherTrunk reads the EMB systematically in internal/radio/dmr/emb.go. Within the 16-bit word (MSB-first) the Color Code is bits 15–12, PI is bit 11, and LCSS is bits 10–9; the remaining bits are spare. The LCSS (Link Control Start/Stop) is what turns four separate fragments into one message:

LCSS Bits Meaning
Single 00 single-fragment payload — a Reverse Channel word or the null idle
First 01 first fragment of a Full Link Control (burst B)
Continuation 11 continuation fragment (bursts C, D)
Last 10 last fragment of a Full LC (burst E)

SplitEmbeddedField takes the 48-bit field (one bit per byte, MSB-first) and returns the decoded EMB plus the 32-bit fragment; AssembleEmbeddedField is its inverse for building synthetic streams. A First → Continuation → Continuation → Last sequence across bursts B–E signals a four-fragment embedded Link Control; a Single fragment is handled on its own.

Impl-gap: QR(16,7) not applied

The ETSI spec protects the 7 EMB information bits with a QR(16,7,6) code. GopherTrunk does not apply it. The EMB bits are read systematically, and integrity is enforced downstream rather than at the EMB: the four-fragment embedded LC block has its own BPTC(128,72) + 5-bit checksum, and a single RC fragment is gated by the caller’s LCSS framing plus a null/idle rejection. This mirrors the capture-pending posture documented for the other embedded FEC layers (see emb.go and docs/status.md) — the QR check is a natural follow-up but is not on the critical path while the BPTC/CRC layers are the integrity gate.

Relevance to SDR

The EMB is what makes DMR’s in-band signalling usable to a downlink scanner. Reading it on every voice burst is how GopherTrunk knows a Color Code (a second, per-burst confirmation of the system identity from the slot type), whether the traffic is encrypted (PI), and — via LCSS — how to route each 32-bit fragment: accumulate it toward a Full LC, or decode it as a Reverse Channel word. The voice superframe decoder drives all of this from bursts B–E, so the EMB sits directly on the path from raw voice dibits to a labelled talkgroup call.

Sources

  1. Digital mobile radio — Wikipedia, on the DMR standard and its embedded voice-burst signalling. 

  2. Quadratic residue code — Wikipedia, on the QR code family the EMB’s nominal FEC belongs to. 

See also