#include <itpp/itcomm.h> using namespace itpp; //These lines are needed for use of cout and endl using std::cout; using std::endl; int main() { //Declare scalars and vectors: int rows, cols; ivec input, output, deinterleaved; //Declare the interleaver. The interleaver classes are templated, and therefore we must specify //the type of the data elements. In this example we are using integers: Block_Interleaver<int> my_interleaver; //Initialize the interleaver class. Note that this can be done already in the declaration by writing //Block_Interleaver<int> my_interleaver(rows,cols); rows = 4; cols = 5; my_interleaver.set_rows(rows); my_interleaver.set_cols(cols); //Define the input to the interleaver: input = "1:20"; //Do the interleaving: output = my_interleaver.interleave(input); //Do the de-interleaving: deinterleaved = my_interleaver.deinterleave(output); //Print the results: cout << "input = " << input << endl; cout << "output = " << output << endl; cout << "deinterleaved = " << deinterleaved << endl; //Exit program: return 0; }
When you run this program, the output will look like this:
input = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20] output = [1 5 9 13 17 2 6 10 14 18 3 7 11 15 19 4 8 12 16 20] deinterleaved = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]
Generated on Thu Apr 19 14:18:34 2007 for IT++ by Doxygen 1.5.1