Puncture vector, specified as a column vector of binary values. The length of the
puncture vector must be an integral multiple of *n*, where
**Encoder rate** is *1/n*. For encoder rates 1/2,
1/3, 1/5, and 1/6, the maximum length of the **puncVector** is 30 and
for encoder rates 1/4 and 1/7, the maximum length of the
**puncVector** is 28.

You can change the **puncVector** pattern, but its length must
remain constant. If the maximum puncture vector length provided is 10, the block
supports all the vector lengths below 10.

**Example: **For an encoder rate 1/2 and its puncture rates 2/3, 3/4, and 5/6, the
respective vector lengths are 4, 6, and 10. To achieve these multiple rates, set the
**Puncture vector source** parameter to ```
Input
port
```

. To support the largest vector size, the vector length must be 10
for all rates. For 2/3 and 3/4 rates, pad the **puncVector** input
with zeros to create a 10-element vector. The puncture vector for rate 3/4 is
`[1 1 0 1 1 0]'`

. For a vector length of 10, use ```
[0 0 0 0
1 1 0 1 1 0]'
```

as the input **puncVector**.

When the **Operation mode** parameter is set to
`Continuous`

, the block captures the value of
**puncVector** when both **syncPunc** and input
**valid** port signals are `1`

(true).

When the **Operation mode** parameter is set to
`Frame`

, the block captures the value of
**puncVector** when both `ctrl.start`

and
`ctrl.valid`

signals are `1`

(true).

#### Dependencies

To enable this port, set the **Puncture vector source**
parameter to `Input port`

.

**Data Types: **`Boolean`