線型符号
(線型ブロック符号 から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/11/03 15:05 UTC 版)
線型符号(せんけいふごう、英: Linear code)とは、誤り検出訂正に使われるブロック符号の種類を指す。線型符号は他の符号に比べて、符号化と復号が効率的であるという特徴を持つ。
線型符号は、伝送路上を記号列を転送する方法に適用される。したがって通信中に誤りが発生しても、一部の誤りを受信側で検出することができる。線型符号の「符号」は記号のブロックであり、本来の送るべき記号列よりも多くの記号を使って符号化されている。長さ n の線型符号は、n 個の記号を含むブロックを転送する。
定義
q 個の元からなる有限体 をとる。このとき n 次元線型空間 Fn の部分空間 C を線型符号という。また k = dimF C とするとき、線型符号 C のことを (n, k) 線型符号という[1]。k 次元部分空間 C はその基底 g1, …, gk ∈ Fn を指定すれば定まる。これらを並べた k×n 行列 G = (g1t, …, gkt)t を線型符号 C の生成行列という。定義から
が成り立つ。また k 次元部分空間 C は連立一次方程式で指定しても定まる。そこで
となる(n − k)×n 行列 H を線型符号 C のパリティ検査行列という。定義から GHt = 0 が成り立つ。これらの行列は適当に線型符号 C の基底を取りなおすことによって
の形にできる。このような G, H を組織符号形式という。このとき符号化前の k 個の記号からなる情報系列がそのまま符号語に現れているので、容易に復号ができる。符号語の残り n − k 個の記号はパリティ検査記号と呼ばれる。
シンドローム復号
(n, k) 線型符号を C 、 そのパリティ検査行列を H とする。受信語 y ∈ Fn に対して yHt をシンドロームという。剰余空間 Fn/C の完全代表系 {v1, …, vqn − k} は各 vi が剰余類 vi + C のなかで最小の重みをもつとき、コセット・リーダという。このとき受信語 y ∈ Fn は yHt = vHt となるコセット・リーダ v をとると、符号語 y − v ∈ C に復号される。これをシンドローム復号という。
例
次の行列 G を生成行列、あるいは H をパリティ検査行列とする2元体 上の (7, 4) 線型符号を C とおく。この行列 G, H は組織符号形式である。またコセット・リーダ v とそのシンドローム vHt は以下の表のようになる。
コセット・リーダ v | シンドローム vHt |
---|---|
(0, 0, 0, 0, 0, 0, 0) | (0, 0, 0) |
(1, 0, 0, 0, 0, 0, 0) | (0, 1, 1) |
(0, 1, 0, 0, 0, 0, 0) | (1, 0, 1) |
(0, 0, 1, 0, 0, 0, 0) | (1, 1, 0) |
(0, 0, 0, 1, 0, 0, 0) | (1, 1, 1) |
(0, 0, 0, 0, 1, 0, 0) | (1, 0, 0) |
(0, 0, 0, 0, 0, 1, 0) | (0, 1, 0) |
(0, 0, 0, 0, 0, 0, 1) | (0, 0, 1) |
たとえば送信したい情報系列を x = (0, 1, 0, 1) とすれば xG = (0, 1, 0, 1, 0, 1, 0) と符号化される。ここで符号語 xG のうち末尾の (0, 1, 0) がパリティ検査記号である。通信中に先頭で誤りが起こり、受信語が y = (1, 1, 0, 1, 0, 1, 0) になったとすると、そのシンドロームは yHt = (0, 1, 1) である。そこで上のシンドローム表から対応するコセット・リーダ v = (1, 0, 0, 0, 0, 0, 0) を読み取ることで xG = y − v と復号できる。生成行列 G は組織符号形式だったのでもとの情報系列はその先頭 (0, 1, 0, 1) を読み取ることでわかる。この符号 C は歴史的にはリチャード・ハミングによって1947年に初めて発見された誤り訂正符号のひとつである[2]。
特性
- 線型符号の最小距離 d = minx ≠ yd(x, y) と最小重み w = minx ≠ 0 w(x) は一致する[3]。
- (n, k) 線型符号の最小距離 d は不等式 d ≤ n − k + 1 を満たす[4]。これをシングルトンの限界式という。
- (n, k) 線型符号は t < d/2 個の誤りを訂正できる[5]。
利用
2進線型符号は電子機器や記憶媒体などで広く使われている。例えば、コンパクトディスクにデジタルデータを格納する際には、リード・ソロモン符号が使われている。 また10桁のISBNa1 … a10は(X = 10と見做して)11元体上の一次方程式
で定まる線型符号である[6]。
脚注
- ^ (n, k, d) 線型符号ということもある。ここで d は最小距離を表す。なお、長さ n、サイズ r、最小距離 d の非線型符号を [n, r, d] と表記することもあるが、これと混同しないよう注意が必要である。
- ^ ジョーンズ & ジョーンズ 2006, 例6.5, 例7.19, 例7.22.
- ^ ユステセン & ホーホルト 2005, 補題1.2.1.
- ^ ジョーンズ & ジョーンズ 2006, 定理7.23.
- ^ ユステセン & ホーホルト 2005, 定理1.2.1.
- ^ ジョーンズ & ジョーンズ 2006, 演習問題6.21.
参考文献
- ジョーンズ, G. A.、ジョーンズ, J. M. 『情報理論と符号理論』シュプリンガー・ジャパン、2006年。ISBN 4-431-71216-X。
- ユステセン, イエルン、ホーホルト, トム 『誤り訂正符号入門』(第1版)森北出版、2005年。ISBN 4-627-81711-8。
関連項目
外部リンク
- q-ary Code Generator Program
- Compute parameters of linear codes - 線型誤り訂正符号のパラメータを計算し生成するオンラインインタフェース
- Code Tables: Bounds on the parameters of various types of codes, IAKS, Fakultät für Informatik, Universität Karlsruhe (TH).
線型ブロック符号
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/07 06:08 UTC 版)
線型ブロック符号は線型性を有している。すなわち、任意の2つの符号語の総和も符号語であり、情報源のビット列のブロックにもそれが適用される(そのため線型ブロック符号と呼ぶ)。線型でないブロック符号も存在するが、それでよいかどうかを証明することは困難である。 線型ブロック符号は (n,m,dmin) で表され、それぞれ以下のような意味を持つ。 n は符号語の長さ(シンボル数) m は一度に符号化されるシンボル数 dmin は符号間の最小ハミング距離 線型ブロック符号に属する符号として以下のようなものがある。 巡回符号(ハミング符号は巡回符号のサブセット) 反復符号 パリティ符号 リード・ソロモン符号 BCH符号 代数幾何符号 リード・マラー符号 Polar符号 完全符号 ブロック符号は、硬貨を敷き詰める問題と関係している。これは2次元で考えると分かりやすい。硬貨を何枚もテーブルの上に並べ、なるべく稠密に敷き詰める。すると、ちょうど蜂の巣のように正六角形状に敷き詰められる。しかし、ブロック符号はもっと高次元であり、容易に視覚化できない。宇宙空間での通信に使われた強力なゴレイ符号では24次元を使っている。一般的な2進数の符号では次元は符号語の長さとなる。 符号理論では、N次元球モデルを使う。例えば、テーブル上の円に何枚の硬貨を敷き詰められるか、あるいは3次元では球体の中にどれだけビー玉を詰められるかという問題と同じである。別の考慮として、符号の選択がある。例えば、正六角形を四角形の枠に敷き詰めようとしても、角に隙間ができてしまう。次元を大きくすると、隙間となる空間の割合は小さくなる。しかし、ある次元で符号が隙間無く敷き詰められるようになり、それを完全符号と呼ぶ。そのような符号の例は非常にまれである(ハミング [ n , k , 3 ] {\displaystyle [n,k,3]} 、ゴレイ [ 24 , 12 , 8 ] , [ 23 , 12 , 7 ] , [ 12 , 6 , 6 ] {\displaystyle [24,12,8],[23,12,7],[12,6,6]} )。 もうひとつ、よく見逃される点として、1つの符号語が持つ近傍の数がある。再び硬貨を例にすると、最初に硬貨を方形の格子に詰める。この場合、各硬貨には4つの近傍がある。正六角形では、各硬貨は6つの近傍を持つ。次元を大きくすると、近傍の数は急速に増加する。結果として、ノイズによってある符号語を近傍の別の符号語と間違う可能性も大きくなる。これはブロック符号の基本的制限であり、実際すべての符号に言えることである。ある近傍に間違う可能性は低くても、近傍が増えれば全体としての誤り率は問題となる。
※この「線型ブロック符号」の解説は、「符号理論」の解説の一部です。
「線型ブロック符号」を含む「符号理論」の記事については、「符号理論」の概要を参照ください。
- 線型ブロック符号のページへのリンク