Communications Blockset    
Viterbi Decoder

Decode convolutionally encoded data using the Viterbi algorithm

Library

Convolutional sublibrary of Channel Coding

Description

The Viterbi Decoder block decodes input symbols to produce binary output symbols. This block can process several symbols at a time for faster performance.

Input and Output Sizes

If the convolutional code uses an alphabet of 2n possible symbols, then this block's input vector length is L*n for some positive integer L. Similarly, if the decoded data uses an alphabet of 2k possible output symbols, then this block's output vector length is L*k. The integer L is the number of frames that the block processes in each step.

The input can be either a sample-based vector with L = 1, or a frame-based column vector with any positive integer for L.

Input Values and Decision Types

The entries of the input vector are either bipolar, binary, or integer data, depending on the Decision type parameter.

Decision type Parameter
Possible Entries in Decoder Input
Interpretation of Values
Unquantized
Real numbers
+1: logical zero
-1: logical one
Hard Decision
0, 1
0: logical zero
1: logical one
Soft Decision
Integers between 0 and 2b-1, where b is the Number of soft decision bits parameter
0: most confident decision for logical zero
2b-1: most confident decision for logical one
Other values represent less confident decisions

To illustrate the soft decision situation more explicitly, the table below lists interpretations of values for 3-bit soft decisions.

Input Value
Interpretation
0
Most confident zero
1
Second most confident zero
2
Third most confident zero
3
Least confident zero
4
Least confident one
5
Third most confident one
6
Second most confident one
7
Most confident one

Operation Modes for Frame-Based Inputs

If the input signal is frame-based, then the block has three possible methods for transitioning between successive frames. The Operation mode parameter controls which method the block uses:

In the special case when the frame-based input signal contains only one symbol, the Continuous mode is most appropriate.

Traceback Depth and Decoding Delay

The Traceback depth parameter, D, influences the decoding delay. The decoding delay is the number of zero symbols that precede the first decoded symbol in the output.

If the code rate is 1/2, then a typical Traceback depth value is about five times the constraint length of the code.

Reset Port

The reset port is usable only when the Operation mode parameter is set to Continuous. Checking the Reset input check box causes the block to have an additional input port, labeled Rst. When the Rst input is nonzero, the decoder returns to its initial state by configuring its internal memory as follows:

Using a reset port on this block is analogous to setting the Reset parameter in the Convolutional Encoder block to On nonzero Rst input.

Dialog Box

Trellis structure
MATLAB structure that contains the trellis description of the convolutional encoder. Use the same value here and in the corresponding Convolutional Encoder block.
Decision type
Unquantized, Hard Decision, or Soft Decision.
Number of soft decision bits
The number of soft decision bits used to represent each input. This field is active only when Decision type is set to Soft Decision.
Traceback depth
The number of trellis branches used to construct each traceback path.
Operation mode
Method for transitioning between successive input frames. For frame-based input, the choices are Continuous, Terminated, and Truncated. Sample-based input must use the Continuous mode.
Reset input
When you check this box, the decoder has a second input port labeled Rst. Providing a nonzero input value to this port causes the internal memory to be set to its initial state prior to processing the input data.

See Also

Convolutional Encoder, APP Decoder

References

[1]  Clark, George C. Jr. and J. Bibb Cain. Error-Correction Coding for Digital Communications. New York: Plenum Press, 1981.

[2]  Gitlin, Richard D., Jeremiah F. Hayes, and Stephen B. Weinstein. Data Communications Principles. New York: Plenum, 1992.

[3]  Heller, Jerrold A. and Irwin Mark Jacobs. "Viterbi Decoding for Satellite and Space Communication." IEEE Transactions on Communication Technology, vol. COM-19, October 1971. 835-848.


  Unipolar to Bipolar Converter Voltage-Controlled Oscillator