巡回符号

From Wikipedia, the free encyclopedia

巡回符号(じゅんかいふごう、: Cyclic code)は、符号理論における誤り訂正符号の一種である。

巡回符号の定義は以下の通りである。

n個のシンボルで構成されるある線形符号符号語として (c0 , c1 , ... , cn-2 , cn-1 ) があるとする。この符号語を巡回シフトさせたもの(cn-1 , c0 , c1 , ... , cn-2 ) が、やはりその線形符号の符号語である場合、その線形符号を巡回符号という。

巡回符号は一般に符号語を符号語多項式で表す。これは例えば上記の符号語を

というように符号語を (n-1)次の多項式で表現する方法である。なおこの式は加算を排他的論理和で表す GF(2n-1)の拡張ガロア体上の多項式である事に注意する。特に a + b と a - b は基本的に同じ事を意味する。

巡回符号は以下のようにして作成される。まず n > m であり、 xn - 1 を割り切ることのできる m次の多項式

を考える。このとき、(n-m-1) シンボルの情報を符号語多項式で表したものを I(x) と置いて G(x) と I(x) の積で表される n-1次の多項式

を符号語とする。この C(x)は必ず巡回符号の定義を満たすことが知られている。これは以下のように証明できる。

まず定義より xn - 1 は G(x)で割り切れるので

で表すことが出来る。今 C(x)の多項式を

で表すとする。このときこの多項式を巡回シフトさせた多項式 C'(x) を考えると、

で表される。この式を C(x) との関係で表すと、

となる。 ここで C(x) = I(x) × G(x) である事と xn - 1 と G(x)との関係式より上記の式は

となり、この式も最初に定義した C(x) と同様の式で表すことが出来る。すなわちこの符号化は巡回符号であることが分かる。このときこの G(x) は生成多項式と呼ばれる。巡回符号の定義から、もとの符号語多項式を n 回巡回シフトした場合、もとの符号語多項式に戻ることは自明である。このとき元に戻るまでに n-1 個の符号語が現れることになるが、この符号語が全て相違になるような符号を生成する生成多項式を特に原始多項式と呼ぶ。

このようにして、巡回符号は単純な多項式同士の積で表すことができるが、この場合 C(x)は必ずしも組織符号(符号語の前半部分の係数が I(x) の係数と一致する符号)であるとは限らない。そこで一般には以下のような方法で符号化される。まず情報多項式 I(x) と xn-m との積を求める。この式を 生成多項式 G(x)で割った商を Q(x)、余りを R(x) と置けば、

で表すことが出来る。よって

とすることで、I(x) の組織符号となる巡回符号を定義することが出来る。

巡回符号の最大の利点は、単純なシフトレジスタ回路を用いて符号化が可能な事である。例えばハミング符号では符号語は情報ベクトルと生成行列の積で表されるが、この場合は符号長が長くなるにつれ回路の規模が加速度的に大きくなる。それに対し、上記の組織符号を満たす巡回符号の場合はI(x) × xn-m(これは実際には I(x) をシフトするだけである)を G(x) で割った余りを求める除算回路を1つ用意し、その結果を I(x) の後ろに添付するだけで実装することができる。

他の符号との関連

関連項目

参考文献

Related Articles

Wikiwand AI