跳到主要内容

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

Author

SUN

Description

Answer all the following questions.

(1)

SAS_A and SBS_B are independent and stationary memoryless information sources.
SAS_A generates information symbols 00 and 11 with probabilities 0.70.7 and 0.30.3, respectively, while SBS_B generates 00 and 11 with probabilities 0.60.6 and 0.40.4, respectively. Answer the following questions. log23=1.6\log_2 3 = 1.6, log25=2.3\log_2 5 = 2.3, and log27=2.8\log_2 7 = 2.8 may be used.

(a) Find the value of the entropy of SAS_A.

(b) Consider the nnth extension of SAS_A. Find a binary Huffman code for the second extension (n=2n=2) of SAS_A and the expected codeword length per symbol.

(c) Compare the entropy in Question (a) and the expected codeword length per symbol in Question (b). Explain which should be larger and the reason.

(d) Explain whether the expected codeword length per symbol in Question (b) increases or decreases as nn in Question (b) increases and the reason.

(e) An information source SXS_X has two states and generates information symbols by following SAS_A and SBS_B when its state is sAs_A and sBs_B, respectively.
SXS_X transits from a state to the other state when it generates 11. Draw the state diagram of SXS_X.

(f) Find the stationary distribution of SXS_X in Question (e).

(g) Find the value of the entropy of SXS_X in Question (e). Round down to one decimal place.

(2)

Answer the following questions related to channel coding. Let CC be the binary cyclic code of length 1515 that has generator polynomial

G(x)=x4+x+1.G(x) = x^4 + x + 1.

(a) Determine whether x10+x7+x4+x3+x2+x+1x^{10} + x^7 + x^4 + x^3 + x^2 + x + 1 is a codeword polynomial of CC or not.

(b) Find the codeword polynomial for the message polynomial x5+x3+xx^5 + x^3 + x in a systematic form.

(c) Find the minimum distance of CC.

(d) Find the maximum number of error bits corrected by CC.

(e) Consider communications with CC through a memoryless binary symmetric channel with crossover probability pp. Evaluate the probability of decoding failure assuming that any correctable errors are corrected.

(f) Explain the channel coding theorem.

Kai

(1)

(a)

H(SA)=ipilog21pi=0.7log210.7+0.3log210.3=0.86 bits/symbol\begin{aligned} H(S_A) &= \sum_i p_i \log_2 \frac{1}{p_i} \\ &= 0.7 \cdot \log_2 \frac{1}{0.7} + 0.3 \cdot \log_2 \frac{1}{0.3} \\ &= 0.86 \text{ bits/symbol} \end{aligned}

(b)

The symbol probabilities are:

  • p(00)=0.7×0.7=0.49p(00) = 0.7 \times 0.7 = 0.49
  • p(01)=0.7×0.3=0.21p(01) = 0.7 \times 0.3 = 0.21
  • p(10)=0.3×0.7=0.21p(10) = 0.3 \times 0.7 = 0.21
  • p(11)=0.3×0.3=0.09p(11) = 0.3 \times 0.3 = 0.09

Construct Huffman Code:

Average Code Length (Lˉ\bar{L}):

Lˉ=1×0.49+2×0.21+3×0.21+3×0.09=0.49+0.42+0.63+0.27=1.81 bits/sequence\begin{aligned} \bar{L} &= 1 \times 0.49 + 2 \times 0.21 + 3 \times 0.21 + 3 \times 0.09 \\ &= 0.49 + 0.42 + 0.63 + 0.27 \\ &= 1.81 \text{ bits/sequence} \end{aligned}

Average Code Length per Symbol (Lˉs\bar{L}_s):

Lˉs=Lˉ2=1.812=0.905 bits/symbol\bar{L}_s = \frac{\bar{L}}{2} = \frac{1.81}{2} = 0.905 \text{ bits/symbol}

(c)

H(SA)<LˉsH(S_A) < \bar{L}_s.

According to Shannon's source coding theorem, the entropy of a source provides the ultimate lower bound on the average length of any lossless code for that source.

The source SAS_A doesn't meet with dyadic distribution (powers of 1/21/2), so the Huffman coding will never reach the lower bound exactly.

(d)

The expected code length per symbol decreases as block length nn increases. According to Shannon's source coding theorem for the nn-th extension of a discrete memoryless source (DMS), the average codeword length per source symbol satisfies:

H(X)Lˉnn<H(X)+1nH(X) \le \frac{\bar{L}^n}{n} < H(X) + \frac{1}{n}

As nn increases, the length per symbol will approach the entropy bound.

(e)

(f)

Let the stationary probabilities be πa,πb\pi_a, \pi_b.

{πa=0.7πa+0.4πbπb=0.3πa+0.6πbπa+πb=1{0.3πa=0.4πbπa+πb=1{πa=47πb=37\begin{cases} \pi_a = 0.7\pi_a + 0.4\pi_b \\ \pi_b = 0.3\pi_a + 0.6\pi_b \\ \pi_a + \pi_b = 1 \end{cases} \Rightarrow \begin{cases} 0.3\pi_a = 0.4\pi_b \\ \pi_a + \pi_b = 1 \end{cases} \Rightarrow \begin{cases} \pi_a = \frac{4}{7} \\ \pi_b = \frac{3}{7} \end{cases}

(g)

H(SX)=πaH(A)+πbH(B)H(S_X) = \pi_a H(A) + \pi_b H(B)
  • H(A)=H(SA)0.88 bits/symbolH(A) = H(S_A) \approx 0.88 \text{ bits/symbol}
  • H(B)=0.6log20.60.4log20.40.97 bits/symbolH(B) = -0.6 \log_2 0.6 - 0.4 \log_2 0.4 \approx 0.97 \text{ bits/symbol}

Substitute into H(SX)H(S_X):

H(SX)=47×0.88+37×0.970.50+0.41=0.91 bits/symbol\begin{aligned} H(S_X) &= \frac{4}{7} \times 0.88 + \frac{3}{7} \times 0.97 \\ &\approx 0.50 + 0.41 \\ &= 0.91 \text{ bits/symbol} \end{aligned}

(2)

(a)

A polynomial is a codeword if it is divisible by the generator polynomial g(x)g(x).

(x10+x7+x4+x3+x2+x+1)0(modg(x))(x^{10} + x^7 + x^4 + x^3 + x^2 + x + 1) \equiv 0 \pmod{g(x)}

So this is a codeword polynomial.

(b)

The systematic form is given by c(x)=xrm(x)+r(x)c(x) = x^r m(x) + r(x). Given message m(x)=x5+x3+xm(x) = x^5 + x^3 + x. Degree of g(x)g(x) is r=4r=4.

  1. Shift: xrm(x)=x4(x5+x3+x)=x9+x7+x5x^r m(x) = x^4 (x^5 + x^3 + x) = x^9 + x^7 + x^5.
  2. Modulo: x9+x7+x5x2+x+1(modg(x))x^9 + x^7 + x^5 \equiv x^2 + x + 1 \pmod{g(x)}.
    • So remainder r(x)=x2+x+1r(x) = x^2 + x + 1.
  3. Codeword: c(x)=x9+x7+x5+x2+x+1c(x) = x^9 + x^7 + x^5 + x^2 + x + 1.

(c)

For (15,11)(15, 11) cyclic code:

  • r=1511=4r = 15 - 11 = 4.
  • n=2r1=15n = 2^r - 1 = 15, k=2r1r=11k = 2^r - 1 - r = 11.
  • Since g(x)g(x) is a primitive polynomial, the (15,11)(15, 11) cyclic code is a Hamming code.
  • Minimum distance dmin=3d_{\min} = 3.

(d)

Nerrordmin12=312=1N_{\text{error}} \le \left\lfloor \frac{d_{\min} - 1}{2} \right\rfloor = \left\lfloor \frac{3 - 1}{2} \right\rfloor = 1

The maximum number of correctable error bits is 1.

(e)

Probability of error occurring in a codeword (assuming correction of 1 bit):

Perror=1(1p)1515p(1p)14P_{\text{error}} = 1 - (1-p)^{15} - 15p(1-p)^{14}

(This represents the probability of having 2 or more errors).

(f)

  • Achievability: For any data transmission rate R<CR < C (channel capacity), it is possible to design a coding scheme that allows for communication with an arbitrarily low probability of error.
  • Converse: If R>CR > C, it is impossible to achieve arbitrarily low probability of error.