#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 Wed Apr 18 11:23:41 2007 for IT++ by Doxygen 1.5.2