24
講義「情報理論」 第14回 通信路符号化法 (3) 情報理工学部門 情報知識ネットワーク研究室 喜田拓也 2019/7/24 講義資料 演習第2回解答例 http://www-ikn.ist.hokudai.ac.jp/~kida/lecture/IT2019_EX2ans.pdf

講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

  • Upload
    others

  • View
    3

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

講義「情報理論」

第14回 通信路符号化法(3)

情報理工学部門 情報知識ネットワーク研究室喜田拓也

2019/7/24講義資料演習第2回解答例 http://www-ikn.ist.hokudai.ac.jp/~kida/lecture/IT2019_EX2ans.pdf

Page 2: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

一般のハミング符号(おさらい)

検査ビット長𝑚𝑚,符号長𝑛𝑛 = 2𝑚𝑚 − 1,情報ビット数𝑘𝑘 = 2𝑚𝑚 − 1 −𝑚𝑚検査行列の転置𝐇𝐇𝑇𝑇の作成:𝐇𝐇𝑇𝑇の上部𝑘𝑘行には,各行が異なる

ビットパターン𝑃𝑃𝑇𝑇を,下部𝑚𝑚行は𝑚𝑚 × 𝑚𝑚単位行列𝐸𝐸𝑚𝑚を配置する

生成行列を𝐆𝐆 = 𝐸𝐸𝑘𝑘 𝑃𝑃𝑇𝑇 とする

2

検査行列𝐇𝐇𝑇𝑇 =

1 0 11 1 11 1 00 1 11 0 00 1 00 0 1

生成行列 𝐆𝐆 =

1 0 0 0 1 0 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1

𝑃𝑃𝑇𝑇をコピー

この部分は固定的

𝑃𝑃𝑇𝑇

𝐸𝐸𝑚𝑚

𝐸𝐸𝑘𝑘

𝒙𝒙 = 𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑘𝑘

𝒚𝒚

𝒘𝒘 = 𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑘𝑘 , 𝑐𝑐1, 𝑐𝑐2, … , 𝑐𝑐𝑚𝑚 = 𝒙𝒙𝐆𝐆符号化

𝒘𝒘

𝒔𝒔 = 𝒚𝒚𝐇𝐇𝑻𝑻 を計算.もし𝒔𝒔 ≠ 𝟎𝟎かつ𝒔𝒔が𝐇𝐇𝑇𝑇の第𝑖𝑖行目と一致なら,𝑦𝑦𝑖𝑖 = 𝑦𝑦𝑖𝑖 + 1と訂正

復号

𝒚𝒚𝒚訂正済の系列 通信路

情報ビット

𝒙𝒙

Page 3: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

最小距離と誤り訂正検出能力(おさらい)

符号Cの最小ハミング距離(最小距離)𝑑𝑑minの定義:

𝑑𝑑min = min𝒖𝒖≠𝒗𝒗; 𝒖𝒖,𝒗𝒗∈C

{𝑑𝑑H 𝒖𝒖,𝒗𝒗 } .

線形符号の最小距離は,符号の最小ハミング重みに一致する.

𝑑𝑑min = min𝒖𝒖≠𝒗𝒗;𝒖𝒖,𝒗𝒗∈C

𝑑𝑑H 𝒖𝒖,𝒗𝒗 = min𝒖𝒖≠𝒗𝒗;𝒖𝒖,𝒗𝒗∈C

𝑤𝑤H(𝒖𝒖-𝒗𝒗) = min𝒘𝒘∈C

𝑤𝑤H(𝒘𝒘) .

ハミング符号の場合

最小距離𝑑𝑑min = 3,誤り訂正能力 𝑡𝑡0 = 1(7,4)ハミング符号の場合,最小距離 𝑑𝑑min=最小ハミング重み=3

(9,4)水平垂直パリティ検査符号の場合

最小距離𝑑𝑑min = 4 ,誤り訂正能力 𝑡𝑡0 = 1単一誤り訂正・2重誤り検出符号

3

𝒘𝒘1 𝒘𝒘23

𝒘𝒘1 𝒘𝒘24

定理8.5

Page 4: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

今日の内容

8.3 巡回符号

4

Page 5: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

2元系列の多項式表現

巡回符号では,系列長 𝑛𝑛の2元系列を,0,1の2値を係数とする

多項式に対応付け,そのような多項式の演算に基づいて符号化

や復号を行う

0,1を成分とする𝑛𝑛次元ベクトル𝒗𝒗 = (𝑣𝑣𝑛𝑛−1, 𝑣𝑣𝑛𝑛−2, ・・・, 𝑣𝑣1, 𝑣𝑣0)を𝐹𝐹 𝑥𝑥 = 𝑣𝑣𝑛𝑛−1𝑥𝑥𝑛𝑛−1 + 𝑣𝑣𝑛𝑛−2𝑥𝑥𝑛𝑛−2 + ⋯+ 𝑣𝑣1𝑥𝑥 + 𝑣𝑣0

で表す.これを2元系列の多項式表現という

符号長𝑛𝑛の符号は,𝑛𝑛 − 1次以下の多項式の集合として表せる

このとき,各符号語に対応する多項式を符号多項式と呼ぶ

5

例8.7) 𝒗𝒗 = (1,0,1,1,0)

𝐹𝐹 𝑥𝑥 = 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 変数 𝑥𝑥に大きな意味はない単に係数を区別するためのもの

1 ⋅ 𝑥𝑥4 + 0 ⋅ 𝑥𝑥3 + 1 ⋅ 𝑥𝑥2 + 1 ⋅ 𝑥𝑥 + 0

Try 問8.14

Page 6: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

2元系列の多項式表現の演算

二つの多項式の加算は,通常の多項式の計算と同様,対応する

次数どうしをそれぞれ加算すればよい.ただし,係数は mod 2 の

計算なので,係数どうしの排他的論理和演算となる

例) 𝑥𝑥4 + 𝑥𝑥2 + 1 + 𝑥𝑥4 + 𝑥𝑥3 + 𝑥𝑥 + 1 = 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥

mod 2の計算では,加算と減算は同じ意味を持つ

例) 𝑥𝑥3 − 𝑥𝑥2 + 1 = 𝑥𝑥3 + 𝑥𝑥2 + 1変数 𝑥𝑥 どうしの乗算は,次数は通常通りに加算される

例) 𝑥𝑥 ⋅ 𝑥𝑥 = 𝑥𝑥2, 𝑥𝑥 + 1 𝑥𝑥 + 1 = 𝑥𝑥2 + 1

多項式を 𝑥𝑥倍すると,係数は1ビット左にシフトする

例) 𝑥𝑥3 + 𝑥𝑥2 + 1 × 𝑥𝑥 = 𝑥𝑥4 + 𝑥𝑥3 + 𝑥𝑥

6Try 問8.15(0,1,1,0,1) (1,1,0,1,0)

(𝑥𝑥 + 𝑥𝑥 = 0に注意)

Page 7: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

巡回符号とは?

最大次数𝑚𝑚(𝑚𝑚 > 0)で定数項が 1 の任意の多項式𝐺𝐺(𝑥𝑥)を選ぶ.

𝐺𝐺 𝑥𝑥 = 𝑥𝑥𝑚𝑚 + 𝑔𝑔𝑚𝑚−1𝑥𝑥𝑚𝑚−1 + ⋯+ 𝑔𝑔1𝑥𝑥 + 1 .長さ 𝑛𝑛 (> 𝑚𝑚) のすべての2元系列に対応する 2𝑛𝑛 通りの多項式の

うち,𝐺𝐺(𝑥𝑥) で割り切れる多項式だけをすべて取り出し,それらを符

号語とした符号のことを巡回符号と呼ぶ.検査ビット長は𝑚𝑚, 情報

ビット長は𝑛𝑛 −𝑚𝑚となる.このとき𝐺𝐺(𝑥𝑥)を生成多項式とよぶ.

7

𝑔𝑔1,⋯ ,𝑔𝑔𝑚𝑚−1は0 か 1

定義8.14

巡回符号では,任意の符号語は𝑊𝑊 𝑥𝑥 = 𝑄𝑄 𝑥𝑥 𝐺𝐺 𝑥𝑥 という形の多

項式(符号多項式)に対応づけられる

巡回符号の特徴:• 線形符号である

• 符号長が長くても符号化・シンドローム計算の装置化が比較的容易

• 誤り検出能力に優れる.特にバースト誤りに対する理論的保証がある

𝑄𝑄(𝑥𝑥)は𝑛𝑛 −𝑚𝑚 − 1 次以下の任意の多項式

Page 8: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

𝐺𝐺 𝑥𝑥 の符号多項式の例 (例8.9)𝑛𝑛 = 7,𝑚𝑚 = 4 ,次の多項式

𝐺𝐺 𝑥𝑥 = 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1を生成多項式とする巡回符号の

符号語を求めてみよう.

このとき,𝐺𝐺 𝑥𝑥 により作られる

符号Cの符号多項式は,符号長

が 𝑛𝑛 = 7 なので,

𝑊𝑊 𝑥𝑥 = 𝑤𝑤6𝑥𝑥6 + ⋯+ 𝑤𝑤1𝑥𝑥 + 𝑤𝑤0と書ける.

このうち,𝐺𝐺 𝑥𝑥 で割り切れる多項

式は,𝑄𝑄 𝑥𝑥 から逆算すると,右の

表8.3のとおり.8

𝑄𝑄(𝑥𝑥) 𝑊𝑊 𝑥𝑥 = 𝑄𝑄(𝑥𝑥)𝐺𝐺(𝑥𝑥) 𝒘𝒘0 0 00000001 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 0010111

𝑥𝑥 𝑥𝑥5 + 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥 0101110

𝑥𝑥 + 1 𝑥𝑥5 + 𝑥𝑥4 + 𝑥𝑥3 + 1 0111001𝑥𝑥2 𝑥𝑥6 + 𝑥𝑥4 + 𝑥𝑥3 + 𝑥𝑥2 1011100𝑥𝑥2 + 1 𝑥𝑥6 + 𝑥𝑥3 + 𝑥𝑥 + 1 1001011𝑥𝑥2 + 𝑥𝑥 𝑥𝑥6 + 𝑥𝑥5 + 𝑥𝑥4 + 𝑥𝑥 1110010𝑥𝑥2 + 𝑥𝑥 + 1 𝑥𝑥6 + 𝑥𝑥5 + 𝑥𝑥2 + 1 1100101

表8.3. 𝐺𝐺 𝑥𝑥 = 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 の倍多項式と対応する符号語

0,1 を係数とする多項式の乗算(a) (b)

𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 10111×) 𝑥𝑥2 + 𝑥𝑥 + 1 ×) 111

𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 10111𝑥𝑥5 + 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥 10111

𝑥𝑥6 + 𝑥𝑥4 + 𝑥𝑥3 + 𝑥𝑥2 10111𝑥𝑥6 + 𝑥𝑥5 + 𝑥𝑥2 + 1 1100101

足す項が偶数個だと消える

項は7つ.最大次数は6

Page 9: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

巡回符号は線形符号

[証明]任意の二つの符号多項式𝑊𝑊1 𝑥𝑥 と𝑊𝑊2 𝑥𝑥 の和を考える.

いま,𝑊𝑊1 𝑥𝑥 = 𝑄𝑄1 𝑥𝑥 𝐺𝐺 𝑥𝑥 ,

𝑊𝑊2 𝑥𝑥 = 𝑄𝑄2 𝑥𝑥 𝐺𝐺 𝑥𝑥とおくと,

𝑊𝑊1 𝑥𝑥 + 𝑊𝑊2 𝑥𝑥 = 𝑄𝑄1 𝑥𝑥 + 𝑄𝑄2 𝑥𝑥 𝐺𝐺(𝑥𝑥)となるので,これは𝐺𝐺 𝑥𝑥 の倍多項式である.

よって,𝑊𝑊1 𝑥𝑥 + 𝑊𝑊2 𝑥𝑥 も符号多項式となるので,対応する系列も符号語となる.すなわち,任意のふたつの符号語の和が符号語となるので,巡回符号は線形符号である.【証明終】

9

線形符号の必要十分条件

𝐺𝐺 𝑥𝑥 で割れるってこと

Page 10: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

巡回符合の符号化方法

𝑛𝑛 −𝑚𝑚個の情報ビット列𝒗𝒗 = (𝑣𝑣𝑛𝑛−𝑚𝑚−1,⋯ , 𝑣𝑣0)を長さ𝑛𝑛の符号語に符号化する.まず,情報ビットを係数とする多項式

𝑉𝑉 𝑥𝑥 = 𝑣𝑣𝑛𝑛−𝑚𝑚−1𝑥𝑥𝑛𝑛−𝑚𝑚−1 + ⋯+ 𝑣𝑣1𝑥𝑥1 + 𝑣𝑣0に 𝑥𝑥𝑚𝑚 を掛け,生成多項式𝐺𝐺 𝑥𝑥 で割る.

𝐺𝐺 𝑥𝑥 の次数は𝑚𝑚なので,剰余多項式を

𝐶𝐶 𝑥𝑥 = 𝑐𝑐𝑚𝑚−1𝑥𝑥𝑚𝑚−1 + ⋯+ 𝑐𝑐1𝑥𝑥 + 𝑐𝑐0とおき,また,𝑄𝑄 𝑥𝑥 を商多項式とすると,

𝑉𝑉 𝑥𝑥 𝑥𝑥𝑚𝑚 = 𝑄𝑄 𝑥𝑥 𝐺𝐺 𝑥𝑥 + 𝐶𝐶 𝑥𝑥 . ・・・(1)ここで,

𝑊𝑊 𝑥𝑥 = 𝑉𝑉 𝑥𝑥 𝑥𝑥𝑚𝑚 + 𝐶𝐶(𝑥𝑥)とおくと,式(1)から𝑊𝑊 𝑥𝑥 = 𝑄𝑄 𝑥𝑥 𝐺𝐺 𝑥𝑥 となる.よって,𝑊𝑊 𝑥𝑥 は符号C の符号多項式となる.𝑊𝑊 𝑥𝑥 をベクトルの形で表すと,𝒘𝒘 = (𝑣𝑣𝑛𝑛−𝑚𝑚−1,⋯ , 𝑣𝑣1, 𝑣𝑣0, 𝑐𝑐𝑚𝑚−1,⋯ , 𝑐𝑐1, 𝑐𝑐0).

10

𝑛𝑛 − 1次

× 𝑥𝑥𝑚𝑚

𝐺𝐺(𝑥𝑥) で割り剰余 𝐶𝐶 𝑥𝑥 を求める

𝑉𝑉 𝑥𝑥 𝑥𝑥𝑚𝑚

𝑉𝑉(𝑥𝑥) : 情報ビット(𝑣𝑣𝑛𝑛−𝑚𝑚−1,⋯ , 𝑣𝑣0)

符号語𝑊𝑊 𝑥𝑥= 𝑉𝑉 𝑥𝑥 𝑥𝑥𝑚𝑚 + 𝐶𝐶(𝑥𝑥)

𝑉𝑉 𝑥𝑥 𝑥𝑥𝑚𝑚

𝐶𝐶 𝑥𝑥 : 検査ビット(𝑐𝑐𝑚𝑚−1,⋯ , 𝑐𝑐1, 𝑐𝑐0)

𝑚𝑚− 1次

Page 11: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

巡回符号の符号化の例(例題8.2)生成多項式が𝐺𝐺 𝑥𝑥 = 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1,符号長𝑛𝑛 = 7の巡回符号

において,情報ビット 1,1,0 を符号化せよ.

生成多項式は 4次なので,検査ビット数は 4.情報ビットを係数とする多項式は 𝑉𝑉 𝑥𝑥 = 𝑥𝑥2 + 𝑥𝑥で,これに 𝑥𝑥4 を掛けると,𝑉𝑉 𝑥𝑥 𝑥𝑥4 = 𝑥𝑥6 + 𝑥𝑥5 となる.

これを𝐺𝐺 𝑥𝑥 で割ると剰余は𝐶𝐶 𝑥𝑥 = 𝑥𝑥2 + 1 となる.

よって,符号多項式は𝑊𝑊 𝑥𝑥 = 𝑉𝑉 𝑥𝑥 𝑥𝑥4 + 𝐶𝐶 𝑥𝑥 = 𝑥𝑥6 + 𝑥𝑥5 +𝑥𝑥2 + 1 となり,符号語は (1,1,0,0,1,0,1) となる.

11

(a) (b)𝑥𝑥2 + 𝑥𝑥 + 1 111

𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 ) 𝑥𝑥6 + 𝑥𝑥5 10111 ) 1100000𝑥𝑥6 + 𝑥𝑥4 + 𝑥𝑥3 + 𝑥𝑥2 10111

𝑥𝑥5 + 𝑥𝑥4 + 𝑥𝑥3 + 𝑥𝑥2 11110𝑥𝑥5 + 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥 10111

𝑥𝑥4 + 𝑥𝑥 10010𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 10111

𝑥𝑥2 + 1 101

表.0,1を係数とする多項式の割り算

Try 練習問題8.2

Page 12: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

ちょっと休憩

12

Page 13: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

なぜ「巡回」符号と呼ばれるのか?

本来の巡回符号は,多項式 𝑥𝑥𝑛𝑛 − 1 が 𝐺𝐺 𝑥𝑥 で割り切れなければ

ならない.これが成立しないものを擬巡回符号と呼ぶ

𝐺𝐺(𝑥𝑥)で生成される符号は,この条件が成立していなくてもほとんど

同様に扱えるため,擬巡回符号も含めて単に巡回符号と呼ぶ13

定理8.7ある生成多項式𝐺𝐺(𝑥𝑥)から構成した符号長𝑛𝑛の巡回符号において,

多項式𝑥𝑥𝑛𝑛 − 1が𝐺𝐺(𝑥𝑥)で割り切れるとする.このとき,この巡回符号

の任意の符号語

𝒘𝒘 = (𝑤𝑤𝑛𝑛−1,𝑤𝑤𝑛𝑛−2,⋯ ,𝑤𝑤1,𝑤𝑤0)を左に1ビット巡回させた系列

𝒘𝒘′ = (𝑤𝑤𝑛𝑛−2,𝑤𝑤𝑛𝑛−3 ⋯ ,𝑤𝑤0,𝑤𝑤𝑛𝑛−1)もまた,この符号の符号語に含まれている. 【証明は教科書参照】

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

𝒘𝒘′ = (𝑤𝑤𝑛𝑛−2,𝑤𝑤𝑛𝑛−3,⋯ ,𝑤𝑤1,𝑤𝑤0,𝑤𝑤𝑛𝑛−1)

Page 14: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

巡回符号の誤り検出・訂正能力

右の表8.3に示した巡回符号

の例では,全ゼロ以外のすべ

ての符号語のハミング重みが

4 であることから,この符号の

最小距離は 4 であることが分

かる

よって,この巡回符号は単一

誤り訂正と2重誤り検出可能

訂正を行わない場合には,

3重誤り検出可能

では,一般の巡回符号はどの

ような誤り検出・訂正能力を

もっているのだろうか?14

𝑄𝑄(𝑥𝑥) 𝑊𝑊 𝑥𝑥 = 𝑄𝑄(𝑥𝑥)𝐺𝐺(𝑥𝑥) 𝒘𝒘0 0 00000001 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 0010111

𝑥𝑥 𝑥𝑥5 + 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥 0101110𝑥𝑥 + 1 𝑥𝑥5 + 𝑥𝑥4 + 𝑥𝑥3 + 1 0111001

𝑥𝑥2 𝑥𝑥6 + 𝑥𝑥4 + 𝑥𝑥3 + 𝑥𝑥2 1011100𝑥𝑥2 + 1 𝑥𝑥6 + 𝑥𝑥3 + 𝑥𝑥 + 1 1001011𝑥𝑥2 + 𝑥𝑥 𝑥𝑥6 + 𝑥𝑥5 + 𝑥𝑥4 + 𝑥𝑥 1110010𝑥𝑥2 + 𝑥𝑥 + 1 𝑥𝑥6 + 𝑥𝑥5 + 𝑥𝑥2 + 1 1100101

表8.3. 𝐺𝐺 𝑥𝑥 = 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 の倍多項式と対応する符号語

最小ハミング重み = 4 ⇔ 符号の最小距離 = 4

𝒘𝒘1 𝒘𝒘24

Page 15: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

生成多項式𝐺𝐺 𝑥𝑥 の周期について

【例8.10】生成多項式 𝐺𝐺 𝑥𝑥 = 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 の周期を調べる.

𝐺𝐺 𝑥𝑥 は4次式なので,𝑛𝑛 = 4 以下では明らかに割り切れない.𝑛𝑛 =5, 6 のときを計算すると,

𝑥𝑥5 + 1 = 𝑥𝑥 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 + 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥 + 1𝑥𝑥6 + 1 = 𝑥𝑥2 + 1 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 + (𝑥𝑥3 + 𝑥𝑥)

となり,やはり割り切れない.しかし,𝑛𝑛 = 7 のときに初めて

𝑥𝑥7 + 1 = (𝑥𝑥3 + 𝑥𝑥 + 1)(𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1)となって割り切れる.よって,この多項式𝐺𝐺(𝑥𝑥)の周期は 7 である.

15Try 問8.17

ある生成多項式𝐺𝐺(𝑥𝑥)が与えられたときに,𝑥𝑥𝑛𝑛 − 1 𝑛𝑛 = 1, 2, 3, …という形の多項式が 𝐺𝐺 𝑥𝑥 で割り切れるかどうかを調べ,これが割り切れるような最小の 𝑛𝑛を,多項式 𝐺𝐺(𝑥𝑥) の周期と呼ぶ.

定義8.15

Page 16: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

𝐺𝐺 𝑥𝑥 の周期と符号の最小距離の関係

生成多項式 𝐺𝐺 𝑥𝑥 = 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 の周期は 7.したがって,

符号語長 𝑛𝑛を 8 以上にすると,最小距離が 2 となり誤り訂正がで

きない.【例8.10】の例では,符号語長を 7 としており,実際,最小

距離は 4 である.

16

定理8.8符号長 𝑛𝑛 の巡回符号において,𝑛𝑛 より短い周期の生成多項式

𝐺𝐺(𝑥𝑥) を用いると,符号の最小距離が 2 になってしまう.𝐺𝐺 𝑥𝑥 の

周期が 𝑛𝑛以上であれば,最小距離は 3 より小さくならない.

周期𝑝𝑝の生成多項式を選べば,符号長𝑝𝑝までの良い符号が作れる

【証明は教科書参照】

Page 17: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

𝐺𝐺 𝑥𝑥 の項数と符号の最小距離の関係

巡回符号では 𝐺𝐺 𝑥𝑥 自体が符号語に含まれることと,𝐺𝐺 1 = 0ならば𝑊𝑊 1 = 𝑄𝑄 1 𝐺𝐺 1 = 0 であることから証明できる.

【例8.11】 先の例では,生成多項式 𝐺𝐺 𝑥𝑥 = 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 の

周期は 7 で符号長と同じである.よって,(定理8.7より)符号の

最小距離は 3 以上である.𝐺𝐺 𝑥𝑥 の項数は偶数なので,符号語

のハミング重みは必ず偶数であり,最小距離は 4 以下となる.

しかも 𝐺𝐺 𝑥𝑥 の項数がちょうど 4 であるため,符号の最小距離も

ちょうど 4 となる.17

定理8.9巡回符号において,生成多項式𝐺𝐺 𝑥𝑥 の項数を𝑑𝑑とすると,符号

の最小距離を 𝑑𝑑 より大きくはできない.さらに 𝑑𝑑 が偶数ならば,

すべての符号語のハミング重みは必ず偶数となる.

【証明は教科書参照】

Page 18: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

バースト誤りの検出と訂正

ある長さまでのバースト誤りを,すべて訂正(あるいは検出)するよう

な符号をバースト誤り訂正(検出)符号という

ある符号 C が訂正(検出)できる最大のバースト長を,符号 C の

バースト誤り訂正(検出)能力とよぶ

バースト誤り検出能力が 𝑙𝑙0 ⇔任意の符号語𝑤𝑤1に長さ 𝑙𝑙0以下の任意のバースト

誤りパターン𝑒𝑒を加えた𝑤𝑤1 + 𝑒𝑒が,別の符号語𝑤𝑤2にならない

バースト誤り訂正能力が 𝑙𝑙0 ⇔任意の符号語𝑤𝑤1に長さ 𝑙𝑙0以下の任意のバースト

誤りパターン𝑒𝑒1を加えた𝑤𝑤1 + 𝑒𝑒1が,別の符号語𝑤𝑤2に任意の

バースト誤りパターン𝑒𝑒2を加えた𝑤𝑤2 + 𝑒𝑒2と一致しない18

00・・・・・・001**・・・*100・・・・・・00𝑛𝑛

𝑙𝑙 ギルバートモデルやフリッチマンモデルも含む

長さ 𝑛𝑛のブロック内に1回のバースト誤りがある場合を考える

*は0,1任意であることを示す

Page 19: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

バースト誤りに対する理論的保証

19

定理8.10巡回符号において,生成多項式𝐺𝐺 𝑥𝑥 の次数を𝑚𝑚とする

と,長さ𝑚𝑚の区間内で発生する多重誤りはすべて検出

可能である.

連続して発生する誤りなら,長さ𝑚𝑚までのどんな誤りでも

検出できる!

Page 20: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

定理8.10の証明

符号長を𝑛𝑛とする.長さ𝑚𝑚の多重誤りパターンを多項式で表現する

と,ある整数 𝑗𝑗 (0 ≤ 𝑗𝑗かつ 𝑗𝑗 + 𝑚𝑚 < 𝑛𝑛)に対して,

𝐸𝐸(𝑥𝑥) = 𝑥𝑥𝑗𝑗 𝑒𝑒𝑚𝑚−1𝑥𝑥𝑚𝑚−1 + 𝑒𝑒𝑚𝑚−2𝑥𝑥𝑚𝑚−2 + ⋯+ 𝑒𝑒1𝑥𝑥 + 𝑒𝑒0となる.𝑒𝑒𝑖𝑖 ∈ 0,1 は多重誤りパターンを表す係数である.符号語

𝑊𝑊(𝑥𝑥)に対する受信語𝑌𝑌 𝑥𝑥 = 𝑊𝑊 𝑥𝑥 + 𝐸𝐸 𝑥𝑥 が別の符号語になっ

ていなければ誤りを検出できる.すなわち,𝐸𝐸(𝑥𝑥)が𝐺𝐺(𝑥𝑥)で割り切れ

なければよい.𝐺𝐺(𝑥𝑥)は𝑥𝑥を因数として持たないので,𝐸𝐸(𝑥𝑥)が𝐺𝐺(𝑥𝑥)で割り切るのは,二つ目の項である

𝑒𝑒𝑚𝑚−1𝑥𝑥𝑚𝑚−1 + 𝑒𝑒𝑚𝑚−2𝑥𝑥𝑚𝑚−2 + ⋯+ 𝑒𝑒1𝑥𝑥 + 𝑒𝑒0が𝐺𝐺 𝑥𝑥 で割り切れるときのみである.いま,𝐺𝐺(𝑥𝑥)の次数が𝑚𝑚とする

と,この部分は最大次数が𝑚𝑚− 1であるため割り切れることはない.

したがって,𝑌𝑌(𝑥𝑥)は符号語とならないので必ず𝐸𝐸(𝑥𝑥)のような誤りは

検出できる.20

定数項が1だから!

Page 21: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

CRC方式

巡回符号による誤り検出方式は,CRC(cyclic redundancy check; 巡回冗長検査)方式と呼ばれ,広く実用に用いられている

CRC方式には,CCITT(国際電信電話諮問委員会)の勧告による

𝐺𝐺 𝑥𝑥 = 𝑥𝑥16 + 𝑥𝑥12 + 𝑥𝑥5 + 1という生成多項式がよく用いられる

この生成多項式の周期は 32767 なので,符号長 32767 以下の符

号の場合,定理8.8と定理8.9より最小距離は 4 となる.したがって,

3 個以下の任意の誤りを検出できる

さらに,定理8.10より,長さ 16 以下の任意のバースト誤りは検出可

能となる.長さ17以上のバースト誤りには検出不可能なものも混じ

るが,その大部分は検出可能であることがわかっている

21

Page 22: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

イーサネットの規格でのCRC方式

イーサネットの規格(IEEE802.3)でもCRCが使われている(CRC-32)

イーサネットでは約 500~12000 ビットで1つのパケットを構成し,パケットの末尾に

32 ビットの検査ビットが追加されている

生成多項式は次のとおり.

𝐺𝐺 𝑥𝑥 = 𝑥𝑥32 + 𝑥𝑥26 + 𝑥𝑥23 + 𝑥𝑥22 + 𝑥𝑥16 + 𝑥𝑥12 + 𝑥𝑥11 + 𝑥𝑥10

+𝑥𝑥8 + 𝑥𝑥7 + 𝑥𝑥5 + 𝑥𝑥4 + 𝑥𝑥2 + 𝑥𝑥 + 1 .パケット長の範囲内では符号の最小距離は 4.したがって,任意の3重誤りまでは

すべて検出可能

長さ 32 までの連続区間内で発生した多重誤りを全て検出可能

同じ符号化が,MPEG-2, zlib, PNG などでも利用されている

22

ヘッダー+データ 検査ビット

480〜12112 bit 32 bit

図8.8 イーサネットのパケット構成

Page 23: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

巡回ハミング符号

0,1 を係数とする𝑚𝑚次多項式の周期は,最大2𝑚𝑚 − 1であることが知

られている.この最大周期を持つ多項式を原始多項式といい,各次

数について原始多項式が存在することが証明されている.

𝑚𝑚次の原始多項式を生成多項式とする符号長𝑛𝑛 = 2𝑚𝑚 − 1の巡回

符号を考えよう!

23

次数 原始多項式 次数 原始多項式

1 𝑥𝑥+1 11 𝑥𝑥11+𝑥𝑥2+12 𝑥𝑥2+𝑥𝑥+1 12 𝑥𝑥12+𝑥𝑥6+𝑥𝑥4+𝑥𝑥+13 𝑥𝑥3+𝑥𝑥+1 13 𝑥𝑥13+𝑥𝑥4+𝑥𝑥3+𝑥𝑥+14 𝑥𝑥4+𝑥𝑥+1 14 𝑥𝑥14+𝑥𝑥10+𝑥𝑥6+𝑥𝑥+15 𝑥𝑥5+𝑥𝑥2+1 15 𝑥𝑥15+𝑥𝑥+16 𝑥𝑥6+𝑥𝑥+1 16 𝑥𝑥16+𝑥𝑥12+𝑥𝑥3+𝑥𝑥+17 𝑥𝑥7+𝑥𝑥+1 17 𝑥𝑥17+𝑥𝑥3+18 𝑥𝑥8+𝑥𝑥4+𝑥𝑥3+𝑥𝑥2+1 18 𝑥𝑥18+𝑥𝑥7+19 𝑥𝑥9+𝑥𝑥4+1 19 𝑥𝑥19+𝑥𝑥5+𝑥𝑥2+𝑥𝑥+1

10 𝑥𝑥10+𝑥𝑥3+1 20 𝑥𝑥20+𝑥𝑥3+1

表. 20次までの原始多項式の例符号長が周期と一致するので,この符号の最小距離は3以上.また,ちょうど3になることも簡単に確認できる.この巡回符号は,符号長𝑛𝑛 = 2𝑚𝑚 − 1,情報ビット数2𝑚𝑚 − 1 −𝑚𝑚,検査ビット数𝑚𝑚のハミング符号になることが知られている.このようなハミング符号を巡回ハミング符号と呼ぶ.

Page 24: 講義「情報理論」kida/lecture/IT_14.pdf𝑛𝑛(> 𝑚𝑚)のすべての2元系列に対応する2 𝑛𝑛 通りの多項式の うち,𝐺𝐺(𝑥𝑥)で割り切れる多項式だけをすべて取り出し,それらを符

今日のまとめ

8.2.6 バースト誤りの検出と訂正

8.3 巡回符号

8.3.1 2元系列の多項式表現

8.3.2 巡回符号の構成法

8.3.4 巡回符号による誤り検出・訂正能力𝐺𝐺 𝑥𝑥 の項数,周期,次数と符号の最小距離の関係

CRC方式

8.3.5 巡回ハミング符号

補足資料:

巡回符号の符号器のための回路構成 (8.3.3節の補足)

24