Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

SPUC::Block_Interleaver< T > Class Template Reference
[Interleavers]

Block Interleaver Class. More...

#include <interleave.h>

List of all members.

Public Member Functions

 Block_Interleaver (void)
 Block_Interleaver constructor.
 Block_Interleaver (int in_rows, int in_cols)
 Block_Interleaver constructor.
Vec< T > interleave (const Vec< T > &input)
 Function for block interleaving. May add some zeros.
void interleave (const Vec< T > &input, Vec< T > &output)
 Function for block interleaving. May add some zeros.
Vec< T > deinterleave (const Vec< T > &input, short keepzeros=0)
 Function for block deinterleaving. Removes additional zeros if keepzeros = 0.
void deinterleave (const Vec< T > &input, Vec< T > &output, short keepzeros=0)
 Function for block deinterleaving. Removes additional zeros if keepzeros = 0.
void set_rows (int in_rows)
 Set the number of rows for block interleaving.
void set_cols (int in_cols)
 Set the number of columns for block interleaving.
int get_rows (void)
 Get the number of rows for block interleaving.
int get_cols (void)
 Get the number of columns for block interleaving.


Detailed Description

template<class T>
class SPUC::Block_Interleaver< T >

Block Interleaver Class.

Data is written row-wise and read column-wise when interleaving.

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);

  Block_Interleaver<double> block_interleaver(4,4);
  vec interleaved_symbols = block_interleaver.interleave(symbols);


Constructor & Destructor Documentation

template<class T>
SPUC::Block_Interleaver< T >::Block_Interleaver void   )  [inline]
 

Block_Interleaver constructor.

template<class T>
SPUC::Block_Interleaver< T >::Block_Interleaver int  in_rows,
int  in_cols
 

Block_Interleaver constructor.


Member Function Documentation

template<class T>
void SPUC::Block_Interleaver< T >::deinterleave const Vec< T > &  input,
Vec< T > &  output,
short  keepzeros = 0
 

Function for block deinterleaving. Removes additional zeros if keepzeros = 0.

Here is the call graph for this function:

template<class T>
Vec< T > SPUC::Block_Interleaver< T >::deinterleave const Vec< T > &  input,
short  keepzeros = 0
 

Function for block deinterleaving. Removes additional zeros if keepzeros = 0.

template<class T>
int SPUC::Block_Interleaver< T >::get_cols void   )  [inline]
 

Get the number of columns for block interleaving.

template<class T>
int SPUC::Block_Interleaver< T >::get_rows void   )  [inline]
 

Get the number of rows for block interleaving.

template<class T>
void SPUC::Block_Interleaver< T >::interleave const Vec< T > &  input,
Vec< T > &  output
 

Function for block interleaving. May add some zeros.

Here is the call graph for this function:

template<class T>
Vec< T > SPUC::Block_Interleaver< T >::interleave const Vec< T > &  input  ) 
 

Function for block interleaving. May add some zeros.

template<class T>
void SPUC::Block_Interleaver< T >::set_cols int  in_cols  )  [inline]
 

Set the number of columns for block interleaving.

template<class T>
void SPUC::Block_Interleaver< T >::set_rows int  in_rows  )  [inline]
 

Set the number of rows for block interleaving.


The documentation for this class was generated from the following file:
Generated on Fri Sep 16 11:07:49 2005 for spuc by  doxygen 1.4.4