The Reed-Muller codes are a family of linear error-correcting codes used in communications.
Construction
The following describes how to construct a generating matrix of a Reed-Muller code of length
n = 2d. Let us write:
-
We define in n-dimensional space the indicator vectors:
-
on subsets by:
-
together with, also in , the binary operation:
-
referred to as the wedge product.
is a d-dimensional vector space over the field , so it is possible to write
We define in n-dimensional space the following vectors with length n : and
-
where Hi are hyperplanes in (with dimension 2d-1):
-
The Reed-Muller RM(d, r) code of order r and length n=2d is the code generated by v0 and the wedge products of up to r of the (where by convention a wedge product of fewer than one vector is the identity for the operation).
Example 1
Let d=3. Then n=8, and
-
and
\begin{matrix}
v_0 & = & (1,1,1,1,1,1,1,1) \\
v_1 & = & (1,0,1,0,1,0,1,0) \\
v_2 & = & (1,1,0,0,1,1,0,0) \\
v_3 & = & (1,1,1,1,0,0,0,0) \\
\end{matrix}
The RM(3,1) code is generated by the set
-
or more explicitly by the rows of the matrix:
\begin{pmatrix}
1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\
1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 \\
1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\
\end{pmatrix}
Example 2
The RM(3,2) code is generated by the set:
-
or more explicitly by the rows of the matrix:
\begin{pmatrix}
1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\
1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 \\
1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\
1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\
1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
\end{pmatrix}
Properties
The following properties hold:
1 The set of all possible wedge products of up to d of the form a basis for .
2 The RM(d, r) code has rank:
-
3 The RM(d, r) = RM(d-1,r) | RM(d-1,r-1) where '|' denotes the bar product of two codes.
4 RM(d, r) has minimum Hamming weight 2d-r.
Proof
1
- There are
-
- such vectors and has dimension n so it is sufficient to check that the n vectors span; equivalently it is sufficient to check that RM(d, r) = .
- Let xi be an element of X and define
-
- Then
- Expansion via the distributivity of the wedge product gives . Then since the vectors span we have RM(d, r) = .
2
- By 1, all such wedge products must be linearly independent, so the rank of RM(d, r) must simply be the number of such vectors.
3
- Omitted.
4
- By induction.
- The RM(d,0) code is the repetition code of length n=2d and weight n = 2d-0 = 2d-0. By 1 RM(d, d) = and has weight 1 = 20 = 2d-d.
- The article bar product (coding theory) gives a proof that the weight of the bar product of two codes C1 , C2 is given by
-
- If 0 < r < d and if
- i) RM(d-1,r) has weight 2d-1-r
- ii) RM(d-1,r-1) has weight 2d-1-(r-1) = 2d-r
- then the bar product has weight
-
coding theory
Reed-Muller-Code | Code de Reed-Müller | Reed-Muller-code