gr-baz Package
gr::baz::additive_scrambler_bb Class Referenceabstract

Scramble an input stream using an LFSR. More...

#include <baz_additive_scrambler_bb.h>

Inheritance diagram for gr::baz::additive_scrambler_bb:

Public Types

typedef boost::shared_ptr< additive_scrambler_bbsptr
 

Public Member Functions

virtual int mask () const =0
 
virtual int seed () const =0
 
virtual int len () const =0
 
virtual int count () const =0
 
virtual int bits_per_byte ()=0
 

Static Public Member Functions

static sptr make (int mask, int seed, int len, int count=0, int bits_per_byte=1, const std::string &reset_tag_key="")
 Create additive scrambler. More...
 

Detailed Description

Scramble an input stream using an LFSR.

This block scrambles up to 8 bits per byte of the input data stream, starting at the LSB.

The scrambler works by XORing the incoming bit stream by the output of the LFSR. Optionally, after count bits have been processed, the shift register is reset to the seed value. This allows processing fixed length vectors of samples.

Alternatively, the LFSR can be reset using a reset tag to scramble variable length vectors. However, it cannot be reset between bytes.

For details on configuring the LFSR, see gr::digital::lfsr.

Member Typedef Documentation

◆ sptr

Member Function Documentation

◆ bits_per_byte()

virtual int gr::baz::additive_scrambler_bb::bits_per_byte ( )
pure virtual

◆ count()

virtual int gr::baz::additive_scrambler_bb::count ( ) const
pure virtual

◆ len()

virtual int gr::baz::additive_scrambler_bb::len ( ) const
pure virtual

◆ make()

static sptr gr::baz::additive_scrambler_bb::make ( int  mask,
int  seed,
int  len,
int  count = 0,
int  bits_per_byte = 1,
const std::string &  reset_tag_key = "" 
)
static

Create additive scrambler.

Parameters
maskPolynomial mask for LFSR
seedInitial shift register contents
lenShift register length
countNumber of bytes after which shift register is reset, 0=never
bits_per_byteNumber of bits per byte
reset_tag_keyWhen a tag with this key is detected, the shift register is reset (when this is set, count is ignored!)

◆ mask()

virtual int gr::baz::additive_scrambler_bb::mask ( ) const
pure virtual

◆ seed()

virtual int gr::baz::additive_scrambler_bb::seed ( ) const
pure virtual

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