75int osmo_conv_get_input_length(
const struct osmo_conv_code *code,
int len);
76int osmo_conv_get_output_length(
const struct osmo_conv_code *code,
int len);
126 int len,
int start_state);
132 const sbit_t *input,
int n);
136 ubit_t *output,
int has_flush,
int end_state);
Osmocom bit level support code.
uint8_t ubit_t
unpacked bit (0 or 1)
Definition bits.h:23
int8_t sbit_t
soft bit (-127...127)
Definition bits.h:22
void osmo_conv_encode_init(struct osmo_conv_encoder *encoder, const struct osmo_conv_code *code)
Initialize a convolutional encoder.
Definition conv.c:87
int osmo_conv_decode(const struct osmo_conv_code *code, const sbit_t *input, ubit_t *output)
All-in-one convolutional decoding function.
Definition conv.c:603
int osmo_conv_encode(const struct osmo_conv_code *code, const ubit_t *input, ubit_t *output)
All-in-one convolutional encoding function.
Definition conv.c:213
osmo_conv_term
possibe termination types
Definition conv.h:44
@ CONV_TERM_FLUSH
Flush encoder state.
Definition conv.h:45
@ CONV_TERM_TAIL_BITING
Tail biting.
Definition conv.h:47
@ CONV_TERM_TRUNCATION
Direct truncation.
Definition conv.h:46
structure describing a given convolutional code
Definition conv.h:56
int len
# of data bits
Definition conv.h:59
const uint8_t(* next_output)[2]
Next output array.
Definition conv.h:63
const uint8_t * next_term_state
Flush termination state
Definition conv.h:67
int N
Inverse of code rate.
Definition conv.h:57
enum osmo_conv_term term
Termination type.
Definition conv.h:61
const int * puncture
Punctured bits indexes.
Definition conv.h:69
int K
Constraint length.
Definition conv.h:58
const uint8_t * next_term_output
Flush termination output.
Definition conv.h:66
const uint8_t(* next_state)[2]
Next state array
Definition conv.h:64
convolutional decoder state
Definition conv.h:109
const struct osmo_conv_code * code
for which code?
Definition conv.h:110
uint8_t * state_history
state history [len][n_states]
Definition conv.h:121
unsigned int * ae
accumulated error
Definition conv.h:119
int len
Max o_idx (excl. termination)
Definition conv.h:114
unsigned int * ae_next
next accumulated error (tmp in scan)
Definition conv.h:120
int o_idx
output index
Definition conv.h:116
int n_states
number of states
Definition conv.h:112
int p_idx
puncture index
Definition conv.h:117
convolutional encoder state
Definition conv.h:84
const struct osmo_conv_code * code
for which code?
Definition conv.h:85
uint8_t state
Current state.
Definition conv.h:88
int p_idx
Current puncture index.
Definition conv.h:87
int i_idx
Next input bit index.
Definition conv.h:86