itpp::Cross_Interleaver< T > Class Template Reference
Communications Module » Interleavers

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

- See S. B. Wicker, "Error control systems for digital communications and storage," Prentice Hall 1995, p. 427 for details.

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

Function for cross interleaving. Adds some zeros.

Definition at line 316 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(), and itpp::Array< T >::set_length().

## 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:

- itpp/comm/interleave.h

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