libosmocoding 1.13.1.1-afb4 Osmocom GSM/GPRS/EGPRS L1 channel coding library

Files | Variables
Parity

GSM TS 05.03 parity. More...

## Files
file | gsm0503_parity.h
| GSM TS 05.03 parity.
file | gsm0503_parity.c

## Variables
const struct osmo_crc64gen_code | gsm0503_fire_crc40
| GSM (SACCH) parity (FIRE code) More...
const struct osmo_crc16gen_code | gsm0503_cs234_crc16
| GSM PDTCH CS-2, CS-3, CS-4 parity. More...
const struct osmo_crc8gen_code | gsm0503_mcs_crc8_hdr
| EDGE MCS header parity. More...
const struct osmo_crc16gen_code | gsm0503_mcs_crc12
| EDGE MCS data parity. More...
const struct osmo_crc8gen_code | gsm0503_rach_crc6
| GSM RACH parity. More...
const struct osmo_crc16gen_code | gsm0503_sch_crc10
| GSM SCH parity. More...
const struct osmo_crc8gen_code | gsm0503_tch_fr_crc3
| GSM TCH FR/HR/EFR parity. More...
const struct osmo_crc8gen_code | gsm0503_tch_efr_crc8
| GSM TCH EFR parity. More...
const struct osmo_crc8gen_code | gsm0503_amr_crc6
| GSM AMR parity. More...
const struct osmo_crc16gen_code | gsm0503_amr_crc14
| GSM AMR parity (SID_UPDATE) More...
const struct osmo_crc64gen_code | gsm0503_fire_crc40
| GSM (SACCH) parity (FIRE code) More...
const struct osmo_crc16gen_code | gsm0503_cs234_crc16
| GSM PDTCH CS-2, CS-3, CS-4 parity. More...
const struct osmo_crc8gen_code | gsm0503_mcs_crc8_hdr
| EDGE MCS header parity. More...
const struct osmo_crc16gen_code | gsm0503_mcs_crc12
| EDGE MCS data parity. More...
const struct osmo_crc8gen_code | gsm0503_rach_crc6
| GSM RACH parity. More...
const struct osmo_crc16gen_code | gsm0503_sch_crc10
| GSM SCH parity. More...
const struct osmo_crc8gen_code | gsm0503_tch_fr_crc3
| GSM TCH FR/HR/EFR parity. More...
const struct osmo_crc8gen_code | gsm0503_tch_efr_crc8
| GSM TCH EFR parity. More...
const struct osmo_crc8gen_code | gsm0503_amr_crc6
| GSM AMR parity. More...
const struct osmo_crc16gen_code | gsm0503_amr_crc14
| GSM AMR parity (SID_UPDATE) More...

## Detailed Description

GSM TS 05.03 parity.

This module contains parity/crc code definitions for the various parity/crc schemes as defined in 3GPP TS 05.03 / 45.003

## Variable Documentation

## ◆ gsm0503_amr_crc14 [1/2]

const struct osmo_crc16gen_code gsm0503_amr_crc14
| extern

GSM AMR parity (SID_UPDATE)

g(x) = x^14 + x^13 + x^5 + x^3 + x^2 + 1

Referenced by gsm0503_tch_afs_decode_dtx(), and gsm0503_tch_ahs_decode_dtx().

## ◆ gsm0503_amr_crc14 [2/2]

const struct osmo_crc16gen_code gsm0503_amr_crc14

Initial value:
= {
.bits = 14,
.poly = 0x202d,
.init = 0x0000,
.remainder = 0x3fff,
}

GSM AMR parity (SID_UPDATE)

g(x) = x^14 + x^13 + x^5 + x^3 + x^2 + 1

Referenced by gsm0503_tch_afs_decode_dtx(), and gsm0503_tch_ahs_decode_dtx().

## ◆ gsm0503_amr_crc6 [1/2]

const struct osmo_crc8gen_code gsm0503_amr_crc6
| extern

GSM AMR parity.

g(x) = x^6 + x^5 + x^3 + x^2 + x^1 + 1

Referenced by gsm0503_tch_afs_decode_dtx(), gsm0503_tch_afs_encode(), gsm0503_tch_ahs_decode_dtx(), and gsm0503_tch_ahs_encode().

## ◆ gsm0503_amr_crc6 [2/2]

const struct osmo_crc8gen_code gsm0503_amr_crc6

Initial value:
= {
.bits = 6,
.poly = 0x2f,
.init = 0x00,
.remainder = 0x3f,
}

GSM AMR parity.

g(x) = x^6 + x^5 + x^3 + x^2 + x^1 + 1

Referenced by gsm0503_tch_afs_decode_dtx(), gsm0503_tch_afs_encode(), gsm0503_tch_ahs_decode_dtx(), and gsm0503_tch_ahs_encode().

## ◆ gsm0503_cs234_crc16 [1/2]

const struct osmo_crc16gen_code gsm0503_cs234_crc16
| extern

GSM PDTCH CS-2, CS-3, CS-4 parity.

g(x) = x^16 + x^12 + x^5 + 1

Referenced by gsm0503_pdtch_decode(), and gsm0503_pdtch_encode().

## ◆ gsm0503_cs234_crc16 [2/2]

const struct osmo_crc16gen_code gsm0503_cs234_crc16

Initial value:
= {
.bits = 16,
.poly = 0x1021,
.init = 0x0000,
.remainder = 0xffff,
}

GSM PDTCH CS-2, CS-3, CS-4 parity.

g(x) = x^16 + x^12 + x^5 + 1

Referenced by gsm0503_pdtch_decode(), and gsm0503_pdtch_encode().

## ◆ gsm0503_fire_crc40 [1/2]

const struct osmo_crc64gen_code gsm0503_fire_crc40
| extern

GSM (SACCH) parity (FIRE code)

g(x) = (x^23 + 1)(x^17 + x^3 + 1) = x^40 + x^26 + x^23 + x^17 + x^3 + a1

Referenced by _xcch_decode_cB(), _xcch_encode_cB(), gsm0503_pdtch_decode(), and gsm0503_pdtch_encode().

## ◆ gsm0503_fire_crc40 [2/2]

const struct osmo_crc64gen_code gsm0503_fire_crc40

Initial value:
= {
.bits = 40,
.poly = 0x0004820009ULL,
.init = 0x0000000000ULL,
.remainder = 0xffffffffffULL,
}

GSM (SACCH) parity (FIRE code)

g(x) = (x^23 + 1)(x^17 + x^3 + 1) = x^40 + x^26 + x^23 + x^17 + x^3 + a1

Referenced by _xcch_decode_cB(), _xcch_encode_cB(), gsm0503_pdtch_decode(), and gsm0503_pdtch_encode().

## ◆ gsm0503_mcs_crc12 [1/2]

const struct osmo_crc16gen_code gsm0503_mcs_crc12
| extern

EDGE MCS data parity.

Referenced by egprs_decode_data(), and egprs_encode_data().

## ◆ gsm0503_mcs_crc12 [2/2]

const struct osmo_crc16gen_code gsm0503_mcs_crc12

Initial value:
= {
.bits = 12,
.poly = 0x0d31,
.init = 0x0000,
.remainder = 0x0fff,
}

EDGE MCS data parity.

Referenced by egprs_decode_data(), and egprs_encode_data().

## ◆ gsm0503_mcs_crc8_hdr [1/2]

const struct osmo_crc8gen_code gsm0503_mcs_crc8_hdr
| extern

EDGE MCS header parity.

Referenced by _egprs_decode_hdr(), and egprs_encode_hdr().

## ◆ gsm0503_mcs_crc8_hdr [2/2]

const struct osmo_crc8gen_code gsm0503_mcs_crc8_hdr

Initial value:
= {
.bits = 8,
.poly = 0x49,
.init = 0x00,
.remainder = 0xff,
}

EDGE MCS header parity.

Referenced by _egprs_decode_hdr(), and egprs_encode_hdr().

## ◆ gsm0503_rach_crc6 [1/2]

const struct osmo_crc8gen_code gsm0503_rach_crc6
| extern

GSM RACH parity.

g(x) = x^6 + x^5 + x^3 + x^2 + x^1 + 1

Referenced by gsm0503_rach_ext_encode(), and rach_decode_ber().

## ◆ gsm0503_rach_crc6 [2/2]

const struct osmo_crc8gen_code gsm0503_rach_crc6

Initial value:
= {
.bits = 6,
.poly = 0x2f,
.init = 0x00,
.remainder = 0x3f,
}

GSM RACH parity.

g(x) = x^6 + x^5 + x^3 + x^2 + x^1 + 1

Referenced by gsm0503_rach_ext_encode(), and rach_decode_ber().

## ◆ gsm0503_sch_crc10 [1/2]

const struct osmo_crc16gen_code gsm0503_sch_crc10
| extern

GSM SCH parity.

g(x) = x^10 + x^8 + x^6 + x^5 + x^4 + x^2 + 1

Referenced by gsm0503_sch_decode(), and gsm0503_sch_encode().

## ◆ gsm0503_sch_crc10 [2/2]

const struct osmo_crc16gen_code gsm0503_sch_crc10

Initial value:
= {
.bits = 10,
.poly = 0x175,
.init = 0x000,
.remainder = 0x3ff,
}

GSM SCH parity.

g(x) = x^10 + x^8 + x^6 + x^5 + x^4 + x^2 + 1

Referenced by gsm0503_sch_decode(), and gsm0503_sch_encode().

## ◆ gsm0503_tch_efr_crc8 [1/2]

const struct osmo_crc8gen_code gsm0503_tch_efr_crc8
| extern

GSM TCH EFR parity.

g(x) = x^8 + x^4 + x^3 + x^2 + 1

Referenced by gsm0503_tch_fr_decode(), and gsm0503_tch_fr_encode().

## ◆ gsm0503_tch_efr_crc8 [2/2]

const struct osmo_crc8gen_code gsm0503_tch_efr_crc8

Initial value:
= {
.bits = 8,
.poly = 0x1d,
.init = 0x00,
.remainder = 0x00,
}

GSM TCH EFR parity.

g(x) = x^8 + x^4 + x^3 + x^2 + 1

Referenced by gsm0503_tch_fr_decode(), and gsm0503_tch_fr_encode().

## ◆ gsm0503_tch_fr_crc3 [1/2]

const struct osmo_crc8gen_code gsm0503_tch_fr_crc3
| extern

GSM TCH FR/HR/EFR parity.

g(x) = x^3 + x + 1

Referenced by gsm0503_tch_fr_decode(), gsm0503_tch_fr_encode(), gsm0503_tch_hr_decode2(), and gsm0503_tch_hr_encode().

## ◆ gsm0503_tch_fr_crc3 [2/2]

const struct osmo_crc8gen_code gsm0503_tch_fr_crc3

Initial value:
= {
.bits = 3,
.poly = 0x3,
.init = 0x0,
.remainder = 0x7,
}

GSM TCH FR/HR/EFR parity.

g(x) = x^3 + x + 1

Referenced by gsm0503_tch_fr_decode(), gsm0503_tch_fr_encode(), gsm0503_tch_hr_decode2(), and gsm0503_tch_hr_encode().