osmo-gmr: Convolutional coding

osmo-gmr 0.2.104-2b98 Osmocom GMR-1

Files | Enumerations | Functions | Variables
Convolutional coding
GMR-1 Layer 1 library » Channel coding primitives

## Files
file | conv.h
| Osmocom GMR-1 convolutional coding header.
file | conv.c
| Osmocom GMR-1 convolutional coding implementation.

## Enumerations
enum | osmo_conv_term

## Functions
int | osmo_conv_get_input_length (const struct osmo_conv_code *code, int len)
int | osmo_conv_get_output_length (const struct osmo_conv_code *code, int len)
void | osmo_conv_encode_init (struct osmo_conv_encoder *encoder, const struct osmo_conv_code *code)
void | osmo_conv_encode_load_state (struct osmo_conv_encoder *encoder, const ubit_t *input)
int | osmo_conv_encode_raw (struct osmo_conv_encoder *encoder, const ubit_t *input, ubit_t *output, int n)
int | osmo_conv_encode_flush (struct osmo_conv_encoder *encoder, ubit_t *output)
int | osmo_conv_encode (const struct osmo_conv_code *code, const ubit_t *input, ubit_t *output)
void | osmo_conv_decode_init (struct osmo_conv_decoder *decoder, const struct osmo_conv_code *code, int len, int start_state)
void | osmo_conv_decode_reset (struct osmo_conv_decoder *decoder, int start_state)
void | osmo_conv_decode_rewind (struct osmo_conv_decoder *decoder)
void | osmo_conv_decode_deinit (struct osmo_conv_decoder *decoder)
int | osmo_conv_decode_scan (struct osmo_conv_decoder *decoder, const sbit_t *input, int n)
int | osmo_conv_decode_flush (struct osmo_conv_decoder *decoder, const sbit_t *input)
int | osmo_conv_decode_get_best_end_state (struct osmo_conv_decoder *decoder)
int | osmo_conv_decode_get_output (struct osmo_conv_decoder *decoder, ubit_t *output, int has_flush, int end_state)
int | osmo_conv_decode (const struct osmo_conv_code *code, const sbit_t *input, ubit_t *output)
int | osmo_conv_decode_acc (const struct osmo_conv_code *code, const sbit_t *input, ubit_t *output)

## Variables
| CONV_TERM_FLUSH
| CONV_TERM_TRUNCATION
| CONV_TERM_TAIL_BITING
const struct osmo_conv_code | gmr1_conv_k5_12
| GMR-1 constraint length 5, rate 1/2 convolutional code.
const struct osmo_conv_code | gmr1_conv_k5_13
| GMR-1 constraint length 5, rate 1/3 convolutional code.
const struct osmo_conv_code | gmr1_conv_k5_14
| GMR-1 constraint length 5, rate 1/4 convolutional code.
const struct osmo_conv_code | gmr1_conv_k5_15
| GMR-1 constraint length 5, rate 1/5 convolutional code.
const struct osmo_conv_code | gmr1_conv_k6_14
| GMR-1 constraint length 6, rate 1/4 convolutional code.
const struct osmo_conv_code | gmr1_conv_k9_12
| GMR-1 constraint length 9, rate 1/2 convolutional code.
const struct osmo_conv_code | gmr1_conv_k9_13
| GMR-1 constraint length 9, rate 1/3 convolutional code.
const struct osmo_conv_code | gmr1_conv_k9_14
| GMR-1 constraint length 9, rate 1/4 convolutional code.
const struct osmo_conv_code | gmr1_conv_tch3
| GMR-1 TCH3 speech tail-biting convolutional code.
const struct osmo_conv_code | gmr1_conv_k5_12
| GMR-1 constraint length 5, rate 1/2 convolutional code. More...
const struct osmo_conv_code | gmr1_conv_k5_13
| GMR-1 constraint length 5, rate 1/3 convolutional code. More...
const struct osmo_conv_code | gmr1_conv_k5_14
| GMR-1 constraint length 5, rate 1/4 convolutional code. More...
const struct osmo_conv_code | gmr1_conv_k5_15
| GMR-1 constraint length 5, rate 1/5 convolutional code. More...
const struct osmo_conv_code | gmr1_conv_k6_14
| GMR-1 constraint length 6, rate 1/4 convolutional code. More...
const struct osmo_conv_code | gmr1_conv_k9_12
| GMR-1 constraint length 9, rate 1/2 convolutional code. More...
const struct osmo_conv_code | gmr1_conv_k9_13
| GMR-1 constraint length 9, rate 1/3 convolutional code. More...
const struct osmo_conv_code | gmr1_conv_k9_14
| GMR-1 constraint length 9, rate 1/4 convolutional code. More...
const struct osmo_conv_code | gmr1_conv_tch3
| GMR-1 TCH3 speech tail-biting convolutional code. More...

## Detailed Description

## Variable Documentation

## ◆ gmr1_conv_k5_12

const struct osmo_conv_code gmr1_conv_k5_12

Initial value:
= {
.N = 2,
.K = 5,
.len = 0,
.next_output = gmr1_conv_k5_12_next_output,
.term = CONV_TERM_FLUSH,
.next_state = gmr1_conv_k5_next_state,
}
CONV_TERM_FLUSH
CONV_TERM_FLUSH

GMR-1 constraint length 5, rate 1/2 convolutional code.

## ◆ gmr1_conv_k5_13

const struct osmo_conv_code gmr1_conv_k5_13

Initial value:
= {
.N = 3,
.K = 5,
.len = 0,
.term = CONV_TERM_FLUSH,
.next_output = gmr1_conv_k5_13_next_output,
.next_state = gmr1_conv_k5_next_state,
}

GMR-1 constraint length 5, rate 1/3 convolutional code.

## ◆ gmr1_conv_k5_14

const struct osmo_conv_code gmr1_conv_k5_14

Initial value:
= {
.N = 4,
.K = 5,
.len = 0,
.term = CONV_TERM_FLUSH,
.next_output = gmr1_conv_k5_14_next_output,
.next_state = gmr1_conv_k5_next_state,
}

GMR-1 constraint length 5, rate 1/4 convolutional code.

## ◆ gmr1_conv_k5_15

const struct osmo_conv_code gmr1_conv_k5_15

Initial value:
= {
.N = 5,
.K = 5,
.len = 0,
.term = CONV_TERM_FLUSH,
.next_output = gmr1_conv_k5_15_next_output,
.next_state = gmr1_conv_k5_next_state,
}

GMR-1 constraint length 5, rate 1/5 convolutional code.

## ◆ gmr1_conv_k6_14

const struct osmo_conv_code gmr1_conv_k6_14

Initial value:
= {
.N = 4,
.K = 6,
.len = 0,
.term = CONV_TERM_FLUSH,
.next_output = gmr1_conv_k6_14_next_output,
.next_state = gmr1_conv_k6_next_state,
}

GMR-1 constraint length 6, rate 1/4 convolutional code.

## ◆ gmr1_conv_k9_12

const struct osmo_conv_code gmr1_conv_k9_12

Initial value:
= {
.N = 2,
.K = 9,
.len = 0,
.term = CONV_TERM_FLUSH,
.next_output = gmr1_conv_k9_12_next_output,
.next_state = gmr1_conv_k9_next_state,
}

GMR-1 constraint length 9, rate 1/2 convolutional code.

## ◆ gmr1_conv_k9_13

const struct osmo_conv_code gmr1_conv_k9_13

Initial value:
= {
.N = 3,
.K = 9,
.len = 0,
.term = CONV_TERM_FLUSH,
.next_output = gmr1_conv_k9_13_next_output,
.next_state = gmr1_conv_k9_next_state,
}

GMR-1 constraint length 9, rate 1/3 convolutional code.

## ◆ gmr1_conv_k9_14

const struct osmo_conv_code gmr1_conv_k9_14

Initial value:
= {
.N = 4,
.K = 9,
.len = 0,
.term = CONV_TERM_FLUSH,
.next_output = gmr1_conv_k9_14_next_output,
.next_state = gmr1_conv_k9_next_state,
}

GMR-1 constraint length 9, rate 1/4 convolutional code.

## ◆ gmr1_conv_tch3

const struct osmo_conv_code gmr1_conv_tch3

Initial value:
= {
.N = 2,
.K = 7,
.len = 0,
.term = CONV_TERM_TAIL_BITING,
.next_output = gmr1_conv_tch3_next_output,
.next_state = gmr1_conv_tch3_next_state,
}
CONV_TERM_TAIL_BITING
CONV_TERM_TAIL_BITING

GMR-1 TCH3 speech tail-biting convolutional code.