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:
[legend]

## Public Types
typedef boost::shared_ptr< additive_scrambler_bb > | sptr

## 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

typedef boost::shared_ptr<additive_scrambler_bb> gr::baz::additive_scrambler_bb::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

  mask | Polynomial mask for LFSR
  seed | Initial shift register contents
  len | Shift register length
  count | Number of bytes after which shift register is reset, 0=never
  bits_per_byte | Number of bits per byte
  reset_tag_key | When 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:

- baz_additive_scrambler_bb.h