前回の練習問題 6個の情報記号を,以下のように配置し,水平垂直パリティ検 査符号を構成する. a1 a2 a3 p1 この符号の検査行列を求めよ a4 a5 a6 p2 110111001010 を復号せよ q1 q2 q3 r p1 = x1 + x2 + x3 1 1 p2 = x4 + x5 + x6 q1 = x1 + x4 0 0 検査行列 q2 = x2 + x5 1 0 q3 = x3 + x6 H r = x1 + x2 + x3 + x4 + x5 + x6 0 1 0 0 T T H(1 1 0 1 1 1 0 0 1 0 1 0) = (0 1 1 0 0 1) これは4列目と等しい ⇒ 4ビット目が誤っている 1 1 復号結果は 110011001010 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 1 1 1 I 1 前回の練習問題 (15, 11)ハミング符号について, 検査行列(のひとつ)を作成せよ 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 生成行列を求めよ (右の行列) I 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 2 本日の講義:符号の性能評価 与えられたパラメータ (符号長,情報記号数)に対し, 非常に多くの線形符号が存在し得る 性能の良い符号もあれば,悪い符号もある 符号の性能を測る指標が必要 本日の内容: 最小ハミング距離を使った性能評価 符号の重み分布を使った性能評価 3 系列の類似度と符号の能力 符号語 u を送信,途中で誤りが発生し,系列 v が受信 常識的な通信路であれば... u と v の違いは少しだけのはず 符号語 u 受信系列 v ビット誤り率 0.1 の BSC で 000 を送信; 000 となる確率:0.729 001 となる確率:0.081 011 となる確率:0.009 111 となる確率:0.001 もし,符号語どうしが接近していると,誤りの影響を受けやすい v u 誤り検出不能 v u 誤り検出可能 4 系列と系列の「距離」を定義する a=(a1, a2,..., an) と b=(b1, b2,..., bn) を,同じ長さの系列とする. a と bのハミング距離 dH(a, b) : 系列中で異なる記号の個数 dH(0100,1101) = 2 厳密に書くと, d H (a , b) dH(000, 011) = 2 dH(010, 110) = 1 dH(000, 111) = 3 dH(011, 011) = 0 0 x y a (ai , bi ), ただし,a( x, y ) 1 x y i 1 n ビット誤り率 p の BSCに長さ n の系列 u を送信したとき, dH(u, v) = i である系列 v が受信される確率は (1-p)n-ipi p < 0.5 のとき,i に関して単調減少:大規模な誤りは発生しにくい 5 符号語と符号語の距離 長さ4の符号を考える... 4次元超立方体を考え,各頂点を系列に対応付けると, 符号 = 頂点の部分集合 C1={0000, 1100, 0011, 1111} どの符号語間も,ハミング 距離が2以上離れている 良い C2={0000, 0001, 1110, 1111} 符号語間のハミング距離が 1のところがある 悪い 6 最小ハミング距離 符号の「良さ」の一指標として,最小ハミング距離を考える 符号 C の最小ハミング距離 d min min{ d H (a, b) | a, b C, a b}. C1={0000, 1100, 0011, 1111} C2={0000, 0001, 1110, 1111} 最小ハミング距離は2 最小ハミング距離は1 7 最小ハミング距離の例 1 0 0 1 1 0 G 0 1 0 1 0 1 から生成される線形符号の最小ハミング距離は3 0 0 1 0 1 1 000000 001011 010101 011110 100110 101101 110011 111000 000000 001011 010101 011110 100110 101101 110011 111000 0 3 3 4 3 4 4 3 3 0 4 3 4 3 3 4 3 4 0 3 4 3 3 4 4 3 3 0 3 4 4 3 3 4 4 3 0 3 3 4 4 3 3 4 3 0 4 3 4 3 3 4 3 4 0 3 3 4 4 3 4 3 3 0 線形符号ならば,もっと簡単に最小ハミング距離を計算できる 8 最小ハミング重み 系列 u のハミング重み:u に含まれる1の個数 符号 C の最小ハミング重み: C の符号語のハミング重みの最小値(ゼロ系列を除く) 符号語 000000 001011 010101 011110 100110 101101 110011 111000 ハミング重み 0 3 3 4 3 4 4 3 000000 001011 010101 011110 100110 101101 110011 111000 000000 001011 010101 0 3 3 3 0 4 3 4 0 4 3 3 3 4 4 4 3 3 4 3 3 3 4 4 同一 9 最小ハミング距離と最小ハミング重み 定理 : 線形符号の最小ハミング距離は,最小ハミング重みに等しい 証明 : • u, v を最小ハミング距離にある符号語とする (dH(u, v)=dmin) • 線形符号なので,u + v も C の符号語となる • u と v で記号が異なるところ…u + v の記号は1 • u と v で記号が同じところ…u + v の記号は0 • よって u + v の重み(出現する 1の個数)は,dmin. u+v v u 0 01100 +) 01001 00101 10 線形符号の最小ハミング距離 (9, 4) 水平垂直パリティ検査符号:最小ハミング距離は4 000000000 0 010010011 4 100010101 4 110000110 4 000101011 4 010111000 4 100111110 6 110101101 6 001001101 4 011011110 6 101011000 4 111001011 6 001100110 4 011110101 6 101110011 6 111100000 4 (7, 4) ハミング符号:最小ハミング距離は3. 0000000 1000101 0100111 0010110 0010110 1010011 0110001 1110100 0 3 4 3 3 4 3 4 0001011 1001110 0101100 1101001 0011101 1011000 0111010 1111111 3 4 3 4 4 3 4 7 11 一般のハミング符号の最小ハミング距離 定理:ハミング符号の最小ハミング距離は3である 証明方針:検査行列を H=(h1, h2, ..., hn) とする hi は互いに異なる非ゼロ列ベクトル 全ての非ゼロベクトルが H の列ベクトルとして出現 i1, i2, ..., iw ビット目が1 ,他が0の重み w の系列 u を考える. u が符号語 ⇔ HuT = hi1 + hi2 + ... + hiw= 0. w = 1 の場合:hi1 = 0 となり,hi1 が非ゼロであることに矛盾 w = 2 の場合:hi1 + hi2 = 0より hi1 = hi2 で,hi1 ≠ hi2 に矛盾 以上より,ハミング符号は重み2以下の符号語を含まない. 12 証明の続き 定理:ハミング符号の最小ハミング距離は3である [証明の続き] ハミング符号は重み2以下の符号語を含まない. w = 3 の場合: HuT = hi1 + hi2 + hi3 hi1 + hi2 は非ゼロなので, h = hi1 + hi2 となるような 列ベクトル h が検査行列の中に必ず存在する hi1 + hi2 = hi3 となる i3 が必ず存在する i1, i2, i3 ビット目が 1 である系列 u に対し,HuT = 0 すなわち,重み3の符号語は必ず存在する. ⇒ ハミング符号の最小ハミング距離は3である. 13 最小ハミング距離と誤りの個数 最小ハミング距離 dmin=3: どの符号語も,互いに最低3ビット以上異なる. 送信符号語が誤って他の符号語になるのは, 3ビット以上の誤りが発生したときのみ. 「ある符号語から1ビットだけ誤って得られる系列」が, 「他の符号語から1ビットだけ誤って得られる系列」と 一致することはない. 誤り 誤り 誤り 誤り 誤り 14 最小ハミング距離と復号領域 dmin=3:各符号語を中心として,領土を設定する. • 領土の半径を1にしても,領土どうしは重ならない. • 領土の半径を2にすると,領土どうしが重なってしまう. 復号の原理:dmin=3 の場合, • 各符号語を中心に半径1の領土を設定 • 受信系列が符号語 u の領土に入ったら,その系列は u に復号 復号領域 dmin=3 ならば,復号領域の半径は最大でも1までしか取れない 復号領域の半径が1 ⇒ 1ビット誤りを訂正可能 15 最小ハミング距離と誤り訂正能力 1 d t max min とする ( x は x 以下の最大整数) 2 dmin=7, tmax=3 tmax tmax tmax dmin=8, tmax=3 tmax 復号領域の半径をtmaxにしても,復号領域どうしは重ならない ⇒ 符号 C は,tmaxビットの誤りを訂正可能 誤り訂正可能ビット数 16 最小ハミング距離と誤り訂正能力の例 dmin tmax 3 1 4 1 5 2 6 2 7 3 8 3 17 復号領域の大きさ 1 d t max min は,符号の持つ最大誤り訂正能力. 2 復号領域の半径をtmax未満に設定してもOK:限界距離復号法 tmax t どの復号領域にも属さない これらの系列に対しては誤りの検出 だけを行い,訂正を行わない 18 復号領域の大きさと誤り確率 送信符号語 t 受信語 正しく復号 誤り検出 誤って復号 復号領域の半径と各種復号結果の確率 半径 正しく復号 誤り検出 誤って復号 大 大 小 大 小 小 大 小 環境と要求により,復号領域を適切に設計する必要がある 19 直感的なイメージ:復号領域の大きさ A A B B C C D 狙った的に当たる確率…大 他の的に当たる確率…大 的から外れる確率…小 D 狙った的に当たる確率…小 他の的に当たる確率…小 的から外れる確率…大 20 ここまでのまとめ 最小ハミング距離を使った性能評価 誤り訂正可能ビット数は,最小ハミング距離から決まる 最小ハミング距離が大きければ,誤り訂正能力も大きい 21 ハミング距離による性能評価 最小ハミング距離 d のとき... 符号語中に発生する (d – 1)/2 ビット以下の誤りを訂正可能 同じ符号長で同じ最小ハミング距離なら,同じ性能か? 結論から言うと,同じとは限らない より精密な性能評価を行う手段が必要 22 着眼点:符号語の分布と符号の性能 • 符号語が近接しているほど,誤って復号する可能性が高い • 符号語の近くにある他の符号語は,少ないほうが良い A B 最小ハミング距離が同じでも,A より B のほうが望ましい 23 重み分布を用いた特性評価 C={000000,100111,010110,110001, 001011,101100,011101,111010}. • ビット誤り率 p の2元対称通信路 • 限界距離復号法による1ビット誤り訂正 重み0の符号語; 1個 重み3の符号語; 4個 重み4の符号語; 3個 符号の重み分布 (weight distribution) 線形符号の場合... ゼロ系列を送信して得られる系列を復号し, • 正しく復号される確率 • 誤って復号される確率 • 訂正不可能な誤りが検出される確率 を評価すればよい. 24 正しく復号される確率 ビット誤り率 p の通信路に 000000 を送信した場合: • 正しく復号される:受信語が 000000 の復号領域に属するとき 000000 の復号領域は, {000000, 000001, 000010, 000100, 001000, 010000, 100000} 復号領域中の個数 000000 が受信される確率 (1 – p)6 重み 1 の系列が受信される確率 p( 1 – p)5 1 小計 (1 – p)6 6 6p( 1 – p)5 正しく復号される確率は Pc = (1 – p)6 + 6p(1-p)5 25 誤って復号される確率(1) ビット誤り率 p の通信路に 000000 を送信した場合: • 符号語 001011 に誤って復号される: 受信語が 001011 の復号領域に属するとき {001011, 001010, 001001, 001111, 000011, 011011, 101011} 復号領域中の個数 001011 が受信される確率 p3(1 – p)3 1 小計 p3(1 – p)3 重み 2 の系列が受信される確率 p2( 1 – p)4 3 3p2( 1 – p)4 重み 4 の系列が受信される確率 p4( 1 – p)2 3 3p4( 1 – p)2 001011 に誤って復号される確率:3p2(1 – p)4 + p3(1 – p)3 + 3p4(1 – p)2 重み 3 の符号語のひとつに誤って復号される確率 26 誤って復号される確率(2) ビット誤り率 p の通信路に 000000 を送信した場合: • 符号語 100111 に誤って復号される: 受信語が100111 の復号領域に属するとき {100111, 100110, 100101, 100011, 101111, 110111, 000111} 復号領域中の個数 100111 が受信される確率 p4(1 – p)2 1 小計 p4(1 – p)2 重み 3 の系列が受信される確率 p3( 1 – p)3 4 4p3( 1 – p)3 重み 5 の系列が受信される確率 p5( 1 – p) 2 2p5( 1 – p) 100111 に誤って復号される確率: 4p3(1 – p)3 + p4(1 – p)2 + 2p5(1 – p) 重み 4 の符号語のひとつに誤って復号される確率 27 誤って復号される確率(3) C={000000,100111,010110,110001, 001011,101100,011101,111010}. 重み0の符号語; 1個 重み3の符号語; 4個 重み4の符号語; 3個 誤って復号される確率 Pe = 4×(重み 3 のひとつの符号語に誤って復号される確率) + 3×(重み 4 のひとつの符号語に誤って復号される確率) = 4×(3p2(1 – p)4 + p3(1 – p)3 + 3p4(1 – p)2 ) + 3×(4p3(1 – p)3 + p4(1 – p)2 + 2p5(1 – p)) = 12p2(1 – p)4 + 16p3(1 – p)3 + 15p4(1 – p)2 + 6p5(1 – p). 訂正不可能な誤りが検出される確率 Pd = 1 – Pc – Pe. 28 確率 特性評価の結果 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Pc Pe Pd 0 0.1 0.2 0.3 0.4 0.5 ビット誤り率 29 性能比較例 (7,4)ハミング符号: 符号語: 0000000, 1000101, 0100111, 0010110, 0010110, 1010011, 0110001, 1110100, 0001011, 1001110, 0101100, 1101001, 0011101, 1011000, 0111010, 1111111 重み 符号語数 0 1 3 7 4 7 7 1 (9, 4)水平垂直パリティ検査符号 符号語: 000000000, 000101011, 001001101, 001100110, 010010011, 010111000, 011011110, 011110101, 100010101, 100111110, 101011000, 101110011, 110000110, 110101101, 111001011, 111100000 重み 符号語数 0 1 4 9 6 6 30 ハミング符号と水平垂直パリティ検査符号 この環境では,ハミング符号のほうが良いように思えるが... 31 再送が可能な環境での評価 誤りを検出した場合,一回だけ再送を許すとすると... 再送が可能で,ビット誤り率が 0.28 以下ならば, 水平垂直パリティ検査符号のほうが有利 32 本日のまとめ 最小ハミング距離を使った性能評価 簡単でわかりやすいが,大雑把な評価しかできない 符号の重み分布を使った性能評価 少し複雑な計算が必要,大規模符号の評価は困難 与えられた環境設定で,定量的な性能評価が可能 33 練習問題 以下の検査行列を持つ線形符号 C を考える C の重み分布を求めよ C の誤り特性評価を行い,式とグラフで各確率を示せ 1 1 H 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 0 . 0 1 1 0 0 1 0 1 1 1 0 0 0 1 34
© Copyright 2024 ExpyDoc