GNU Radio's CCSDS Package
libturbocodes.h
Go to the documentation of this file.
1 //
2 // Created by gianluca on 22/02/17.
3 //
4 
5 #ifndef DEEPSPACE_TURBO_LIBTURBOCODES_H
6 #define DEEPSPACE_TURBO_LIBTURBOCODES_H
7 
8 #include "libconvcodes.h"
9 
10 typedef struct str_turbocode{
13 
14  int *interleaver;
15  int packet_length;
16  int encoded_length;
17 } t_turbocode;
18 
19 static int *turbo_interleave(int *packet, t_turbocode code);
20 static int *turbo_deinterleave(int *packet, t_turbocode code);
21 static void message_interleave(double ***messages, t_turbocode code);
22 static void message_deinterleave(double ***messages, t_turbocode code);
23 
25 
26 int *turbo_encode(int *packet, t_turbocode code);
27 
28 int *turbo_decode(double* received, int iterations, double noise_variance, t_turbocode code);
29 //void turbo_decode(double *received, int iterations, double noise_variance, t_turbocode code, int *decoded_deinterleaved);
30 #endif //DEEPSPACE_TURBO_LIBTURBOCODES_H
struct str_turbocode t_turbocode
int encoded_length
Definition: backup/libturbocodes.h:16
static int * turbo_interleave(int *packet, t_turbocode code)
t_convcode upper_code
Definition: backup/libturbocodes.h:11
int * interleaver
Definition: backup/libturbocodes.h:14
static void message_deinterleave(double ***messages, t_turbocode code)
t_convcode lower_code
Definition: backup/libturbocodes.h:12
int * turbo_encode(int *packet, t_turbocode code)
static int * turbo_deinterleave(int *packet, t_turbocode code)
Definition: backup/libturbocodes.h:10
int packet_length
Definition: backup/libturbocodes.h:15
Definition: backup/libconvcodes.h:8
t_turbocode turbo_initialize(t_convcode upper, t_convcode lower, int *interleaver, int packet_length)
static void message_interleave(double ***messages, t_turbocode code)
int * turbo_decode(double *received, int iterations, double noise_variance, t_turbocode code)