Soft-in soft-out decoder

A soft-in soft-out decoder (SISO decoder) is a type of soft-decision decoder used with error correcting codes.

[1] "Soft-in" refers to the fact that the incoming data may take on values other than 0 or 1, in order to indicate reliability.

"Soft-out" refers to the fact that each bit in the decoded output also takes on a value indicating reliability.

Typically, the soft output is used as the soft input to an outer decoder in a system using concatenated codes, or to modify the input to a further decoding iteration such as in the decoding of turbo codes.

Examples include the BCJR algorithm and the soft output Viterbi algorithm.