Data Structures | |
struct | _convolutional_code_ |
Defines | |
#define | IT_CONVOLUTIONAL_CODE(q) IT_CAST(it_convolutional_code_t, q) |
#define | it_convolutional_code_encode(it_this, b) __it_convolutional_code_encode(IT_CONVOLUTIONAL_CODE(it_this), b) |
#define | it_convolutional_code_encode_symbolic(it_this, b) __it_convolutional_code_encode_symbolic(IT_CONVOLUTIONAL_CODE(it_this), b) |
#define | it_cc_encode(cc, b) it_convolutional_code_encode(cc, b) |
#define | it_cc_encode_symbolic(cc, b) it_convolutional_code_encode_symbolic(cc, b) |
#define | it_cc_decode(cc, v) it_convolutional_code_decode(cc, v) |
#define | it_cc_next(cc, s, b) it_convolutional_code_trellis_next(cc, s, b) |
#define | it_cc_label(cc, s, b) it_convolutional_code_trellis_label(cc, s, b) |
Typedefs | |
typedef struct _convolutional_code_ | it_convolutional_code_t |
Functions | |
it_instanciate (it_convolutional_code_t) | |
static it_convolutional_code_t * | it_convolutional_code_new (imat generators, int feedback) |
static bvec | __it_convolutional_code_encode (it_convolutional_code_t *it_this, bvec b) |
static ivec | __it_convolutional_code_encode_symbolic (it_convolutional_code_t *it_this, ivec b) |
static int | it_convolutional_code_trellis_label (it_convolutional_code_t *cc, int state, int symbol) |
static int | it_convolutional_code_trellis_next (it_convolutional_code_t *cc, int state, int symbol) |
ivec | it_viterbi_decode_symbolic (it_convolutional_code_t *cc, mat metrics) |
bvec | it_viterbi_decode (it_convolutional_code_t *cc, mat metrics) |
#define it_cc_decode | ( | cc, | |||
v | ) | it_convolutional_code_decode(cc, v) |
Definition at line 118 of file convcode.h.
#define it_cc_encode | ( | cc, | |||
b | ) | it_convolutional_code_encode(cc, b) |
#define it_cc_encode_symbolic | ( | cc, | |||
b | ) | it_convolutional_code_encode_symbolic(cc, b) |
Definition at line 117 of file convcode.h.
Referenced by trellis_coded_quantizer_dequantize(), and trellis_coded_quantizer_quantize().
#define it_cc_label | ( | cc, | |||
s, | |||||
b | ) | it_convolutional_code_trellis_label(cc, s, b) |
Definition at line 120 of file convcode.h.
Referenced by convolutional_code_encode(), and convolutional_code_encode_symbolic().
#define it_cc_next | ( | cc, | |||
s, | |||||
b | ) | it_convolutional_code_trellis_next(cc, s, b) |
Definition at line 119 of file convcode.h.
Referenced by convolutional_code_encode(), and convolutional_code_encode_symbolic().
#define IT_CONVOLUTIONAL_CODE | ( | q | ) | IT_CAST(it_convolutional_code_t, q) |
#define it_convolutional_code_encode | ( | it_this, | |||
b | ) | __it_convolutional_code_encode(IT_CONVOLUTIONAL_CODE(it_this), b) |
Definition at line 88 of file convcode.h.
#define it_convolutional_code_encode_symbolic | ( | it_this, | |||
b | ) | __it_convolutional_code_encode_symbolic(IT_CONVOLUTIONAL_CODE(it_this), b) |
Definition at line 94 of file convcode.h.
typedef struct _convolutional_code_ it_convolutional_code_t |
static bvec __it_convolutional_code_encode | ( | it_convolutional_code_t * | it_this, | |
bvec | b | |||
) | [inline, static] |
static ivec __it_convolutional_code_encode_symbolic | ( | it_convolutional_code_t * | it_this, | |
ivec | b | |||
) | [inline, static] |
static it_convolutional_code_t* it_convolutional_code_new | ( | imat | generators, | |
int | feedback | |||
) | [inline, static] |
static int it_convolutional_code_trellis_label | ( | it_convolutional_code_t * | cc, | |
int | state, | |||
int | symbol | |||
) | [inline, static] |
Definition at line 102 of file convcode.h.
References _convolutional_code_::output.
Referenced by it_convolutional_code_trellis_next().
static int it_convolutional_code_trellis_next | ( | it_convolutional_code_t * | cc, | |
int | state, | |||
int | symbol | |||
) | [inline, static] |
Definition at line 108 of file convcode.h.
References _convolutional_code_::automaton, and it_convolutional_code_trellis_label().
it_instanciate | ( | it_convolutional_code_t | ) |
Definition at line 64 of file convcode.c.
References convolutional_code_destructor(), convolutional_code_encode(), convolutional_code_encode_symbolic(), DUMM_NODE, encode_conv(), fls(), imat_clone(), imat_height(), imat_new(), imat_new_set(), imat_width(), it_construct, it_new_args_next, it_new_args_start, it_new_args_stop, it_overload, it_set_magic, mat_new_zeros(), NULL_INDEX, state, vec_new_set(), and vec_new_zeros().
bvec it_viterbi_decode | ( | it_convolutional_code_t * | cc, | |
mat | metrics | |||
) |
Definition at line 297 of file convcode.c.
References bit, bvec_new(), it_viterbi_decode_symbolic(), ivec_delete(), _convolutional_code_::k, and mat_width().
Referenced by main().
ivec it_viterbi_decode_symbolic | ( | it_convolutional_code_t * | cc, | |
mat | metrics | |||
) |
Definition at line 271 of file convcode.c.
References _convolutional_code_::automaton, _convolutional_code_::input, ivec_length(), _convolutional_code_::logalpha_0, _convolutional_code_::logbeta_end, logviterbi(), and _convolutional_code_::next_state_logpt.
Referenced by it_viterbi_decode(), and trellis_coded_quantizer_quantize().
|
|