Output elements which correspond to 1s in binary Puncture vector

Sequence Operations

The Puncture block creates an output vector by removing selected
elements of the input vector and preserving others. This block accepts
an input signal that is a real or complex vector of length *K*.
The block determines which elements to remove and preserve by using
the binary **Puncture vector** parameter.

and mod is the modulus function (`mod`

in
MATLAB).

If

**Puncture vector**(n) = 0, then the block removes the*n*^{th}element of the input vector and does not include it as part of the output vector.If

**Puncture vector**(n) = 1, then the block preserves the*n*^{th}element of the input vector as part of the output vector.

The input length, *K*, must be an integer multiple
of the **Puncture vector** parameter length. The
block repeats the puncturing pattern, as necessary, to include all
input elements. The preserved elements appear in the output vector
in the same order in which they appear in the input vector.

The input signal and the puncture vector are both column vectors.

The block accepts signals with the following data types: `int8`

, `uint8`

, `int16`

, `uint16`

, `int32`

, `uint32`

, `boolean`

, `single`

, `double`

,
and fixed-point. The output signal inherits its data type from the
input signal.

**Puncture vector**A binary vector whose pattern of 0s (1s) indicates which elements of the input the block should remove (preserve).

If the **Puncture vector** parameter is the
six-element vector `[1;0;1;1;1;0]`

, then the block:

Removes the second and sixth elements from the group of six input elements.

Sends the first, third, fourth, and fifth elements to the output vector.

The diagram below depicts the block's operation on an input
vector of `[1;2;3;4;5;6]`

, using this **Puncture
vector** parameter.

Was this topic helpful?