Communications Blockset | ![]() ![]() |
Inserting Zeros
The Insert Zero block substitutes zeros for the bits that were removed by the Puncture block. Because the punctured bits are not transmitted, there is no information to indicate their values. Since BPSK is an antipodal modulation format, and 0 lies half way between +1 and -1, you can insert zeros in place of the punctured bits.
The locations of the inserted zeros is determined by the Insert zero vector parameter in the mask. The insert zero vector is a binary column vector, which will usually be the same as the puncture vector. Each 1 in the insert zero vector indicates that the block should place the next element of the input vector into the output vector (at the position of the 1). Each 0 indicates that the block should place a 0 into the output vector (at the position of the the 0). This replaces the punctured bits with zeros.
Note In frame-based processing, the length of the Insert zero vector value must divide the length of an input frame. |
Data Delay
In this example, there is no data delay between the Puncture block and the Insert Zero block. However, if you introduce another block into the model between the Puncture block and the Insert Zero block that produces a delay, then the Insert Zero block might insert zeros in locations other than where the Puncture block removed bits. To correct this, you should also place an Integer Delay block, in the Signal Operations library of the DSP Blockset, immediately before the Insert Zero block. Set the Delay (samples) parameter of the Integer Delay block to an integer such that the total delay between the Puncture block and the Insert Zero block (including the Delay block) is a multiple of the length of the Insert zero vector parameter.
For example, if there is a delay of 20, and the length of the insert zero vector is 6, then the Delay (samples) parameter should be 4. This makes the total delay 24, which is a multiple of 6, and brings the Insert Zero block into phase with the Puncture block.
![]() | Demodulating | Viterbi Decoding | ![]() |