Transcript ppt

ECE 465: A Proof Example
Shantanu Dutt
ECE Dept.
UIC
Proof Example
•
•
Problem: Prove that an even # of errors will not be caught by a single parity check code (i.e.,
the parity will not be different for an even # of errors than for the no-error case). Note that
error detection is done in the single parity check code by taking the xor of all bits (n info bits
and the parity check bit—which itself was generated by the xor of the info bits). If the bits are
all correct this xor of all bits is 0. In the proof, you can use the fact that xor is a commutative
and associative operation
Proof:
–
–
–
–
–
–
–
–
–
–
Let X = {xn xn-1, x0} be the set of n+1 (correct) bits (a parity bit xn and the n info bits) in a parity code.
An error occurs in a bit, if it’s correct value is a 1, and it changes to 0, and vice versa, i.e., whenever
there is an error in bit xi, it changes to xi’.
The basis of this proof, will be the 2 properties of xor: a) xi xor xj = (xi)’ xor (xj)’, and b) xi xor xj = (xi xor
xj’)’. These are easily proved algebraically or by using a TT (i.e., enumerating the 4 possible
combinations of xi, xj)—do both of these “subproofs’’ as an exercise.
Let Y = {xi1, xi2, …, xik} be the set of k bits w/ errors, where k is even. Since, k is even we can form k/2
pairs of bits (xi1, xi2), … (xij-1, xij), … (xik-1, xik).
For each such pair (xij-1, xij), the xor of the corresponding correct bits (xij-1 xor xij) = the xor of the
corresponding erroneous bits ((xij-1)’ xor (xij )’).
Thus we have: xor{Y} = xi1 xor xi2 xor …xor xik = (xi1 xor xi2) xor ….xor (xij-1 xor xij) xor … xor (xik-1 xor
xik) = ((xi1)’ xor (xi2)’) xor ….xor ((xij-1)’ xor (xij)’) xor … xor ((xik-1)’ xor (xik)’) = xor{Y’}, where Y’ is the
set of complemented bit values in Y.
With Y as the set of bits that become erroneous, the set of final bits obtained (e.g., those received
after transmission, or after memory read, etc.) is {X-Y} U Y’ = Z U Y’, where Z = X-Y.
Form above we have xor{Y} = xor{Y’}, when |Y| = |Y’| is even.
Since xor is commutative & associative, we have xor{all sent bits} = xor{X} = xor{Z U Y} = xor{Z} xor
xor{Y} = xor{Z} xor xor{Y’} = xor{Z U Y’} = xor{all received bits}, when the # of errors is even
Thus we cannot distinguish the xor of all bits between the case of all correct bits (i.e., xor{X}) and bit
w/ an even # of errors (xor{ZUY’}). Hence we cannot detect errors in X if there are an even # of them.