GNU Radio's DVBS2RX Package
gr::dvbs2rx::pl_descrambler Class Reference

PL Descrambler. More...

#include <pl_descrambler.h>

Public Member Functions

 pl_descrambler (int gold_code)
 
 ~pl_descrambler ()
 
void descramble (const gr_complex *in, uint16_t payload_len)
 Descramble a PLFRAME payload.
 
const gr_complex * get_payload ()
 Get the descrambled payload.
 

Detailed Description

PL Descrambler.

Multiplies the scrambled payload of a PLFRAME by the conjugate of the complex randomization sequence used on the Tx side for PL scrambling. This multiplication effectively undoes the scrambling, and the resulting descrambled payload is stored internally for later access through the get_payload() method. This processes depends only on the Gold code defining the complex scrambling sequence, which must be provided to the constructor.

Constructor & Destructor Documentation

◆ pl_descrambler()

gr::dvbs2rx::pl_descrambler::pl_descrambler ( int  gold_code)

◆ ~pl_descrambler()

gr::dvbs2rx::pl_descrambler::~pl_descrambler ( )
inline

Member Function Documentation

◆ descramble()

void gr::dvbs2rx::pl_descrambler::descramble ( const gr_complex *  in,
uint16_t  payload_len 
)

Descramble a PLFRAME payload.

Descrambles a given PLFRAME payload and stores the descrambled result on the internal descrambled payload buffer, which can be accessed through method get_payload().

Parameters
in(const gr_complex*) Pointer to the target scrambled PLFRAME payload buffer.
payload_len(uint16_t) Payload length.
Note
The payload length must be equal to the PLFRAME length minus 90 (the PLHEADER length). This means that pilots are part of the payload, since the pilot symbols must be descrambled.

◆ get_payload()

const gr_complex * gr::dvbs2rx::pl_descrambler::get_payload ( )
inline

Get the descrambled payload.

Returns
Pointer to the descrambled payload buffer.

The documentation for this class was generated from the following file: