<?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.7.3"> <compounddef id="classgri__lfsr" kind="class" prot="public"> <compoundname>gri_lfsr</compoundname> <includes refid="gri__lfsr_8h" local="no">gri_lfsr.h</includes> <sectiondef kind="private-attrib"> <memberdef kind="variable" id="classgri__lfsr_1a181f94fa2b5e01a545028dcd193bb796" prot="private" static="no" mutable="no"> <type>uint32_t</type> <definition>uint32_t gri_lfsr::d_shift_register</definition> <argsstring></argsstring> <name>d_shift_register</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="87" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="87" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgri__lfsr_1aaf6ff8f4780a105ae44bbf5171793d37" prot="private" static="no" mutable="no"> <type>uint32_t</type> <definition>uint32_t gri_lfsr::d_mask</definition> <argsstring></argsstring> <name>d_mask</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="88" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="88" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgri__lfsr_1a0e48129caf67cf9f7279bd420d30b02c" prot="private" static="no" mutable="no"> <type>uint32_t</type> <definition>uint32_t gri_lfsr::d_shift_register_length</definition> <argsstring></argsstring> <name>d_shift_register_length</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="89" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="89" bodyend="-1"/> </memberdef> </sectiondef> <sectiondef kind="private-static-func"> <memberdef kind="function" id="classgri__lfsr_1a15994452021798f4f4f1a2f1adf42092" prot="private" static="yes" const="no" explicit="no" inline="yes" virt="non-virtual"> <type>uint32_t</type> <definition>static uint32_t gri_lfsr::popCount</definition> <argsstring>(uint32_t x)</argsstring> <name>popCount</name> <param> <type>uint32_t</type> <declname>x</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="93" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="92" bodyend="97"/> </memberdef> </sectiondef> <sectiondef kind="public-func"> <memberdef kind="function" id="classgri__lfsr_1a9d75c0d9937724f0784ccbae11114950" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual"> <type></type> <definition>gri_lfsr::gri_lfsr</definition> <argsstring>(uint32_t mask, uint32_t seed, uint32_t reg_len)</argsstring> <name>gri_lfsr</name> <param> <type>uint32_t</type> <declname>mask</declname> </param> <param> <type>uint32_t</type> <declname>seed</declname> </param> <param> <type>uint32_t</type> <declname>reg_len</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="103" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="101" bodyend="106"/> </memberdef> <memberdef kind="function" id="classgri__lfsr_1ab48a354944fe18d9d261be11aa558b0f" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual"> <type>unsigned char</type> <definition>unsigned char gri_lfsr::next_bit</definition> <argsstring>()</argsstring> <name>next_bit</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="108" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="108" bodyend="113"/> <referencedby refid="classgri__lfsr_1af04de11f558b49d79265df6f32f343c1" compoundref="gri__lfsr_8h" startline="134" endline="138">pre_shift</referencedby> </memberdef> <memberdef kind="function" id="classgri__lfsr_1afd1989999dcc0306a1b73f5822d38357" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual"> <type>unsigned char</type> <definition>unsigned char gri_lfsr::next_bit_scramble</definition> <argsstring>(unsigned char input)</argsstring> <name>next_bit_scramble</name> <param> <type>unsigned char</type> <declname>input</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="115" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="115" bodyend="120"/> </memberdef> <memberdef kind="function" id="classgri__lfsr_1af23672b2652cbfa71cd34d99b5b3edd2" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual"> <type>unsigned char</type> <definition>unsigned char gri_lfsr::next_bit_descramble</definition> <argsstring>(unsigned char input)</argsstring> <name>next_bit_descramble</name> <param> <type>unsigned char</type> <declname>input</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="122" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="122" bodyend="127"/> </memberdef> <memberdef kind="function" id="classgri__lfsr_1af04de11f558b49d79265df6f32f343c1" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual"> <type>void</type> <definition>void gri_lfsr::pre_shift</definition> <argsstring>(int num)</argsstring> <name>pre_shift</name> <param> <type>int</type> <declname>num</declname> </param> <briefdescription> </briefdescription> <detaileddescription> <para>Rotate the register through x number of bits where we are just throwing away the results to get queued up correctly </para> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="134" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="134" bodyend="138"/> <references refid="classgri__lfsr_1ab48a354944fe18d9d261be11aa558b0f" compoundref="gri__lfsr_8h" startline="108" endline="113">next_bit</references> </memberdef> <memberdef kind="function" id="classgri__lfsr_1ab11f525cf4205ac9e77ed3b23d353812" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual"> <type>int</type> <definition>int gri_lfsr::mask</definition> <argsstring>() const </argsstring> <name>mask</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="140" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="140" bodyend="140"/> </memberdef> </sectiondef> <briefdescription> <para>Fibonacci Linear Feedback Shift Register using specified polynomial mask</para><para>Generates a maximal length pseudo-random sequence of length 2^degree-1. </para> </briefdescription> <detaileddescription> <para>Constructor: gri_lfsr(int mask, int seed, int reg_len);</para><para>mask - polynomial coefficients representing the locations of feedback taps from a shift register which are xor'ed together to form the new high order bit.</para><para>Some common masks might be: x^4 + x^3 + x^0 = 0x19 x^5 + x^3 + x^0 = 0x29 x^6 + x^5 + x^0 = 0x61</para><para>seed - the initialization vector placed into the register durring initialization. Low order bit corresponds to x^0 coefficient -- the first to be shifted as output.</para><para>reg_len - specifies the length of the feedback shift register to be used. Durring each iteration, the register is rightshifted one and the new bit is placed in bit reg_len. reg_len should generally be at least order(mask) + 1</para><para>see <ulink url="http://en.wikipedia.org/wiki/Linear_feedback_shift_register">http://en.wikipedia.org/wiki/Linear_feedback_shift_register</ulink> for more explanation.</para><para><ref refid="classgri__lfsr_1ab48a354944fe18d9d261be11aa558b0f" kindref="member">next_bit()</ref> - Standard LFSR operation</para><para>Perform one cycle of the LFSR. The output bit is taken from the shift register LSB. The shift register MSB is assigned from the modulo 2 sum of the masked shift register.</para><para><ref refid="classgri__lfsr_1afd1989999dcc0306a1b73f5822d38357" kindref="member">next_bit_scramble(unsigned char input)</ref> - Scramble an input stream</para><para>Perform one cycle of the LFSR. The output bit is taken from the shift register LSB. The shift register MSB is assigned from the modulo 2 sum of the masked shift register and the input LSB.</para><para><ref refid="classgri__lfsr_1af23672b2652cbfa71cd34d99b5b3edd2" kindref="member">next_bit_descramble(unsigned char input)</ref> - Descramble an input stream</para><para>Perform one cycle of the LFSR. The output bit is taken from the modulo 2 sum of the masked shift register and the input LSB. The shift register MSB is assigned from the LSB of the input.</para><para>See <ulink url="http://en.wikipedia.org/wiki/Scrambler">http://en.wikipedia.org/wiki/Scrambler</ulink> for operation of these last two functions (see multiplicative scrambler.) </para> </detaileddescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" line="85" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gri_lfsr.h" bodystart="84" bodyend="141"/> <listofallmembers> <member refid="classgri__lfsr_1aaf6ff8f4780a105ae44bbf5171793d37" prot="private" virt="non-virtual"><scope>gri_lfsr</scope><name>d_mask</name></member> <member refid="classgri__lfsr_1a181f94fa2b5e01a545028dcd193bb796" prot="private" virt="non-virtual"><scope>gri_lfsr</scope><name>d_shift_register</name></member> <member refid="classgri__lfsr_1a0e48129caf67cf9f7279bd420d30b02c" prot="private" virt="non-virtual"><scope>gri_lfsr</scope><name>d_shift_register_length</name></member> <member refid="classgri__lfsr_1a9d75c0d9937724f0784ccbae11114950" prot="public" virt="non-virtual"><scope>gri_lfsr</scope><name>gri_lfsr</name></member> <member refid="classgri__lfsr_1ab11f525cf4205ac9e77ed3b23d353812" prot="public" virt="non-virtual"><scope>gri_lfsr</scope><name>mask</name></member> <member refid="classgri__lfsr_1ab48a354944fe18d9d261be11aa558b0f" prot="public" virt="non-virtual"><scope>gri_lfsr</scope><name>next_bit</name></member> <member refid="classgri__lfsr_1af23672b2652cbfa71cd34d99b5b3edd2" prot="public" virt="non-virtual"><scope>gri_lfsr</scope><name>next_bit_descramble</name></member> <member refid="classgri__lfsr_1afd1989999dcc0306a1b73f5822d38357" prot="public" virt="non-virtual"><scope>gri_lfsr</scope><name>next_bit_scramble</name></member> <member refid="classgri__lfsr_1a15994452021798f4f4f1a2f1adf42092" prot="private" virt="non-virtual"><scope>gri_lfsr</scope><name>popCount</name></member> <member refid="classgri__lfsr_1af04de11f558b49d79265df6f32f343c1" prot="public" virt="non-virtual"><scope>gri_lfsr</scope><name>pre_shift</name></member> </listofallmembers> </compounddef> </doxygen>