블록 코딩이란 무엇입니까?

코드 이론의 일부인 블록 코딩은 채널 코드라고도하는 FEC (Forward Error Correction) 형식으로, 메시지를 특정 코드로 변환하고 정보를 미리 결정된 길이의 데이터 블록으로 보냅니다. 데이터 블록이 클수록 수신 컴퓨터가 정보를 쉽게 해독하고 전송 중에 발생하는 오류를 수정할 수 있습니다. 블록 코드 및 컨벌루션 코드는 FEC에서 일반적으로 사용되는 두 가지 코드 유형입니다. 이러한 유형의 코드를 사용하면 신뢰할 수없는 연결을 통해 메시지를 보낼 수 있으며 도착했을 때 여전히 해독 할 수 있습니다.

메시지가 전송 될 때 발생하는 노이즈로 인해 블록 코딩을 사용해야합니다. 데이터가 장거리 또는 신뢰할 수없는 연결을 통해 이동해야하는 경우 해밍 무게와 거리를 사용하여 오류 가능성을 결정합니다. 해밍 가중치는 가능한 모든 코드 조합을 표현하는 데 필요한 자릿수이며 해밍 거리는 비트가 합법적이지만 잘못된 정보를 나타 내기 전에 발생해야하는 오류 수입니다.

예를 들어, 블록 코딩을 사용하는 발신자가 길이가 각각 3 자리 인 3 개의 가능한 코드 만 사용할 수있는 메시지를 보내려는 경우 해밍 가중치는 3이됩니다. 코드는 000, 010 및 011 일 수 있습니다. 오류로 인해 000이 010으로 변경되는 것과 같이 한 자리 숫자가 변경되면 코드는 합법적 인 코드 (010)로 읽지 만 발신자가 의도 한 코드 (000)는 아닙니다. . 따라서이 코드의 해밍 거리는 1 자리 만 변경하면 컴퓨터가 수정할 수없는 오류가 발생하기 때문에 1입니다.

해밍 거리를 줄이고 오류를 줄이기 위해 데이터는 특정 길이의 특정 코드 워드로 인코딩 된 코드 블록으로 전송됩니다. 원래 메시지 데이터 비트는 k 비트로 지칭된다. k 비트는 대응하는 n 비트로 변환되며, 이는 각 k 비트에 대해 더 긴 코드로 서도록 선택된 코드이다. 비트를 균일 한 길이로 만들고 해밍 거리를 줄이기 위해 1 또는 0이 추가됩니다. 그런 다음이 n 비트 블록이 수신 컴퓨터로 전송됩니다.

대화를 나누는 두 사람과 비교할 때 블록 코딩에 대해 생각하는 것이 가장 간단합니다. 시끄러운 방에서 말하거나 먼 거리에서 소리를 지르면받는 사람이 듣는 것에 오류가 생길 여지가 더 많습니다. 문장이 긴 경우, 문장 전체를 문맥으로 받아 들여서 더 많은 오류를 수정할 수 있지만 짧은 문장은 그 사람이 말하는 것을 해독하기 어렵 기 때문에 오류율이 더 높습니다.

예를 들어, 한 사람이 "빨간 고양이"라고 외치고 다른 사람이 "금 고양이"를 들으면 문장을 잘못 차단합니다. 그러나 첫 번째 사람이 "저는 붉은 색 고양이가 있습니다"라고 말했고 두 번째 사람이 "내가 유색 고양이가 있습니다"라고 들었다면, 문장의 맥락에서 그 사람이 실제로 "빨간색"이라고 말한 것을 쉽게 결정할 수 있습니다. "사육"이 아닙니다. 이것이 블록 코딩의 기본 원칙이며 컴퓨터가 정보 블록을 정확하게 번역 할 수 있도록 길고 균일 한 코드를 사용하는 것입니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?