Solutions to Problem Set #5 in ECE 456 at University of Illinois, Fall 2002, Assignments of Electrical and Electronics Engineering

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

Pre 2010

Uploaded on 02/24/2010

koofers-user-2pj-2
koofers-user-2pj-2 🇺🇸

5

(1)

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
University Problem Set #5: Solutions ECE 456
of Illinois Page 1 of 2 Fall 2002
1. Let X = (x0, x1, . . . , xm-1) be the representation of X GF(pm) w.r.t. the basis {δ0, δ1, . . . , δm-1},
that is, X = xiδi where xi GF(p) and δi GF(pm). Let {λ0, λ1, . . . , λm-1} denote the dual basis.
Let γ = (γ0, γ1, . . . , γm-1) be the representation of β with respect to the dual basis, that is β = γiλi.
Then, Tr(βX) = Tr([∑ γiλi][xjδj] = ∑∑ γixjTr(λiδj)= ∑ γixi = γ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) 1 = 1
α= γ+γ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 x0 + x1α + x2α2 + x3α3 = x0 + x1(γ + γ3) + x2(γ + γ2) + x3γ
= x0 + (x1 + x2 + x3)γ + x2γ2 + x1γ3. It follows that y0 = x0, y1 = x1 + x2 + x3, y 2 = x2, y3 = x1, and we
get that A =
1 0 0 0
0 1 0 1
0 1 1 0
0 1 0 0
(b) Given any basis {α0, α1, … , αm–1 } and the representation of X = xiα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 = aijβj
where, as we have seen in class, aij = Tr(αjαi). Hence, if we define the matrix A as [Tr(αiαj)], then
^
X = [^
x0, ^
x1, … , ^
xm–1] = [x0, x1, … , xm–1 ]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)] =
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 1
. 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–1.
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–1 =
1 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
. 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 = (x0 + x1α + x2α2 + x3α3)•(y0 + y1α + y2α2 + y3α3)
= x0y0 + α(x0y1+x1y0) + α2(x0y2+x1y1+x2y0) + α3(x0y3+x1y2+x2y1+x3y0) + α4(x1y3+x2y2+x3y1)
+ α5(x2y3+x3y2) + α6x3y3
= (x0y0+x1y3+x2y2+x3y1) + α(x0y1+x1y0+x1y3+x2y2+x3y1+x2y3+x3y2)
+ α2(x0y2+x1y1+x2y0+x2y3+x3y2+x3y3) + α3(x0y3+x1y2+x2y1+x3y0+x3y3). 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, x2y3+x3y2 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 = xiβi, and
that Y is represented with respect to the polynomial basis, that is, Y = ~
yjαj and that Z = X•Y = zkβk is
pf2

Partial preview of the text

Download Solutions to Problem Set #5 in ECE 456 at University of Illinois, Fall 2002 and more Assignments Electrical and Electronics Engineering in PDF only on Docsity!

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

  • Tr(λ i

δ 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 1

α + x 2

α

2

  • x 3

α

3 = x 0

  • x 1

(γ + γ

3 ) + x 2

(γ + γ

2 ) + x 3

γ

= x 0

  • (x 1

  • x 2

  • x 3

)γ + x 2

γ

2

  • x 1

γ

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 = [

^

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 1

α + x 2

α

2

  • x 3

α

3 )•(y 0

  • y 1

α + y 2

α

2

  • y 3

α

3 )

= x 0

y 0

  • α(x 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

  • x 1

) 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 3

y 1

= y 2

y 2

= y 1

y 3

= y 0

. This gives the circuit

shown below.

x

3

x

0

x

1

x

2

y

3

y

0

y

1

y

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

  • 1 by the given g(x). h(x) = x

7

  • x

6

  • x

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