#include <comm/interleave.h>
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. | |
Data is written row-wise and read column-wise when interleaving.
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);
Definition at line 64 of file interleave.h.
| itpp::Block_Interleaver< T >::Block_Interleaver | ( | void | ) | [inline] |
| itpp::Block_Interleaver< T >::Block_Interleaver | ( | int | in_rows, | |
| int | in_cols | |||
| ) | [inline] |
| Vec< T > itpp::Block_Interleaver< T >::interleave | ( | const Vec< T > & | input | ) | [inline] |
| void itpp::Block_Interleaver< T >::interleave | ( | const Vec< T > & | input, | |
| Vec< T > & | output | |||
| ) | [inline] |
Function for block interleaving. May add some zeros.
Definition at line 206 of file interleave.h.
References itpp::ceil(), itpp::Vec< Num_T >::clear(), itpp::concat(), itpp::Vec< Num_T >::length(), itpp::Vec< Num_T >::right(), and itpp::Vec< Num_T >::set_length().
| Vec< T > itpp::Block_Interleaver< T >::deinterleave | ( | const Vec< T > & | input, | |
| short | keepzeros = 0 | |||
| ) | [inline] |
Function for block deinterleaving. Removes additional zeros if keepzeros = 0.
Definition at line 294 of file interleave.h.
| void itpp::Block_Interleaver< T >::deinterleave | ( | const Vec< T > & | input, | |
| Vec< T > & | output, | |||
| short | keepzeros = 0 | |||
| ) | [inline] |
Function for block deinterleaving. Removes additional zeros if keepzeros = 0.
Definition at line 253 of file interleave.h.
References itpp::ceil(), itpp::Vec< Num_T >::clear(), itpp::concat(), itpp::Vec< Num_T >::length(), itpp::Vec< Num_T >::right(), and itpp::Vec< Num_T >::set_size().
| void itpp::Block_Interleaver< T >::set_rows | ( | int | in_rows | ) | [inline] |
| void itpp::Block_Interleaver< T >::set_cols | ( | int | in_cols | ) | [inline] |
| int itpp::Block_Interleaver< T >::get_rows | ( | void | ) | [inline] |
| int itpp::Block_Interleaver< T >::get_cols | ( | void | ) | [inline] |
Generated on Wed Apr 18 11:23:41 2007 for IT++ by Doxygen 1.5.2