[LOD04][KER04][KER06a]
The Vector SISO decoder is a low-complexity decoding algorithm for a wide range of linear block codes. The algorithm accepts soft inputs and can produce either hard or soft outputs. It is also able to generate soft decisions given a set of hard decisions from an existing decoder and the received signal. Though the present implementation handles only binary codes, the method is also applicable to non-binary codes.
Target Applications
- Iterative (i.e., Turbo) decoding:
- Turbo Product Codes (TPCs) / Block Turbo Codes (BTCs)
- Turbo Product Codes have good "error-flare" characteristics due to high minimum distances, even at high code rates.
- The regular structure of TPCs allows for a high degree of parallelism in the iterative decoder (i.e., multiple SISOs can operate simultaneously on the same block), enabling very high-speed hardware implementations.
- Component codes of serially-concatenated Turbo codes
- Serial Turbo decoding is possible if both component codes have SISO decoders.
- A block code can operate as the inner code (instead of a convolutional code).
- Soft-input decoding for a wide variety of linear block codes, for example Hamming, extended Hamming, BCH, and Reed-Solomon codes.
- Replacement for hard-input, hard-out decoders
- Soft-input decoding yields an asymptotic performance gain of up to 2 dB versus hard- input decoding
- Soft outputs allow further processing on the received signal if a codeword was not found.
To inquire about licensing this SISO decoding method, please send e-mail to fec-info (at) crc.gc.ca.

Figure 1. BER and PER/FER results for a 2-D product code with BCH(256,231) as component codes. (n,k) = (65536,53361), code rate = 0.8142. Modulation was BPSK, additive white Gaussian noise channel.

Figure 2. PER/FER results for an (80,40,16) quadratic residue code, code rate = 0.5. Modulation was BPSK, additive white Gaussian noise channel.