제 10 장 암호이론과 그 응용
3. HAMMING ONE-ERROR CORRECTING CODES I
|
||||||
|
||||||
|
제 10 장 암호이론과 그 응용
4. HAMMING ONE-ERROR CORRECTING CODES II
|
||||||
|
||||||
HAMMING ONE-ERROR CORRECTING BINARY CODES
HAMMING ONE-ERRORCORRECTING BINARY CODE를 활용하는 방법에 관하여 학습하도록 합시다.
다음의 강의는 R. C. Bose & B. Manvel 저서인 Introduction to Combinatorial Theory John Wiley & Sons Inc., 1984. 의 7장의 내용을 참고하여 학습하기 바랍니다.
앞에서 학습한 바와 같이, 전송된 code는 여러 가지 noise 요인에 의하여 원래의 code와 다를 수 있다. 이 때, decode하는 과정에서 가능한한 원래의 code로 복원하기 위하여 우리는 Minimum distance rule에 의한 error correcting을 하여야 한다.
Minimum distance rule
(I) x' = (x1, x2,..., xn) : transmitted word y' = (y1, y2,..., yn) : received word. C : Hamming code Compare y' with all the code words in C and There is no error( x' matches y') ⇒ x' = y'
(2) 위의 Example 1의 code인 경우에 y' = (1, 0, 1, 0, 1, 0, 0)가 received word 라면, y'은 code 모음에 없다. 따라서 minimum distance rule에 의하여 y' 에서 최소거리 1인 x' 를 C code에서 찾으면 x' = (1, 0, 1, 1, 1, 0, 0). 따라서, x'이 transmitted word 이다.
(3) x' = (x1, x2,..., xn) : transmitted word y' = (y1, y2,..., yn) : received word. e' = (e1, e2,... ei ,..., en) : error vector (where ei =1) e1 = 0 ⇔ i- th coordinate has been correctly transmitted. w(e') : number of errors in the transmission. Now y' = x' + e' Therefore, y'H' = x'H' + e'H' x'H' = 0 (x' : code word from (2)) Hence y'H' = e'H'
We define y'H' to be the syndrome of the received word y' .
(1) y'H' = 0 (null vector) ⇔ no error ⇔ y' : transmitted word(x' ) (2) If there is one error, say in the I-th coordinate, then the syndrome is hi' , the I-th row of H'. If the syndrome matches the i-th row of H' conclude that there is an error in the I-th coordinate and the transmitted word is x' = y'- ei' , where ei' = (0, 0, … , 1, …, 0) [in the th coordinate is 1, & the other coordinates are zero]
In the above Example 1,
(ⅰ) y' = ( 1, 1, 0, 0, 1, 0, 0) : received word y' H' = (0, 0, 0, 0, 0, 0, 0) : null vector thus x' = y'
(ⅱ) y' =(1, 0, 1, 0, 1, 0, 0) : received word y' H' = Hy
Since this matches the fourth row of H' , then e' =(0, 0, 0, 1, 0, 0, 0). Thus x' = y'-e' = (1, 0, 1, 0, 1, 0, 0) - (0, 0, 0, 1, 0, 0, 0) = (1, 0, 1, 1, 1, 0, 0)
Once the syndrome has been calculated the number of comparisons needed is n=2r-1, which is 15 for r = 4, & 31 for r = 5.
Solution of (a): x' = (1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, x, y, z, u)
⇒ x = 0 ,y = 1,z = 1,u = 0. Thus x' = (1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0)
Solution of (b) : (1) y' = (1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1)
⇒ e' = (0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0) x' = y'-e' = (1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1) - (0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0) = (1, 0, 1, 0, 1, 1, 0, 1*, 1, 1, 1, 1, 1, 1, 1) (2) y'= (1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1)
⇒ e' = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0) x' = y'-e' = (1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1) - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0) = (1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1) (3) y' = (1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1)
|