| Communications Blockset™ | ![]() |
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. The input can be a real or complex vector of length K. The block determines which elements to remove or preserve by using the binary Puncture vector parameter:
If Puncture vector(k) = 0, then the kth element of the input vector does not become part of the output vector.
If Puncture vector(k) = 1, then the kth element of the input vector is preserved in the output vector.
Here, k is between 1 and K. The preserved elements appear in the output vector in the same order in which they appear in the input vector.
The block can accept the data types int8, uint8, int16, uint16, int32, uint32, boolean, single, double, and fixed-point. The data type of the output will be the same as that of the input signal.
If the input is frame-based, then both it and the Puncture vector parameter must be column vectors. The length of the Puncture vector parameter must divide K. The block repeats the puncturing pattern, if necessary, to cover all input elements. That is, in the bulleted items above you can replace Puncture vector(k) by Puncture vector(n), where
n = mod(k,length(Puncture vector))
and mod is the modulus function (mod in MATLAB).

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:6], using this Puncture vector parameter.

![]() | Poisson Integer Generator | QPSK Demodulator Baseband | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |