跳到主要内容

京都大学 情報学研究科 通信情報システム専攻 2021年8月実施 専門基礎A [A-5]

Author

SUN

Description

Answer all the following questions.

(1)

A stationary memoryless information source SS generates information symbols A,B,C,D,A, B, C, D, and EE with probabilities 0.4,0.2,0.16,0.16,0.4, 0.2, 0.16, 0.16, and 0.080.08, respectively. Answer the following questions.
log23=1.6\log_2 3 = 1.6 and log25=2.3\log_2 5 = 2.3 may be used.

(a) Find a binary Huffman code of SS.

(b) Describe the definition of instantaneous codes.

(c) Find the expected codeword length per symbol of the code in Question (a).

(d) Find the entropy of SS.

(2)

Answer the following questions related to channel coding. Let C1C_1 and C2C_2 be binary cyclic codes of length 15 with generator polynomials
G1(x)=x4+x+1G_1(x) = x^4 + x + 1 and
G2(x)=(x4+x+1)(x4+x3+x2+x+1)G_2(x) = (x^4 + x + 1)(x^4 + x^3 + x^2 + x + 1), respectively.

(a) Determine whether

x10+x9+x7+x6+x5+x3+x2+1x^{10} + x^9 + x^7 + x^6 + x^5 + x^3 + x^2 + 1

is a codeword polynomial of C1C_1 or not.

(b) Find the codeword polynomial of C1C_1 for the message polynomial

x3+x2+1x^3 + x^2 + 1

in a systematic form.

(c) Find the minimum distance of C1C_1.

(d) Find how many bit errors C1C_1 can correct.

(e) Explain the advantage(s) and disadvantage(s) of C2C_2 over C1C_1.

(f) Explain how to correct errors with C2C_2.

Kai

(1)

(a)

Huffman Tree Structure:

(b)

Instantaneous codes satisfy the Prefix condition, which ensures that no codeword is a prefix of another. This property allows the decoder to identify and decode each symbol uniquely and immediately upon its reception, without the need for a look-ahead or causing ambiguity.

(c)

L=iPili=0.4×1+0.2×3+0.16×3+0.16×3+0.08×3L = \sum_i P_i l_i = 0.4 \times 1 + 0.2 \times 3 + 0.16 \times 3 + 0.16 \times 3 + 0.08 \times 3
L=2.2 bits / symbolL = 2.2 \text{ bits / symbol}

(d)

Entropy Calculation

H(S)=iPilog21Pi=25log252+15log25+825log2254+225log2252H(S) = \sum_i P_i \log_2 \frac{1}{P_i} = \frac{2}{5} \log_2 \frac{5}{2} + \frac{1}{5} \log_2 5 + \frac{8}{25} \log_2 \frac{25}{4} + \frac{2}{25} \log_2 \frac{25}{2}
H(S)2.1 bits / symbolH(S) \approx 2.1 \text{ bits / symbol}

(2)

(a)

Check if the given polynomial is a codeword using polynomial division:

                       x^6 + x^5 + x^2
_____________________________________________
x^4 + x + 1 | x^10 + x^9 + x^7 + x^6 + x^5 + x^3 + x^2 + 1
x^10 + x^7 + x^6
-----------------------
x^9 + x^5
x^9 + x^6 + x^5
-----------------------
x^6 + x^3 + x^2 + 1
x^6 + x^3 + x^2
-----------------------
1 (Remainder)

Conclusion: Since the remainder is 101 \neq 0, this is not a codeword polynomial.

(b)

Given m(x)=x3+x2+1m(x) = x^3 + x^2 + 1:

C(x)=x4m(x)+r(x)=x7+x6+x4+x2C(x) = x^4 m(x) + r(x) = x^7 + x^6 + x^4 + x^2
r(x)=x2\Rightarrow r(x) = x^2

(c)

G1(x)G_1(x) is a primitive polynomial, so C1C_1 is a Hamming code. For a Hamming code, the minimum distance is dmin=3d_{min} = 3.

(d)

2t+1dmin2t+13t=12t + 1 \le d_{min} \Rightarrow 2t + 1 \le 3 \Rightarrow t = 1

C1C_1 can correct up to 1 bit error.

(e)

C2C_2 has more parity bits compared to C1C_1. Therefore, C2C_2 can detect and correct more errors, but its coding efficiency (rate) is lower than C1C_1.

(f)

  1. Use G2(x)G_2(x) to derive the corresponding parity-check matrix HH.
  2. Calculate the syndrome S=HRT=H(mT+eT)=HeTS = H R^T = H(m^T + e^T) = H e^T.
  3. Use a pre-calculated error mapping table or a decoding algorithm (like Meggitt decoding) to find the error pattern ee corresponding to the syndrome SS.
  4. Correct the error: C=R+eC = R + e.