해밍 코드 오류 검출 예제

디코더가 오류를 수정하지 않으면 트리플 비트 오류를 안정적으로 감지할 수 있습니다. 디코더가 오류를 수정하면 일부 삼중 오류가 단일 오류로 오인되고 잘못된 값으로 “수정”됩니다. 따라서 오류 수정은 확실성(삼중 비트 오류를 안정적으로 감지하는 기능)과 복원력(단일 비트 오류에 직면하여 계속 작동할 수 있음) 간의 절충입니다. 해밍 코드의 발명가인 리처드 해밍은 1940년대 후반 벨 랩스(Bell Labs)에서 사이클 타임을 초 단위로 하는 전기 기계계 계주 기반 기계인 Bell Model V 컴퓨터에서 근무했습니다. 입력은 펀치 종이 테이프에 공급되었다, 행 당 최대 6 구멍이 있었다 인치 폭의 7-8. 평일에는 릴레이에 오류가 감지되면 장비가 멈추고 플래시 표시등이 켜져 작업자가 문제를 해결할 수 있습니다. 근무 시간 후와 주말에는 작업자가 없을 때 기계가 다음 작업으로 이동하기만 하면 됩니다. 데이터 전송에서 수신 스테이션에서 수신 된 데이터의 오류를 수정하는 기능을 정방향 오류 수정 (FEC)이라고하며 많은 노이즈가있을 때 데이터 링크에서 처리량을 증가시킬 수 있습니다. 이를 사용하려면 송신 스테이션에서 전송에 추가 데이터(오류 수정 비트라고 함)를 추가해야 합니다.

그러나 수정이 단순히 정보를 다시 보내는 것에 비해 비용이 절감되는 것은 아닙니다. 해밍 코드는 블록 패리티 메커니즘을 사용하여 구현하는 FEC를 저렴하게 만듭니다. 다른 오류 수정 코드와 마찬가지로 Hamming 코드는 데이터 전송시 또는 데이터 전송에서 데이터 전송을 받은 후 데이터의 유효성을 확인할 수 있도록 데이터에 추가되는 비트인 패리티 및 패리티 비트 s의 개념을 사용합니다. 오류 수정 코드는 두 개 이상의 패리티 비트를 사용하여 데이터 단위의 단일 비트 오류뿐만 아니라 데이터 단위의 위치도 식별할 수 있습니다. 표시된 비트는 20비트(패리티 5개, 데이터 15개)에 불과하지만 패턴은 무기한 계속됩니다. 시각적 검사에서 볼 수 있는 Hamming 코드의 핵심은 지정된 비트가 고유한 패리티 비트 집합에 포함되어 있다는 것입니다. 오류를 확인하려면 모든 패리티 비트를 확인합니다. 오류 증후군이라고 하는 오류 패턴은 비트 오류 오류를 식별합니다. 모든 패리티 비트가 올바르면 오류가 없습니다.

그렇지 않으면 잘못된 패리티 비트의 위치 합계가 잘못된 비트를 식별합니다. 예를 들어 위치 1, 2 및 8의 패리티 비트가 오류를 나타내는 경우 비트 1+2+8=11이 오류가 있습니다. 패리티 비트가 하나의 패리티 비트만 오류를 나타내는 경우 패리티 비트 자체가 오류입니다. 비트는 소수점 표현이 6인 0110으로 이진 번호를 지정합니다. 따라서 비트 6에는 오류가 포함되어 있습니다. 오류를 수정하기 위해 6비트가 1에서 0으로 변경됩니다. 각각의 위치에 패리티 비트를 입력/삽입함으로써 코드워드가 형성되고 전송될 수 있습니다.