GNU Radio's CCSDS Package
deepspace-turbo/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 int *turbo_interleave(int *packet, t_turbocode *code);
20 int *turbo_deinterleave(int *packet, t_turbocode *code);
21 void message_interleave(double ***messages, t_turbocode *code);
22 void message_deinterleave(double ***messages, t_turbocode *code);
24 void *turbocode_clear(t_turbocode *code);
25 
26 int *turbo_encode(int *packet, t_turbocode *code);
27 int *turbo_decode(double* received, int iterations, double noise_variance, t_turbocode *code);
28 
29 #endif //DEEPSPACE_TURBO_LIBTURBOCODES_H
int * turbo_interleave(int *packet, t_turbocode *code)
int * turbo_decode(double *received, int iterations, double noise_variance, t_turbocode *code)
struct str_turbocode t_turbocode
void message_interleave(double ***messages, t_turbocode *code)
int encoded_length
Definition: backup/libturbocodes.h:16
int * turbo_encode(int *packet, t_turbocode *code)
int * interleaver
Definition: backup/libturbocodes.h:14
Definition: backup/libturbocodes.h:10
t_turbocode * turbo_initialize(t_convcode *upper, t_convcode *lower, int *interleaver, int packet_length)
int packet_length
Definition: backup/libturbocodes.h:15
Definition: backup/libconvcodes.h:8
void message_deinterleave(double ***messages, t_turbocode *code)
t_convcode * lower_code
Definition: deepspace-turbo/libturbocodes.h:12
t_convcode * upper_code
Definition: deepspace-turbo/libturbocodes.h:11
void * turbocode_clear(t_turbocode *code)
int * turbo_deinterleave(int *packet, t_turbocode *code)