The decoder is built in a similar way to the above encoder. Two elementary decoders are interconnected to each other, but in series, not in parallel. The \textstyle DEC_1 decoder operates on lower speed (i.e., \textstyle R_1), thus, it is intended for the \textstyle C_1 encoder, and \textstyle DEC_2 is for \textstyle C_2 correspondingly. \textstyle DEC_1 yields a
soft decision which causes \textstyle L_1 delay. The same delay is caused by the delay line in the encoder. The \textstyle DEC_2's operation causes \textstyle L_2 delay. An interleaver installed between the two decoders is used here to scatter error bursts coming from \textstyle DEC_1 output.
DI block is a demultiplexing and insertion module. It works as a switch, redirecting input bits to \textstyle DEC_1 at one moment and to \textstyle DEC_2 at another. In OFF state, it feeds both \textstyle y_{1k} and \textstyle y_{2k} inputs with padding bits (zeros). Consider a memoryless
AWGN channel, and assume that at
k-th iteration, the decoder receives a pair of random variables: :\begin{align} ~x_k &= (2d_k - 1) + a_k\\ ~y_k &= 2( Y_k - 1) + b_k \end{align} where \textstyle a_k and \textstyle b_k are independent noise components having the same variance \textstyle \sigma^2. \textstyle Y_k is a
k-th bit from \textstyle y_k encoder output. Redundant information is demultiplexed and sent through
DI to \textstyle DEC_1 (when \textstyle y_k = y_{1k}) and to \textstyle DEC_2 (when \textstyle y_k = y_{2k}). \textstyle DEC_1 yields a soft decision; i.e.: :\Lambda(d_k) = \log\frac{p(d_k = 1)}{p(d_k = 0)} and delivers it to \textstyle DEC_2. \textstyle \Lambda(d_k) is called the
logarithm of the likelihood ratio (LLR). \textstyle p(d_k = i),\, i \in \{0, 1\} is the
a posteriori probability (APP) of the \textstyle d_k data bit which shows the probability of interpreting a received \textstyle d_k bit as \textstyle i. Taking the
LLR into account, \textstyle DEC_2 yields a hard decision; i.e., a decoded bit. It is known that the
Viterbi algorithm is unable to calculate APP, thus it cannot be used in \textstyle DEC_1. Instead of that, a modified
BCJR algorithm is used. For \textstyle DEC_2, the
Viterbi algorithm is an appropriate one. However, the depicted structure is not an optimal one, because \textstyle DEC_1 uses only a proper fraction of the available redundant information. In order to improve the structure, a feedback loop is used (see the dotted line on the figure). ==Soft decision approach==