1 / 36

練習問題

練習問題. 以下の検査行列を持つ線形符号 C を考える C の重み分布を求めよ C の誤り特性評価を行い,式とグラフで各確率を示せ. 回答例は http://narayama.naist.jp/~kaji/lecture/ に掲載. 前回の復習,本日の講義. 前回の講義:符号の性能評価 最小ハミング距離に基づく評価 重み分布に基づく評価 今回の講義:やや実用・研究的な話題 巡回符号:線形符号の特殊なクラス シャノンの通信路符号化定理 新しいタイプの誤り訂正符号. 「実用的な」線形符号の模索. これまでの議論 ... 一般の線形符号を対象

wilmer
Télécharger la présentation

練習問題

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 練習問題 • 以下の検査行列を持つ線形符号 Cを考える • Cの重み分布を求めよ • Cの誤り特性評価を行い,式とグラフで各確率を示せ 回答例は http://narayama.naist.jp/~kaji/lecture/ に掲載

  2. 前回の復習,本日の講義 • 前回の講義:符号の性能評価 • 最小ハミング距離に基づく評価 • 重み分布に基づく評価 • 今回の講義:やや実用・研究的な話題 • 巡回符号:線形符号の特殊なクラス • シャノンの通信路符号化定理 • 新しいタイプの誤り訂正符号

  3. 「実用的な」線形符号の模索 これまでの議論...一般の線形符号を対象 • 符号化,誤りの検出,訂正とも,行列演算により実行可能 • 行列演算 ⇒ 単純な組合せ回路だけで実現可能 ⇒ 高速に動作させるのに有利 • 性能向上のためには,符号長などを大きくすることが有利 • 規模の大きな線形符号 • 生成行列,検査行列とも巨大(符号長の2乗オーダ) • 組合せ回路の面積増大 ⇒ 遅延,消費電力,設計困難 もっと扱いやすい線形符号は? • 畳込み符号 • 巡回符号

  4. 符号 線形符号 巡回符号 巡回符号 巡回符号(cyclic code):線形符号の一種 • 符号化器や復号器のハードウェア実現が容易 • 組合せ回路ではなく,シフトレジスタを利用して, 符号化器や復号器を構成可能 • シフトレジスタの利用は,速度的には若干不利 • 回路面積や消費電力,コストの削減に貢献.

  5. x4 + x3 + x2 + 1 x3 + x + 1 x4 + x3 + x2 + 1 x3 + x + 1 ×) +) x4 + x3 + x2 + 1 x4 + x2 + x x5 + x4 + x3 + x x7 + x6 + x5 + x3 x7 + x6 + x3 + x2+ x + 1 巡回符号:準備(1) 係数が 0 か 1 であるような,1変数多項式を考える 11101 01011 多項式の加算: (減算) +) 10110 多項式の乗算: 11101 01011 ×) 11101 11101 11101 11001111 • 係数の足し算は2進で行う • 繰り上がりなし xmを掛ける: 左 mビットシフト

  6. 111 11101 ) 1010000 11101 10010 11101 11110 11101 11 巡回符号:準備(2) 多項式の除算: x2 + x + 1 x4 + x3 + x2 + 1 ) x6 + x4 x6 + x5 + x4 + x2 x5 + x2 x5 + x4 + x3 + x x4 + x3 + x2 + x x4 + x3 + x2 + 1 x + 1 • 足し算と引き算は同じ • シフトレジスタを利用すれば,除算回路の実現は容易

  7. 参考:除算回路について(1) • x6 + x4を x4 + x3 + x2 + 1 で割る場合 除数 1 1 1 0 1 (a bの b) 被除数 (a bの a) 1 0 1 0 0 0 0 商 • 被除数をシフトレジスタに投入 • 最上位ビットが1のとき, • 除数と加算(排他的論理和) • 左にシフト(step 1へ) 剰余

  8. 111 11101 ) 1010000 11101 10010 11101 11110 11101 11 参考:除算回路について(2) 1 1 1 0 1 0 0 1 0 1 0 0 1 1 1 0 1 • 1サイクルの操作 • = 筆算の1ステップ • 被除数を全部投入後の • レジスタ内の値 = 剰余 0 0 0 1 0 0 1

  9. 1101 11101 ) 10000001 11101 1101001 11101 11101 11101 0 巡回符号:生成多項式 符号長 n, 情報記号数 kの巡回符号を構成する. (検査記号数 p = n-k) 準備:xn + 1を割り切る p次の多項式 G(x) を求める n = 7の場合,x7 + 1 = (x3 + x2 + 1) (x4 + x3 + x2 + 1). p = 4, G(x) = x4 + x3 + x2 + 1として (7,3) 巡回符号を構成可能 G(x) • G(x) を利用して巡回符号を生成する. • G(x) を生成多項式と呼ぶ. • (generator polynomial)

  10. 巡回符号の定義 G(x) を生成多項式とする巡回符号: n次未満である G(x) の倍多項式(に対応する2進系列)の集合 倍多項式:数字の「倍数」の多項式版 0, G(x), xG(x), (x + 1)G(x), x2G(x), (x2+1)G(x), (x2+x)G(x), ... • n = 4, G(x) = x2 + 1 のとき (n = 4, k = p = 2), • 倍多項式は 0, x2 + 1, x(x2 + 1) = x3 + x, (x + 1)(x2 + 1) = x3 + x2 + x + 1 • 符号語は 0000, 0101, 1010, 1111

  11. 巡回符号の性質(1) 定理: 巡回符号は線形符号である 証明: • 任意の2つの符号語の和が,符号語になることを示せばよい. • 巡回符号の符号語は,G(x) の倍多項式になっている • 符号語 c1...倍多項式 f1(x)G(x) の係数と対応 • 符号語 c2...倍多項式 f2(x)G(x) の係数と対応 • c1 + c2... 倍多項式 (f1(x) + f2(x))G(x) の係数と対応 ⇒ c1 + c2も,正しい符号語である

  12. 巡回符号の性質(2) 定理: (an-1, an-2, ..., a0) が符号語なら,(an-2, ..., a0, an-1) も符号語 証明: W(x) = an-1xn-1 + ... + a0とすると,W(x) は G(x) の倍多項式. 一方,W ’(x) = an-2xn-1 + ... + a0x + an-1 = an-1xn + an-2xn-1 + ... + a0x + an-1+ an-1xn = xW(x)+ an-1(xn + 1) W(x),(xn +1)はG(x)の倍多項式⇒W ’(x) も G(x) の倍多項式 よって (an-2, ..., a0, an-1) も符号語 符号語を巡回シフトしても,やはり符号語

  13. 巡回符号の符号化 • 情報記号列と符号語を,どのように対応付けるか • 生成行列を使う • 通常の線形符号と同じで,巡回符号のメリットなし • 掛け算アプローチ • 符号語 = 情報記号列 × 生成多項式 • 理屈はわかりやすいが,組織符号にはならないかも (符号語から,情報記号列に戻すのが面倒) • 割り算アプローチ • 情報記号列をシフトし,生成多項式で割る • 剰余部分をキャンセルして,倍多項式に丸める • 理屈はわかりにくいが,常に組織符号となる

  14. A(x) W(x) = A(x) x4 + B(x) x4 B(x) 被除数 剰余 除算器 G(x) 除数 商 D(x) 巡回符号:符号化 符号化の手順 1. 情報記号列を多項式表現する (以下では A(x) とする) 2. A(x)xpを G(x) で割り,剰余を B(x) とする 3. A(x)xp + B(x) を符号語(の多項式表現)と考える n = 7, k = 3, p = 7-3 = 4, G(x) = x4 + x3 + x2 + 1 のとき,011 を符号化する  1. A(x) = x + 1  2. A(x)x4 = x5 + x4 = x(x4 + x3 + x2 + 1) + (x3 + x) より,B(x) = x3 + x  3. A(x)x4 + B(x) = x5 + x4 + x3 + x,すなわち 0111010 が符号語

  15. 前スライドの符号化手順について A(x)xp + B(x) は,本当に符号語になっているか? ⇔ A(x)xp + B(x) は,生成多項式 G(x) で割り切れるか? Yes • B(x) は,A(x)xpを G(x) で割った余りになっている • 二進の世界では,足し算=引き算...「B(x) を足す=B(x) を引く」 • A(x)xp + B(x) = A(x)xp – B(x) ⇒ A(x)xpを G(x) で割った剰余を,「あらかじめ引いた」式 • A(x)xp + B(x) が G(x) で割り切れるのは,当然のこと

  16. 被除数 剰余 除算器 x4+x3+x2+1 除数 商 x4 巡回符号の例 G(x)=x4 + x3 + x2 + 1 C: 0000000, 1110100, 0011101, 1101001, 0111010, 1001110, 0100111, 1010011. 2進多項式の除算器は,シフトレジスタを使って簡単に実現可能 除算回路の複雑さ O(n) < 行列乗算回路の複雑さ O(n2) ⇒ 一般の線形符号より,装置化が容易で経済的

  17. 巡回符号における誤り検出 誤りを訂正せず,検出するだけならば,簡単な回路で実現可能 ベクトルが符号語 ⇔ 対応する多項式が G(x) で割り切れる • 受信系列を多項式表現し, • G(x) で割り切れれば誤りは発生していない • G(x) で割り切れないならば,誤りが発生 受信系列 被除数 剰余 剰余が0: 誤り無し 1: 誤り発生 除算器 生成多項式 除数 商 誤り検出回路は簡単に装置化できる ⇒ CRC (Cyclic Redunduncy Check) 方式

  18. 巡回符号における誤り訂正 誤りの訂正手段について,いくつかの方式が知られている • 代表的なものとして,誤りトラップ復号法[嵩61,他] • 特殊な巡回符号については,さらに効率よい方法もある • BCH (Bose-Chaudhuri-Hocquenghem) 符号 • Reed-Solomon 符号 に対する Berlekamp 法など • 多元符号…記号は 0 と 1 だけでない • パラメータ次第では,バイト単位での符号化も可能 • バースト誤りに強い • CD, DVD, 無線通信などで広く利用されている

  19. 通信路 入力記号 X 出力記号 Y 記号 A={a0, ..., ar–1}が, 確率 p = {p0, ..., pr–1} で発生 Yを知ることで,Xに関する あいまいさが減少する ⇒ 相互情報量 I(X; Y) シャノンの通信路符号化定理と通信路容量 • シャノンの情報源符号化定理(既出): • 情報源符号化の限界と可能性を示唆した定理 • シャノンの通信路符号化定理: • 通信路符号化の限界と可能性を示唆した定理 • I(X; Y) は,この通信路を介して伝達される情報量 • 通信路容量 C= I(X; Y) の最大値 = maxp{I(X; Y)} (第二回講義内容)

  20. 通信路符号化定理 • 符号化率R = (log2(符号語の個数)) / 符号語の長さ (n, k) 組織符号の場合,R = k / n シャノンの通信路符号化定理: 通信路容量(通信路の信頼度)が Cのとき, • R < Cで,復号誤り率が限りなく 0 に近い符号が存在する • R > Cならば,そのような符号は存在しない (“A Mathematical Theory of Communications,” 1948.) • 理想的な符号が「存在する」ことだけを示している • 具体的な符号の構成法は,示されていない

  21. 通信路符号化定理の残した課題 いかにして,シャノンの示した性能限界に近づくか? • 符号の性能を改善する(誤り訂正能力を上げる)には… 規模の大きい符号を利用することが不可欠 • 符号化率R = k/nを一定にして,符号長 nだけを変化させる • 長さ nの系列の総数は 2n • 符号語の数は 2k • 符号語の「密度」は 2k–n = (1/2(1–R))n • 密度は,nに関し指数的に減少 • 原理的には,符号語間の距離を大きく取れるはず • 具体的に,どうすれば良いかは明確でない

  22. 解決法の模索(1) 90年代中ごろまでのアプローチ: 単一技術ではなく,複数の技術の組合せにより問題に対処 • 連接符号化 • 誤り訂正符号を連接して使用 • 「Reed-Solomon符号 + 畳込み符号」の組合せが一般的 符号化1 符号化2 外部符号 (RS) 内部符号 (畳込み) 通信路 復号1 復号2

  23. データビット 符号1の パリティ記号 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 符号2のパリティ記号 1 1 0 1 0 1 解決法の模索(2) • 積符号 • データビットを,符号1により符号化 • データビットと符号1のパリティ記号を,符号2により符号化 • 符号2の復号結果を,符号1の復号処理での受信語とする 符号2 の復号 符号1 の復号

  24. 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 新時代への扉:積符号方式の問題 問題点:符号1の復号の際,受信情報そのものは使われない • 「受信情報」と「符号2の復号結果」の双方を比較活用すれば, より精度の高い誤り訂正ができるのではないか? • 符号1の復号結果を符号2の復号器にフィードバックし,再度復号させれば,さらに精度を向上できるのでは? 符号1と符号2が,互いに情報を出し合って助け合う仕組を作る 符号2 の復号 符号1 の復号

  25. 符号1の復号器 受信情報 符号2の復号器 復号結果 想定している復号の仕組 符号1と符号2が,互いに情報を出し合って助け合う仕組を作る • 各復号器での処理を繰り返し,精度を向上させていく • 精度確保のため,復号器の入出力とも,実数値(確率値)に • MAP (maximum a posteriori) 復号 • ある種の隠れマルコフモデルの推定問題 • ⇒ ターボ符号

  26. 情報記号 符号系列 符号1・符号化 インタリーブ 符号2・符号化 情報記号 パリティ記号1 パリティ記号2 符号系列 ターボ符号 1993年,Berrouらにより提案された符号化方式 • 1セットの情報記号に対し,2セットのパリティ記号を付与 (記号の並べ替え)

  27. 受信情報 復号結果 符号1・MAP復号 I–1 I 符号2・MAP復号 I インタリーバ I I–1 逆インタリーバ ターボ符号の復号 • 2つの復号器のあいだで,信頼度情報をやり取りする • 情報のやり取りを繰り返し,精度を向上させてゆく • 繰り返し回数は,比較的少なくても十分(10~20回程度)

  28. ターボ符号の性能 • 符号長を十分長く設定すると,シャノン限界に近づく性能を発揮 (右図の場合,65536ビット長で1.0dB以下の損失) • 右図で示された領域より下では,エラーフロア現象が発生する C. Berrou et al.: Near Shannon Limit Error-Correcting Coding and Decoding: Turbo Codes, ICC 93, pp. 1064-1070, 1993.

  29. ターボ符号と標準化 • 第3世代携帯電話で本格的採用 • W-CDMA, CDMA-2000 • 衛星通信 • インマルサット • NASA, Mars Reconnaissance Orbiter (05年8月打ち上げ) NASA/JPL http://www.jpl.nasa.gov/images/mro/mro-image-browse.jpg

  30. LDPC符号の再発見 ターボ符号の教訓: • 従来の性能指標(最小ハミング距離)に拘る必要は無い • とくにS/N比が小さい場合,パラメータを大きくとることが有効 • 大規模でも扱いやすい符号があれば,有効性は高い LDPC符号 (Low Density Parity Check 符号) • 検査行列が非常に疎な行列 • ほとんどの要素が0で,ごく少数の要素だけ1である行列 • 1962年にGallagerが提案,長く忘れられていた • 1999年,MacKayらによる再発見

  31. 1 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 H = p1 p3 p4 p6 0 の確率 q1 q3 q4 q6 1 の確率 (= 1 – pi) LDPC符号とその復号 • ごく普通の線形ブロック符号,ただし検査行列が非常に疎 • 信念伝播(belief propagation)アルゴリズムを用いることにより,ほぼ線形時間で復号を行うことが可能 ⇒符号長を長く設定しても,復号計算量が爆発することはない Tanner Graph p3 = p1 p4 p6 + q1 q4 p6 + q1 p4 q6 + p1 q4 q6

  32. LDPC符号の特長 LDPC符号…検査行列が疎 ⇒ Tanner Graphが疎 • 比較的少ない繰り返し回数で,「最適に近い」推定が可能 ⇒ 効率的に,符号の性能を最大限発揮できる • 符号長を十分長く取れば,シャノン限界に迫る性能 • ターボ符号で発生する,エラーフロア現象が起こりにくい

  33. LDPC符号の問題点 • 符号化アルゴリズムの計算量が「小さくない」 • 符号長に対して2乗オーダ(従来の線形符号と同じ) • 良い符号の構成方法に関する研究が,まだ発展途上 • 当初は,ランダムな行列構成が良いと考えられてきた • 研究の進展に伴い,数学的構成法の利点が明らかに • 符号化等を容易にする構造の確保 • エラーフロアの影響低減

  34. LDPC符号と標準化 ターボ符号に比べると,まだこれから • 10GBASE-T (IEEE802.3an) • 無線LAN (IEEE 802.11n) • モバイル WiMAX (IEEE 802.16e) • デジタル衛星放送規格 DVB-S2

  35. 本日のまとめ • 巡回符号 • 線形符号の特殊なクラス • 割り算回路(シフトレジスタ)を使った実装が可能 • シャノンの通信路符号化定理 • 次世代型の誤り訂正符号 • ターボ符号 • LDPC符号

  36. 練習問題 • n = 7, k = 4, p = 7 – 4 = 3 とし,巡回符号を構成する. • G(x) = x3 + x2 + 1 が生成多項式に使えることを確かめよ • 0110 を符号化せよ • 0001100 は正しい符号語か,判定せよ

More Related