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.

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

Referenced by make().

◆ count()

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

Referenced by make().

◆ len()

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

Referenced by make().

◆ make()

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!)

References bits_per_byte(), count(), len(), mask(), and seed().

◆ mask()

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

Referenced by make().

◆ seed()

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

Referenced by make().


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