Loading...
Searching...
No Matches
osmo_conv_code Struct Reference
Convolutional encoding and decoding routines

structure describing a given convolutional code More...

`#include <conv.h>`

## Data Fields

int | N
| Inverse of code rate.
int | K
| Constraint length.
int | len
enum osmo_conv_term | term
| Termination type.
const uint8_t(* | next_output )[2]
| Next output array.
const uint8_t(* | next_state )[2]
| Next state array.
const uint8_t * | next_term_output
| Flush termination output.
const uint8_t * | next_term_state
| Flush termination state.
const int * | puncture
| Punctured bits indexes.

## Detailed Description

structure describing a given convolutional code

The only required fields are N,K and the next_output/next_state arrays. The other can be left to default value of zero depending on what the code does. If 'len' is left at 0 then only the low level API can be used.

## Field Documentation

## K

int osmo_conv_code::K

Constraint length.

Referenced by gen_output(), gen_recursive_output(), gen_recursive_state_info(), gen_state_info(), generate_trellis(), osmo_conv_decode(), osmo_conv_decode_acc(), osmo_conv_decode_flush(), osmo_conv_decode_get_output(), osmo_conv_decode_init(), osmo_conv_encode(), osmo_conv_encode_flush(), osmo_conv_encode_load_state(), osmo_conv_get_output_length(), and vdec_init().

## len

int osmo_conv_code::len

# of data bits

Referenced by osmo_conv_decode(), osmo_conv_decode_acc(), osmo_conv_decode_init(), osmo_conv_encode(), osmo_conv_get_input_length(), and vdec_init().

## N

int osmo_conv_code::N

Inverse of code rate.

Referenced by _conv_encode_do_output(), gen_output(), gen_recursive_output(), gen_recursive_state_info(), gen_state_info(), generate_trellis(), osmo_conv_decode(), osmo_conv_decode_acc(), osmo_conv_decode_flush(), osmo_conv_decode_scan(), osmo_conv_get_output_length(), and vdec_init().

## next_output

const uint8_t(* osmo_conv_code::next_output)[2]

Next output array.

Referenced by gen_output(), gen_recursive_output(), gen_recursive_state_info(), osmo_conv_decode_flush(), osmo_conv_decode_scan(), osmo_conv_encode_flush(), and osmo_conv_encode_raw().

## next_state

const uint8_t(* osmo_conv_code::next_state)[2]

Next state array.

Referenced by osmo_conv_decode_flush(), osmo_conv_decode_get_output(), osmo_conv_decode_scan(), osmo_conv_encode_flush(), and osmo_conv_encode_raw().

## next_term_output

const uint8_t* osmo_conv_code::next_term_output

Flush termination output.

Referenced by conv_code_recursive(), gen_recursive_output(), osmo_conv_decode_flush(), and osmo_conv_encode_flush().

## next_term_state

const uint8_t* osmo_conv_code::next_term_state

Flush termination state.

Referenced by osmo_conv_decode_flush(), and osmo_conv_encode_flush().

## puncture

const int* osmo_conv_code::puncture

Punctured bits indexes.

Referenced by _conv_encode_do_output(), osmo_conv_decode_acc(), osmo_conv_decode_flush(), osmo_conv_decode_scan(), and osmo_conv_get_output_length().

## term

enum osmo_conv_term osmo_conv_code::term

Termination type.

Referenced by generate_trellis(), osmo_conv_decode(), osmo_conv_decode_acc(), osmo_conv_decode_get_best_end_state(), osmo_conv_encode(), osmo_conv_get_output_length(), and vdec_init().

The documentation for this struct was generated from the following file:

- include/osmocom/core/conv.h