Jump to content
Wikipedia The Free Encyclopedia

Parity-check matrix

From Wikipedia, the free encyclopedia
(Redirected from Parity check matrix)
Part of coding theory

In coding theory, a parity-check matrix of a linear block code C is a matrix which describes the linear relations that the components of a codeword must satisfy. It can be used to decide whether a particular vector is a codeword and is also used in decoding algorithms.

Definition

[edit ]

Formally, a parity check matrix H of a linear code C is a generator matrix of the dual code, C. This means that a codeword c is in C if and only if the matrix-vector product Hc = 0 (some authors[1] would write this in an equivalent form, cH = 0.)

The rows of a parity check matrix are the coefficients of the parity check equations.[2] That is, they show how linear combinations of certain digits (components) of each codeword equal zero. For example, the parity check matrix

H = [ 0 0 1 1 1 1 0 0 ] {\displaystyle H=\left[{\begin{array}{cccc}0&0&1&1\1円&1&0&0\end{array}}\right]} {\displaystyle H=\left[{\begin{array}{cccc}0&0&1&1\1円&1&0&0\end{array}}\right]},

compactly represents the parity check equations,

c 3 + c 4 = 0 c 1 + c 2 = 0 {\displaystyle {\begin{aligned}c_{3}+c_{4}&=0\\c_{1}+c_{2}&=0\end{aligned}}} {\displaystyle {\begin{aligned}c_{3}+c_{4}&=0\\c_{1}+c_{2}&=0\end{aligned}}},

that must be satisfied for the vector ( c 1 , c 2 , c 3 , c 4 ) {\displaystyle (c_{1},c_{2},c_{3},c_{4})} {\displaystyle (c_{1},c_{2},c_{3},c_{4})} to be a codeword of C.

From the definition of the parity-check matrix it directly follows the minimum distance of the code is the minimum number d such that every d - 1 columns of a parity-check matrix H are linearly independent while there exist d columns of H that are linearly dependent.

Creating a parity check matrix

[edit ]

The parity check matrix for a given code can be derived from its generator matrix (and vice versa).[3] If the generator matrix for an [n,k]-code is in standard form

G = [ I k | P ] {\displaystyle G={\begin{bmatrix}I_{k}|P\end{bmatrix}}} {\displaystyle G={\begin{bmatrix}I_{k}|P\end{bmatrix}}},

then the parity check matrix is given by

H = [ P | I n k ] {\displaystyle H={\begin{bmatrix}-P^{\top }|I_{n-k}\end{bmatrix}}} {\displaystyle H={\begin{bmatrix}-P^{\top }|I_{n-k}\end{bmatrix}}},

because

G H = P P = 0 {\displaystyle GH^{\top }=P-P=0} {\displaystyle GH^{\top }=P-P=0}.

Negation is performed in the finite field Fq. Note that if the characteristic of the underlying field is 2 (i.e., 1 + 1 = 0 in that field), as in binary codes, then -P = P, so the negation is unnecessary.

For example, if a binary code has the generator matrix

G = [ 1 0 1 0 1 0 1 1 1 0 ] {\displaystyle G=\left[{\begin{array}{cc|ccc}1&0&1&0&1\0円&1&1&1&0\\\end{array}}\right]} {\displaystyle G=\left[{\begin{array}{cc|ccc}1&0&1&0&1\0円&1&1&1&0\\\end{array}}\right]},

then its parity check matrix is

H = [ 1 1 1 0 0 0 1 0 1 0 1 0 0 0 1 ] {\displaystyle H=\left[{\begin{array}{cc|ccc}-1&-1&1&0&0\0円&-1&0&1&0\\-1&0&0&0&1\\\end{array}}\right]} {\displaystyle H=\left[{\begin{array}{cc|ccc}-1&-1&1&0&0\0円&-1&0&1&0\\-1&0&0&0&1\\\end{array}}\right]}.

It can be verified that G is a k × n {\displaystyle k\times n} {\displaystyle k\times n} matrix, while H is a ( n k ) × n {\displaystyle (n-k)\times n} {\displaystyle (n-k)\times n} matrix.

Syndromes

[edit ]

For any vector x of the ambient vector space, s = Hx is called the syndrome of x. The vector x is a codeword if and only if s = 0. The calculation of syndromes is the basis for the syndrome decoding algorithm.[4]

See also

[edit ]

Notes

[edit ]
  1. ^ for instance, Roman 1992, p. 200
  2. ^ Roman 1992, p. 201
  3. ^ Pless 1998, p. 9
  4. ^ Pless 1998, p. 20

References

[edit ]

AltStyle によって変換されたページ (->オリジナル) /