Error detection and correction codes - philpem/libdmr GitHub Wiki
EDC/ECC methods used in DMR
Quadratic residue
Quadratic residue (16,7,6) encoding is used for the EMB field.
Golay
Golay (20,8) encoding is used for the Slot Type.
Hamming (7,4)
Hamming (7,4) encoding is used for the TACT bits.
Block Product Turbo Codes (BPTC)
DMR uses two block product turbo codes (BPTC):
- BPTC (196,96)
- Hamming (15,11,3) Row code with Hamming (13,9,3) Column code
- Variable Length BPTC
- Hamming (16,11,4) Row code with simple parity check Column code.
- Input length must be a multiple of 11 bits.
Rate 3/4 Trellis code (for Rate 3/4 Data)
TBD
Rate 1 Coded (for Rate 1 Data)
TBD
CRCs and checksums
Several CRC and checksum algorithms are also used:
- DMR 5-bit checksum (Embedded Signalling)
- 7-bit CRC (Reverse Channel signalling)
- 8-bit CRC (Short LC in CACH)
- CRC CCITT
- 32-bit CRC (Rate 1/3, 3/4, and 1 data; Response Data Block)
- CRC-9 (Rate 1/2, 3/4, and 1 data)