|
GNU Radio's DVBS2RX Package
|
Interleaved (64, 7, 32) Reed-Muller encoder/decoder. More...
#include <reed_muller.h>
Public Member Functions | |
| reed_muller (euclidean_map_func_ptr p_custom_map=nullptr) | |
| Construct the Reed-Muller encoder/decoder. More... | |
| reed_muller (std::vector< uint8_t > &&enabled_codewords, euclidean_map_func_ptr p_custom_map=nullptr) | |
| Construct the Reed-Muller encoder/decoder for a codeword subset. More... | |
| uint64_t | encode (uint8_t in_dataword) |
| Encode a given dataword (PLSC) into the corresponding codeword. More... | |
| uint8_t | decode (uint64_t hard_dec) |
| Decode a binary hard decision into the corresponding dataword. More... | |
| uint8_t | decode (const float *soft_dec) |
| Decode a real soft decision vector into the corresponding dataword. More... | |
Static Public Member Functions | |
| static void | default_euclidean_map (float *dptr, uint64_t codeword) |
| Map codeword to a real vector using 2-PAM. More... | |
Public Attributes | |
| euclidean_map_func_ptr | euclidean_map |
Interleaved (64, 7, 32) Reed-Muller encoder/decoder.
This class implements DVB-S2's Reed-Muller (RM) code used by the physical layer signaling (PLS) encoding.
|
explicit |
Construct the Reed-Muller encoder/decoder.
| p_custom_map | Pointer to a custom mapping function used to map the binary the codewords into real-valued Euclidean-space images. If not defined, method "default_euclidean_map" is used. |
|
explicit |
Construct the Reed-Muller encoder/decoder for a codeword subset.
| enabled_codewords | Temporary vector with the indexes within [0, 128) corresponding to subset of codewords that may appear (according to a priori knowledge) on the incoming signal. |
| p_custom_map | Pointer to a custom mapping function used to map the binary the codewords into real-valued Euclidean-space images. If not defined, method "default_euclidean_map" is used. |
| uint8_t gr::dvbs2rx::reed_muller::decode | ( | const float * | soft_dec | ) |
Decode a real soft decision vector into the corresponding dataword.
| soft_dec | Received 64-element soft decision real vector to be decoded. |
| uint8_t gr::dvbs2rx::reed_muller::decode | ( | uint64_t | hard_dec | ) |
Decode a binary hard decision into the corresponding dataword.
| hard_dec | Received 64-bit hard decision to be decoded. |
|
static |
Map codeword to a real vector using 2-PAM.
| dptr | Destination pointer for the 64 real 2-PAM mapped symbols. |
| codeword | 64-bit (64, 7, 32) Reed-Muller codeword to be mapped. |
| uint64_t gr::dvbs2rx::reed_muller::encode | ( | uint8_t | in_dataword | ) |
Encode a given dataword (PLSC) into the corresponding codeword.
| in_dataword | 7-bit PLSC dataword. |
| euclidean_map_func_ptr gr::dvbs2rx::reed_muller::euclidean_map |