Documentation

comm.AlgebraicDeinterleaver System object

Deinterleave input symbols using algebraically derived permutation vector

Description

TheAlgebraicDeinterleaverobject restores the original ordering of a sequence that was interleaved using theAlgebraicInterleaverobject. 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. SeeConstruction.

  2. Callstepto deinterleave the input symbols according to the properties ofcomm.AlgebraicDeinterleaver. The behavior ofstepis specific to each object in the toolbox.

Note

Starting in R2016b, instead of using thestepmethod to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example,y = step(obj,x)andy = obj(x)perform equivalent operations.

Construction

H = comm.AlgebraicDeinterleavercreates 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 ofTakeshita-Costello|Welch-Costas. The default isTakeshita-Costello. The algebraic interleaver performs all computations in moduloN, whereNequals the length you set in theLengthproperty.

For theWelch-Costasmethod, the value of (N+ 1)必须是一个质数,在哪儿eNequals the value you specify in theLengthproperty. You must set thePrimitiveElementproperty to an integer,A, between 1 andN. This integer represents a primitive element of the finite fieldGF(N+1).

For theTakeshita-Costellomethod, you must set theLengthproperty to a value equal to 2m, for any integerm. You must also set theMultiplicativeFactorproperty to an odd integer that is less than the value of theLengthproperty. TheCyclicShiftproperty requires a nonnegative integer which is less than the value of theLengthproperty. TheTakeshita-Costellointerleaver method uses a cycle vector of lengthN, which you specify in theLengthproperty. The cycle vector calculation uses the equation, mod( k × ( n 1) × n 2 , N )+1 , for any integern, between 1 andN. 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 theCyclicShiftproperty. 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 theMethodproperty toWelch-Costas, then the value ofLength+1 must equal a prime number. When you set theMethodproperty toTakeshita-Costello, then the value of theLengthproperty requires a power of two. The default is256.

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 theMethodproperty toTakeshita-Costello. The default is13.

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 is0. This property applies when you set theMethodproperty toTakeshita-Costello.

PrimitiveElement

Primitive element

指定的原始element as an element of orderNin the finite fieldGF(N+1).Nis the value you specify in theLengthproperty. You can express every nonzero element ofGF(N+1) as the value of thePrimitiveElementproperty raised to some integer power. In a Welch-Costas interleaver, the permutation maps the integerkto mod(A k ,N+1)-1 , whereArepresents the value of thePrimitiveElementproperty. This property applies when you set theMethodproperty toWelch-Costas. The default is6.

Methods

step Deinterleave input symbols using algebraically derived permutation vector
Common to All System Objects
release

Allow System object property value changes

Examples

expand all

Create algebraic interleaver and deinterleaver objects having a length of 16.

interleaver = comm.AlgebraicInterleaver('Length',16); deinterleaver = comm.AlgebraicDeinterleaver('Length',16);

Generate 8-ary data. Interleave and deinterleave the data.

data = randi([0 7],16,1); intData = interleaver(data); deIntData = deinterleaver(intData);

Compare the original, interleaved, and deinterleaved data.

[data,intData,deIntData]
ans =16×36 3 6 7 7 7 1 7 1 7 7 7 5 7 5 0 7 0 2 1 2 4 6 4 7 6 7 7 7 7 ⋮

Confirm the original and deinterlaved data are identical.

isequal(data,deIntData)
ans =logical1

Algorithms

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

Extended Capabilities

Introduced in R2012a

Was this topic helpful?