10 Coding
10 Coding
Good Codes
Codes seen so far
Generator matrix
G(r, m):
G(r, m − 1) G(r, m − 1)
.
0 G(r − 1, m − 1)
Reed-Muller codes For m = 3, codes of length
R(r, m). 23 = 8, 1 ≤ r < 3. For r = 1:
Generator matrix G(1, 2) G(1, 2)
G(1, 3) =
G(r, m): 0 G(0, 2)
G(r, m − 1) G(r, m − 1)
.
0 G(r − 1, m − 1)
Reed-Muller codes For m = 3, codes of length
R(r, m). 23 = 8, 1 ≤ r < 3. For r = 1:
Generator matrix G(1, 2) G(1, 2)
G(1, 3) =
G(r, m): 0 G(0, 2)
G(r, m − 1) G(r, m − 1)
so we need m = 2:
.
0 G(r − 1, m − 1)
Reed-Muller codes For m = 3, codes of length
R(r, m). 23 = 8, 1 ≤ r < 3. For r = 1:
Generator matrix G(1, 2) G(1, 2)
G(1, 3) =
G(r, m): 0 G(0, 2)
G(r, m − 1) G(r, m − 1)
so we need m = 2:
. G(1, 1) G(1, 1)
0 G(r − 1, m − 1) G(1, 2) = =
0 G(0, 1)
1 0 1 0
0 1 0 1
0 0 1 1
Reed-Muller codes For m = 3, codes of length
R(r, m). 23 = 8, 1 ≤
r < 3. For r = 1:
G(1, 2) G(1, 2)
G(1, 3) = =
Generator matrix 0 G(0, 2)
G(r, m): 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
G(r, m − 1) G(r, m − 1)
0 0 1 1 0 0 1 1
.
0 G(r − 1, m − 1) 0 0 0 0 1 1 1 1
Reed-Muller Codes
Dimension
for 0 ≤ r ≤ m.
Dual code By induction on m. For m = 1
and r = 0, R(0, 1)⊥ = R(0, 1),
that is, the binary repetition
code of length 2 is self-dual,
R(r, m)⊥ = R(m−r−1, m) which is true.
For m = 1 and r = 1,
for 0 ≤ r ≤ m. R(1, 1)⊥ = R(−1, 1), that is,
the dual of the whole space is
the empty space, which is true.
Dual code We first prove
R(m − r − 1, m) ⊆ R(r, m)⊥ .
for 0 ≤ r < m.
Assume the statement
true for m − 1, namely
R(r, m − 1)⊥ =
R(m − r − 2, m − 1) for
0 ≤ r ≤ m − 1.
Dual code We first prove
R(m − r − 1, m) ⊆ R(r, m)⊥ .
R(r, m) = {(a, a + b), a ∈
R(r, m − 1), b ∈ R(r − 1, m − 1)}.
R(r, m)⊥ = R(m−r−1, m) Take (a, a + b) ∈ R(m − r − 1, m),
a ∈ R(m − r − 1, m − 1),
for 0 ≤ r < m. b ∈ R(m − r − 2, m − 1).
Assume the statement Take (u, u + v) ∈ R(r, m),
true for m − 1, namely u ∈ R(r, m − 1),
R(r, m − 1)⊥ = v ∈ R(r − 1, m − 1).
R(m − r − 2, m − 1) for Left to show:
0 ≤ r ≤ m − 1. (a, a + b) · (u, u + v) = 0.
Reed-Muller Codes
Dual