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

Cross Interleaver Class. More...

#include <comm/interleave.h>

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);
vec interleaved_symbols = cross_interleaver.interleave(symbols);
General array class.
Definition array.h:105
BPSK modulator with real symbols.
Definition modulator.h:877
void modulate_bits(const bvec &bits, vec &output) const
Modulate bits into BPSK symbols in complex domain.

Definition at line 108 of file interleave.h.

Constructor & Destructor Documentation

◆ Cross_Interleaver() [1/2]

template<class T >
itpp::Cross_Interleaver< T >::Cross_Interleaver ( void  )
inline

Cross_Interleaver constructor.

Definition at line 112 of file interleave.h.

◆ Cross_Interleaver() [2/2]

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

Cross_Interleaver constructor.

Definition at line 306 of file interleave.h.

References itpp::Array< T >::set_size().

Member Function Documentation

◆ interleave() [1/2]

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

Function for cross interleaving. Adds some zeros.

Definition at line 350 of file interleave.h.

◆ interleave() [2/2]

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

◆ deinterleave() [1/2]

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 394 of file interleave.h.

◆ deinterleave() [2/2]

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 358 of file interleave.h.

References itpp::Array< T >::concat, itpp::Array< T >::left(), itpp::Array< T >::length(), itpp::Array< T >::mid(), itpp::Array< T >::right(), itpp::round_i(), and itpp::Array< T >::set_size().

◆ set_order()

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

Set the order of the Cross Interleaver.

Definition at line 402 of file interleave.h.

References itpp::Array< T >::set_size().

◆ get_order()

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

Get the order of the Cross Interleaver.

Definition at line 126 of file interleave.h.


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

Generated on Tue Mar 26 2024 19:08:31 for IT++ by Doxygen 1.9.8