Syndrome Decoding

Syndrome Decoding is a #decoding technique to correct some errors, especially those with high probability, cause by noisy channel. It does this by comparing \(r\), a received vector of dimensions \(1 \times n\), to #\(H\), the parity check matrix. \(r\) is defined as:

$$ r = c + e $$

Where:

  • \(c\) is the transmitted code vector
  • \(e\) is the error vector or error pattern

We calculate the syndrome \(s\) from the following matrix multiplication:

$$ s = rH^T $$

Where:

  • \(H^T\) is the transpose version of \(H\)

In #Cyclic Code, adopt the following formula:

$$ S(D) = R(D) \mod g(D) $$

Where:

The syndrome \(s\) has some properties:

  • It depends only on the error pattern \(e\) and not on the transmitted code word \(c\). If there are errors occur in transmission, then the syndrome is non-zero. Otherwise, the syndrome is a zero vector.
  • A single \(i\)-th bit error in \(c\) will lead to a vector \(s\) that would be identical to \(i\)-th row in \(H^T\). According to this information, we can correct the \(i\)-th bit in the \(r\) which will lead us to the \(c\). However, this will work only for single errors in transmission.
  • With syndrome decoding a \((n,k)\) #linear block code can correct up to \(t\) errors per code word, provided that \(n\) and \(k\) satisfy the Hamming bound.
Links to this page
#math