巡回符号のソースを表示
←
巡回符号
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
'''巡回符号'''(じゅんかいふごう、{{lang-en-short|Cyclic code}})は、[[符号理論]]における[[誤り訂正符号]]の一種である。 == 概要 == 巡回符号の定義は以下の通りである。 :n個のシンボルで構成されるある[[線形符号]]の[[符号語]]として (''c<sub>0</sub> , c<sub>1</sub> , ... , c<sub>n-2</sub> , c<sub>n-1</sub>'' ) があるとする。この符号語を[[巡回シフト]]させたもの(''c<sub>n-1</sub> , c<sub>0</sub> , c<sub>1</sub> , ... , c<sub>n-2</sub>'' ) が、やはりその線形符号の符号語である場合、その線形符号を巡回符号という。 巡回符号は一般に符号語を符号語多項式で表す。これは例えば上記の符号語を : <math>C(x)=c_{n-1} x^{n-1} +c_{n-2} x^{n-2} +\cdots +c_1 x+c_0</math> というように符号語を (n-1)次の[[多項式]]で表現する方法である。なおこの式は加算を[[排他的論理和]]で表す GF(2<sup>n-1</sup>)の拡張[[ガロア体]]上の多項式である事に注意する。特に a + b と a - b は基本的に同じ事を意味する。 巡回符号は以下のようにして作成される。まず n > m であり、 x<sup>n</sup> - 1 を割り切ることのできる m次の多項式 : <math>G(x)=x^m +g_{m-1} x^{m-1} +\cdots +g_1 x+g_0</math> を考える。このとき、(n-m-1) シンボルの情報を符号語多項式で表したものを I(x) と置いて G(x) と I(x) の積で表される n-1次の多項式 : <math>C(x)=I(x)\times G(x)</math> を符号語とする。この C(x)は必ず巡回符号の定義を満たすことが知られている。これは以下のように証明できる。 まず定義より x<sup>n</sup> - 1 は G(x)で割り切れるので : <math>x^n -1=G(x)\times P(x)</math> で表すことが出来る。今 C(x)の多項式を : <math>C(x)=c_{n-1} x^{n-1} +c_{n-2} x^{n-2} +\cdots +c_1 x+c_0</math> で表すとする。このときこの多項式を巡回シフトさせた多項式 C'(x) を考えると、 :<math>C'(x) = c_{n-2}x^{n-1} + c_{n-3}x^{n-2} + \cdots + c_1x^2 + c_0x + c_{n-1}</math> で表される。この式を C(x) との関係で表すと、 :<math>C'(x)=x\times C(x)+c_{n-1} -c_{n-1} x^n =x\times C(x)-c_{n-1} (x^n -1)</math> となる。 ここで C(x) = I(x) × G(x) である事と x<sup>n</sup> - 1 と G(x)との関係式より上記の式は :<math>C'(x)=x\times C(x)-c_{n-1} (x^n -1)=(x\cdot I(x)-c_{n-1} P(x))\times G(x)</math> となり、この式も最初に定義した C(x) と同様の式で表すことが出来る。すなわちこの符号化は巡回符号であることが分かる。このときこの G(x) は'''生成多項式'''と呼ばれる。巡回符号の定義から、もとの符号語多項式を n 回巡回シフトした場合、もとの符号語多項式に戻ることは自明である。このとき元に戻るまでに n-1 個の符号語が現れることになるが、この符号語が全て相違になるような符号を生成する生成多項式を特に'''原始多項式'''と呼ぶ。 このようにして、巡回符号は単純な多項式同士の積で表すことができるが、この場合 C(x)は必ずしも[[組織符号]](符号語の前半部分の係数が I(x) の係数と一致する符号)であるとは限らない。そこで一般には以下のような方法で符号化される。まず情報多項式 I(x) と x<sup>n-m</sup> との積を求める。この式を 生成多項式 G(x)で割った商を Q(x)、余りを R(x) と置けば、 : <math>I(x)\times x^{n-m} =Q(x)\times G(x)+R(x)</math> で表すことが出来る。よって : <math>C(x)=Q(x)\times G(x)=I(x)\times x^{n-m} +R(x)</math> とすることで、I(x) の組織符号となる巡回符号を定義することが出来る。 巡回符号の最大の利点は、単純な[[シフトレジスタ]]回路を用いて符号化が可能な事である。例えば[[ハミング符号]]では符号語は情報ベクトルと生成行列の積で表されるが、この場合は符号長が長くなるにつれ回路の規模が加速度的に大きくなる。それに対し、上記の組織符号を満たす巡回符号の場合はI(x) × x<sup>n-m</sup>(これは実際には I(x) をシフトするだけである)を G(x) で割った余りを求める[[除算回路]]を1つ用意し、その結果を I(x) の後ろに添付するだけで実装することができる。 == 他の符号との関連 == === 単一パリティビット === 各多項式の係数を 1 と 0 のみとし生成多項式を G(x) = x + 1 とする時、任意の n で : <math>x^n -1=x^n +1=(x+1)(x^{n-1} +x^{n-2} +\cdots +x+1)</math> となり巡回符号の条件を満たす。I(x) を G(x) で割った時、多項式の項の数が偶数なら余りは 0、奇数なら余りは 1 になる。よって上記の組織符号の公式で符号化すると、生成される符号は全て係数が1の項が偶数個になるので、これはevenの[[パリティビット]]を付加したコードであることを意味している。すなわちパリティビットは巡回符号のサブセットである。 === ハミング符号 === [[ハミング符号]]は必ずしも巡回符号ではないが、ある種のハミング符号は巡回符号の定義を満たすことが知られている。この符号のことを特に '''巡回ハミング符号''' と呼ぶ。巡回ハミング符号の生成行列を生成多項式で表した場合、 G(x) は m次の原始多項式であることが知られている。 === BCH 符号とリード・ソロモン符号 === [[BCH符号]]は m次の原始多項式を1つ選び、その根を αとし、α<sup>i</sup> を根とする多項式の内、最小の次数を持つものを M<sub>i</sub>(x) で表したとき、 t個の誤りを訂正する生成多項式を : <math>G(x)=LCM\left( M_{l_0} (x),M_{l_0 +1} (x),\dots ,M_{l_0 +2t-2} (x)\right)</math> で表す巡回符号である。ここで LCMは 最小公倍多項式を意味する。すなわち G(x) は ''M<sub>l<sub>0</sub></sub>(x)'' 〜 ''M<sub>l<sub>0</sub> + 2t - 2</sub>(x)'' で割り切れる最小の次数をもつ多項式である。 リード・ソロモン符号は生成多項式だけでなく多項式の[[係数]]にも拡張ガロア体を用いた特殊な BCH符号であるため、やはり巡回符号の一種である。同様にαを用いて tシンボルの誤りを訂正する生成多項式は以下のようになる。 : <math>G(x)=\prod_{i=b}^{2t-1+b} (x-\alpha^i )</math> == 関連項目 == * [[符号理論]] * [[ハミング符号]] * [[BCH符号]] * [[リード・ソロモン符号]] == 参考文献 == * 江藤良純、金子敏信、『誤り訂正符号とその応用』、[[オーム社]]、1996年、ISBN 4-274-03486-0 * J.ユステセン、T.ホーホルト、『誤り訂正符号入門』、阪田省二郎、栗原正純、松井 一、藤沢 匡哉 訳、森北出版、2005年、ISBN 4-627-81711-8 * 笠原正雄、佐竹賢治、『誤り訂正符号と暗号の基礎数理』、コロナ社、2004年、ISBN 4-339-01054-5 {{Computer-stub}} {{DEFAULTSORT:しゆんかいふこう}} [[Category:誤り検出訂正]] [[Category:数学に関する記事]] [[Category:符号理論]] [[Category:有限体]]
このページで使用されているテンプレート:
テンプレート:Computer-stub
(
ソースを閲覧
)
テンプレート:Lang-en-short
(
ソースを閲覧
)
巡回符号
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報