Convolutional Codes


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_tit_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)

Detailed Description


Define Documentation

#define it_cc_decode ( cc,
 )     it_convolutional_code_decode(cc, v)

Definition at line 118 of file convcode.h.

#define it_cc_encode ( cc,
 )     it_convolutional_code_encode(cc, b)

Definition at line 116 of file convcode.h.

Referenced by main().

#define it_cc_encode_symbolic ( cc,
 )     it_convolutional_code_encode_symbolic(cc, b)

#define it_cc_label ( cc,
s,
 )     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,
 )     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 (  )     IT_CAST(it_convolutional_code_t, q)

Definition at line 75 of file convcode.h.

Referenced by convolutional_code_destructor().

#define it_convolutional_code_encode ( it_this,
 )     __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,
 )     __it_convolutional_code_encode_symbolic(IT_CONVOLUTIONAL_CODE(it_this), b)

Definition at line 94 of file convcode.h.


Typedef Documentation


Function Documentation

static bvec __it_convolutional_code_encode ( it_convolutional_code_t it_this,
bvec  b 
) [inline, static]

Definition at line 89 of file convcode.h.

References _convolutional_code_::encode.

static ivec __it_convolutional_code_encode_symbolic ( it_convolutional_code_t it_this,
ivec  b 
) [inline, static]

Definition at line 96 of file convcode.h.

References _convolutional_code_::encode_symbolic.

static it_convolutional_code_t* it_convolutional_code_new ( imat  generators,
int  feedback 
) [inline, static]

Definition at line 81 of file convcode.h.

References it_new_va, and it_va.

Referenced by main().

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]

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().


Hosted by
Copyright (C) 2005-2006 Hervé Jégou
Vivien Chappelier
Francois Cayre
libit logo courtesy of Jonathan Delhumeau