IT++ Logo Newcom Logo

itpp::Cross_Interleaver< T > Class Template Reference
[Interleavers]

Cross Interleaver Class. More...

#include <comm/interleave.h>

List of all members.

Public Member Functions

 Cross_Interleaver (void)
 Cross_Interleaver constructor.
 Cross_Interleaver (int in_order)
 Cross_Interleaver constructor.
Vec< T > interleave (const Vec< T > &input)
 Function for cross interleaving. Adds some zeros.
void interleave (const Vec< T > &input, Vec< T > &output)
 Function for cross interleaving. Adds some zeros.
Vec< T > deinterleave (const Vec< T > &input, short keepzeros=0)
 Function for cross deinterleaving. Removes aditional zeros if keepzeros = 0.
void deinterleave (const Vec< T > &input, Vec< T > &output, short keepzeros=0)
 Function for cross deinterleaving. Removes aditional zeros if keepzeros = 0.
void set_order (int in_order)
 Set the order of the Cross Interleaver.
int get_order (void)
 Get the order of the Cross Interleaver.


Detailed Description

template<class T>
class itpp::Cross_Interleaver< T >

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

    Cross_Interleaver<double> cross_interleaver(4);
    vec interleaved_symbols = cross_interleaver.interleave(symbols);

Definition at line 110 of file interleave.h.


Constructor & Destructor Documentation

template<class T>
itpp::Cross_Interleaver< T >::Cross_Interleaver void   )  [inline]
 

Cross_Interleaver constructor.

Definition at line 113 of file interleave.h.

template<class T>
itpp::Cross_Interleaver< T >::Cross_Interleaver int  in_order  ) 
 

Cross_Interleaver constructor.

Definition at line 304 of file interleave.h.

References itpp::Vec< Num_T >::set_size(), and itpp::Mat< Num_T >::set_size().


Member Function Documentation

template<class T>
Vec< T > itpp::Cross_Interleaver< T >::interleave const Vec< T > &  input  ) 
 

Function for cross interleaving. Adds some zeros.

Definition at line 348 of file interleave.h.

template<class T>
void itpp::Cross_Interleaver< T >::interleave const Vec< T > &  input,
Vec< T > &  output
 

Function for cross interleaving. Adds some zeros.

Definition at line 314 of file interleave.h.

References itpp::ceil(), itpp::Vec< Num_T >::clear(), itpp::Mat< Num_T >::clear(), itpp::concat(), itpp::Mat< Num_T >::get_col(), itpp::Vec< Num_T >::left(), itpp::Vec< Num_T >::length(), itpp::Vec< Num_T >::mid(), itpp::Vec< Num_T >::right(), itpp::Mat< Num_T >::set_col(), and itpp::Vec< Num_T >::set_length().

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

Function for cross deinterleaving. Removes aditional zeros if keepzeros = 0.

Definition at line 392 of file interleave.h.

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

Function for cross deinterleaving. Removes aditional zeros if keepzeros = 0.

Definition at line 356 of file interleave.h.

References itpp::ceil(), itpp::Vec< Num_T >::clear(), itpp::Mat< Num_T >::clear(), itpp::concat(), itpp::Mat< Num_T >::get_col(), itpp::Vec< Num_T >::left(), itpp::Vec< Num_T >::length(), itpp::Vec< Num_T >::mid(), itpp::Vec< Num_T >::right(), itpp::Mat< Num_T >::set_col(), and itpp::Vec< Num_T >::set_size().

template<class T>
void itpp::Cross_Interleaver< T >::set_order int  in_order  ) 
 

Set the order of the Cross Interleaver.

Definition at line 400 of file interleave.h.

References itpp::Vec< Num_T >::set_size(), and itpp::Mat< Num_T >::set_size().

template<class T>
int itpp::Cross_Interleaver< T >::get_order void   )  [inline]
 

Get the order of the Cross Interleaver.

Definition at line 127 of file interleave.h.


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

Generated on Thu Apr 19 14:20:03 2007 for IT++ by Doxygen 1.4.6