線形符号
ある符号について任意の符号語の和を取れば、それも符号語になっている時、その符号を線形符号という
具体例
情報源は0/1を出力する
ブロックコーディングでは、固定長のメッセージブロックに分割される。
それぞれのメッセージブロックを$ \bold{u}で表し、これはk個の情報ビットを持つ。つまり$ 2^k通りの異なるメッセージがある。
エンコーダーは、「あるルールにより」、それぞれのメッセージをバイナリのn-tuple $ \bold{v} (n > k)に変換する。この変換された$ \bold{v}のことを、メッセージブロック$ \bold{u}のコードワード(コード語、コードベクター)という。
メッセージが$ 2^k通りあるので、コードワードも$ 2^k通りある。これらは相異なるものであるべきである。このコードワードの集合のことをブロックコードという。
エンコード装置は、特別な良い性質を持たない限り、あまりにも複雑になる。長さnの2^k通りのコードワードを記載した辞書が必要になってしまうから。
そこで、実用的な方法で実装できるエンコード方法に注目する。つまり、「特別な良い性質」として、線形性を用いる。 定義(線形$ (n,k)コード)
長さ$ nの$ 2^k個のコードワードは、この$ 2^k個のコードワードが、すべての$ GF(2)上のn-tupleからなるベクトル空間の部分空間であるとき、またその時に限り、「線形$ (n,k)コード」であるという。
例えば、バイナリブロックコードは、その2つのコードワードの法2の和がまたコードワードであるとき、またそのときにかぎり、線形コードである。
https://gyazo.com/b0a5f9ed43af9be8215a912ea84fe2a3
Lin, Costello, Error Control Codingより引用
関連