Also known as: AACH, Access Assignment Channel, ACCESS-ASSIGN
The TETRA AACH (Access Assignment Channel) is the short signalling field carried in the centre of every TETRA downlink slot, whatever else the slot is doing.1 It carries a 14-bit ACCESS-ASSIGN PDU that names how the slot is being used — idle, control signalling, or a traffic call — and, on the uplink side, how random access to the slot is granted. Because it is present in all four TDMA slots regardless of their content, decoding the AACH frame by frame is how a receiver maps which slot is currently the control channel and which slots hold calls.
How it works
The 14 information bits split into a 2-bit access-assignment header followed by two
6-bit fields. The header selects how the fields are read. Header value 0 leaves the
downlink as common control by definition; the other three header values (DLF1_ULCA,
DLF1_ULAO, DLF1_ULF1) all place the downlink usage marker in field 1, while field 2
carries uplink-access information a downlink monitor does not need.
Those 14 bits are protected by a short block code rather than the convolutional chain the other signalling channels use. Per §8.3.1.1 the AACH skips RCPC and interleaving entirely: the RM(30,14) Reed–Muller code takes the 14 type-1 bits straight to 30 type-5 bits, which are then scrambled with the cell colour code. The receiver reverses that — descramble, then the maximum-likelihood RM(30,14) decode — and reports the corrected 14 bits plus a Hamming-distance metric that doubles as a confidence gate. GopherTrunk also runs a soft-decision variant of the decode that recovers the marker on marginal bursts the hard decoder mis-corrects.
The downlink usage marker
The field-1 value is the AACH’s most useful output. It is a per-slot enumeration:
| Marker | Meaning |
|---|---|
| 0 | Unallocated (idle) |
| 1 | Assigned control |
| 2 | Common control |
| 3 | Reserved |
| ≥ 4 | Traffic — the value itself identifies the call occupying the slot |
A marker of 1 or 2 means the slot is carrying control signalling; a marker of 4 or greater means it holds a call, and the marker value is the identifier that call was granted. That makes the AACH the demux key a voice follower routes by: the AACH decodes in every downlink slot, and a granted call’s usage marker matches the marker carried in its grant — the reliable way to keep concurrent same-carrier calls apart (see traffic slot mapping). It is also what lets a receiver follow a Single Carrier Base Station running dynamic MCCH sharing, where any of the four TDMA slots can act as the control channel at a given moment rather than a fixed slot 1.
Relevance to SDR
internal/radio/tetra/aach.go decodes the 14 recovered bits into an AccessAssign PDU and
exposes DownlinkUsage, IsControlChannel, and IsTraffic; the coding chain lives in
channel_coding.go (EncodeAACH / DecodeAACH / DecodeAACHSoft). Because the AACH sits
in the centre of the slot next to the training sequence, a receiver that has already
correlated the burst has the AACH dibits in hand for free, so reading the usage marker adds
almost nothing to the per-slot cost while giving the trunk-following engine a truthful,
slot-by-slot picture of what the carrier is carrying. The normal-frame interpretation here
covers frames 1–17; frame 18 carries the broadcast block and can reinterpret the fields,
which does not affect the steady-state downlink usage marker.
Sources
-
Terrestrial Trunked Radio — Wikipedia, on the TETRA air interface and its TDMA slot structure. ↩