IT++ Logo
Public Member Functions | List of all members
itpp::LFSR Class Reference

Binary Linear Feedback Shift Register (LFSR) More...

#include <itpp/comm/sequence.h>

Public Member Functions

 LFSR (void)
 Constructor.
 
 LFSR (const bvec &connections)
 Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in bvec format [g0,g1,...,gr].
 
 LFSR (const ivec &connections)
 Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in octal format.
 
void set_connections (const bvec &connections)
 Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in bvec format [g0,g1,...,gr].
 
void set_connections (const ivec &connections)
 Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in octal format.
 
void set_state (const bvec &state)
 Set state (contents in the shift registers) in bvec format.
 
void set_state (const ivec &state)
 Set state (contents in the shift registers) in octal format.
 
bin shift (void)
 Shift one step and output binary symbol.
 
bvec shift (int no_shifts)
 Shift no_shifts steps and output bvec.
 
int get_length (void)
 Return length of shift register.
 
bvec get_state (void)
 Returns the state of the shift register.
 

Detailed Description

Binary Linear Feedback Shift Register (LFSR)

Definition at line 53 of file sequence.h.

Constructor & Destructor Documentation

◆ LFSR() [1/3]

itpp::LFSR::LFSR ( void  )
inline

Constructor.

Definition at line 57 of file sequence.h.

◆ LFSR() [2/3]

itpp::LFSR::LFSR ( const bvec &  connections)

Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in bvec format [g0,g1,...,gr].

Definition at line 37 of file sequence.cpp.

References set_connections().

◆ LFSR() [3/3]

itpp::LFSR::LFSR ( const ivec &  connections)

Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in octal format.

Definition at line 42 of file sequence.cpp.

References set_connections().

Member Function Documentation

◆ set_connections() [1/2]

void itpp::LFSR::set_connections ( const bvec &  connections)

Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in bvec format [g0,g1,...,gr].

Definition at line 47 of file sequence.cpp.

References itpp::Array< T >::right(), and itpp::Array< T >::size().

Referenced by itpp::Gold::Gold(), itpp::Gold::Gold(), itpp::Gold::Gold(), LFSR(), and LFSR().

◆ set_connections() [2/2]

void itpp::LFSR::set_connections ( const ivec &  connections)

Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in octal format.

Definition at line 54 of file sequence.cpp.

References itpp::oct2bin(), itpp::Array< T >::right(), and itpp::Array< T >::size().

◆ set_state() [1/2]

void itpp::LFSR::set_state ( const bvec &  state)

Set state (contents in the shift registers) in bvec format.

Definition at line 62 of file sequence.cpp.

References it_assert, and itpp::Array< T >::length().

Referenced by itpp::Gold::set_state(), and itpp::Gold::set_state().

◆ set_state() [2/2]

void itpp::LFSR::set_state ( const ivec &  state)

Set state (contents in the shift registers) in octal format.

Definition at line 68 of file sequence.cpp.

References it_assert, itpp::Array< T >::length(), itpp::oct2bin(), and itpp::Array< T >::right().

◆ shift() [1/2]

bin itpp::LFSR::shift ( void  )
inline

Shift one step and output binary symbol.

Definition at line 125 of file sequence.h.

Referenced by itpp::Gold::get_family(), shift(), and itpp::Gold::shift().

◆ shift() [2/2]

bvec itpp::LFSR::shift ( int  no_shifts)

Shift no_shifts steps and output bvec.

Definition at line 75 of file sequence.cpp.

References it_assert, and shift().

◆ get_length()

int itpp::LFSR::get_length ( void  )
inline

Return length of shift register.

Definition at line 126 of file sequence.h.

Referenced by itpp::Gold::get_family(), itpp::Gold::Gold(), itpp::Gold::Gold(), and itpp::Gold::Gold().

◆ get_state()

bvec itpp::LFSR::get_state ( void  )
inline

Returns the state of the shift register.

Definition at line 127 of file sequence.h.


The documentation for this class was generated from the following files:
SourceForge Logo

Generated on Mon Jun 10 2024 11:49:37 for IT++ by Doxygen 1.9.8