• edited by
29,296 views
49 49 votes

Consider a parity check code with three data bits and four parity check bits. Three of the Code Words are $0101011, 1001101$ and $1110001.$ Which of the following are also code words?

  1. $0010111$
  2. $0110110$
  3. $1011010$
  4. $0111010$
  1. I and III
  2. I, II and III
  3. II and IV
  4. I, II, III and IV

8 Answers

Best answer
109 109 votes

Let $X_1, X_2$ and $X_3$ are data bits, and $C_1, C_2, C_3$ and $C_4$ are parity check bits.

Given transmitted codewords are
$$\begin{array}{|c|c|c|c|c|c|c|} \hline \textbf {$X _1$} & \textbf {$X_2$} &\text {$X_3$} & \textbf {$C_1$}& \textbf {$C_2$}& \textbf {$C_3$}& \textbf{$C_4$} \\\hline \text{0 }& \text{1} & \text{0} & \text{1} & \text{0} & \text{1}& \text{1} \\\hline \text{1 }& \text{0} & \text{0} & \text{1} & \text{1} & \text{0}& \text{1} \\\hline  \text{1 }& \text{1} & \text{1} & \text{0} & \text{0} & \text{0}& \text{1} \\\hline \end{array}$$
By inspection, we can find the rule for generating each of the parity bits –
$$\begin{array}{|c|c|c|} \hline \textbf {$X _1$} & \textbf {$X_2$} &\text {$X_3$} & \textbf {$X_1$} \oplus  \textbf {$X_2$}&\textbf {$X_1$} \oplus  \textbf {$X_3$}& \textbf {$X_2$} \oplus  \textbf {$X_3$}& \textbf {$X_1$} \oplus  \textbf {$X_2$} \oplus \textbf{$X_3$} \\\hline \color{blue}{\text{0}}& \color{blue}{\text{1}} &\color{blue}{\text{0}} & \text{1} & \text{0} & \text{1}& \text{1} \\\hline 
\color{blue}{\text{1}} & \color{blue}{\text{0}} &\color{blue}{\text{0}} & \text{1} & \text{1} & \text{0}& \text{1} \\\hline  
\color{blue}{\text{1}} & \color{blue}{\text{1}} & \color{blue}{\text{1}} & \text{0} & \text{0} & \text{0}& \text{1} \\\hline \end{array}$$

Now we can not only eliminate options, we can also find the set of all eight code words using $X_1, X_2$ and $X_3$.

$$\begin{array}{|c|c|c|} \hline \textbf {$X _1$} & \textbf {$X_2$} &\text {$X_3$} & \textbf {$X_1$} \oplus  \textbf {$X_2$}&\textbf {$X_1$} \oplus  \textbf {$X_3$}& \textbf {$X_2$} \oplus  \textbf {$X_3$}& \textbf {$X_1$} \oplus  \textbf {$X_2$} \oplus \textbf{$X_3$} \\\hline \text{0 }& \text{0} & \text{0}  \\\hline \text{0 }& \text{0} & \text{1}  \\\hline\text{0 }& \text{1} & \text{0} & \text{1} & \text{0} & \text{1}& \text{1} \\\hline  \text{0 }& \text{1} & \text{1}  \\\hline \text{1 }& \text{0} & \text{0} & \text{1} & \text{1} & \text{0}& \text{1} \\\hline \text{1 }& \text{0} & \text{1}   \\\hline  \text{1 }& \text{1} & \text{0}   \\\hline  \text{1 }& \text{1} & \text{1} & \text{0} & \text{0} & \text{0}& \text{1} \\\hline \end{array}$$

We can fill all remaining entries above :)

Now I am directly writing answer, Option A is correct choice !

• edited by
138 138 votes

I had tried a new method hope this is less intuitive and more calculative.

In all valid codewords, the hamming distance between any two valid codewords remains constant.

Example say if we have a set of 16 valid codewords, then between any two valid codewords in this set of 16, the hamming distance would be same.

The given codewords are

0101011( Let's Say A), 1001101 (let's say B) and 1110001 ( say C)

For finding the hamming distance between any two codewords, perform XOR operation of both and find the number of 1's present in the result.
 A⊕B = 1100110 (Hamming distance is 4)

B⊕C=0111100 (Hamming distance is 4)

A⊕C=1011010(Hamming distance is 4)

So, in our given code system, all codewords are at a hamming distance of 4. 

Any new valid codeword must also have a hamming distance of 4 from these 3(A, B and C) valid codewords.

Now considering each option one by one

(I) 0010111 (Let's call it D)

A⊕ D=111100 (Hamming distance =4)

B⊕D=1011010 (Hamming distance =4)

C⊕D = 1100110 (Hamming distance =4)

This new codeword (D) has same hamming distance with the present codewords. Hence, this is a valid codeword.

(II)0110110 (Assume is as E)

  A⊕E=0011101 (Hamming distance = 4)

B⊕E = 1111011 (Hamming distance = 6)

Now, Stop here as this codeword E has a hamming distance of 6 with codeword B. But it should have same hamming distance with all the valid codewords.

So, Choice (II) is surely Invalid.

(III) 1011010 (Let's call it F)

A⊕F = 1110001 (Hamming distance =4)

B⊕F= 0010111 (Hamming distance =4)

C⊕F=0101011 (Hamming distance =4)

Yes, this is a valid codeword.

(IV)0111010 (Let's call it G)

A⊕G=0010011 (Hamming distance =3)

This is an invalid codeword.

So, clearly, our answer is option A

51 51 votes

The simplest way to solve this is to use XOR property of codewords which says that XOR of two codewords is itself a codeword.
Upon XORing 1st and 3rd codeword we get another codeword 1011010, which is III .
And on XORing this new generated codeword with 2nd codeword given we get 0010111, which is I.

Hence Answer = A
 

9 9 votes

This is nice Question. I'm giving probable answer, which seems best to me Though do comment if you feel there is any mistake.

010 1 0 1 1 => Here 1 is Even parity for 01 (starting 2 char of 010)

                         Here 0  is Even parity for 010 (First & last characters of 010)

                         Here 1 is Even parity for 010 (Last 2 character of 010)

Finally last 1 is Even parity for total string 010 1 0 1 => 1.

Same way you can do for 1001101 and 1110001.

If you try for using similar test for

I. 0010111             II. 0110110         III. 1011010             IV. 0111010

Then I & III pass in test. So answer is A .

1 1 vote
Answer is option A.

 

Since in question it has given 3 code words so clearly it's indicating there is some pattern there so,

When you clearly see

P1: 0101011

P2:1001101

P3:1110001

So when you'll calculate hamming distance (no. Of unmatched bits) between p1 and p2 it come out to be 4. So does in p2 and p3 and p1 and p3 also.

Similar in option 1 and 3 there hamming distance is also 4. So option A is correct.
0 0 votes

Here is another approach to look at the question.

3 data bits and 4 parity check bits. Isn't that overkill for error detection? We can pretty much send the same 3 bits again with an additional parity bit to establish which 3 data bits had an error.

So could this be a self-correcting hamming code?

For a self correcting hamming code, with 3 data bits (up to 4 data bits), we need an additional 3 parity bits. That still comes out to be 3+3=6. However, the problem with hamming codes is that they cannot tell if a double-bit error caused the modification or a single bit error. It assumes that it was a single bit error and the auto-correct mechanism gives us wrong data (in case more bits were modified). Adding 1 extra parity bit solves that to some extent. 3+3+1 = 7! https://en.wikipedia.org/wiki/Hamming_code
 

Just casually looking at the last bits of the codewords will tell you that they are even parity bits. Let us call them [Pa] as they are a single additional parity bit at the end.
[D3], [D5] and [D6] should be data bits. Remaining:  [P1],[P2] and [P4] should be the parity bits used for correction.


The codewords should therefore look like: [P1][P2][D3][P4][D5][D6][Pa].
The hamming code part should only be [P1][P2][D3][P4][D5][D6]

For even parities (which seems to be the norm here): 
[P1] = [D3]⊕[D5]  (D7 does not exist!)
[P2] = [D3]⊕[D6]  (D7 does not exist!)
[P4] = [D5]⊕[D6]  (D7 does not exist!)

This holds for all the codewords provided. And it holds for I and III only. The correct answer should therefore be A.

• edited by
Answer:
Position:
Show:

Related questions

29 29 votes
6 answers 6 answers
17.2k
17.2k views
Ishrat Jahan asked Nov 2, 2014
17,170 views
A sender is employing public key cryptography to send a secret message to a receiver. Which one of the following statements is TRUE?Sender encrypts using receiver's publi...
5 5 votes
4 answers 4 answers
11.0k
11.0k views
Ishrat Jahan asked Nov 2, 2014
11,014 views
Consider a 10 Mbps token ring LAN with a ring latency of 400 µs. A host that needs to transmit seizes the token. Then it sends a frame of 1000 bytes, removes the frame af...
32 32 votes
4 answers 4 answers
21.5k
21.5k views
Ishrat Jahan asked Nov 2, 2014
21,471 views
A serial transmission $T1$ uses $8$ information bits, $2$ start bits, $1$ stop bit and $1$ parity bit for each character. A synchronous transmission $T2$ uses $3$ eight-b...
3 3 votes
1 answers 1 answer
3.9k
3.9k views
Ishrat Jahan asked Nov 2, 2014
3,905 views
Given below are several usages of the anchor tag in HTML.<A HREF = "http://www.gate.ac.in/HTML/BASIC/testpage.html">Test Me</A><A HREF = "/BASIC/testpage.html">Test Me</A...