20 likes | 194 Views
ECE 465: A Proof Example. Shantanu Dutt ECE Dept. UIC. Proof Example.
E N D
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.