2010-02-26 3 views
4

누락 된 바이트 (또는 누락 된 여러 바이트)가있는 인스턴스에서 리드 - 솔로몬 오류 수정이 작동합니까? 예를 들어, (12,8) 리드 솔로몬 코드라고 가정 해 봅시다. 이론적으로 2 개의 오류를 수정할 수 있어야합니다 (또는 위치를 알고있는 경우 4 개의 지우개). 그러나 11 (또는 10) 바이트 만 수신되고 어떤 바이트가 삭제되었는지 알 수없는 경우 어떻게됩니까? Reed-Solomon 오류 수정 작업이 필요합니까?기본 리드 - 솔로몬 오류 수정 질문

감사합니다, 기호가 "떨어졌다"또는 분실의 위치를 ​​필요로 이레 이져에 대한 디코딩

답변

4

RS
벤. 당신이 말하는 오류의 종류는 위상 왜곡 때문입니다.

+0

RS는 "결정할 수 없다"는 것을 알고 있습니까? 그렇다면 RS는 그것이 놓일 가능성이있는 각 바이트 위치에 0 또는 0xFF를 넣고 다시 "결정할 수있는"상태가 될 때까지 다시 시도하려고합니다. – user21293

0

당신은 단순히 문자가 누락하고 당신의 결과를 수정하려고셔서 될 수있는 가능한 위치를 순환에 의해 작동하도록, 그래서 당신은 10 자받은 가정 해 봅시다 수 있습니다

1234567890 

가가를 해결 적이을 다음 값 :

??1234567890 
?1?234567890 
?12?34567890 
: 
1??234567890 
1?2?34567890 
: 
1234567890?? 

각 시도는 대부분 당신이 원하는 결과를 줄 것입니다. 그러나 최소한의 추가 수정으로 정확히 하나의 결과가 있어야하며, 올바른 답일 가능성이 가장 높은 것으로 사용해야합니다. 위의 예제의 처음 세 숫자를 수정하면

예를 들어, 다음과 같은 결과를 얻을 수 있습니다 : 첫 번째와 세 번째의 경우를 들어

v 
361274567890 
917234567890 
312734569897 
: ^^ 

을, 추가 수정은 두 채워 넘어 만든 두 번째 경우에는 누락 된 위치 만 채워지고 다른 문자는 정정되지 않은 입력과 일치하는 반면, 공백 (v 및 ^으로 표시됨)이 표시됩니다. 따라서 나는 대답 2를 가장 올바른 것으로 선택할 것입니다.

분명히이 문제는 다른 오류가 있는지 여부에 달려 있습니다. 불행히도 나는이 방법이 확실하게 작동 할 수있는 엄격한 조건을 제공 할 수는 없습니다.

.

메시지가 길면 할 수있는 또 다른 일은 인터리빙 기법을 사용하여 기본적으로 여러 개의 직교 RS 코드가 데이터를 처리하도록하는 것입니다. 그렇게하면 하나가 실패하면 다른 것으로 복구 할 수 있습니다. 이 방법은 예를 들어 CD (CIRC)에 사용됩니다.

0

아니요, 리드 솔로몬은 대부분의 다른 FEC 알고리즘과 마찬가지로 it was only designed to correct bit-flips과 같이 누락 된 비트가있는 인스턴스를 자동으로 수정할 수 없습니다. 누락 된 비트의 위치를 ​​알고있는 경우 RS가 정상적으로 작동 할 수 있도록 해당 위치에서 수신 된 신호를 채울 수 있습니다.

그러나 위치를 모르는 경우 마커 코드 및 워터 마크 코드와 같은 bit-insertion or bit-deletion을 지원하는 다른 알고리즘을 사용해야합니다.

RS는 지우개뿐만 아니라 process noisy bits using Forney syndrome에도 사용할 수 있습니다.