

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The solutions to problem set #5 in the ece 456 course at the university of illinois, fall 2002. It covers topics related to finite fields, dual bases, and matrix transformations. How to find the representation of a vector in the dual basis and how to multiply two vectors represented in the dual basis. It also discusses the properties of cyclic codes and the hamming code.
Typology: Assignments
1 / 2
This page cannot be seen from the preview
Don't miss anything!


University Problem Set #5: Solutions ECE 456
of Illinois Page 1 of 2 Fall 2002
1. Let X = (x 0
, x 1
,... , x m-
) be the representation of X ∈ GF(p
m ) w.r.t. the basis {δ 0
, δ 1
,... , δ m-
that is, X = ∑ x i
δ i
where x i
∈ GF(p) and δ i
∈ GF(p
m ). Let {λ 0
, λ 1
,... , λ m-
} denote the dual basis.
Let γ = (γ 0
, γ 1
,... , γ m-
) be the representation of β with respect to the dual basis, that is β = ∑ γ i
λ i
Then, Tr(βX) = Tr([∑ γ i
λ i
][∑ x j
δ j
] = ∑∑ γ i
x j
δ j
)= ∑ γ i
x i
= γ • X by the linearity of the trace function
and the property of the dual bases. Thus, γ is the representation of β with respect to the dual of the basis
that we used to represent X as a m-vector X.
2.(a)
α = γ +γ
3
α
2 = γ +γ
2
α
3 = γ
α
4 = 1 +γ +γ
3
α
5 = γ
2 +γ
3
α
6 = γ
2
α
7 = 1 +γ
3
α
8 = 1 +γ +γ
2
α
9 = γ
3
α
10 = 1 +γ
2 +γ
3
α
11 = γ +γ
2 +γ
3
α
12 = 1 +γ +γ
2 +γ
3
α
13 = 1 +γ
2
α
14 = 1 +γ
Hence we get that x 0
α + x 2
α
2
α
3 = x 0
(γ + γ
3 ) + x 2
(γ + γ
2 ) + x 3
γ
= x 0
(x 1
x 2
x 3
)γ + x 2
γ
2
γ
3
. It follows that y 0
= x 0
, y 1
= x 1
x 2
x 3
, y 2
= x 2
, y 3
= x 1
, and we
get that A =
(b) Given any basis {α 0
, α 1
, … , α m–
} and the representation of X = ∑ x i
α i
in terms of the basis, write each
α i
in terms of the dual basis to get the representation of X in the dual basis. That is, write α i
= ∑ a ij
β j
where, as we have seen in class, a ij
= Tr(α j
α i
). Hence, if we define the matrix A as [Tr(α i
α j
)], then
x 0
x 1
x m–
] = [x 0
, x 1
, … , x m–
] A = XA is the representation of X with respect to the dual
basis. In our specific case we have that m = 4, and α i
= α
i
. Since Tr(1) = Tr(α) = Tr(α
2 ) = Tr(α
4 ) =
Tr(α
5 ) = 0, and Tr(α
3 ) = Tr(α
6 ) = 1, we get the matrix as A = [Tr(α
i+j )] =
. It can be used to
transform from the polynomial basis to the dual basis. The dual basis {β 0
, β 1
, β 2
, β 3
} itself is represented
by the unit vectors [1, 0, 0, 0], [0, 1, 0, 0], … with respect to itself, and we can obtain these elements in
terms of the original (polynomial) basis by noting that
X = XA implies that β i
is the i-th row of A
This is readily found by adding row 1 to row 4, and then interchanging rows 1 and 4, 2 and 3. The same
transformations applied to the identity matrix give A
. Thus, β 0
= 1 + α
3 = α
14 , β 1
= α
2 ,
β 2
= α, and β 3
= 1. See also the bottom of page 243 in the text.
(c) {α,α
2 ,α
4 ,α
8 } cannot be a basis since α + α
2
4
8 = Tr(α) = 0 and thus the elements are not linearly
independent. The other two sets are readily verified as being linearly independent.
(d) X•Y = (x 0
α + x 2
α
2
α
3 )•(y 0
α + y 2
α
2
α
3 )
= x 0
y 0
y 1
+x 1
y 0
) + α
2 (x 0
y 2
+x 1
y 1
+x 2
y 0
) + α
3 (x 0
y 3
+x 1
y 2
+x 2
y 1
+x 3
y 0
) + α
4 (x 1
y 3
+x 2
y 2
+x 3
y 1
5 (x 2
y 3
+x 3
y 2
) + α
6 x 3
y 3
= (x 0
y 0
+x 1
y 3
+x 2
y 2
+x 3
y 1
) + α(x 0
y 1
+x 1
y 0
+x 1
y 3
+x 2
y 2
+x 3
y 1
+x 2
y 3
+x 3
y 2
2 (x 0
y 2
+x 1
y 1
+x 2
y 0
+x 2
y 3
+x 3
y 2
+x 3
y 3
) + α
3 (x 0
y 3
+x 1
y 2
+x 2
y 1
+x 3
y 0
+x 3
y 3
). The spaghetti
diagram can be sketched from this information. Obviously, 16 AND gates and 18 XOR gates are required
(though there may be some savings in XORs since, for example, x 2
y 3
+x 3
y 2
occurs in both α and α
2 ).
(e) First, let us assume (as in class) that X is represented with respect to the dual basis, that is, X = ∑x i
β i
, and
that Y is represented with respect to the polynomial basis, that is, Y = ∑
y j
α
j and that Z = X•Y = ∑z k
β k
is
University Problem Set #5: Solutions ECE 456
of Illinois Page 2 of 2 Fall 2002
represented with respect to the dual basis, as desired Then, as we found in class (see also the text, pp. 243-
244), z 0
= Tr(Z) = ∑x i
y i
and successive z i
's can be found by multiplying X by α (using x 0
← x 1
, x 1
← x 2
x 2
← x 3
, x 3
← x 0
) and computing the inner product ∑x i
y i
. But, from part (b), we have that the
y j
are
related to the y i
(where Y = ∑y i
β i
) as
y 0
= y 0
y 1
= y 2
y 2
= y 1
y 3
= y 0
. This gives the circuit
shown below.
3
0
1
2
3
0
1
2
3.(a) No nonzero element x is mapped onto the zero vector since the set {x, αx, α
2 x,.. } includes elements
with trace 1. From the linearity of the trace function, the sum of the images of x and y is the image of
x+y. Hence, the range of the map is a linear (15, 4) code. The image of a basis is a basis for the image.
Hence, the rows of G can be taken to be L(β i
), i = 0, 1, 2, 3.
(b) L(αx) is a (left) cyclic shift of L(x) and thus the code is cyclic.
(c) The i-th column of G is [Tr(α
i β 0
), Tr(α
i β 1
), Tr(α
i β 2
), Tr(α
i β 3
T which is the representation of α
i with
respect to the polynomial basis. Hence, the columns of G consist of the 15 nonzero 4-bit vectors. Since
the columns of the parity-check matrix of the (
m –1, 2
m –1–m) Hamming code are all the nonzero binary
m-tuples, the code that we have constructed is the dual of the Hamming code.
4.(a) The parity-check polynomial is obtained by dividing x
15
7
6
4
(b),(c) The minimum distance of this code is 5 (cf. Section 5.6), and hence it can correct two errors or 4 erasures.
(d) The rows of G are g(x), xg(x) mod g(x), x
2 g(x) mod g(x), …, x
6 g(x) mod g(x)
5. If g 1
(x) divides g 2
(x), then it also divides any multiple of g 2
(x). Thus, every codeword in C 2
belongs to C 1