Field Guide · term

Also known as: NXDN frame, NXDN frame layout, NXDN superframe

The NXDN frame is the fixed 192-dibit (384-bit) unit that every NXDN transmission is built from, lasting 80 ms and carrying four fields in a fixed order: the Frame Sync Word (FSW), the LICH, the SACCH, and a 144-dibit information field.1 The structural layout is identical whether the channel runs the 4800-baud (BFSK) or 9600-baud (4FSK) air interface; the two rates differ only in how symbols map to bits, not in how the frame is divided.2

FSW 8 LICH 8 SACCH 32 information field — CAC / voice / data / FACCH 144 dibits 192 dibits = 384 bits · 80 ms · identical layout at 4800 and 9600 baud SACCH fragments reassemble across a group of frames (superframe)
Each NXDN frame packs an 8-dibit sync word, an 8-dibit LICH, a 32-dibit SACCH, and a 144-dibit information field into 192 dibits over 80 ms; the SACCH's short per-frame fragments accumulate across a superframe to reassemble a full signalling message.

The four fields

The frame divides at fixed dibit offsets, so once the FSW correlator locks the grid every downstream field lives at a known position:

Field Dibits Bits Offset Role
FSW 8 16 0 frame boundary marker (per-direction pattern)
LICH 8 16 8 8 info bits, bit-doubled — RF channel type, direction
SACCH 32 64 16 slow signalling, one fragment per frame
Information 144 288 48 CAC (control), VCH/UDCH (voice/data), or FACCH

The FSW is a fixed per-direction pattern; the LICH carries a heavily-protected 8-bit steering field; the SACCH carries a short slice of a longer control message; and the information field is the frame’s payload, whose meaning is selected by context. On a control channel that field carries the CAC (the RCCH signalling that grants calls); on a traffic channel it carries voice (VCH) or user data (UDCH), and it can be stolen frame-by-frame for in-band FACCH signalling.

Superframes and the SACCH

A single frame is only 80 ms, too short to carry a full control message inside its 64-bit SACCH, so NXDN groups frames into a superframe and spreads one SACCH message across the group. Each frame contributes one SACCH fragment; the receiver accumulates fragments until it holds the whole message, then decodes and CRC-checks it. This is the same “short-field-repeated-across-frames” strategy other digital land-mobile standards use to fit control signalling alongside voice without stealing payload from every frame — it trades latency (you wait a superframe for a complete message) for a steady low-rate signalling channel that runs underneath live traffic.

Relevance to SDR

internal/radio/nxdn/frame.go defines the frame geometry GopherTrunk decodes against: the FrameDibits (192), the per-field dibit counts, and the OffsetFSW/OffsetLICH/ OffsetSACCH/OffsetInfo constants that slice a captured frame into its fields. The Frame type exposes FSW(), LICH(), SACCH(), and Info() accessors that return exactly those sub-slices. Because the layout is rate-invariant, the same deframing code serves both NXDN channel rates — the demodulator absorbs the BFSK-versus-4FSK difference and hands the deframer a uniform dibit stream. The source flags that the exact dibit lengths follow the most-cited interpretation of the specification and should be confirmed against the published technical document before unusual captures are trusted; the field ordering and the 80 ms frame period, however, are stable across every NXDN reference.

Sources

  1. NXDN — Wikipedia, on the NXDN standard and its frame organisation. 

  2. Frame (networking) — Wikipedia, on the general notion of a fixed-layout transmission frame. 

See also