2013-06-30 2 views
0

SEC/DED 오류 수정 코드에 문제가 있습니다. 그것은 내가 디코더가 더블 비트 플립이 발생한다고 생각하지만 실제로 발생한 것만있는 경우를 발견 한 것 같습니다. 내가 잘못했다고 생각해도, 나는 무엇을 이해할 수 없었습니다. 예제를 보여 드리겠습니다.해밍 SEC/DED 여분의 패리티 비트

두 개의 오류 감지를 수행하는 데 필요한 여분의 비트와 (7,4) 코드를 사용하여 4 비트 1011을 인코딩한다고 가정합니다. 코드 워드는 00110011이어야하며, 최상위 비트는 여분의 패리티 비트이고 다음 두 비트는 p0 및 p1입니다.

이제 전송 중에 하위 비트가 뒤집혀 있다고 가정 해 봅시다. 따라서 수신 된 단어는 00110010이됩니다. 수신기는이 코드로부터 4 개의 수신 된 데이터 비트 (1010)를 추출 할 것이고 01011010이 될 새로운 코드를 구성 할 것이다. 마지막으로 수신기는 두 코드 중 비트 xor를 수행하여 0111을 얻습니다. 마지막 세 비트는 비트 7이 뒤집 혔음을 나타내며 (오른쪽), 첫 번째 비트는 0이며, 알고있는 한, 비트 플립 이상이 발생한 것처럼 디코더는이 상황을 고려해야합니다.

내가 뭘 잘못 했니?

답변

0

나는 문제를 해결했다고 생각합니다.

위의 예제에서 나는 신드롬을 계산 한 다음 결과 코드 워드의 새로운 전체 패리티 비트를 계산합니다. 대신, 나는받은 단어의 전반적인 패리티를 검사하고 그 값으로 error_happened 부울을 설정해야한다. 그런 다음 증후군을 계산하십시오.