Contents

comm.AlgebraicDeinterleaver System object

Package: comm

Deinterleave input symbols using algebraically derived permutation vector

Description

The AlgebraicDeinterleaver object restores the original ordering of a sequence that was interleaved using the AlgebraicInterleaver object. In typical usage, the properties of the two objects have the same values.

To deinterleave input symbols using an algebraically derived permutation vector:

  1. Define and set up your algebraic deinterleaver object. See Construction.

  2. Call step to deinterleave the input symbols according to the properties of comm.AlgebraicDeinterleaver. The behavior of step is specific to each object in the toolbox.

Construction

H = comm.AlgebraicDeinterleaver creates a deinterleaver System object™, H. This object restores the original ordering of a sequence from the corresponding algebraic interleaver object.

H = comm.AlgebraicDeinterleaver(Name,Value) creates an Algebraic deinterleaver System object, H, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).

Properties

Method

Algebraic method to generate permutation vector

Specify the algebraic method as one of Takeshita-Costello| Welch-Costas. The default is Takeshita-Costello. The algebraic interleaver performs all computations in modulo N, where N equals the length you set in the Length property.

For the Welch-Costas method, the value of (N+1) must be a prime number, where N equals the value you specify in the Length property. You must set the PrimitiveElement property to an integer, A, between 1 and N. This integer represents a primitive element of the finite field GF(N+1).

For the Takeshita-Costello method, you must set the Length property to a value equal to 2m, for any integer m. You must also set the MultiplicativeFactor property to an odd integer that is less than the value of the Length property. The CyclicShift property requires a nonnegative integer which is less than the value of the Length property. The Takeshita-Costello interleaver method uses a cycle vector of length N, which you specify in the Length property. The cycle vector calculation uses the equation, mod(k×(n1)×n2N)+1, for any integer n, between 1 and N. The object creates an intermediate permutation function using the relationship, P(c(n)) = c(n+1). You can shift the elements of the intermediate permutation vector to the left by the amount specified by the CyclicShift property. Doing so produces the interleaver's actual permutation vector.

Length

Number of elements in input vector

Specify the number of elements in the input as a positive, integer, scalar. When you set the Method property to Welch-Costas, then the value of Length+1 must equal a prime number. When you set the Method property to Takeshita-Costello, then the value of the Length property requires a power of two. The default is 256.

MultiplicativeFactor

Cycle vector computation factor

Specify the factor the object uses to compute the interleaver's cycle vector as a positive, integer, scalar. This property applies when you set the Method property to Takeshita-Costello. The default is 13.

CyclicShift

Amount of cyclic shift

Specify the amount by which the object shifts indices, when the object creates the final permutation vector, as a nonnegative, integer, scalar. The default is 0. This property applies when you set the Method property to Takeshita-Costello.

PrimitiveElement

Primitive element

Specify the primitive element as an element of order N in the finite field GF(N+1). N is the value you specify in the Length property. You can express every nonzero element of GF(N+1) as the value of the PrimitiveElement property raised to some integer power. In a Welch-Costas interleaver, the permutation maps the integer k to mod(Ak,N+1)-1, where A represents the value of the PrimitiveElement property. This property applies when you set the Method property to Welch-Costas. The default is 6.

Methods

cloneCreate algebraic deinterleaver object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
releaseAllow property value and input characteristics changes
stepDeinterleave input symbols using algebraically derived permutation vector

Examples

expand all

Interleave and deinterleave data using algebraic interleaving

    hInt = comm.AlgebraicInterleaver('Length', 16);
    hDeInt = comm.AlgebraicDeinterleaver('Length', 16);
    data = randi(7, 16, 1);
    intData = step(hInt, data);
    deIntData = step(hDeInt, intData);
    [data, intData, deIntData]
ans =

     6     4     6
     7     7     7
     1     7     1
     7     7     7
     5     7     5
     1     7     1
     2     1     2
     4     6     4
     7     6     7
     7     7     7
     2     2     2
     7     2     7
     7     5     7
     4     4     4
     6     1     6
     1     1     1

Algorithms

This object implements the algorithm, inputs, and outputs described on the Algebraic Deinterleaver block reference page. The object properties correspond to the block parameters.

Was this topic helpful?