| Communications Blockset | ![]() |
Mapping the Received Data
The received data, that is, the output of the AWGN Channel block, consists of complex numbers that are close to -1 and 1. In order to reconstruct the original binary message, the receiver part of the model must decode the convolutional code. Although the Viterbi Decoder block is designed for convolutional decoding, it expects its input data to have a particular format. The purpose of the mapping task is to transform the output of the AWGN Channel block into a format that the Viterbi Decoder block can interpret properly.
Specifically, the Viterbi Decoder block is configured here to process integer input values between 0 and 7. The mapping procedure includes these two tasks:
Converting to Real Data
The Complex to Real-Imag block, in Simulink's Math library, performs step 1 above. Since its Output parameter is set to Real, the block outputs only the real part of its input.
Mapping to Decision Values
The Sampled Quantizer Encode block, in the Source Coding library, performs step 2 above. This block classifies each real input value based on whether it is greater or less than the partition values in the Quantization partition parameter. The block then outputs a value from the Quantization codebook parameter that depends on the classification.
As the section Defining the Decoding Process (Technical) explains, the Viterbi Decoder requires input values that are integers between 0 and 23-1 in order to decode using three-bit soft decisions. Therefore, the Quantization codebook parameter is a vector containing the eight integers between 0 and 7. Since the input to the Sampled Quantizer Encode block is close to the values -1 and 1, it is reasonable to select the seven partition values to be -.75, -.5, -.25, 0, .25, .5, and .75. This means that the first classification group consists of numbers less than or equal to -.75, the second classification group consists of numbers between -.75 and -.5 (including -.5), and so on, until the eighth classification group consists of numbers greater than .75. Finally, the elements of the Quantization codebook and Quantization partition vectors are ordered so that an input value of -1 maps to an output value of 7 and an input value of 1 maps to an output value of 0. The combination of this mapping and the Viterbi Decoder block's decision mapping reverses the BPSK modulation that the BPSK Modulator Baseband block performs on the transmitting side of this model.
| Transmitting Along a Noisy Channel | Buffering to Convert Scalars to Vectors | ![]() |