GNU Radio's CCSDS Package
libconvcodes.h
Go to the documentation of this file.
1 //
2 // Created by gianluca on 20/02/17.
3 //
4 
5 #ifndef DEEPSPACE_TURBO_LIBCONVCODES_H
6 #define DEEPSPACE_TURBO_LIBCONVCODES_H
7 
8 typedef struct str_convcode{
9  int components;
10  int memory;
11  int **forward_connections;
13  int **next_state;
14  int **neighbors;
15  int ***output;
16 } t_convcode;
17 
18 static int get_bit(int num, int position);
19 static char* state2str(int state, int memory);
20 static int convcode_stateupdate(int state, int input, t_convcode code);
21 static int *convcode_output(int state, int input, t_convcode code);
22 
23 t_convcode convcode_initialize(char *forward[], char *backward, int N_components);
24 void convcode_clear(t_convcode code);
25 int* convcode_encode(int *packet, int packet_length, t_convcode code);
26 int* convcode_decode(double *received, int length, t_convcode code);
27 
28 void print_neighbors(t_convcode code);
29 
30 // BCJR decoding
31 int * convcode_extrinsic(double *received, double length, double ***a_priori, t_convcode code, double noise_variance,
32  int decision);
33 
34 static double exp_sum(double a, double b);
35 
36 #endif //DEEPSPACE_TURBO_LIBCONVCODES_H
state
Definition: synchronizeCADUHard_impl.h:25
static double exp_sum(double a, double b)
int * convcode_extrinsic(double *received, double length, double ***a_priori, t_convcode code, double noise_variance, int decision)
void convcode_clear(t_convcode code)
int memory
Definition: backup/libconvcodes.h:10
t_convcode convcode_initialize(char *forward[], char *backward, int N_components)
int * convcode_decode(double *received, int length, t_convcode code)
static int convcode_stateupdate(int state, int input, t_convcode code)
int components
Definition: backup/libconvcodes.h:9
static int * convcode_output(int state, int input, t_convcode code)
int ** forward_connections
Definition: backup/libconvcodes.h:11
struct str_convcode t_convcode
Definition: backup/libconvcodes.h:8
int *** output
Definition: backup/libconvcodes.h:15
int ** next_state
Definition: backup/libconvcodes.h:13
int ** neighbors
Definition: backup/libconvcodes.h:14
void print_neighbors(t_convcode code)
int * convcode_encode(int *packet, int packet_length, t_convcode code)
static int get_bit(int num, int position)
int * backward_connections
Definition: backup/libconvcodes.h:12
static char * state2str(int state, int memory)