ブロックコーディングとは

コード理論の一部であるブロック符号化は、メッセージを特定のコードに変換し、所定の長さのデータブロックとして情報を送信する、チャネルコードとも呼ばれる前方誤り訂正(FEC)の形式です。 データのブロックが大きくなると、受信側コンピューターは情報をデコードし、転送中に発生したエラーを修正しやすくなります。 ブロックコードと畳み込みコードは、FECで一般的に使用される2つのコードタイプです。 これらのタイプのコードにより、メッセージは信頼性の低い接続を介して送信され、到着時に解読可能になります。

メッセージの送信時に発生するノイズのため、ブロックコーディングの使用が必要です。 データを長距離または信頼性の低い接続で移動する必要がある場合、ハミングの重みと距離を使用してエラーの可能性を判断します。 ハミング重みは、考えられるすべてのコードの組み合わせを表現するために必要な桁数であり、ハミング距離は、ビットが正当であるが誤った情報を表すまでに発生する必要があるエラーの数です。

たとえば、ブロックコーディングを使用する送信者が、それぞれ3桁の長さの3つの可能なコードのみを使用できるメッセージを送信する場合、ハミングの重みは3になります。 コードは000、010、および011です。エラーにより、000が010に変更されるなど、1桁が変更されると、コードは正当なコード(010)として読み取られますが、送信者が意図したコード(000)ではありません。 したがって、コンピュータが修正できないエラーを引き起こすために変更する必要があるのは1桁だけなので、このコードのハミング距離は1です。

ハミング距離を短くしてエラーを減らすために、データは特定の長さの特定のコードワードにエンコードされるコードブロックとして送信されます。 元のメッセージデータビットはkビットと呼ばれます。 kビットは、対応するnビットに変換されます。これは、各kビットの長いコードとして代わるように選択されたコードです。 1またはゼロを追加して、ビットの長さを均一にし、ハミング距離を減らします。 次に、これらのnビットのブロックが受信コンピューターに送信されます。

ブロックコーディングについて考えることは、会話をしている2人と比較するときに最も簡単です。 騒がしい部屋で話したり、長距離で叫んだりすると、受信者が聞くものにエラーの余地が多くなります。 文が長い場合、人は文全体を前後関係で捉えることでより多くのエラーを修正できますが、短い文は人の言っていることを解読するのが難しいため、エラー率が高くなります。

例として、ある人が「赤い猫」と叫び、他の人が「猫を食べた」と聞いた場合、彼らは文を誤って中断します。 ただし、最初の人が「私は赤い猫を飼っています」と言い、2人目の人が「私は色のついた猫を飼っています」と聞いた場合、文章の文脈から実際に「赤」と言った人を簡単に判別できます。 「給餌」ではありません。 これは、ブロックコーディングの背後にある基本原則であり、コンピューターが情報のブロックを正確に変換できるようにするための、より長く均一なコードの使用です。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?