Download
hamming code n.
Skip this Video
Loading SlideShow in 5 Seconds..
Hamming Code PowerPoint Presentation
Download Presentation
Hamming Code

Hamming Code

371 Views Download Presentation
Download Presentation

Hamming Code

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Hamming Code 이근용

  2. Error Control • Error Detection • Parity Check • CRC Check • Error Correction • Hamming Code

  3. 오류 검출과 교정 • 송신측에서 원래의 데이터에 여분의 메시지를 추가하여 수신측에서 메시지의 에러를 검출하거나 교정할 수 있도록 하는 것

  4. Symbol Original Code Code with redundant A 0 0 0 0 0 0 0 B 0 0 1 0 0 1 1 C 0 1 0 0 1 0 1 D 0 1 1 0 1 1 0 E 1 0 0 1 0 0 1 F 1 0 1 1 0 1 0 G 1 1 0 1 1 0 0 H 1 1 1 1 1 1 1 If 1bit error 0011 (B) 0101 (C) 1001 (E) 0000 0001 0010 0100 1000

  5. BER(Bit Error Rate) • 에러가 없이 전송될 확률 : p • 전송할 때 에러 발생확률 : q = 1-p • 3digit의 메시지 • 에러 없이 전송될 확률 : p3 • 에러가 하나 발생 : 3p2q • 000 001, 010, 100 • 에러가 두개 발생 : 3pq2 • 에러가 세개 발생 : q3

  6. BER • n binary digit에서 r개의 오류가 발생할 확률 -

  7. Hamming Code (1) • 오류 검출 및 정정이 가능한 코드 • Parity Digit라고 불리는 여분의 코드를 가지고 있음 • Message 길이가 n digits long이고 정보를 표현하는데 m digits(m < n)라면, • 검출과, 정정을 위해서 사용된 코드 • K = n-m

  8. Hamming Code (2) • Single error detection • n-1까지 message • n번째 parity • Hamming은 parity check에 기초하여 검출및 정정이 가능한 코드를 만들었음 • 에러가 발생한 위치 파악 가능

  9. Hamming Code (3) • Definition 1 • Let x=<x1,x2,…,xn> and y = <y1,y2,…,yn> be n-tuples representing messages x1x2,…,xn and y1,y2,…,yn respectively, where xi, yi in {0,1}, The Hamming distance between x and y, denoted by H(x,y), is the number of coordinates for which all xi and yi are different. • Cleary

  10. Hamming Code (4) • For example • <1,1,1,0,1> and <0,1,1,1,0> is 3 • x, y, z in Sn • H(x,y) >= 9 • H(x,y) = 0  x = y • H(x,y) = H(y,x) • H(x,y) + H(y,z) >= H(x,z)

  11. Hamming Code(5) • Definition 2 • The minimum distance of a code, whose words are n-tuples, is the minimum of the Hamming distance between all pairs of code words in the code. • Example • X = <1,0,0,1> H(x,y)=3 • Y = <0,1,0,0> H(y,z)=2 • Z = <1,0,0,0> H(x,z)=1 • Minimum distance in this code is 1

  12. Hamming code(6) • Theorem 1 • A code can detect all combinations of k or fewer errors if and only if the minimum distance between any two code words is at least k+1

  13. Hamming code (7) • Theorem 2 • A code can correct all combinations of k or fewer errors if and if the minimum distance between any two code words is at least 2k+1

  14. Hamming code 설계 • 1개 또는 2개의 오류 검출 • 1개의 오류 정정 • m = 4, k = 3 • x1+x2+x3+x5 = 0 (1), x5 = -(x1+x2+x3), x5 = (x1+x2+x3) • x1+x2+x4+x6 = 0 (2), x6 = -(x1+x2+x4), x6 = (x1+x2+x4) • x1+x3+x4+x7 = 0 (3), x7 = -(x1+x3+x4), x7 = (x1+x3+x4) • All mod 2

  15. x1 x2 x3 x4 x5 x6 x7 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 x5 = (x1+x2+x3) x6 = (x1+x2+x4) x7 = (x1+x3+x4) All mod 2

  16. Hamming codeError Detect • (1),(2),(3)을 각각 P1, P2, P3를 true로 만들면 Error 발생 • 1000011 • P1 = (1+0+0+0) mod 2 = 1Error • P2 = (1+0+0+1) mod 2 = 0 • P3 = (1+0+0+1) mod 2 = 0 • Error 위치 x5 • 0111111 • P1, P2, P3 Errorx1 Error

  17. Error Position Detect S1 S2 (1),(2),(3)을 각각 S1,S2,S3라하면 5  S1 and ~S2 and ~S3 2  S1 and S2 and ~S3 6  ~S1 and S2 and ~S3 3  S1 and ~S2 and S3 7  ~S1 and ~S2 and S3 1  S1 and S2 and S3 4  ~S1 and S2 and S3 5 2 6 1 3 4 7 S3

  18. Error Position Detect Proposition P1 P2 P3 Incorrect Digit None X x5 X x6 X x7 X X x2 X X x3 X X x4 X X X x1

  19. 참고도서 • Discrete Mathmatical Structures with Applications to Computer Science • J.P. TREMBLAY, R. MANOHAR • McGRAW-HILL BOOK COMPANY, 1975 • Data and Computer Communications fourth edition • William Stallings, PH.D. • MACMILLAN PUBLISHING COMPANY, 1994