10#ifndef INCLUDED_DVBS2RX_PLSC_H
11#define INCLUDED_DVBS2RX_PLSC_H
16#include <gnuradio/gr_complex.h>
17#include <volk/volk_alloc.hh>
40 void encode(gr_complex* bpsk_out,
const uint8_t plsc);
59 bool short_fecframe =
false;
60 bool has_pilots =
false;
61 bool dummy_frame =
false;
64 uint16_t plframe_len = 0;
65 uint16_t payload_len = 0;
66 uint16_t xfecframe_len = 0;
70 void parse(uint8_t dec_plsc);
71 void parse(uint8_t _modcod,
bool _short_fecframe,
bool _has_pilots);
74 if (other.
plsc != plsc) {
92 volk::vector<float> d_soft_dec_buf;
99 explicit plsc_decoder(std::vector<uint8_t>&& expected_pls,
int debug_level = 0);
131 void decode(
const gr_complex* bpsk_in,
bool coherent =
true,
bool soft =
true);
Definition pl_submodule.h:25
PLSC Decoder.
Definition pl_signaling.h:89
uint8_t d_plsc
Definition pl_signaling.h:96
~plsc_decoder()
Definition pl_signaling.h:100
plsc_decoder(int debug_level=0)
void decode(const gr_complex *bpsk_in, bool coherent=true, bool soft=true)
Decode the incoming pi/2 BPSK symbols of the PLSC.
plsc_decoder(std::vector< uint8_t > &&expected_pls, int debug_level=0)
void get_info(pls_info_t *out) const
Definition pl_signaling.h:139
PLSC Encoder.
Definition pl_signaling.h:30
void encode(gr_complex *bpsk_out, const uint8_t modcod, bool short_fecframe, bool has_pilots)
Encode the PLSC info into the corresponding pi/2 BPSK symbols.
void encode(gr_complex *bpsk_out, const uint8_t plsc)
Encode the PLSC info into the corresponding pi/2 BPSK symbols.
Interleaved (64, 7, 32) Reed-Muller encoder/decoder.
Definition reed_muller.h:30
#define DVBS2RX_API
Definition include/gnuradio/dvbs2rx/api.h:19
Fixed-length double-ended queue with contiguous volk-aligned elements.
Definition gr_bch.h:22
Definition pl_signaling.h:56
uint8_t plsc
Definition pl_signaling.h:57
pls_info_t & operator=(const pls_info_t &other)
Definition pl_signaling.h:72
pls_info_t(uint8_t dec_plsc)
Definition pl_signaling.h:69