Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

simthlib::PolyphaseInterleaving3d Class Reference

#include <interleaver.h>

Inheritance diagram for simthlib::PolyphaseInterleaving3d:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 PolyphaseInterleaving3d (int cols, int rows, int planes)
virtual void print (std::ostream &os, bool debugInfo=false) const

Protected Member Functions

void initMappingVectors ()

Detailed Description

Particular type of 3-dimensional interleaver. The name refers to the fact that the deinterleaver seperates the polyphases of the input sequence such that the deinterleaved polyphase signals appear sequentially at the deinterleaver output.

Example: In the interleaved sequence the n polyphases of the input signal are arranged in the sequence 123...n123...n123...n123...n123...n.... After deinterleaving they are arranged as 11111...22222...33333........nnnnnn, where each of the polyphase components is interleaved individually.

For more details, consider the following example: A 4*3*2 deinterleaver, where the number of polyphases to be seperated is 2. In the following sequences, numbers denote the polyphases whereas letters denote the individual elements within the polyphase. Before deinterleaving, the sequence of elements is a1 a2 b1 b2 c1 c2 d1 d2 e1 e2 f1 f2 g1 g2 h1 h2 i1 i2 j1 j2 k1 k2 l1 l2

After deinterleaving it becomes a1 d1 g1 j1 b1 e1 h1 k1 c1 f1 i1 l1 a2 d2 g2 j2 b2 e2 h2 k2 c2 f2 i2 l2

If considered as a 3-dimensional Matrix, interleaving is achieved by filling the matrix one plane after the other, going row by row within each plane. The matrix is then read one column after the other, going row by row within each column.


Constructor & Destructor Documentation

simthlib::PolyphaseInterleaving3d::PolyphaseInterleaving3d int  cols,
int  rows,
int  planes
 

constructor: number of cols, number of rows, number of planes (depth) Usually the number of planes are equal to the bits per Symbol in the used modulation Scheme.


Member Function Documentation

void simthlib::PolyphaseInterleaving3d::initMappingVectors  )  [protected]
 

virtual void simthlib::PolyphaseInterleaving3d::print std::ostream &  os,
bool  debugInfo = false
const [virtual]
 

Reimplemented from simthlib::Interleaving.


Generated on Tue Aug 9 14:38:18 2005 for simtheticlib by  doxygen 1.4.1