This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Restore ordering of symbols using algebraically derived permutation table


deintrlvd = algdeintrlv(data,num,'takeshita-costello',k,h)
deintrlvd = algdeintrlv(data,num,'welch-costas',alph)


deintrlvd = algdeintrlv(data,num,'takeshita-costello',k,h) restores the original ordering of the elements in data using a permutation table that is algebraically derived using the Takeshita-Costello method. num is the number of elements in data if data is a vector, or the number of rows of data if data is a matrix with multiple columns. In the Takeshita-Costello method, num must be a power of 2. The multiplicative factor, k, must be an odd integer less than num, and the cyclic shift, h, must be a nonnegative integer less than num. If data is a matrix with multiple rows and columns, the function processes the columns independently.

deintrlvd = algdeintrlv(data,num,'welch-costas',alph) uses the Welch-Costas method. In the Welch-Costas method, num+1 must be a prime number. alph is an integer between 1 and num that represents a primitive element of the finite field GF(num+1).

To use this function as an inverse of the algintrlv function, use the same inputs in both functions, except for the data input. In that case, the two functions are inverses in the sense that applying algintrlv followed by algdeintrlv leaves data unchanged.


The code below uses the Takeshita-Costello method of algintrlv and algdeintrlv.

num = 16; % Power of 2
ncols = 3; % Number of columns of data to interleave
data = rand(num,ncols); % Random data to interleave
k = 3;
h = 4;
intdata = algintrlv(data,num,'takeshita-costello',k,h);
deintdata = algdeintrlv(intdata,num,'takeshita-costello',k,h);

More About


[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. p. 419.

See Also

Introduced before R2006a

Was this topic helpful?