Communications Research Centre Canada
Symbol of the Government of Canada

Vector SISO Decoder for Turbo Product Codes and Linear Block Codes

[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.

BER and PER/FER results

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.

 

PER/FER results


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.