<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.14.0" xml:lang="en-US">
  <compounddef id="classgr_1_1baz_1_1additive__scrambler__bb" kind="class" language="C++" prot="public" abstract="yes">
    <compoundname>gr::baz::additive_scrambler_bb</compoundname>
    <basecompoundref prot="public" virt="virtual">gr::sync_block</basecompoundref>
    <includes refid="baz__additive__scrambler__bb_8h" local="no">baz_additive_scrambler_bb.h</includes>
    <sectiondef kind="public-type">
      <memberdef kind="typedef" id="classgr_1_1baz_1_1additive__scrambler__bb_1aec3618d5c3e7679ba5edc479d91ff05f" prot="public" static="no">
        <type>boost::shared_ptr&lt; <ref refid="classgr_1_1baz_1_1additive__scrambler__bb" kindref="compound">additive_scrambler_bb</ref> &gt;</type>
        <definition>typedef boost::shared_ptr&lt;additive_scrambler_bb&gt; gr::baz::additive_scrambler_bb::sptr</definition>
        <argsstring></argsstring>
        <name>sptr</name>
        <qualifiedname>gr::baz::additive_scrambler_bb::sptr</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/gr-baz-1881b18e/work/gr-baz-937834ce3520b730277328d8e0cdebb3f2b1aafc/lib/baz_additive_scrambler_bb.h" line="56" column="33" bodyfile="/opt/local/var/macports/build/gr-baz-1881b18e/work/gr-baz-937834ce3520b730277328d8e0cdebb3f2b1aafc/lib/baz_additive_scrambler_bb.h" bodystart="56" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="public-static-func">
      <memberdef kind="function" id="classgr_1_1baz_1_1additive__scrambler__bb_1aa778a228558affb6b619cdb84ccdba19" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="classgr_1_1baz_1_1additive__scrambler__bb_1aec3618d5c3e7679ba5edc479d91ff05f" kindref="member">sptr</ref></type>
        <definition>static sptr gr::baz::additive_scrambler_bb::make</definition>
        <argsstring>(int mask, int seed, int len, int count=0, int bits_per_byte=1, const std::string &amp;reset_tag_key=&quot;&quot;)</argsstring>
        <name>make</name>
        <qualifiedname>gr::baz::additive_scrambler_bb::make</qualifiedname>
        <param>
          <type>int</type>
          <declname>mask</declname>
        </param>
        <param>
          <type>int</type>
          <declname>seed</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <param>
          <type>int</type>
          <declname>count</declname>
          <defval>0</defval>
        </param>
        <param>
          <type>int</type>
          <declname>bits_per_byte</declname>
          <defval>1</defval>
        </param>
        <param>
          <type>const std::string &amp;</type>
          <declname>reset_tag_key</declname>
          <defval>&quot;&quot;</defval>
        </param>
        <briefdescription>
<para>Create additive scrambler. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>mask</parametername>
</parameternamelist>
<parameterdescription>
<para>Polynomial mask for LFSR </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>seed</parametername>
</parameternamelist>
<parameterdescription>
<para>Initial shift register contents </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>Shift register length </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>count</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of bytes after which shift register is reset, 0=never </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>bits_per_byte</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of bits per byte </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>reset_tag_key</parametername>
</parameternamelist>
<parameterdescription>
<para>When a tag with this key is detected, the shift register is reset (when this is set, count is ignored!) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/gr-baz-1881b18e/work/gr-baz-937834ce3520b730277328d8e0cdebb3f2b1aafc/lib/baz_additive_scrambler_bb.h" line="68" column="19"/>
        <references refid="classgr_1_1baz_1_1additive__scrambler__bb_1a80a0361e042d1c2ddc4172da72054c73">bits_per_byte</references>
        <references refid="classgr_1_1baz_1_1additive__scrambler__bb_1af5dfb3b496d3bbc0e40e330657082843">count</references>
        <references refid="classgr_1_1baz_1_1additive__scrambler__bb_1aba75650342d908b59cbad8b19f9a3a6c">len</references>
        <references refid="classgr_1_1baz_1_1additive__scrambler__bb_1aaa47e3d0d417d64801f0e5ef1caabf27">mask</references>
        <references refid="classgr_1_1baz_1_1additive__scrambler__bb_1ad56e06b18fbb620a98cbe75b0f5cd05b">seed</references>
      </memberdef>
    </sectiondef>
    <sectiondef kind="public-func">
      <memberdef kind="function" id="classgr_1_1baz_1_1additive__scrambler__bb_1aaa47e3d0d417d64801f0e5ef1caabf27" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type>int</type>
        <definition>virtual int gr::baz::additive_scrambler_bb::mask</definition>
        <argsstring>() const =0</argsstring>
        <name>mask</name>
        <qualifiedname>gr::baz::additive_scrambler_bb::mask</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/gr-baz-1881b18e/work/gr-baz-937834ce3520b730277328d8e0cdebb3f2b1aafc/lib/baz_additive_scrambler_bb.h" line="70" column="19"/>
        <referencedby refid="classgr_1_1baz_1_1additive__scrambler__bb_1aa778a228558affb6b619cdb84ccdba19">make</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1baz_1_1additive__scrambler__bb_1ad56e06b18fbb620a98cbe75b0f5cd05b" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type>int</type>
        <definition>virtual int gr::baz::additive_scrambler_bb::seed</definition>
        <argsstring>() const =0</argsstring>
        <name>seed</name>
        <qualifiedname>gr::baz::additive_scrambler_bb::seed</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/gr-baz-1881b18e/work/gr-baz-937834ce3520b730277328d8e0cdebb3f2b1aafc/lib/baz_additive_scrambler_bb.h" line="71" column="19"/>
        <referencedby refid="classgr_1_1baz_1_1additive__scrambler__bb_1aa778a228558affb6b619cdb84ccdba19">make</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1baz_1_1additive__scrambler__bb_1aba75650342d908b59cbad8b19f9a3a6c" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type>int</type>
        <definition>virtual int gr::baz::additive_scrambler_bb::len</definition>
        <argsstring>() const =0</argsstring>
        <name>len</name>
        <qualifiedname>gr::baz::additive_scrambler_bb::len</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/gr-baz-1881b18e/work/gr-baz-937834ce3520b730277328d8e0cdebb3f2b1aafc/lib/baz_additive_scrambler_bb.h" line="72" column="19"/>
        <referencedby refid="classgr_1_1baz_1_1additive__scrambler__bb_1aa778a228558affb6b619cdb84ccdba19">make</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1baz_1_1additive__scrambler__bb_1af5dfb3b496d3bbc0e40e330657082843" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type>int</type>
        <definition>virtual int gr::baz::additive_scrambler_bb::count</definition>
        <argsstring>() const =0</argsstring>
        <name>count</name>
        <qualifiedname>gr::baz::additive_scrambler_bb::count</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/gr-baz-1881b18e/work/gr-baz-937834ce3520b730277328d8e0cdebb3f2b1aafc/lib/baz_additive_scrambler_bb.h" line="73" column="19"/>
        <referencedby refid="classgr_1_1baz_1_1additive__scrambler__bb_1aa778a228558affb6b619cdb84ccdba19">make</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1baz_1_1additive__scrambler__bb_1a80a0361e042d1c2ddc4172da72054c73" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>int</type>
        <definition>virtual int gr::baz::additive_scrambler_bb::bits_per_byte</definition>
        <argsstring>()=0</argsstring>
        <name>bits_per_byte</name>
        <qualifiedname>gr::baz::additive_scrambler_bb::bits_per_byte</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/gr-baz-1881b18e/work/gr-baz-937834ce3520b730277328d8e0cdebb3f2b1aafc/lib/baz_additive_scrambler_bb.h" line="74" column="19"/>
        <referencedby refid="classgr_1_1baz_1_1additive__scrambler__bb_1aa778a228558affb6b619cdb84ccdba19">make</referencedby>
      </memberdef>
    </sectiondef>
    <briefdescription>
<para>Scramble an input stream using an LFSR. </para>
    </briefdescription>
    <detaileddescription>
<para>This block scrambles up to 8 bits per byte of the input data stream, starting at the LSB.</para>
<para>The scrambler works by XORing the incoming bit stream by the output of the LFSR. Optionally, after <computeroutput>count</computeroutput> bits have been processed, the shift register is reset to the <computeroutput>seed</computeroutput> value. This allows processing fixed length vectors of samples.</para>
<para>Alternatively, the LFSR can be reset using a reset tag to scramble variable length vectors. However, it cannot be reset between bytes.</para>
<para>For details on configuring the LFSR, see gr::digital::lfsr. </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="1">
        <label>gr::baz::additive_scrambler_bb</label>
        <link refid="classgr_1_1baz_1_1additive__scrambler__bb"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
      <node id="2">
        <label>gr::sync_block</label>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="1">
        <label>gr::baz::additive_scrambler_bb</label>
        <link refid="classgr_1_1baz_1_1additive__scrambler__bb"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
      <node id="2">
        <label>gr::sync_block</label>
      </node>
    </collaborationgraph>
    <location file="/opt/local/var/macports/build/gr-baz-1881b18e/work/gr-baz-937834ce3520b730277328d8e0cdebb3f2b1aafc/lib/baz_additive_scrambler_bb.h" line="52" column="5" bodyfile="/opt/local/var/macports/build/gr-baz-1881b18e/work/gr-baz-937834ce3520b730277328d8e0cdebb3f2b1aafc/lib/baz_additive_scrambler_bb.h" bodystart="53" bodyend="75"/>
    <listofallmembers>
      <member refid="classgr_1_1baz_1_1additive__scrambler__bb_1a80a0361e042d1c2ddc4172da72054c73" prot="public" virt="pure-virtual"><scope>gr::baz::additive_scrambler_bb</scope><name>bits_per_byte</name></member>
      <member refid="classgr_1_1baz_1_1additive__scrambler__bb_1af5dfb3b496d3bbc0e40e330657082843" prot="public" virt="pure-virtual"><scope>gr::baz::additive_scrambler_bb</scope><name>count</name></member>
      <member refid="classgr_1_1baz_1_1additive__scrambler__bb_1aba75650342d908b59cbad8b19f9a3a6c" prot="public" virt="pure-virtual"><scope>gr::baz::additive_scrambler_bb</scope><name>len</name></member>
      <member refid="classgr_1_1baz_1_1additive__scrambler__bb_1aa778a228558affb6b619cdb84ccdba19" prot="public" virt="non-virtual"><scope>gr::baz::additive_scrambler_bb</scope><name>make</name></member>
      <member refid="classgr_1_1baz_1_1additive__scrambler__bb_1aaa47e3d0d417d64801f0e5ef1caabf27" prot="public" virt="pure-virtual"><scope>gr::baz::additive_scrambler_bb</scope><name>mask</name></member>
      <member refid="classgr_1_1baz_1_1additive__scrambler__bb_1ad56e06b18fbb620a98cbe75b0f5cd05b" prot="public" virt="pure-virtual"><scope>gr::baz::additive_scrambler_bb</scope><name>seed</name></member>
      <member refid="classgr_1_1baz_1_1additive__scrambler__bb_1aec3618d5c3e7679ba5edc479d91ff05f" prot="public" virt="non-virtual"><scope>gr::baz::additive_scrambler_bb</scope><name>sptr</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
