| Communications Blockset | ![]() |
www.kxcad.net Home > CAE Software Index > MATLAB Index >
Reorder input symbols using algebraically derived permutation table
Block sublibrary of Interleaving
The Algebraic Interleaver block rearranges the elements of its input vector using a permutation that is algebraically derived. The Number of elements parameter, N, indicates how many numbers are in the input vector. If the input is frame-based, then it must be a column vector.
The block can accept the data types int8, uint8, int16, uint16, int32, uint32, boolean, single, double, and fixed-point. The data type of this output will be the same as that of the input signal.
The Type parameter indicates the algebraic method that the block uses to generate the appropriate permutation table. Choices are Takeshita-Costello and Welch-Costas. Each of these methods has parameters and restrictions that are specific to it:
If Type is set to Welch-Costas, then N+1 must be prime. The Primitive element parameter is an integer, A, between 1 and N that represents a primitive element of the finite field GF(N+1). This means that every nonzero element of GF(N+1) can be expressed as A raised to some integer power.
In a Welch-Costas interleaver, the permutation maps the integer k to mod(Ak,N+1) - 1.
If Type is set to Takeshita-Costello, then N must be 2m for some integer m. The Multiplicative factor parameter, h, must be an odd integer less than N. The Cyclic shift parameter, k, must be a nonnegative integer less than N.
A Takeshita-Costello interleaver uses a length-N cycle vector whose nth element is
mod(k*(n-1)*n/2, N)
for integers n between 1 and N. The block creates a permutation vector by listing, for each element of the cycle vector in ascending order, one plus the element's successor. The interleaver's actual permutation table is the result of shifting the elements of the permutation vector left by the Cyclic shift parameter. (The block performs all computations on numbers and indices modulo N.)

The type of permutation table that the block uses for interleaving.
The number of elements, N, in the input vector.
The factor used to compute the interleaver's cycle vector. This field appears only if Type is set to Takeshita-Costello.
The amount by which the block shifts indices when creating the permutation table. This field appears only if Type is set to Takeshita-Costello.
An element of order N in the finite field GF(N+1). This field appears only if Type is set to Welch-Costas.
[1] Heegard, Chris and Stephen B. Wicker. Turbo Coding. Boston: Kluwer Academic Publishers, 1999.
[2] Takeshita, O. Y. and D. J. Costello, Jr. "New Classes Of Algebraic Interleavers for Turbo-Codes." Proc. 1998 IEEE International Symposium on Information Theory, Boston, Aug. 16-21, 1998. 419.
| Algebraic Deinterleaver | Align Signals | ![]() |
© 1984-2007 The MathWorks, Inc. Terms of Use Patents Trademarks Acknowledgments