#include <comm/interleave.h>
Public Member Functions | |
Sequence_Interleaver (void) | |
Sequence_Interleaver constructor. | |
Sequence_Interleaver (int in_interleaver_depth) | |
Sequence_Interleaver constructor. | |
Sequence_Interleaver (ivec in_interleaver_sequence) | |
Sequence_Interleaver constructor. | |
Vec< T > | interleave (const Vec< T > &input) |
Function for sequence interleaving. May add some zeros. | |
void | interleave (const Vec< T > &input, Vec< T > &output) |
Function for sequence interleaving. May add some zeros. | |
Vec< T > | deinterleave (const Vec< T > &input, short keepzeros=0) |
Function for sequence deinterleaving. Removes additional zeros if keepzeros = 0. | |
void | deinterleave (const Vec< T > &input, Vec< T > &output, short keepzeros=0) |
Function for sequence deinterleaving. Removes additional zeros if keepzeros = 0. | |
void | randomize_interleaver_sequence () |
Generate a new random sequence for interleaving. | |
ivec | get_interleaver_sequence () |
Returns the interleaver sequence presently used. | |
void | set_interleaver_sequence (ivec in_interleaver_sequence) |
Set the interleaver sequence to be used. | |
void | set_interleaver_depth (int in_interleaver_depth) |
Set the length of the interleaver sequence to be used. | |
int | get_interleaver_depth (void) |
Get the length of the interleaver sequence presently used. |
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);
Sequence_Interleaver<double> sequence_interleaver(16);
sequence_interleaver.randomize_interleaver_sequence();
vec interleaved_symbols = sequence_snterleaver.interleave(symbols);
Definition at line 152 of file interleave.h.
itpp::Sequence_Interleaver< T >::Sequence_Interleaver | ( | void | ) | [inline] |
itpp::Sequence_Interleaver< T >::Sequence_Interleaver | ( | int | in_interleaver_depth | ) | [inline] |
Sequence_Interleaver constructor.
Chooses a random sequence of length in_interleaver_depth for interleaving.
Definition at line 412 of file interleave.h.
References itpp::randu().
itpp::Sequence_Interleaver< T >::Sequence_Interleaver | ( | ivec | in_interleaver_sequence | ) | [inline] |
Sequence_Interleaver constructor.
Uses the in_interleaver_sequence for interleaving.
Definition at line 420 of file interleave.h.
Vec< T > itpp::Sequence_Interleaver< T >::interleave | ( | const Vec< T > & | input | ) | [inline] |
Function for sequence interleaving. May add some zeros.
Definition at line 465 of file interleave.h.
Referenced by itpp::Turbo_Codec::decode_block(), itpp::Turbo_Codec::decode_n3(), and itpp::Turbo_Codec::encode_block().
void itpp::Sequence_Interleaver< T >::interleave | ( | const Vec< T > & | input, | |
Vec< T > & | output | |||
) | [inline] |
Function for sequence interleaving. May add some zeros.
Definition at line 428 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().
Vec< T > itpp::Sequence_Interleaver< T >::deinterleave | ( | const Vec< T > & | input, | |
short | keepzeros = 0 | |||
) | [inline] |
Function for sequence deinterleaving. Removes additional zeros if keepzeros = 0.
Definition at line 515 of file interleave.h.
Referenced by itpp::Turbo_Codec::decode_block(), and itpp::Turbo_Codec::decode_n3().
void itpp::Sequence_Interleaver< T >::deinterleave | ( | const Vec< T > & | input, | |
Vec< T > & | output, | |||
short | keepzeros = 0 | |||
) | [inline] |
Function for sequence deinterleaving. Removes additional zeros if keepzeros = 0.
Definition at line 473 of file interleave.h.
References itpp::ceil(), itpp::Vec< Num_T >::clear(), itpp::concat(), itpp::Vec< Num_T >::length(), itpp::Vec< Num_T >::right(), itpp::Vec< Num_T >::set_length(), and itpp::Vec< Num_T >::set_size().
void itpp::Sequence_Interleaver< T >::randomize_interleaver_sequence | ( | ) | [inline] |
Generate a new random sequence for interleaving.
Definition at line 523 of file interleave.h.
References itpp::randu().
ivec itpp::Sequence_Interleaver< T >::get_interleaver_sequence | ( | ) | [inline] |
void itpp::Sequence_Interleaver< T >::set_interleaver_sequence | ( | ivec | in_interleaver_sequence | ) | [inline] |
Set the interleaver sequence to be used.
Definition at line 535 of file interleave.h.
Referenced by itpp::Turbo_Codec::set_interleaver(), and itpp::Turbo_Codec::set_parameters().
void itpp::Sequence_Interleaver< T >::set_interleaver_depth | ( | int | in_interleaver_depth | ) | [inline] |
Set the length of the interleaver sequence to be used.
Definition at line 183 of file interleave.h.
Referenced by itpp::Turbo_Codec::set_interleaver(), and itpp::Turbo_Codec::set_parameters().
int itpp::Sequence_Interleaver< T >::get_interleaver_depth | ( | void | ) | [inline] |
Get the length of the interleaver sequence presently used.
Definition at line 185 of file interleave.h.
Generated on Fri Jun 8 00:37:38 2007 for IT++ by Doxygen 1.5.2