13
情報符号理論 2016 11. 通信路符号化法 巡回符号 西田豊明 1 / 13 11. 通信路符号化法 巡回符号 巡回符号は,ブール多項式の演算を使って体系的に構成された誤り訂正符号である. 11.1 符号の多項式表現 情報ビットや符号語を表す,長さの符号アルファベットのベクトル = ( −1 ,⋯, 1 , 0 ) ∈ {0,1} に対応する次のGF(2)上の多項式: () = −1 −1 +⋯+ 1 1 + 0 0 多項式表現と呼ぶ 1 が想定している符号の符号語であるときは()符号多項式呼ばれる. GF(2)の多項式は,係数がGF(2)の要素であることを除けば,実数を係数とする多 項式と同様に加減乗除が定義される.例えば () = 4 + 2 + + 1, () = 2 +1 とすると, () + () = () − () = 4 + () ∙ () = 6 + 4 + 3 + 2 + 4 + 2 ++1= 6 + 3 ++1 () = 2 () + + 1 () = + 1 mod () ここで最後の除算は図 1 のような組み立て算で求めることができる.あるいは計算に本質 的な係数の部分だけ取り出して,図 2 のようにしてもよい. ()()を割り切るとき, () | () と表記する. () | ( − 1) となる 最小の正整数()周期と呼ぶ.例えば,図 3 の計算から, ( 4 + 2 + + 1) | ( 7 − 1) であり,7 より小さいに対して,( 4 + 2 + + 1) | ( − 1)とはなならないので, 4 + 2 ++1の周期が 7 であることがわかる. 1 = ( −1 ,⋯, 1 , 0 )という表記は,通常の表記の逆順であるが,符号多項式との対応関 係が直感的にわかりやすいので,巡回符号,BCH 符号の議論ではこの表記を用いることに する. 1.組み立て算による除算の実行 2.図 1 の組み立て算で係数だけを表示したもの

情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

1 / 13

11. 通信路符号化法 ― 巡回符号

巡回符号は,ブール多項式の演算を使って体系的に構成された誤り訂正符号である.

11.1 符号の多項式表現

情報ビットや符号語を表す,長さ𝑛の符号アルファベットのベクトル

𝑣 = (𝑣𝑛−1,⋯ , 𝑣1, 𝑣0) 𝑣𝑖 ∈ {0,1}

に対応する次のGF(2)上の多項式:

𝑉(𝑥) = 𝑣𝑛−1𝑥𝑛−1 + ⋯+ 𝑣1𝑥

1 + 𝑣0𝑥0

を𝑣の多項式表現と呼ぶ1.𝑣が想定している符号の符号語であるときは𝑉(𝑥)は符号多項式と

呼ばれる.GF(2)の多項式は,係数がGF(2)の要素であることを除けば,実数を係数とする多

項式と同様に加減乗除が定義される.例えば

𝐺(𝑥) = 𝑥4 + 𝑥2 + 𝑥 + 1,𝐻(𝑥) = 𝑥2 + 1

とすると,

𝐺(𝑥) + 𝐻(𝑥) = 𝐺(𝑥) − 𝐻(𝑥) = 𝑥4 + 𝑥

𝐺(𝑥) ∙ 𝐻(𝑥) = 𝑥6 + 𝑥4 + 𝑥3 + 𝑥2 + 𝑥4 + 𝑥2 + 𝑥 + 1 = 𝑥6 + 𝑥3 + 𝑥 + 1

𝐺(𝑥) = 𝑥2𝐻(𝑥) + 𝑥 + 1

𝐺(𝑥) = 𝑥 + 1 mod 𝐻(𝑥)

ここで最後の除算は図 1 のような組み立て算で求めることができる.あるいは計算に本質

的な係数の部分だけ取り出して,図 2のようにしてもよい.

𝐺(𝑥)が𝐻(𝑥)を割り切るとき,

𝐺(𝑥) | 𝐻(𝑥)

と表記する.

𝐺(𝑥) | (𝑥𝑛 − 1)

となる 最小の正整数𝑛を𝐺(𝑥)の周期と呼ぶ.例えば,図 3の計算から,

(𝑥4 + 𝑥2 + 𝑥 + 1) | (𝑥7 − 1)

であり,7 より小さい𝑚に対して,(𝑥4 + 𝑥2 + 𝑥 + 1) | (𝑥𝑚 − 1)とはなならないので,𝑥4 +

𝑥2 + 𝑥 + 1の周期が 7であることがわかる.

1 𝑣 = (𝑣𝑛−1,⋯ , 𝑣1, 𝑣0)という表記は,通常の表記の逆順であるが,符号多項式との対応関

係が直感的にわかりやすいので,巡回符号,BCH符号の議論ではこの表記を用いることに

する.

図 1.組み立て算による除算の実行 図 2.図 1の組み立て算で係数だけを表示したもの

Page 2: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

2 / 13

0, 1を係数とする𝑚次の多項式の周期は高々2𝑚 − 1である.なぜならば,𝑥𝑛 − 1という多項式

を𝑚次多項式𝑎𝑚𝑥𝑚 + ⋯+ 𝑎1𝑥 + 𝑎0で割り算をする状況を考えると,出現する剰余は,

𝑏𝑚−1𝑥𝑚−1 + ⋯+ 𝑏1𝑥 + 𝑏0でという形をしている.これらは高々2𝑚 − 1通りの異りしか持たない.

例えば,𝑚 = 4に対して,周期が最大になる場合を図 4 に示す.はじめのところで,

0001 0010 0100 1000と,4回数えられていることに注意すれば,赤で囲まれたところに24 = 16通

りのパターンが出尽くしている.周期が2𝑚 − 1となる𝑚次多項式を原始多項式と呼ぶ.GF(2)の上

の原始多項式を求めてみよう.

𝑚 = 1のときは,𝑥 + 1である.

𝑚 = 2のときは,2𝑚 − 1 = 3であるので,周期3の2次多項式を探すことになる. 𝑥2 + 1の周期

は2であるが,(𝑥 + 1)(𝑥2 + 𝑥 + 1) = 𝑥3 + 1であるので,𝑥2 + 𝑥 + 1の周期が3であり,原始多

項式であることがわかる.

𝑚 = 3のときは, (𝑥3 + 𝑥 + 1)(𝑥4 + 𝑥2 + 𝑥 + 1) = 𝑥7 + 1,また,𝑛 < 7なる整数𝑛に対し

て,𝑥3 + 𝑥 + 1が𝑥𝑛 + 1を割り切ることがない(図 5).

𝑚 = 4のときは,(𝑥4 + 𝑥 + 1)(𝑥11 + 𝑥8 + 𝑥7 + 𝑥5 + 𝑥3 + 𝑥2 + 𝑥 + 1) = 𝑥15 + 1,また,𝑛 <

15なる整数𝑛に対して,𝑥4 + 𝑥 + 1が𝑥𝑛 + 1を割り切ることはない(図 6).

𝑚次の原始多項式の例を表 1に示す.

GF(2)上の多項式𝐺(𝑥)の周期が𝑝であれば,𝐺(𝑥) | (𝑥𝑛 − 1)であるための必要十分条件は,

𝑝 | 𝑛となることである.なぜならば,𝑝 | 𝑛でないとすると,𝑛 = 𝑎𝑝 + 𝑏, 0 < 𝑏 < 𝑝と書け

るはずである.一方,𝐺(𝑥) | (𝑥𝑛 − 1)かつ𝐺(𝑥) | (𝑥𝑝 − 1)であるので,

𝑥𝑛 − 1 = 𝐺(𝑥)𝐴(𝑥)

𝑥𝑝 − 1 = 𝐺(𝑥)𝐵(𝑥)

と書ける.また,(𝑥𝑝 − 1) | (𝑥𝑎𝑝 − 1)であるので,𝑥𝑎𝑝 − 1 = (𝑥𝑝 − 1)𝐶(𝑥)と書ける.

𝑥𝑛 − 1 = 𝑥𝑎𝑝+𝑏 − 1

= 𝑥𝑏𝑥𝑎𝑝 − 1

= 𝑥𝑏((𝑥𝑝 − 1)𝐶(𝑥) + 1) − 1

= 𝑥𝑏𝐺(𝑥)𝐵(𝑥)𝐶(𝑥) + 𝑥𝑏 − 1

従って,𝐺(𝑥) | (𝑥𝑏 − 1)でなければならないが,これは𝐺(𝑥)の周期が𝑝であるという仮定に

矛盾する.従って,𝑝 | 𝑛でなければならない.

0

10111

10111

10111

01011

10111

1000000110111

1011

図 3.組み立て算による𝑥4 + 𝑥2 + 𝑥 + 1の周期の計算

Page 3: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

3 / 13

それ以上GF(2)上の非自明な多項式の積に分解できない多項式𝐹(𝑥)をGF(2)上の規約多項

式と呼ぶ.例えば,𝑥2 + 1は(𝑥 + 1)(𝑥 + 1)と分解できるので,規約多項式ではないが,𝑥2 +

𝑥 + 1は規約多項式である.

異なる規約多項式の積の周期𝑝はそれぞれの周期の最小公倍数である.

証明:𝐹1(𝑥) × ⋯× 𝐹𝑛(𝑥) | (𝑥𝑛 − 1)であり,かつ,𝐹𝑖(𝑥)が異なる規約多項式であれば,

𝐹𝑖(𝑥) | (𝑥𝑛 − 1)でなければならない.𝐹𝑖(𝑥)の周期を𝑝𝑖とすると𝑝𝑖 | 𝑛でなければならない

ので,𝑛は𝑝𝑖の最小公倍数となる.■

図 4.周期の計算:原始多項式𝑥4 + 𝑥 + 1の場合

Page 4: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

4 / 13

図 6. 𝑥4 + 𝑥 + 1は,𝑛 < 15なる整数𝑛に対して𝑥𝑛 + 1を割り切ることがないが,𝑥15 + 1

は割り切る.

0

1101

1101

1101

111

1101

0011

1101

10000011101

11101

図 5.𝑥3 + 𝑥 + 1の周期計算

Page 5: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

5 / 13

表 1.いろいろな次数の原始多項式の例

次数 𝑚次の原始多項式の例

1 𝑥 + 1

2 𝑥2 + 𝑥 + 1

3 𝑥3 + 𝑥 + 1

4 𝑥4 + 𝑥 + 1

5 𝑥5 + 𝑥2 + 1

6 𝑥6 + 𝑥 + 1

7 𝑥7 + 𝑥 + 1

8 𝑥8 + 𝑥4 + 𝑥3 + 𝑥2 + 1

9 𝑥9 + 𝑥4 + 1

10 𝑥10 + 𝑥3 + 1

11 𝑥11 + 𝑥2 + 1

12 𝑥12 + 𝑥6 + 𝑥4 + 𝑥 + 1

13 𝑥13 + 𝑥4 + 𝑥3 + 𝑥 + 1

14 𝑥14 + 𝑥10 + 𝑥6 + 𝑥 + 1

15 𝑥15 + 𝑥 + 1

16 𝑥16 + 𝑥12 + 𝑥3 + 𝑥 + 1

17 𝑥17 + 𝑥3 + 1

18 𝑥18 + 𝑥7 + 1

19 𝑥19 + 𝑥5 + 𝑥2 + 𝑥 + 1

20 𝑥20 + 𝑥3 + 1

Page 6: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

6 / 13

11.2 巡回符号

巡回符号は,𝐺(𝑥) | (𝑥𝑛 − 1)を満たす𝑚次の生成多項式𝐺(𝑥)を用いて構成される(𝑛, 𝑛 −

𝑚)符号である.

【符号化】

1. 与えられた𝑛 − 𝑚個の情報ビット𝑥0, 𝑥1,⋯ , 𝑥𝑛−𝑚−1に対応する多項式

𝑋(𝑥) = 𝑥𝑛−𝑚−1𝑥𝑛−𝑚−1 + ⋯+ 𝑥1𝑥 + 𝑥0

に𝑥𝑚を掛ける.

2. それを𝐺(𝑥) (𝑚次多項式)で割ったときの剰余多項式を

𝐶(𝑥) = 𝑐𝑚−1𝑥𝑚−1 + ⋯+ 𝑐1𝑥 + 𝑐0

とする.すなわち,𝐶(𝑥)は,

𝑋(𝑥)𝑥𝑚 = 𝐴(𝑥)𝐺(𝑥) + 𝐶(𝑥)

となる𝑚 − 1次多項式である.

3. 求める符号多項式は

𝑊(𝑥) = 𝑋(𝑥)𝑥𝑚 − 𝐶(𝑥) = 𝑋(𝑥)𝑥𝑚 + 𝐶(𝑥)

である.

例:(𝑥4 + 𝑥 + 1) | (𝑥15 − 1)であるので,𝑥4 + 𝑥 + 1を生成多項式とする(15,11)巡回符号を

構成する.与えられた11個の情報ビット

(𝑥10, 𝑥9, 𝑥8, 𝑥7, 𝑥6, 𝑥5, 𝑥4, 𝑥3, 𝑥2, 𝑥1, 𝑥0) = (1,0,1,1,0,1,0,0,0,1,1)

に対応する多項式は,𝑋(𝑥) = 𝑥10 + 𝑥8 + 𝑥7 + 𝑥5 + 𝑥 + 1である2.

𝑋(𝑥)𝑥𝑚 = 𝑥4(𝑥10 + 𝑥8 + 𝑥7 + 𝑥5 + 𝑥 + 1) = 𝐴(𝑥)𝐺(𝑥) + 𝐶(𝑥)

と置いて,𝐴(𝑥)と𝐶(𝑥)を求めると,図 7のようになることから,

𝐴(𝑥) = 𝑥10 + 𝑥8 + 𝑥6 + 𝑥4 + 𝑥3 + 𝑥2 + 1

𝐶(𝑥) = 𝑥2 + 𝑥 + 1

であり,求める符号多項式は

𝑊(𝑥) = 𝑥14 + 𝑥12 + 𝑥11 + 𝑥9 + 𝑥5 + 𝑥4 + 𝑥2 + 𝑥 + 1

符号語は

(𝑤14, 𝑤13, 𝑤12, 𝑤11, 𝑤10, 𝑤9, 𝑤8, 𝑤7, 𝑤6, 𝑤5, 𝑤4, 𝑤3, 𝑤2, 𝑤1, 𝑤0) = (1,0,1,1,0,1,0,0,0,1,1,0,1,1,1)

であることがわかる.このように,巡回符号では,チェックビット𝑤3, ⋯ ,𝑤0は,情報ビット

𝑤14,⋯ ,𝑤4の後ろにつながれることなる.

巡回符号の性質

このようにして構成される巡回符号の性質を調べてみよう.

(1) 生成多項式𝐺(𝑥)を用いて構成される巡回符号の符号語を𝑊(𝑥)とすると,𝐺(𝑥) | 𝑊(𝑥)で

2 情報ビットと情報多項式𝑋(𝑥)の対応付けについても,便宜上多項式の高次の桁の係数を

情報ビットの左に対応付けることにする.これは便宜的なものであり,ブール多項式の演

算を主体とする議論の本質にはかかわるものではない.

Page 7: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

7 / 13

ある.なぜならば,巡回符号の構成法により,ある多項式𝐺(𝑥),𝐶(𝑥)に対して,𝐴(𝑥)と𝑊(𝑥)

𝑋(𝑥)𝑥𝑚 = 𝐴(𝑥)𝐺(𝑥) + 𝐶(𝑥)

𝑊(𝑥) = 𝑋(𝑥)𝑥𝑚 + 𝐶(𝑥)

と表されるので,

𝑋(𝑥)𝑥𝑚 = 𝐴(𝑥)𝐺(𝑥) + 𝐶(𝑥)

𝑊(𝑥) = 𝑋(𝑥)𝑥𝑚 + 𝐶(𝑥) = 𝐴(𝑥)𝐺(𝑥) + 𝐶(𝑥) + 𝐶(𝑥) = 𝐴(𝑥)𝐺(𝑥)

が導ける.

逆に,𝐺(𝑥) | (𝑥𝑛 − 1)を満たす𝑚次の生成多項式𝐺(𝑥)を用いて構成される(𝑛, 𝑛 − 𝑚)巡回

符号が与えられたとき,𝐺(𝑥)𝑉(𝑥)を満たす𝑛 − 1次以下の任意の多項式

𝑣𝑛−1𝑥𝑛−1 + 𝑣𝑛−2𝑥

𝑛−2 + ⋯+ 𝑣𝑚𝑥𝑚 + 𝑣𝑚−1𝑥𝑚−1 + ⋯+ 𝑣1𝑥 + 𝑣0

が,情報ビット(𝑣𝑛−1, 𝑣𝑛−2,⋯ , 𝑣𝑚)に対する符号多項式

𝑣𝑛−1𝑥𝑛−1 + 𝑣𝑛−2𝑥

𝑛−2 + ⋯+ 𝑣𝑚𝑥𝑚

になっていることも容易にわかる.

図 7.𝑥4(𝑥10 + 𝑥8 + 𝑥7 + 𝑥5 + 𝑥 + 1) = 𝐴(𝑥)𝐺(𝑥) + 𝐶(𝑥) と置いて,𝐴(𝑥)と𝐶(𝑥)を求め

る.ただし,𝐺(𝑥) = 𝑥4 + 𝑥 + 1.

Page 8: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

8 / 13

(2) 線形符号

検査記号が情報記号の線形式

𝑐 = 𝑎1𝑥1 + ⋯+ 𝑎𝑘𝑥𝑘

で与えられる符号は線形符号と呼ばれる.

GF(2)の要素から構成される2元符号𝐶が線形符号であるための必要十分条件は, 𝐶の任意

の2つの符号語の和が𝐶の符号語になっていることである.

【問題】 このことを証明せよ.

任意の符号語を𝑊1(𝑥),𝑊2(𝑥)とすると,ある𝐴1(𝑥), 𝐴2(𝑥)に対して

𝑊1(𝑥) = 𝐴1(𝑥)𝐺(𝑥)

𝑊2(𝑥) = 𝐴2(𝑥)𝐺(𝑥)

となるので,

𝑊1(𝑥) + 𝑊2(𝑥) = (𝐴1(𝑥) + 𝐴2(𝑥)) ∙ 𝐺(𝑥)

すなわち,

𝐴1(𝑥) + 𝐴2(𝑥) | 𝑊1(𝑥) + 𝑊2(𝑥)

であるので,前項に述べたように,𝑊1(𝑥)と𝑊2(𝑥)の和もまた𝐶の符号語になっており,巡回

符号は線形符号であることがわかる.

線形符号において,(0,⋯ ,0)に一番近い符号𝑤と(0,⋯ ,0)との距離を𝑑とすれば,符号の最

小距離(すべての符号語の間の距離の最小値)は𝑑である.3 ≤ 𝑑であることが少なくとも1

誤り訂正可能であるための必要条件となる.

(3) 巡回性

𝐺(𝑥) | (𝑥𝑛 − 1)を満たす生成多項式𝐺(𝑥)を用いて構成される巡回符号において,

(𝑤𝑛−1, 𝑤𝑛−2,⋯ , 𝑤0)が符号語ならば,これを左に一桁巡回させた(𝑤𝑛−2, ⋯ ,𝑤0, 𝑤𝑛−1)も符号語

である.

なぜならば,(𝑤𝑛−1, 𝑤𝑛−2,⋯ ,𝑤0)が符号語であることは,

𝑊(𝑥) = 𝑤𝑛−1𝑥𝑛−1 + 𝑤𝑛−2𝑥

𝑛−2 + ⋯+ 𝑤0

が符号多項式であることを意味するが,そのとき,(𝑤𝑛−2,⋯ ,𝑤0, 𝑤𝑛−1)に対する多項式𝑊′(𝑥)

は,

𝑊′(𝑥) = 𝑤𝑛−2𝑥𝑛−1 + ⋯+ 𝑤0𝑥 + 𝑤𝑛−1

= 𝑥𝑊(𝑥) − 𝑤𝑛−1(𝑥𝑛 − 1)

となる.𝐺(𝑥) | 𝑊(𝑥)も𝐺(𝑥) | (𝑥𝑛 − 1)であるので,𝐺(𝑥) | 𝑊′(𝑥),つまり,𝑊′(𝑥)が符号

多項式であることが示される.

このように,𝑤 = (𝑤𝑛−1, 𝑤𝑛−2,⋯ ,𝑤0)が符号語であれば,それを巡回シフトした語

(𝑤𝑛−2,⋯ , 𝑤0, 𝑤𝑛−1),(𝑤𝑛−3,⋯ , 𝑤0, 𝑤𝑛−1, 𝑤𝑛−2),⋯,(𝑤0, 𝑤𝑛−1, 𝑤𝑛−2, 𝑤𝑛−3,⋯ , 𝑤1)

は,すべて符号語である.

例:𝑥4 + 𝑥 + 1 | 𝑥15 − 1を満たす𝑥4 + 𝑥 + 1を生成多項式とする(15,11)巡回符号について考

Page 9: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

9 / 13

えてみよう.情報ビット

(𝑥10, 𝑥9, 𝑥8, 𝑥7, 𝑥6, 𝑥5, 𝑥4, 𝑥3, 𝑥2, 𝑥1, 𝑥0) = (0,0,0,0,0,0,0,0,0,0,1)

に対応する多項式𝑋(𝑥)に対する符号多項式は𝑥4 + 𝑥 + 1であり,その符号ビットは,

(0,0,0,0,0,0,0,0,0,0,1,0,0,1,1)となる.これを順に10回まで左に巡回シフトして得られる全部

で10個の符号ビットに対応する多項式は𝑥𝑘(𝑥4 + 𝑥 + 1) (1 ≤ 𝑘 ≤ 10)という形をしており,

すべて符号多項式であることは明らかである.しかし,さらに4回シフトして順に得られる

(0,0,1,1,0,0,0,0,0,0,0,0,0,0,1) …多項式表現:𝑥12 + 𝑥11 + 1

(0,1,1,0,0,0,0,0,0,0,0,0,0,1,0) …多項式表現:𝑥13 + 𝑥12 + 𝑥

(1,1,0,0,0,0,0,0,0,0,0,0,1,0,0) …多項式表現:𝑥14 + 𝑥13 + 𝑥2

(1,0,0,0,0,0,0,0,0,0,0,1,0,0,1) …多項式表現:𝑥14 + 𝑥3 + 1

については,それらが符号語であることが次のようにして順次確かめられる.

𝑥14 + 𝑥11 + 𝑥10が符号多項式であることを利用すると,

𝑥12 + 𝑥11 + 1 = 𝑥(𝑥14 + 𝑥11 + 𝑥10) + (𝑥15 + 1)

= 𝑥 ∙ 𝑥10 ∙ (𝑥4 + 𝑥 + 1)

+(𝑥11 + 𝑥8 + 𝑥7 + 𝑥5 + 𝑥3 + 𝑥2 + 𝑥 + 1) ∙ (𝑥4 + 𝑥 + 1)

= (𝑥 ∙ 𝑥10 + 𝑥11 + 𝑥8 + 𝑥7 + 𝑥5 + 𝑥3 + 𝑥2 + 𝑥 + 1) ∙ (𝑥4 + 𝑥 + 1)

= (𝑥8 + 𝑥7 + 𝑥5 + 𝑥3 + 𝑥2 + 𝑥 + 1) ∙ (𝑥4 + 𝑥 + 1)

𝑥14 + 𝑥3 + 1 = 𝑥(𝑥14 + 𝑥11 + 𝑥2) + (𝑥15 + 1)

= 𝑥 ∙ 𝑥2 ∙ (𝑥12 + 𝑥11 + 1)

+(𝑥11 + 𝑥8 + 𝑥7 + 𝑥5 + 𝑥3 + 𝑥2 + 𝑥 + 1) ∙ (𝑥4 + 𝑥 + 1)

= 𝑥 ∙ 𝑥2 ∙ (𝑥8 + 𝑥7 + 𝑥5 + 𝑥3 + 𝑥2 + 𝑥 + 1) ∙ (𝑥4 + 𝑥 + 1)

+(𝑥11 + 𝑥8 + 𝑥7 + 𝑥5 + 𝑥3 + 𝑥2 + 𝑥 + 1) ∙ (𝑥4 + 𝑥 + 1)

= (𝑥 ∙ 𝑥2 ∙ (𝑥8 + 𝑥7 + 𝑥5 + 𝑥3 + 𝑥2 + 𝑥 + 1)

+(𝑥11 + 𝑥8 + 𝑥7 + 𝑥5 + 𝑥3 + 𝑥2 + 𝑥 + 1))

∙ (𝑥4 + 𝑥 + 1)

= (𝑥10 + 𝑥7 + 𝑥6 + 𝑥4 + 𝑥2 + 𝑥 + 1) ∙ (𝑥4 + 𝑥 + 1)

一方,情報ビット

(𝑥10, 𝑥9, 𝑥8, 𝑥7, 𝑥6, 𝑥5, 𝑥4, 𝑥3, 𝑥2, 𝑥1, 𝑥0) = (0,0,0,0,0,0,0,0,0,1,1)

の多項式表現𝑋(𝑥) = 𝑥 + 1に対する符号多項式は𝑥5 + 𝑥4 + 𝑥2 + 1であり,その符号ビットは,

(0,0,0,0,0,0,0,0,0,1,1,0,1,0,1)となる.これを順に左に巡回シフトして得られる符号ビットに

対応する符号多項式は,全部で15個あるが,それらはどれも𝑋(𝑥) = 1に対する符号多項式と

は異なる多項式になっている.

(4) 巡回符号の符号長の選び方

Page 10: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

10 / 13

𝐺(𝑥)で生成される巡回符号𝐶の符号長 nは,通常,𝐺(𝑥)の周期𝑝以下に選ばれる.

なぜならば,𝐺(𝑥) | (𝑥𝑝 + 1)であるので,𝑝 < 𝑛とすれば,𝑥𝑝 + 1は符号語多項式となり,

対応する(⋯ ,0,⋯ ,1,⋯ ,0,⋯ ,1)が𝐶の符号語となるが,この符号語の重みは2であるので,符

号語(0,⋯ ,0)との距離が2となり,1誤りの訂正ができなくなるからである.

(5) 生成多項式の周期を𝑝とするとき,𝑛 ≤ 𝑝なる𝑛を符号長とする巡回符号の最小距離を

𝑑minとすれば,𝑑min ≥ 3である.なぜならば,最小距離を2とすると,0 ≤ 𝑖 < 𝑗 < 𝑛なる𝑖, 𝑗に

対して,符号語𝑊1(𝑥),𝑊2(𝑥)があり,𝑊1(𝑥) − 𝑊2(𝑥) = 𝑥𝑖 + 𝑥𝑗となるが,巡回符号は線形符

号であるので,𝑊1(𝑥) − 𝑊2(𝑥) = 𝑥𝑖 + 𝑥𝑗も符号語である.従って,𝐺(𝑥) | (𝑥𝑖 + 𝑥𝑗)でありさ

らに,𝐺(𝑥) | (𝑥𝑗−𝑖 + 1)となるが,0 < 𝑗 − 𝑖 < 𝑛 ≤ 𝑝となり,𝐺(𝑥)の周期が𝑝であることに矛

盾する.

(6) 𝑚次の原始多項式を生成多項式とし,符号長𝑛が𝑛 ≤ 2𝑚 − 1を満足する巡回符号の最小

距離𝑑minはちょうど3である.

【証明】生成多項式が原始多項式であるので,𝑑min ≥ 3である.

𝑚 (𝑚 ≥ 3)次の原始多項式を生成多項式とする(2𝑚 − 1, 2𝑚 − 𝑚 − 1)巡回符号については,

• 符号語の個数は22𝑚−𝑚−1である.

• 各符号語の周りにハミング距離1の語は2𝑚 − 1個ある.

• 符号語とその周りのハミング距離1の語(これらは重なりがない)の総数を N とす

ると

𝑁 = 22𝑚−𝑚−1 ∙ (1 + 2𝑚 − 1) = 22𝑚−𝑚+𝑚−1 = 22𝑚−1

である.

• このように符号語とその周りのハミング距離1の語を全部集めると,ちょうど長さ

2𝑚 − 1の語によって表現可能な表現の数22𝑚−1になり,それ以外の語はないので,ど

の語もちょうど距離3だけ離れていることになる.

(7) 長さ𝑙のバースト誤りの多項式表現を

𝐵(𝑥) = 𝑥𝑙−1 + 𝑏𝑙−2𝑥𝑙−2 + ⋯+ 𝑏1𝑥 + 1

とし,多項式表現で𝑥𝑖~𝑥𝑖+𝑙−1のバースト誤り多項式表現を

𝐸(𝑥) = 𝑥𝑖𝐵(𝑥) = 𝑥𝑖+𝑙−1 + 𝑏𝑙−2𝑥𝑖+𝑙−2 + ⋯+ 𝑏1𝑥

𝑖+1 + 𝑥𝑖

とする.𝐺(𝑥)を生成多項式とする巡回符号において,𝐺(𝑥) | 𝐸(𝑥)でなければ,𝐸(𝑥)は符号

多項式ではないので,検出可能である.しかるに,符号多項式で使われる生成多項式𝐺(𝑥)は

𝑥0の係数が1であり,0 < 𝑗なる𝑗に対して𝑥𝑗を因数として持たないので,𝐺(𝑥) | 𝐸(𝑥)である

ことの必要十分条件は,𝐺(𝑥) | 𝐵(𝑥)であることである.従って,𝐺(𝑥)の次数を𝑚とすると

き,𝑙 ≤ 𝑚のときは𝐺(𝑥) | 𝐵(𝑥)にはなり得ない.以上から,𝑚次の生成多項式を使った巡回

符号では,長さ𝑚以下のバースト誤りを検出できる.

Page 11: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

11 / 13

【復号】

予め,0 ≤ 𝑖 ≤ 𝑛 − 1となるすべての𝑖に対する誤り位置判定表(図 8)を作成しておく.

受信語(𝑦0,⋯ , 𝑦𝑛−1)の多項式表現は𝑦𝑛−1𝑥𝑛−1 + ⋯+ 𝑦0を生成多項式で割ったときの剰余

𝑅(𝑥) = 𝑟𝑚−1𝑥𝑚−1 + ⋯+ 𝑟0を計算する.𝑅(𝑥) = 0ならば,誤りなしと判定する.𝑅(𝑥) ≠ 0の

場合は誤り位置判定表に従って該当する位置の情報ビットを訂正する.

【例】𝑥4 + 𝑥 + 1 | 𝑥15 − 1

𝑥4 + 𝑥 + 1 | 𝑥15 − 1を満たす𝑥4 + 𝑥 + 1を生成多項式とする(15,11)巡回符号に対する誤り

位置判定表は表 2のようになる.

伝送した符号に対応する符号多項式𝑊(𝑥) = 𝑤𝑛−1𝑥𝑛−1 + ⋯+ 𝑤0に対して,誤り

ix が加わる

と,受信語に対応する多項式表現は

𝑌(𝑥) = 𝑦𝑛−1𝑥𝑛−1 + ⋯+ 𝑦0 = 𝑤𝑛−1𝑥

𝑛−1 + ⋯+ (1 + 𝑤𝑖+1)𝑥𝑖 + ⋯+ 𝑤0

となるが,

𝑊(𝑥) = 𝐴(𝑥)𝐺(𝑥)

であるので,

𝑌(𝑥) = 𝑊(𝑥) + 𝑥𝑖 = 𝐴(𝑥)𝐺(𝑥) + 𝑥𝑖

となり,𝑌(𝑥)を𝐺(𝑥)で割ったときの剰余は𝑥𝑖を𝐺(𝑥)で割ったときの剰余に等しく,それが皆

違っていると,𝑖が特定できる.

以上に述べたことを生成行列と検査行列という形にまとめてみよう.

【生成行列と検査行列】

jx を𝐺(𝑥)で割ったときの剰余を𝑃𝑗(𝑥),𝑃𝑗(𝑥)における𝑥𝑖の係数を𝑝𝑖,𝑗とする.すなわち,

𝑃𝑗(𝑥) = 𝑝𝑚,𝑗𝑥𝑚 + ⋯+ 𝑝0,𝑗 = 𝑥𝑗 mod 𝐺(𝑥)

とする.検査行列は,

𝐻 = [

𝑝0,0 ⋯ 𝑝0,𝑛−1

⋮ ⋱ ⋮𝑝𝑚−1,0 ⋯ 𝑝𝑚−1,𝑛−1

] = [1

⋱1

𝑝0,𝑚 ⋯ 𝑝0,𝑛−1

⋮ ⋱ ⋮𝑝𝑚−1,𝑚 ⋯ 𝑝𝑚−1,𝑛−1

] = [𝐼𝑚 𝑃𝑐]

となる.ここで,

誤り位置 シンドローム

… …

𝑖 𝑥𝑖を𝐺(𝑥)で割ったときの剰余

… …

図 8.0 ≤ 𝑖 ≤ 𝑛 − 1となるすべての𝑖に対する誤り位置判定表の作成

Page 12: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

12 / 13

𝑃𝑐 = [

𝑝0,𝑚 ⋯ 𝑝0,𝑛−1

⋮ ⋱ ⋮𝑝𝑚−1,𝑚 ⋯ 𝑝𝑚−1,𝑛−1

]

である.

生成行列は,𝐺 = [𝑃𝑐T 𝐼𝑛−𝑚]に従って構成する.

𝐺 = [

𝑝0,𝑚 ⋯ 𝑝𝑚−1,𝑚

⋮ ⋱ ⋮𝑝0,𝑛−1 ⋯ 𝑝𝑚−1,𝑛−1

1⋱

1

]

【例】 𝑥4 + 𝑥 + 1 | 𝑥15 − 1を満たす𝑥4 + 𝑥 + 1を生成多項式とする(15,11)巡回符号に対す

る検査行列は次のようになる.

𝐻 = [

1 1 0 0 1 1 0 1 0 1 1 11 1 1 0 1 0 1 1 1 1 0 0

1 0 1 1 0 1 0 1 1 1 1 01 0 0 1 1 0 1 0 1 1 1 1

]

生成行列は,

表 2.𝑥4 + 𝑥 + 1 | 𝑥15 − 1を満たす𝑥4 + 𝑥 + 1を生成多項式とする(15,11)巡回符号に対

する誤り位置判定表

誤り位置 シンドローム

0 1

1 𝑥

2 𝑥2

3 𝑥3

4 𝑥 + 1

5 𝑥2 + 𝑥

6 𝑥3 + 𝑥2

7 𝑥3 + 𝑥 + 1

8 𝑥2 + 1

9 𝑥3 + 𝑥

10 𝑥2 + 𝑥 + 1

11 𝑥3 + 𝑥2 + 𝑥

12 𝑥3 + 𝑥2 + 𝑥 + 1

13 𝑥3 + 𝑥2 + 1

14 𝑥3 + 1

Page 13: 情報符号理論 2016 11. 巡回符号 西田豊明情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明 2 / 13 à0,1を係数とする 次の多項式の周期は高々2

情報符号理論 2016 11. 通信路符号化法 ― 巡回符号 西田豊明

13 / 13

𝐺 =

[ 1 1 0 0 10 1 1 0 10 0 1 1 11 1 0 1 11 0 1 0 10 1 0 1 11 1 1 0 10 1 1 1 11 1 1 1 11 0 1 1 10 0 0 1 1 ]

となる.

このように𝐺(𝑥)が原始多項式のときは,

符号長: 𝑛 = 2𝑚 − 1

情報ビット長: 𝑘 = 2𝑚 − 1 − 𝑚

検査ビット長: 𝑚

の単一誤り訂正符号となる.これを,巡回ハミング符号と呼ばれる.

【問題】

生成多項式

𝐺(𝑥) = 𝑥16 + 𝑥12 + 𝑥5 + 1 = (𝑥 + 1)(𝑥15 + 𝑥14 + 𝑥13 + 𝑥12 + 𝑥4 + 𝑥3 + 𝑥2 + 𝑥 + 1)

を用いて構成される巡回符号について次のことを示せ.

(1) この符号の重みは偶数である.

(2) この符号の最小距離𝑑minは𝑑min ≥ 4を満たすので,1誤り訂正可能,3誤り検出可能で

ある.

(3) この符号のバースト誤り検出能力は16である.