CS4251 Homework 1 Solution


Question 6

Assume the data rate of  music is M bps, then numbe of songs a 1-gigabyte storage can holds is:
            N = 8 gigabits / (M bps * 60 sec)
The value of  N depends on the value of M.

M is 1.4Mbps for conventional CD format and 100k bps in MP3 format (page 100),  then N is 95 for conventional format and 1330 for MP3 format.

Question 7

The distance btween two levels should not exceed 1/16 * 2 = 1/8 .  So the  number of levels
         M = 1 + SNR
              = 1 + signal power / noise power
              = 1 + 2 / (1/8) = 17 .
 More detailed discussion is given on page 120 of the textbook.

Question 20

1) The channel is noiseless. So we use Nyquist signaling rate given in page 119
Bit rate =2 * bandwidth * log (number of levels)
                  = 2 * 1M * log(8)
                  = 6 M bps

2) In this and next questions, the channel is noisy. So we use Shannon channel capacity discussed in page 121.

If SNR(db) = 20 db, then SNR = 100,
Bit rate = bandwidth * log(SNR+1)
              =  1M * log(100+1)
              =  6M bps

3) If SNR(db) = 40 db, then SNR = 10000,
Bit rate = bandwidth * log(SNR+1)
              = 1M * log(10000+1)
              = 13M bps

Question 38

1) There are 10 valid codewords:
00011,
00101,
01001,
10001,
00110,
01010,
10010,
01100,
10100,
11000

2) There are at most 10 valid codewords in total, so each codeword can carry
at most log(10)=3 binary bits. For example, we can code 3-bits block in following way:
00011 000
00101 001
01001 010
10001 011
00110 100
01010 101
10010 110
01100 111
10100 not used
11000 not used.

3) Sender codes a 3-bit block into a 2-out-of-5 codeword and sends it out. When
receiver receives the codeword, it check the number of 1's. If the number of
1's is not 2, then the receiver can tell that an error has happened.

4) 2 bit error.

Question 42

a) information: 0000 0000 0000 0000 0000 0000 1111 0000
   Generator : 1 0000 0111
 
                             0000 0000 0000 0000 0000 0000 0000 0000 1111 0010
                             -------------------------------------------------------
  1 0000 0111       0000 0000 0000 0000 0000 0000 1111 0000 0000 0000
                                                                                   1000 0011 1
                               -----------------------------------------------------
                                                                                     111 0011 10
                                                                                     100 0001 11
                               -----------------------------------------------------
                                                                                       11 0010 010
                                                                                       10 0000 111
                                -----------------------------------------------------
                                                                                         1 0010 1010
                                                                                         1 0000 0111
                               -----------------------------------------------------
                                                                                                 10 1101 000
                                                                                                 10 0000 111
                                -------------------------- ---------------------------
                                                                                                      1101 1110
 

CRC bits: 1101 1110

b) This code can detect single bit error because x^i is not divisible by  the generator.
 

Question 44:

a) codeword is 1101100
b) codeword is 110110111
c) g2 can detect single error
g2 can not detect double error. Patern: 10000001
g3 can not detect triple error. Patern: 1101
d) g=g1(x)*g2(x) = x^4 + x^2 + x + 1.
 codeword is  1101100011
g can detect single error.
g cannot detect double error. Patern: 10000001
g can detect odd-number error. (page 166 Figure 3.60 rule 3)

Problem A:
The sent bits and their probability:
000  0.47
011  0.47
101  0.01
110  0.05
i) to get 110
000->110 2bits error P^2*(1-P) = 0.009   X1 =  0.47 * 0.009 = 0.00423
011->110 2bits error                        0.009   X2 =  0.47 * 0.009 = 0.00423
101->110 2bits error                        0.009   X3 =  0.01 * 0.009 = 0.00009
110->110 0bits error     (1-P)^3 = 0.729   X4 =  0.729*0.05 =  0.03645

 X1+X2+X3+X4= 0.045
Then  P1 = X1 / (X1+X2+X3+X4) =  0.094
          P2 = X2 / (X1+X2+X3+X4) =  0.094
          P3 = X3 / (X1+X2+X3+X4) =  0.002
          P4 = X4 / (X1+X2+X3+X4) =  0.81
So 110  is the most likely pattern.

ii) to get 111
000->111 3bits error P^3 = 0.001                X1 = 0.47*0.001 = 0.00047
011->111 1bit   error P(1-P)^2 = 0.081      X2  = 0.47*0.081 = 0.03807
101->111 1bit   error                      0.081      X3 = 0.01*0.081  = 0.00081
110->111 1bit   error                      0.081      X4 = 0.05*0.081  = 0.00405

X1+X2+X3+X4= 0.0434
Then  P1 = X1 / (X1+X2+X3+X4) =  0.01083
          P2 = X2 / (X1+X2+X3+X4) =  0.87719
          P3 = X3 / (X1+X2+X3+X4) =  0.01866
          P4 = X4 / (X1+X2+X3+X4) =  0.09332
So 011  is the most likely pattern.