libosmocoding  0.11.0-dirty
Osmocom GSM/GPRS/EGPRS L1 channel coding library
Parity

GSM TS 05.03 parity. More...

Files

file  gsm0503_parity.h
 

GSM TS 05.03 parity.


file  gsm0503_parity.c

Variables

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

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

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

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

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

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

EDGE MCS data parity.

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

EDGE MCS header parity.

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

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

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

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

GSM TCH FR/HR/EFR parity.

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

 All Data Structures Files Functions Variables Enumerations Enumerator Defines