GNU Radio's CCSDS Package
Scrambler.h
Go to the documentation of this file.
1 /*
2  * The Scrambler class
3  * -------------------
4  * This class implements an additive scrambler as specified by the
5  * CCSDS TM SYNCHRONIZATION AND CHANNEL CODING blue book standard (August 2011).
6  * The class is based on the original Reed Solomon codec implemented by Phil Karn
7  * Author : Moses Browne Mwakyanjala
8  * Date : Feb 23rd, 2018
9  * Institue : Lulea University of Technology
10  * E-mail : moses.browne.mwakyanjala@ltu.se
11  */
12 
13 #ifndef SCRAMBLER_H
14 #define SCRAMBLER_H
15 #include <vector>
16 #include <algorithm>
17 
18 #define SCRAMBLER_POLY_LEN 255
19 
20 typedef unsigned char data_t;
21 typedef std::vector<unsigned char> BYTEARRAY;
22 
23 class Scrambler {
24  public:
25  Scrambler();
26  ~Scrambler();
27  void Scramble(BYTEARRAY &data);
28  void Descramble(BYTEARRAY &data);
29  void descramble_soft(float data[],int frame_length);
30  private:
31  data_t *POLY;
32 
33 };
34 #endif
35 
std::vector< unsigned char > BYTEARRAY
Definition: Scrambler.h:21
Definition: Scrambler.h:23
unsigned char data_t
Definition: Scrambler.h:20
void Descramble(BYTEARRAY &data)
void Scramble(BYTEARRAY &data)
void descramble_soft(float data[], int frame_length)
void data_t
Definition: rs.h:10