해밍 코드 란 무엇입니까?
해밍 코드는 이진 전송에서 오류를 감지하고 수정하는 방법입니다. 검사에 사용되는 시퀀스에 추가 이진수를 포함하고 감지 논리를 제공하는 알고리즘을 통해이를 수행합니다. 이러한 코드는 임의의 비트 시퀀스에서 두 개의 오류를 발견하고 올바르지 않은 한 비트를 복구 할 수 있습니다. 가장 일반적으로 참조되는 해밍 코드는 해밍 (7,4)으로 알려져 있습니다. 여기서 4는 시작 비트의 원래 수를 나타내고 7은 추가 검사 비트가 포함 된 후 시퀀스의 총 비트 수를 나타냅니다.
이 기술은 1950 년에이 방법을 발표 한 작성자 인 Richard Hamming으로부터 이름을 얻었습니다. Hamming 코드가 작동하는 방식은 일련의 비트를 가져와 패리티 비트라고하는 추가 검사 비트를 시퀀스에 삽입하는 것입니다. 검사 비트는 항상 2의 거듭 제곱 위치에 주입되므로 추가 패리티 비트를 포함하여 임의의 수의 비트를 확인할 수 있습니다. 이것은 시퀀스에 추가 된 마지막 패리티 비트가 시퀀스의 최종 위치보다 작거나 같은 2의 거듭 제곱 위치에있을 때까지 계속 될 수있다.
모든 패리티 비트가 제자리에 있으면 나머지 위치는 실제 데이터 비트입니다. 4 비트 예에서 비트 위치 1, 2 및 4는 패리티 비트이고 위치 3, 5, 6 및 7은 데이터입니다. 이 시퀀스가 설정되면 해밍 코드의 논리가 작동합니다.
해밍 코드에서, 시퀀스에 추가 된 각 패리티 비트는 자신을 포함하여 그들이 가까이있는 일부 비트 위치를 확인하는 데 사용됩니다. 위치 1의 패리티 비트는 다른 모든 비트 위치를 확인하는데, 이는 본질적으로 시퀀스의 모든 홀수 번호 위치입니다. 두 번째 패리티 비트는 위치 2에서 위치 2와 3을 확인한 다음 두 위치를 건너 뛰고 더 많은 위치를 확인하고 두 개 더 건너 뜁니다. 위치 4에 패리티 비트가있는 경우 위치 4에서 7까지를 확인한 다음 4 개의 위치를 건너 뛰고 4 개 이상을 확인하는 등의 방식으로 작동합니다. 시퀀스의 모든 패리티 비트는 전체 시퀀스에서 이러한 방식으로 계속됩니다.
해밍 코드가 오류를 감지하고 수정하는 프로세스는 각 패리티 검사에 대해 검사 순서에서 비트를 합산하여 각 짝수로 나옵니다. 7 비트 예제에서 첫 번째 패리티 검사의 경우 비트 1, 3, 5 및 7이 합산됩니다. 합계가 짝수이면 패리티가 체크 아웃되지만 총수가 홀수이면 오류가 있습니다. 패리티 검사가 겹치므로 두 가지 오류가 표시됩니다. 총합이 나오지 않는 2 개의 패리티 비트 위치가 함께 추가되면 수정해야 할 비트가 표시됩니다.
7 비트 해밍 코드 예제에서 위치 번호 5의 비트가 올바르지 않은 것을 고려하십시오. 위치 1, 3, 5 및 7의 비트 합계는 홀수로 나오며, 4-7 위치의 비트 합계도 마찬가지입니다. 이는 패리티가 위치 1과 4에서 검사 비트를 검사하지 못했음을 나타냅니다. 1과 4가 함께 추가되면 총계는 5이며, 이는 수정해야 할 전송에서 잘못된 비트의 위치입니다.