This example shows how to use one of the interleaving classes.
using std::cout;
using std::endl;
int main()
{
int rows, cols;
ivec input, output, deinterleaved;
Block_Interleaver<int> my_interleaver;
rows = 4;
cols = 5;
my_interleaver.set_rows(rows);
my_interleaver.set_cols(cols);
input = "1:20";
output = my_interleaver.interleave(input);
deinterleaved = my_interleaver.deinterleave(output);
cout << "input = " << input << endl;
cout << "output = " << output << endl;
cout << "deinterleaved = " << deinterleaved << endl;
return 0;
}
Vec< int > ivec
Definition of integer vector type.
Include file for the IT++ communications module.
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]