
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
Solutions to problem set #7 in the electrical and computer engineering (ece) 456 course at the university of illinois, fall 2002. The solutions cover topics such as error-correcting codes, cyclic codes, and primitive elements in finite fields. Students can use this document to check their understanding of these concepts and to prepare for exams.
Typology: Assignments
1 / 1
This page cannot be seen from the preview
Don't miss anything!

University Problem Set #7: Solutions ECE 456
of Illinois Page 1 of 1 Fall 2002
1. Let E(x) = xn–1^ = f(x)g(x) + S(x) where S(x) is the syndrome polynomial of degree less than n–k. In fact, the degree of S(x) must be exactly n–k–1 as we shall see below. Now, let us compare coefficients of the powers of x on both sides of our equation xn–1^ = f(x)g(x) + S(x). We note that deg f(x) = k–1 exactly. Furthermore, the polynomial product f(x)g(x) is necessarily of the form xn–1^ – S(x) with the coefficients of xn–2, xn–3, … , xn–k^ all being 0. Since xn–1^ – S(x) is a codeword, so is its cyclic shift -x•S(x) + 1 of degree 1+deg(S(x)) ≤ n–k So, -x•S(x) + 1 is a codeword of degree at most n–k, and thus must be exactly g(x) in the binary case (or a scalar multiple of g(x) in the nonbinary but unasked case). The result follows.
2. Suppose that [1,1,1,…1] is a codeword in the code. Then, C(x) = 1 + x + x^2 + … + xn–1^ = f(x)•g(x). But, C(1) = 1 + 1 + … + 1 ≠ 0 since n is not a multiple of the characteristic of the field by assumption. Hence, g(1) ≠ 0 either, and g(x) is therefore not divisible by (x–1). Conversely, if g(x) is not divisible by (x–1), then h(x) has (x–1) as a factor, and from the identity g(x)h(x) = xn^ – 1 = (x–1)C(x) we get that g(x) must be a divisor of C(x), that is, 1 + x + x^2 + … + xn–1^ is a codeword in the code.
3. Elements of order 127 are primitive elements of GF(2^7 ), and hence have minimal polynomials of degree 7. Since 127 is a prime, ord(αk) = 127/gcd(127, k) = 127 and thus all elements of GF(2^7 ) – GF(2) are primitive elements. Thus, x^127 – 1 = (x–1)•(18 primitive polynomials of degree 7). Choosing 3 of these
3 different codes that we can thus construct. Binary polynomial that divide x^127 – 1 must have degrees of the form 7i or 7i+1, and thus no binary polynomial of degree 111 can be a divisor of x^127 – 1.
4. The generator polynomial (x+1)g(x) of Cexp has 1 as a root, and hence so does every codeword in Cexp, i.e.
∑Ci = 0, or all the codewords in Cexp have even weight. Of course, these even weight codewords are also codewords in C since the codeword polynomials are divisible by g(x). The degree of the generator is n–k+ and hence Cexp has dimension k–1. Note that from Problem 3(b) of Problem Set #2, it follows that the set of all codewords of even weight in C is a linear code of dimension k–1. Thus, Cexp is exactly all the even
1
1
i=
n
i=
n/ A2i z2i^ gives us the
weight enumerator of Cexp.
5. The expurgated Hamming code can be thought of as having the parity-check matrix
α
α^2
αn– where n = 2m–1. Remember that each αi^ is actually a m-bit column vector in the above. Thus, single error patterns xi^ have syndromes s T^ = HR T^ where s = [1, αi] while double-adjacent-error patterns have syndromes s = [0,αi+αi+1^ ] = [0,αj] where αj^ = αi+αi+1^ = αi( 1 +α) = αiβ. Since different syndromes correspond to different cosets, each of the n single error patterns belongs to a different coset and each of the n double-adjacent-error patterns (including the wrap-around pattern) also belongs to a different coset. Also, the two kinds of cosets are distinct from one another. Hence this code can correct all single errors and all double-adjacent errors. Note that the only nontrivial coset not accounted for is the one with syndrome [1, 0 ] where we know that an odd number of errors have occurred. This gives a small error detection capability.
Note that double adjacent errors are common in certain kinds of communication systems, e.g. differential phase-shift-keying where noise in one bit affects two successive differences, thus causing bit errors to tend to occur in pairs.