Professional Documents
Culture Documents
通信路符号化法 (1)
◼ 受信空間において,各符号語を中心として半径𝑡1 の球を作る.
𝛺2
𝛺1
𝑡1 𝑡2 + 1 𝑡1
𝑤1 𝑑min ≥ 2𝑡1 + 1 𝑤2
𝛺3
◼ これらの球を復号領域とすれば,この符号により, 𝑡1 個以下の誤りを訂正
でき, 𝑡1 + 𝑡2 個以下の誤りを検出できる.
通信路符号化の枠組み
誤り検出/訂正
シンドローム
𝑠
(𝑛, 𝑘)符号
シンドローム計算
𝑘個の情報ビット 𝑛 − 𝑘個の検査ビット
誤り訂正
受信語
通信路
𝑥 𝑐 𝑦
符号語𝑤 𝑛ビット
誤り
𝑒
単一パリティ検査
◼ 単一パリティ誤り検査符号:長さが𝑘 + 1で,1の個数が偶数であるような全て
の2元系列からなる符号長𝑛 = 𝑘 + 1, 符号語数 𝑀 = 2𝑘 の符号語の集まり.
𝑥3
001
011
101
010
000 𝑥2
100
110
𝑥1
を符号語として使用
単一パリティ検査
◼ 0,1からなる長さ𝑘の系列𝑥1 ⋯ 𝑥𝑘 を2元通信路を介して送る.
◼ 𝑥1 ⋯ 𝑥𝑘 に𝑐を追加した𝑤 = 𝑥1 ⋯ 𝑥𝑘 𝑐を通信路符号として伝送する.
𝑤 = (𝑥1 , ⋯ , 𝑥𝑘 , 𝑐)と表記することもある.
◼ 符号語を𝑤 = 𝑤1 ⋯ 𝑤𝑘 𝑐,
誤りパターンを𝑒 = 𝑒1 ⋯ 𝑒𝑘 𝑒𝑘+1 ,
受信語を𝑦 = 𝑦1 ⋯ 𝑦𝑘 𝑦𝑘+1 ,
シンドロームを𝑠 = 𝑦1 ⨁ ⋯ ⨁𝑦𝑘 ⨁𝑦𝑘+1
とすれば,
𝑦 = 𝑤⨁𝑒 = (𝑤1 ⨁𝑒1 , ⋯ , 𝑤𝑘 ⨁𝑒𝑘 , 𝑤𝑘+1 ⨁𝑒𝑘+1 )
𝑠 = 𝑤1 ⨁𝑒1 ⨁ ⋯ ⨁ 𝑤𝑘 ⨁𝑒𝑘 ⨁ 𝑤𝑘+1 ⨁𝑒𝑘+1
= 𝑤1 ⨁ ⋯ ⨁𝑤𝑘 ⨁𝑤𝑘+1 ⨁ 𝑒1 ⨁ ⋯ ⨁𝑒𝑘 ⨁𝑒𝑘+1
= 𝑒1 ⨁ ⋯ ⨁𝑒𝑘 ⨁𝑒𝑘+1
◼ 𝑠 = 0ならば誤りなし,𝑠 = 1ならば誤りありと,判定することにすれ
ば,奇数個の誤りが検出可能.
水平垂直パリティ検査符号
例: 3 × 4 = 12ビットの情報 (0,1,1,0,1,0,1,1,0,0,0,1)を送信する
【符号化】
情報ビット 検査ビット追加(パリティを用いる)
𝑥1 : 0 𝑥2 : 1 𝑥3 : 1 𝑥4 : 0 𝑤1 = 𝑥1 : 0 𝑤2 = 𝑥2 : 1 𝑤3 = 𝑥3 : 1 𝑤4 = 𝑥4 : 0 𝑤13 = 𝑐1 : 0
𝑥5 : 1 𝑥6 : 0 𝑥7 : 1 𝑥8 : 1 𝑤5 = 𝑥5 : 1 𝑤6 = 𝑥6 : 0 𝑤7 = 𝑥7 : 1 𝑤8 = 𝑥8 : 1 𝑤14 = 𝑐2 : 1
𝑥9 : 0 𝑥10 : 0 𝑥11 : 0 𝑥12 : 1 𝑤9 = 𝑥9 : 0 𝑤10 = 𝑥10 : 0 𝑤11 = 𝑥11 : 0 𝑤12 = 𝑥12 : 1 𝑤15 = 𝑐3 : 1
𝑤16 = 𝑐4 : 1 𝑤17 = 𝑐5 : 1 𝑤18 = 𝑐6 : 0 𝑤19 = 𝑐7 : 0 𝑤20 = 𝑐8 : 0
【復号】
受信語 シンドローム計算
𝑦1 𝑦2 𝑦3 𝑦4 𝑦13 𝑠1 = 𝑦1 + 𝑦2 + 𝑦3 + 𝑦4 + 𝑦13
𝑠2 = 𝑦5 + 𝑦6 + 𝑦7 + 𝑦8 + 𝑦14
𝑦5 𝑦6 𝑦7 𝑦8 𝑦14 𝑠3 = 𝑦9 + 𝑦10 + 𝑦11 + 𝑦12 + 𝑦15
𝑦9 𝑦10 𝑦11 y12 𝑦15 𝑠4 = 𝑦16 + 𝑦17 + 𝑦18 + 𝑦19 + 𝑦20
𝑦16 𝑦17 𝑦18 y19 𝑦20 𝑠5 = 𝑦1 + 𝑦5 + 𝑦9 + 𝑦16
𝑠6 = 𝑦2 + 𝑦6 + 𝑦10 + 𝑦17
𝑠7 = 𝑦3 + 𝑦7 + 𝑦11 + 𝑦18
𝑠8 = 𝑦4 + 𝑦8 + 𝑦12 + 𝑦19
𝑠9 = 𝑦13 + 𝑦14 + 𝑦15 + 𝑦20
水平垂直パリティ検査符号
𝑠 × 𝑡個の情報ビットに𝑠 + 𝑡 + 1個の検査ビットを加えて構成さ
れる((𝑠 + 1)(𝑡 + 1), 𝑠𝑡)符号
𝑠行
検査ビット
𝑡列
検査ビット 検査ビットの検査ビット
𝑐𝑖 = 𝑐𝑠+𝑖 𝑘 =𝑠+𝑡+1
𝑖=1 𝑖=1
𝑦𝑠 𝑡+1 +𝑖 (𝑘 = 𝑠 + 1)
𝑠𝑘 = 𝑖=1
𝑠
𝑦𝑠𝑡+𝑠+𝑡+1 + 𝑦𝑠𝑡+𝑖 (𝑘 = 𝑠 + 𝑡 + 2)
𝑖=1
によってシンドロームを計算し,誤り訂正/検出を行う.
ハミング符号
(7, 4)ハミング符号の作り方の一例:
情報ビット 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 検査ビットを
𝑐1 = 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4
ቐ𝑐2 = 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4
𝑐3 = 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4
によって計算し,
𝑤 = 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑐1 , 𝑐2 , 𝑐3
を符号語とする.
ハミング符号
検査方式
(2) シンドロームから次のように誤り訂正
𝑒1 𝑒2 𝑒3 𝑒4 𝑒5 𝑒6 𝑒7 𝑠1 𝑠2 𝑠3
1 1 0 1
1 1 1 1
1 1 1 0
1 0 1 1
1 1 0 0
1 0 1 0
1 0 0 1
ハミング符号
𝑤 = 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥1 + 𝑥2 + 𝑥3 , 𝑥2 + 𝑥3 + 𝑥4 , 𝑥1 + 𝑥2 + 𝑥4
生成行列
1 0 0 0 1 0 1
0 1 0 0 1 1 1
𝐺=
0 0 1 0 1 1 0
0 0 0 1 0 1 1
を用いて𝑤 = 𝑥𝐺によって符号化する.
ハミング符号
𝑦 = 𝑥1 + 𝑒1 , 𝑥2 + 𝑒2 , 𝑥3 + 𝑒3 , 𝑥4 + 𝑒4 , 𝑥1 + 𝑥2 + 𝑥3 + 𝑒5 , 𝑥2 + 𝑥3 + 𝑥4 + 𝑒6 , 𝑥1 + 𝑥2 + 𝑥4 + 𝑒7
検査行列
1 1 1 0 1 0 0
𝐻= 0 1 1 1 0 1 0
1 1 0 1 0 0 1
を用いてシンドロームを算出する
1 0 1
1 1 1
1 1 0
𝑠 = 𝑦𝐻T = (𝑦1 , ⋯ , 𝑦7 ) 0 1 1
1 0 0
0 1 0
0 0 1
ハミング符号
単一誤りが訂正できるためには,検査行列の全ての列が互いに異なり,全零でなけれ
ばよい.(全零の列があると,そこで生じた誤りと,誤りなしの場合が区別できない.)
符号長 𝑛 = 2𝑚 − 1
情報ビット数 𝑘 = 2𝑚 − 1 − 𝑚
検査ビット数 𝑚 ⇒ 2𝑚 − 1, 2𝑚 − 1 − 𝑚 符号
𝐻= 𝑚行
検査ビット数
2𝑚 − 1 列
符号長…この長さの符号を送る
線形符号
◼ 定義:検査記号が情報記号の線形式で与えら
れる.
𝑐 = 𝑎1 𝑥1 + ⋯ + 𝑎𝑘 𝑥𝑘
◼ 2元符号𝐶が線形符号
⇔
𝐶の任意の2つの符号語の和が𝐶の符号語に
なっている.
まとめ
◼ 誤り検出や訂正を行うためにはシンドロームを用いる.
◼ 単一パリティ検査は最も単純な誤り検出符号.
◼ 水平垂直パリティ検査符号を用いると,1誤りが訂正で
きる.
◼ ハミング符号は水平垂直パリティ検査符号より効率の
よい単一誤り訂正符号である.
◼ 生成行列と検査行列による符号化とシンドローム計算