IT++ Logo
Public Member Functions | List of all members
itpp::Sequence_Interleaver< T > Class Template Reference

Sequence Interleaver Class. More...

#include <comm/interleave.h>

Public Member Functions

 Sequence_Interleaver (void)
 Sequence_Interleaver constructor.
 
 Sequence_Interleaver (int in_interleaver_depth)
 Sequence_Interleaver constructor.
 
 Sequence_Interleaver (ivec in_interleaver_sequence)
 Sequence_Interleaver constructor.
 
Vec< T > interleave (const Vec< T > &input)
 Function for sequence interleaving. May add some zeros.
 
void interleave (const Vec< T > &input, Vec< T > &output)
 Function for sequence interleaving. May add some zeros.
 
Vec< T > deinterleave (const Vec< T > &input, short keepzeros=0)
 Function for sequence deinterleaving. Removes additional zeros if keepzeros = 0.
 
void deinterleave (const Vec< T > &input, Vec< T > &output, short keepzeros=0)
 Function for sequence deinterleaving. Removes additional zeros if keepzeros = 0.
 
void randomize_interleaver_sequence ()
 Generate a new random sequence for interleaving.
 
ivec get_interleaver_sequence ()
 Returns the interleaver sequence presently used.
 
void set_interleaver_sequence (ivec in_interleaver_sequence)
 Set the interleaver sequence to be used.
 
void set_interleaver_depth (int in_interleaver_depth)
 Set the length of the interleaver sequence to be used.
 
int get_interleaver_depth (void)
 Get the length of the interleaver sequence presently used.
 

Detailed Description

template<class T>
class itpp::Sequence_Interleaver< T >

Sequence Interleaver Class.

Example of use:

BPSK bpsk;
bvec bits = "0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 1";
vec symbols = bpsk.modulate_bits(bits);
Sequence_Interleaver<double> sequence_interleaver(16);
sequence_interleaver.randomize_interleaver_sequence();
vec interleaved_symbols = sequence_snterleaver.interleave(symbols);

Definition at line 151 of file interleave.h.

Constructor & Destructor Documentation

template<class T >
itpp::Sequence_Interleaver< T >::Sequence_Interleaver ( int  in_interleaver_depth)

Sequence_Interleaver constructor.

Chooses a random sequence of length in_interleaver_depth for interleaving.

Definition at line 414 of file interleave.h.

References itpp::randu().

template<class T >
itpp::Sequence_Interleaver< T >::Sequence_Interleaver ( ivec  in_interleaver_sequence)

Sequence_Interleaver constructor.

Uses the in_interleaver_sequence for interleaving.

Definition at line 422 of file interleave.h.


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

Generated on Sat Jul 6 2013 10:54:32 for IT++ by Doxygen 1.8.2