情報通信システム -...

34
情報通信システム 類セキュリティ情報学 プログラム 遠隔授業資料 2020年度 第6回(6月11日) 山口 和彦 今回から誤り訂正符号(ブロック符号)の内容となります。 (第5回~10回)

Transcript of 情報通信システム -...

Page 1: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

情報通信システムⅡ類セキュリティ情報学 プログラム

遠隔授業資料

2020年度 第6回(6月11日)

- - - - -

山口 和彦

今回から誤り訂正符号(ブロック符号)の内容となります。(第5回~10回)

Page 2: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

雑感(ひとりごと4) 読み飛ばしてもらってもいいページ

この資料も第6回目を迎えています。前回までで、データ圧縮の話は終わりになります。

アンケート項目で、1~5回全体についてみなさんに質問しましたが、他の授業と比べてどうでしょうか?

「PDFだけ」という授業形式ですから、ビデオでの授業の方が分かりやすいのではないか?読むのが得意ならメリットでしょうが、苦手で時間がかかればつらいですよね。

全般ではなくて、この部分は分かりにくい、詳しく書いて欲しいとか、ここはビデオにして欲しいという項目なないでしょうか。もしあれば、今回の出欠メールでお知らせください。来年度に向けて検討します。

この資料は教室での授業に使っていた資料(元々、同じwebページで公開していた)を

修正したものです。しかし、教室の授業無しに、読める資料を作るために、説明文を大幅に加筆しました。そのため、プロジェクターで映すために大きい文字にしていたものを、小さくしています。図や表も小さくして文章が入る様に修正しました。アニメーション機能を使っての説明はなくても分かる様に変更しています。図や文字が小さすぎて分りずらいという人がいれば、同様に知らせてもらえばと思います。

今回(第6回)からの第10回までの5回は誤り訂正符号のブロック符号を扱います。そこではあまり特徴的なアルゴリズムは出てきませんがお付き合い下さい。まあ、一部の暗号システムで使われることもあるガロア体での基礎も学びますのでそれは「何となくでも」理解して欲しいところです。- 2020.6.11

2

Page 3: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

3

第五回テストについて

第五回のテストは、

説明問題は期末試験などでやると苦手な人の多い問題です。説明できるということはきちんと理解していることにつながると思います。ただ、ネットから持ってきたり、この資料のPDFからそのまま持ってきているとスキルは向上しないと思います。それをチェックしたりしませんが。逆に、次回、正解・解説はありません。

とした通りですが、みなさん簡単にできたでしょうか?資料を理解していれば、すらすら書けるはずですし、それなりに理解があれば、ここと、ここを見ればよいなどと分かるはずです。理解がさらに欠けていると、設問によっては「複数個所を見なければいけない」という事を把握できずに解答文が不十分になります。そういう人に正解文の一例を示すのは、ほとんど効果が無い事は確認しています。過去の小テストで、正解を示し、期末テストでほとんど類似問題を出してもできないという人も結構いました。そういう人は単位が取れればいい理解に至るだけの時間をかけられないタイプの人だと思います。そのレベルの人にまで配慮はできません。運が良ければ他で点を取れるかもしれませんが。

理解を目指すならば、資料の関連する部分がどことどこなのか把握できる様になって欲しいです。そういう意味で正解例を示さない形にしています。

Page 4: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

4

誤り訂正符号:ブロック符号、トレリス符号畳込み符号本日から、がらりと内容が変わります。誤り訂正符号(符号理論、通信路符号化とも呼ぶ)の話題になります。第10回までの5回でブロック符号と呼ばれる符号を扱います。「情報源符号化定理」と対になる、「通信路符号化定理(シャノンの第2定理)」もその中で扱います。この5回の部分では関連するアルゴリズムを学ぶ部分は少ないかもしれません。しかし、ある種の暗号の基礎となるガロア体を扱いますし、基本的な疑似乱数生成器が、このガロア体やブロック符号と関連深い事も扱います。

続く第11回から第15回では誤り訂正符号の中のトレリス符号、畳込み符号を扱います。ここでは、ビタビアルゴリズムやBCJRアルゴリズムなどのアルゴリズムを扱います。これは誤り訂正符号以外、例えば信号処理などでも重要な項目です。

実はこれらの10回で扱う、誤り訂正符号の分野は山口の主要な研究対象の分野でもあります。可能な範囲で詳細な内容が学べる様にしたいと考えています。

4

Page 5: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

5

情報通信における誤り訂正の位置づけ

送信者誤り訂正符号化暗号化

データ圧縮符号化

第1回の資料のP2Pのブロック図の送信側の部分を上に示しました。誤り訂正は通信路に近い位置に配置されます。データ圧縮とは逆に、誤り訂正のための代数的な構造による冗長なデータを付加します。これにより雑音により生じたデータの誤りを受信側で取り除く仕掛けです。受信側の図はここでは略していますが送信側と逆順に逆変換を行うので「DA変換(変調等)」の逆「AD変換(復調等)」を行った後、「誤り訂正符号化」の逆変換「誤り訂正符号の復号」を行います。果たして、データ通信に誤り訂正は必要でしょうか?誤りが起こらければ良いのですが、そのためには、強い信号・電波で送信する、雑音に強い(高価なケーブルを使う)、性能の良い受信回路を使う、伝送速度を遅くする無線システムならば大きな利得の高いアンテナを使う等色々ありますが、高価になったり、大きな装置になったり、使うとき電力をたくさん必要だったりします。伝送速度が低速ならば、4k、8Kの動画を送りたい等の高速伝送はできません。

高速で、省電力、場合によっては小型の端末を実現するためには雑音を含む受信データから誤りを取り除く誤り訂正の仕組みは不可欠です。要素技術の進展、時代に応じて、アプリケーションに適した構成(組み合わせ)が求められます。

DA変換(変調等)

Page 6: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

6

符号理論:誤り訂正符号の原理ハフマン符号などのデータ圧縮を行えば、1文字の長さが異なる長さの符号語に変換されます。そのデータ列のある1ビットが変わってしまったら、その変化した符号語に対応する元の文字だけでなく、それ以降の文字列全てが影響を受けてしまいます。「雑音による誤りは(高度なデータ圧縮ほど)深刻」です。

そこでデータ圧縮とは逆に誤りに耐性を持つ構造を付加する必要があります。それが誤り訂正符号です。簡単な例として、信頼性を向上するために、同じ手紙 を3通「 」 送れば、2つの手紙の内容が判別できな

くても(届かない場合も含めても良い)、残りの一つが届けば連絡ができます。

例 「 ? ? 」。この様な判別がつかない場合「?」を誤り訂正では消失(erasure)と呼びます。これについてはあとで紹介します。

誤り(error)が1つだけで,正しいものが2つ届けば、それらの3通の内容を多数決で判断すれば正しい内容を受け取ることができます。 白い手紙 を誤った手紙として、例として1通目と3通目が正しく、2通目が間違っていれば、「 」 という3通を受け取った、この様な場合です。

手紙 を0、 を1として1ビットのデータに置き換えると0送る時にはを000を、1を送る時には111を送るという方式に対応します。この様な方式は繰り返し符号(reputation code)と呼ばれます。この場合1ビットを3ビットに符号化するので、(3,1)繰り返し符号と呼ばれます。

Page 7: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

7

無線や携帯電話の符号理論の応用誤り訂正符号やその理論のことを「符号理論(coding theory)」とも呼びます。それはディジタルデータを扱う上で欠くべからざる存在です。以下の様な応用例

があります。詳細な説明は略しますが、高速で通信する、小型の端末で大勢の人と利用できる電波信号の周波数帯を分け合いながら、移動してても高信頼で利用できる携帯、スマホ端末にはとても高度な方式が使われていることが想像つくだろうと思います。

衛星通信: 畳込み符号(略)受信波形の信頼度を利用した復号が特徴(軟判定復号)

深宇宙通信(惑星探査など):RS符号と畳込み符号の組み合わせ(直列連接符号と呼ばれる)畳込み符号に信頼度情報をもちいて軟判定復号した結果をRS符号で復号する.

携帯電話(FOMAなどの第3世代のデジタル携帯):ターボ符号(複数の畳込み符号を組み合わせた並列連接符号)ターボ復号と呼ばれる繰り返し復号.軟入力軟出力復号を繰り返し利用.

携帯やデイジタル放送など低密度パリティ検査符号(LDPC符号)身近な例:本のISBN番号、バーコード、QRコード(2次元バーコード)、メモリモ

ジュール次ページから、上に挙げた身近な例についてもう少し紹介しましょう。なお赤字

の項目はこの授業でこれから扱う項目です。緑字のものは例年だと大学院の情報理論基礎で扱う内容です。

Page 8: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

8

誤り訂正符号の身近な応用例みなさんや、情報系の学生ならば、データ圧縮は様々なデータの規格などから多少予備知識があると思います。では誤り訂正符号はどうでしょうか。身近にあっても、復元された正しいデータを扱えれば、意識せず、興味も湧かなかったかもしれません。バーコードとQRコード(2次元バーコード)は分かりやすい応用例です。右に

Wikipediaの説明にあった画像を示しました。書籍にはISBN番号が与えられており、現在は13桁で、それに対応するバーコードも一緒に裏表紙に印刷されています。その他の商品にもバーコードはありますね。ISBNの場合、例えばISBN978-4-563-01576-3 などとなっていて最後の一桁この例では3が誤り検出を行うための数値(デジット)です。バーコードではこの3を含めた13桁の数値がバーで記録されています。この場合、また、書籍や商品の番号として「12桁の数値」の様な短いデータを扱い1個の誤りを必ず検出できますが、誤りの訂正はできません。コンビニやスーパー等のPOSレジのバーコードリーダでかなり昔から読み取ることができました。QRコードは「2次元バーコード」とも呼ばれるように、バーコードを改良してより多くのデータを含むことができ、複数の誤りを訂正することもできます。いくつかの方式がありますがユーザの要求に応じた、訂正能力を設定可能となっているところが特徴で、この授業でも扱うリード・ソロモン符号が用いられています。

Page 9: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

9

誤り訂正符号の身近な応用例(2)

図 DIMM 上段ECC無し下段 ECC有

パソコンのメモリーモジュール、最近のものはDual Inline Memory Module略して「DIMM」と呼ばれていますね。このDIMM、スピードなどの規格としてPC3-XXXXとかPC4-XXXXとか、色々ありますが、よく見るとECC有と明記しているものとそうでない(ECC無)となっているものがあるのをご存じでしょうか。もちろんECCはError Correcting Codeの略で誤り訂正機能がついているものとそうでないものの違いです。右下のDIMMの写真は画像検索で見つけたものです。上段の写真はECC無、下段はECC有です。上段には同じ半導体が8個並んでいるのが分かります。下段の場合には色々なサイズの半導体が並んでいますが、基盤のサイズが同じとして、上段と同じ位の半導体が9個有るのが分かると思います。8個のメモリモジュールに誤り訂正用にもう一個ついています。一個多いのはバーコードと似ていますが、この場合は、誤り検出だけでなく、訂正する能力があります。詳細な規格は確認していませんが、QRコードと同じリードソロモン符号をベースに修正した非線形のSEC-DED符号が使われているはずです。

Page 10: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

10

誤り訂正符号化(ブロック符号化)の基本

送信者 DA変換(変調等)

誤り訂正符号化暗号化

データ圧縮符号化

←情報ビット数k→

情報u1

符号語v1

情報u2

符号語v2

情報u4

符号語v4

情報u3

符号語v3← 符号長 n →

情報系列(誤り訂正符号化における)

送信系列(符号語列)

ここから「ブロック符号(化)」について説明していきます。上の図は、kビットごとに区切った情報(u1,u2,u3,u4・・・)に誤りの検出・訂正に利用する構造(n-kビット)を付加してnビットの符号語(v1,v2,v3,v4・・・)にすることを説明しています。・符号化の処理はブロックごとに完結しているためブロック符号と呼ばれます。例えば、情報ブロックu2の値は符号語v2の作成にのみ影響しv1,v3,v4等に影響しません。この授業では第5回~第10回までがブロック符号の説明で第11回~第15回がトレリス符号・畳込み符号となっています。そうです、トレリス符号・畳込み符号はこの図と異なる性質を持つ符号化(ブロックで完結しない符号化)が行われます。

Page 11: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

11

誤り訂正を考える通信路モデルへ

送信者

受信者

DA変換(変調等)

通信路(有線、無線、記録)

AD変換(変調等)

誤り訂正符号化

誤り訂正符号の復号

暗号化

暗号の復号

データ圧縮の復号

データ圧縮符号化

雑音赤色部分全体を一体の離散的な通信路モデルとして扱う

雑音・盗聴・妨害

【説明】第1回のブロック図をまた、描きました。ここではデータ圧縮や暗号化は考えません。ですから、通信路には盗聴や妨害は行われません。DA、AD変換や雑音といったアナログ部分を一つのブラックボックスとみなして考えます。

Page 12: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

符号語 nビットv=(v1v2・・・vn)

12

(n,k)二元誤り訂正符号の通信モデル

送信者

受信者

離散的通信路モデル

(加法性の

誤り)

誤り訂正符号化

誤り訂正符号の復号

情報 kビットu=(u1u2・・・uk)

推定された情報kビット

u=(u1u2・・・uk)

受信語 nビットr=(r1r2・・・rn)

正しく復号されれば u=u

r=v+e

演算は要素ごとの排他的論理和

図では誤りと受信語と推定された情報のベクトルが新たに加わりました。r= v + e、e=r-v=r+v=d(r,v) です。d(r,v)は誤りの個数であり、ハミング距離と呼びます。式の“+”は要素ごとの排他的論理和で“-”も同じ意味になります。

【説明】前頁の図の略した形で、ブロック符号を送受信する場会を示しています。他頁の説明に従い理解してください。

誤りe

誤り nビットe=(e1e2・・・en)

Page 13: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

誤り訂正符号の世界 (符号理論)

13

前ページ最後の説明で“+”と“ー”が同じとあって、アレっと思ったかもしれません。「計算機の中では2進数が使われる。」これは皆、知っていますが、誤り訂正符号は誤りを取り除く仕組みを代数的に付加する(検査ビット)を計算するのですが、これは計算機で使う2進数の世界ではないのです!検査ビットの計算は特別な計算の世界で行う、0と1の世界で「有限体(finite

field)」、「ガロア体(Galois field)」と呼ばれる世界です。まず体(field)とは大雑把に言って加減乗除の計算が閉じている数の世界で有理数体、実数体、複素数体は皆さんがよく使う体の例で、数が無限にある体の例です(当然0での除算は定義されません)。整数の世界や自然数の世界は体ではありません。例えば2÷3の答はその世界の中では定義できないからです。無限の数の集合を持つ体ではなく、有限個の数の集合の中で加減乗除の四則演算が自由にできる世界を有限体と呼ぶのです。数の集合が{0,1}、2個の数からなるガロア体をGF(2)と略記します。(F2と書く場

合もあります)GF(2)の加算は排他的論理和(exclusive OR)の計算と同じで、0+0=0、1+0=0+1=1、1+1=0となります。乗算は論理積(AND)と同じです。引き算が加算と同じになるなど説明は第9回に扱います。

Page 14: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

拡大体の世界 (符号理論)

14

0と1だけでは不便なので、もっと便利な有限体の世界を定義したくなります。

実数体に虚数を加えて複素数体を作ったようにGF(2)に0でも1でもない数(通常αなどが使われる)を加えた(ガロア)拡大体を構成できます。

実数体では方程式 1+X2=0 は根を持ちません。その根の一つを虚数単位 i として 複素数体は構成されましたよね。

GF(2)では 1+X2=0 は重根1を持ちます。1を代入すれば左辺は0になります。これは 1+X2=(1+X) 2と因数分解できるのです。

その代わりに1+X+X2=0はGF(2)では根をもちません。その1つをαとすると{0、1、α、α2}からなる数の世界(α3=1)がGF(4) (4つの数からなる有限体)ができるのです。

QRコードやCD、DVD等幅広く使われているリード・ソロモン符号はこの拡大体で定義されています。これらの実用例では先ほどの例題の2次式方程式の代わりにある8次方程式を使って定義されたGF(256)を利用しています。

ちょうど数が(1バイト)で処理できるは便利ですね。

拡大体は、複素数体と異なり、いろいろな根の無い式から異なる体を定義して実用しているところが面白いところですね。今回は予告編として第9回でもう少し詳しく説明します。

Page 15: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

15

2元対称通信路:離散的通信路モデルの例P.12の図の離散的通信路モデルがどの様にふるまうのか最も簡単なモデルを説明します。図の中で誤りが(0から1、1から0に誤るのが等しく)確率pでランダムに発生するモデルです(これを対称誤りといいます)。この通信路モデルに入力されるものは0,1の2通りで、確率pで誤って、1-pで誤らずに0又は1が出力されます。これらをそれぞれ入力アルファベット、出力アルファベットと呼びます。ここで入力アルファベットが0,1であることを二元の通信路といいます。∴このモデルを二元対称通信路 (Binary Symmetric Channel、BSC)といいます。その入出力の値の関係を2部グラフで表現すると以下の通りになります。なお、P.12と異なりこのモデルではブロック化されたベクトルそのものは描写していません。

0 0

1 1

1-p

1-p2元対称通信路の2部グラフ表現

誤り確率が等しい(対称)

出力アルファベット二元なので{0,1}

入力アルファベット二元なので{0,1}

Page 16: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

16

離散的通信路モデル(2)p.7で判断つかない手紙の例で消失(erasure)という概念を説明した。「受信したデータがあるがそれが何か判断できないもの」である。

0,1を送信し、この消失が起こる通信路は下図(左)の様な離散的通信路モデルで表せることが分かるだろう。0,1どちらを送信しても、確率eで消失になる通信路だ。これを2元(対称)消失通信路(Binary Erasures Channel)と呼ぶ。慣用的に対称は略すようだ。この通信路では消失は起こるが、誤りは起こらないちょっと現実的ではない。

消失だけでなく誤りも起こる場合は下図(右)の様に描ける。0,1どちらを送信しても、確率pで誤り、確率eで消失となる。正しく受信できる確率は1-p-eだ。このモデルを2元対称誤り消失通信路(Binary Symmetric Errors and Erasures

Cannel)と呼ぶ。

図 2元消失通信路

0 0

1 1

e

e

1-e

1-e

消失

図 2元対称誤り消失通信路

0 0

1 1

p

p

1-p-e

1-p-e

消失e

e

消失について少し説明する。受信側の判定回路が例えば通常+1v

なら1、 -1vなら0となる場合、多少の雑音が重畳しても、正の値なら1、負の値なら0とすれば良い。しかし、0vに近い値の場合1,0どちらが送

られたかは断定しにくい、そういう場合に消失とするのだ。それを-何v~+何vにするかは設定次第だ。

Page 17: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

17

より一般的な離散的通信路モデル先ほどの説明で0か1か判断できないものを消失とする場合を説明した。

判断できないとせずに、信頼できるかどうかの補助情報をつければ、より総合的に判断できる可能性が高まる。この様な信頼度の情報を含めて受信機が動作するものを軟判定(soft decision)という。そうでないもの(消失を利用する場合を含めて)硬判定(hard decision)という。以下に信頼度が「高い」と「低い」の2通りの情報がある通信路モデルを図に示す。0,1を送信する時、この離散的通信路にはその2通りの値が入力される、「2入力」だ。受信側では、2通りの信頼度の情報を付加して2×2=4通りの出力「4出力」となる。

この通信路モデルを2入力4出力対称通信路(2-input, 4-output symmetric

0 0g

1 1g図 2入力4出力対称通信路の2部グラフ表現

p1+p2+p3+p4=1

p1<p2<p3<p4

p1p2

p3

p4

p1

p2

p3

p4

0b

1b

channel)と呼ぶ。図では信頼度の高低をgとbの添え字を用い、出力アルファベットを{0g,0b,1b,1g}とした。また、0,1が4通りの出力アルファベットになる確率は対称になっている。この値はp1,p2,p3,p4と記している。

Page 18: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

軟判定通信路

18

離散的通信路モデルの分類説明は次ページです

硬判定通信路2入力n出力通信路(n≦3)

0 0

1 1

二元消失通信路

消失

0 0

1 1

二元対称誤り消失通信路

消失

0 0

1 1

二元対称通信路

1 1g2入力n出力通信路(n≧4)

1b

0g

0b

符号の理論解析に使われる(この授業では扱わない)

代数的な符号の復号が容易

これも代数的な符号の復号が比較的容易

高信頼の復号が期待できるが代数的復号は複雑

Page 19: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

(前ページ)離散的通信路モデルの説明

19

以上で、「硬判定通信路」である、二元対称通信路、二元消失通信路、二元誤り消失通信路と「軟判定通信路」である、2入力n出力通信路(例ではn=4の場合)を説明しました。前ページの図では硬判定通信路は黄色地で囲ってあり、軟判定通信路は緑地になっている。

実数体に虚数を加えて複素数体を作ったようにGF(2)に0でも1でもない数(通常αなどが使われる)を加えた(ガロア)拡大体を構成できます。

実数体では方程式 1+X2=0 は根を持ちません。その根の一つを虚数単位 i として 複素数体は構成されましたよね。 その代わりにできるのです。

QRコードの代わりにある8次方程式を使って定義されたGF(256)を利用しています。この場合、「二元」ではなく多元(256元)の通信路モデルになります。ちょうど数が(1バイト)で処理できるは便利ですね。

Page 20: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

加法性通信路

20

右図の様に入力v,出力rの通信路は誤りeを用いてr=v+eと表現できるときこの通信路の誤りは加法性であるという。2元通信路では、この加算は排他的論理和。

この授業で扱う通信路は全て加法性のものだ。

Error

source

+v r=v+e

e

0 0

1 1

1-p

1-p

2元対称通信路の2部グラフ表現

図 加法性通信路

Page 21: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

通信路に関する補足(試験には出さない余談)

21

2元通信路の中で、対称で無い通信路の特殊な形として①非対称誤り通信路(asymmetric error channel)、②一方向性誤り通信路(unidirectional error channel)がある。①②両者は微妙に定義が異なるが共に0→1又は1→0の誤る確率が0の通信路である。その形から Z channel と呼ぶこともある。ここでは詳細は扱わない。

0 0

1 1

p2

p1

1-p1

1-p2

0 0

1 1

1

1-p

0 0

1 1

1

1-p

0 0

1 1

1-p

1

(2元)非対称通信路一般的な形

①(2元)非対称通信路非対称誤り訂正符号を議論する場合のモデル(Zチャネル)

②一方向誤り通信路:一方向誤り訂正符号を議論する場合のモデル。上段の通信路、下段の通信路の2通りが起こりうるが、1つの符号語(受信語)の間、切り替わらない。一方向誤り訂正符号は非対称誤り訂正符号と性能が異なる

Page 22: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

22

繰り返し符号誤り訂正能力以上で、通信路モデルの説明が終わったので、手紙の例題に戻り、誤り訂正符号の「訂正能力」について説明する。先ほどの例では送信したい情報0、1の代わりに3回繰り返した符号語(000)、(111)を送信する。受信側では、0と1多い方を送信したかった情報と判断すればよい。この場合、どの様な1個の誤りも訂正可能であり、 2個以上の誤りを誤訂正する(間違えて復号する)こととなる 。受信したベクトルが(000),(001),(010),(100 )ならば、送信情報を0と推定し、(111),(110),(101),(011)ならば1と推定するわけだ。以上の説明の前に述べなかったが、「二元対称通信路」を想定している。

「(3,1)繰り返し符号は1個までの誤りを全て訂正できる。」という。ならば、

(n,1)繰り返し符号nビット中の何個までの誤りを訂正可能か?多数決で判断するのだから過半数を割らない数、(n-1)/2個を超えない正整数までの誤りを訂正可能といえる。では4つの5次元ベクトルの集合C1={v1=(00000), v2=(01011), v3=(10101),

v4=(11111)}を符号として使う場合を考えよう。受信したベクトル(受信語という)をrとするとき、rの1の数が1個以下ならば、符号語 v1を送信したと判断できる。v2や,v3を送信した場合、2個誤りが起こらないと1の数が1個にならないからだ。こういう議論をするときにハミング距離(次頁)と呼ぶ距離を用いる。これをdH()と書くとする。 rの1の数が1個で、例えばra=(01000)の場合、dH(v1,ra)=1、dH(v2,ra)=2、 dH(v3, ra)=4である。

Page 23: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

23

ハミング距離Hamming distance

例年、前ページで出た「ハミング距離」をこれまで学んでいないという人が多いので、このページで説明する。論理回路の授業があれば必ず学ぶのだが、離散数学で触れるかどうかは微妙だ。しかし、様々な教科の議論の中で出てくる言葉なので、この授業の履修を止めたとしても、必ず理解して欲しい言葉だ。

ハミング距離は「2つのベクトルの要素の異なるものの個数(同じ位置)」である。

例)2つのベクトル(A)xa=(01011)とya=(10010)、とのハミング距離および、(B)xb=(12345)とyb=(62305)とのハミング距離は(A)(01011), (B)(12345)

(10010), (62305)xa とyaの異なる要素は3箇所、xbとybの異なる要素は2箇所なので、

xa とya及びxb とybのハミング距離は、dH(xa ,ya)=3、dH(xb ,yb)=2である。

とても簡単だ。またベクトルの中の 0 でない要素の個数をハミング重み(Hamming weight)という。あるベクトルxと同次元数全0のベクトル0とのハミング距離dH(x,0)=dH(0,x)がベクトルxのハミング重みになる。

例) xa =(01011)なら3、 yb =( 62305)なら4となる。

※ ハミング距離は距離の性質を満たすので、交換則、三角不等式を満たす。詳細略

Page 24: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

24

誤り訂正能力を考える

符号C1={v1=(00000), v2=(01011), v3=(10101), v4=(11111)}の例を続けよう。rの1の数が1個以下ならば、符号語 v1=(00000)を送信したと判断できる。 1個の誤りを訂正できる例をP.22に示した。

ここで、1の数が4個のベクトル例えばrb=(01111)を受信したと仮定しよう。これは、 v4=(11111)を送信し先頭がビットが誤り、rbになったr=v4+(10000) とも、v2=(01011)を送信し3番目がビットが誤り、rbになったr=v2+(01000)とも見れる。

果たしてv2とv4のどちらを送信したのか、どちらの誤りが通信路で起きたのか判断できない。「符号C1は全ての1個の誤りを訂正できるとはいえない」ことが分かる。 この議論は、d(rb, v4)=d(rb, v2)=1であることに対応する。

P.22の訂正できる例に関する符号語間のハミング距離がdH(v1,v2)=dH(v1,v3)=3、であるのに対して、訂正できないこのページの例では dH(v3,v4)=2であることに対応する。

dH()=3は(3,1)繰り返し符号の2つの符号語(000)(111)のハミング距離と同じだ。 (2,1)繰り返し符号を考えれば2つの符号語(00)(11)のハミング距離は2であり、この場合1個の誤りを訂正できないことが dH(v3,v4)=2は対応する。

以上から、符号の最小距離を定義すれば最小距離に対する符号の誤り訂正能力に関する定理が得られる(次ページ)。

Page 25: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

25

符号の最小距離と誤り訂正能力

以上のことから次の定理が導ける。

定義:【最小距離】 ある符号Cの任意の要素(符号語)v1,v2∈Cに関してその、ハミング距離dH(v1,v2)の最小値dmin(但しv1≠v2)をCの最小距離(minimum

distance)と呼ぶ。

定理:【誤り訂正符号の訂正能力】符号Cの最小距離がdminであるとき、

を満たすT個までの全ての誤りを訂正可能。但し はxを超えない最大の整数(床関数, floor functionと呼ぶ)である。また はx以上の最小の整数(天井関数, ceiling functionと呼ぶ)である。

(n,1)繰り返し符号の説明で、「nビット中の何個までの誤りを訂正可能か?多数決で判断するのだから過半数を割らない数、(n-1)/2個を超えない正整数までの誤りを訂正可能。」というのは、 (n,1)繰り返し符号の最小距離dminがnであることと、床関数で「~個を超えない正整数」を記せば同じことになる。

前ページの符号C1の最小距離を求めれば、 dH(v3,v4)=2が最小値であるのでのdmin=2となる。∴T=0となるので全ての1個の誤りを訂正することができない。訂正できるraが例外だ(注:後で述べる限界距離復号では訂正しない)。この符号C1は良くない符号の例として取り上げたが、このためどの様に符号化するのかは与えていない。次から行列を用いて符号化する線形符号を取り上げる。

2

1mindT

x x

Page 26: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

26

線形符号P.10のブロック符号の説明で、kビットに区切った情報をnビットの符号語に1つづつ符号化する説明を思い出してほしい。kビット(のベクトル)からnビット(のベクトル)を作るには、k行×n列の行列を用いればよい。これは線形演算になるので線形符号「kビットをnビットに符号化するから(n,k)線形符号」と呼ばれる。

kビットの情報ベクトルを u=(u1u2・・・uk)、nビットの符号語(ベクトル) v=(u1u2・・・uk)とするとき、

v=uGとして符号化できる。(二元の場合GF(2)上で計算する)

ここでGを生成行列と呼ぶ。Gはk行×n列の行列である。

線形符号の符号語は線形性を有する。

∴符号語の和も符号語、符号語の定数倍も符号語である。注:符号語はベクトルであり、和は、要素ごとに和=exorを計算する。

→線形符号Cにおいて、u,v∈Cならば、 u+v∈C, β u∈C。

ここでβは定数。二元符号ならば、β=0,1のいずれか。β=0の時β u=0。

∴全0ベクトルは必ず線形符号の符号語である。

例題:前の例符号C1が線形符号ではないことを示せ。

Page 27: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

27

線形符号の性質:検査行列とシンドローム

検査行列をGHT=0 を満たす行列Hとして定義すれば(Tは行と列を入れ替えた転置行列を意味する)、符号語v=uGに対して

vHT=0 となる。 (∵=uGHT=u0=0 ,つまり符号語とHTの積は0ベクトル)。

このvHT=0 となる性質を利用して誤り検出ができる。

情報ベクトル u を符号化して作成した符号語 v=uG を送信し、通信路で誤りベクトル e が付加された後、受信側で受信語 y=v+e を受け取ったとする。

シンドロームs(syndrome 症候群)をs = yHT と定義するこれは s = yHT = (v+e)HT = vHT+eHT = 0+eHT = eHT

であり、送信されたデータvに依存せず、取り除くべき(未知の)誤りeにのみ依存する量(Hの行数に対応するベクトル量)になっている。また、eが0ベクトルならばsも0ベクトルになり、sの値を調べることで誤りの有無を知ることができる。(全ての符号語と受信語yを比較するより簡単)

まとめ線形符号は生成行列Gで、v=uGとして符号化でき、検査行列Hによりs=yHTとしてシンドロームsを求めれば、それが0ベクトルであれば誤り無し、そうでなければ誤り有と判断できる。

Page 28: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

28

線形符号の例例1 (n,1)繰り返し符号

(n,1)繰り返し符号は、1ビットの情報をnビットの符号語にする。その生成行列は1行×n列の行列(単なるn次元ベクトル)になる。その生成行列を求めよ。

解答 0を符号化した時にn次元の全0ベクトルを符号語として得る、1を符号化した時にn次元の全1を符号語として得るということを連立方程式をたてれば生成行列が求まるが(略)、これは明らかに全1を符号語と同じn次元の全1ベクトルになる「(3,1)繰り返し符号の場合生成行列は(111)という3次元ベクトル」。

例2 (k,k+1)パリティ検査符号(parity check code)

検査ビット数(検査ビットの数=n-k,符号語のビット数nから情報ビット数kをひいたもの)が1ビットなので単一パリティ検査符号(single parity check code)とも言う。最小距離は2である。 ∴誤りの訂正はできない。符号語の中の1個の誤りを検出する。(結局全ての奇数個の誤りを検出する。)

符号化方法、生成行列などを次ページで説明。

応用としてコンピュータのパリティ付きのメモリ(ECC付きのDIMMより以前の製品)に使われた(macやIBMPC、ワークステーションにより符号長nのサイズが異なる)。光通信などにも使われているらしい(未確認)。

Page 29: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

29

(k+1,k)パリティ検査符号

符号長n=k+1生成 ←n=k+1→行列 100・・・01↑ 010・・・01G= 001・・・01 k

・・・・・・・・000・・・11

↓← k →

k×k単位行列と全1縦ベクトルからなるk×n行列

これを生成行列で表せば、右図の様になる。当然、上記の条件を連立方程式で求めることができるはず。

注意:実用上はこれと反対に奇数パリティをとる例がある(性能・訂正能力は変わらないがこれは線形符号ではない)。符号理論としては本来偶数パリティである。

符号化方法:kビットの情報の1の数を数えて奇数ならば1を偶数ならば0を1ビットを検査ビットにする。k+1ビットの符号語の1の数が必ず偶数となる(偶数パリティという)。u=(u1,u2 ・・・,uk)、v=(v1,v2 ・・・ ,vk,vk+1)とするとき、v1=u1,v2=u2,・・・,vk=ukで、vk+1,=u1+u2 +・・・+ukである(+はGF(2)上の演算(exor)である。)

Page 30: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

30

用語:組織符号化(systematic encoding)

kビットの情報ベクトルにn-kビットの検査ビットを付加し、nビットの符号語を作成するような符号化を組織符号化という。逆にnビット全てを符号化処理によって定めるものを非組織符号化(nonsystematic encoding )という。

組織符号化を用いれば、シンドロームによるチェックで、誤りが無いと判断できれば、kビットの情報部分を取り出せばよい。誤り検出のみを行うのは単純さから実用上有利。問題 組織符号化に対応する線形符号の生成行列をどの様な形になるか。解答 次ページ

←k→

←k→ ←n-k→

そのまま ↓検査ビット作成

組織符号化

←k→

←n→

すべて符号化

非組織符号化

Page 31: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

31

既約台形標準形←組織符号化

前出パリティ検査符号の生成行列の場合←n=k+1→100・・・01 ↑010・・・01

G= 001・・・01 k・・・・・・・・000・・・11 ↓←k →

←k→

←k→ ←n-k→

そのまま ↓検査ビット作成

組織符号化

線形符号の場合、生成行列の左側k×k正方行列部分が単位行列の形をしている生成行列を用いれば組織符号化ができる。この生成行列を既約台形標準形と呼ぶ。これまでの例題は全て組織符号化になっている。

全ての線形符号は必ず既約台形標準形の形に変換できる。 これはそれぞれの符号語と情報ベクトルの対応関係(符号化)が変わっただけの等価な符号に過ぎない。

1の位置が台形をしている

Page 32: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

誤り訂正符号 第1回

32

今回から誤り訂正符号(ブロック符号)に入ります。ちょっとページ数が多くなりましたが大丈夫でしょうか?

幾つかの線形符号、通信路モデル、最小距離と訂正能力の関係を扱いました。

線形符号の例としてはもうひとつとても重要なハミング符号がありますが、これは次回に説明したいと思います。

Page 33: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

33

第六回毎回テスト

ある二元符号C2をC2= {(0000000000), (1111111111),

(0101010101), (1010101010)}とするとき、

(1) C2の符号長nは幾つか、

(2) C2の情報ビット数kは幾つか、

(3) C2の最小距離dminは幾つか、

(4) C2の訂正能力Tは幾つか

(5) C2は線形符号か、そうでない(非線形符号)か答えよ。

(※) 問題(5)に補足:線形符号であればその生成行列を示せ。

※はメールで解答しないで良い問題です。

解答の導出過程は自分のノートに(電子的でも構いませんが)きちんと残しておきましょう。(3)、(5)は本来は途中の説明がいる問題です。その他はどのページにある情報を使ったかなどメモしておくと思い出しやすいでしょう。

Page 34: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp/22/ya1/itsys/itsys20206.pdf情報通信における誤り訂正の位置づけ 送信者 誤り訂正

出欠の連絡について(今回も前回同様に行います)

34

このPDFファイルが置かれたページに説明されているフォーマットで、出欠の連絡をメールで行ってください。メールのSubject欄(件名)をITSYS[学籍番号]attend(06)

として、メール本文も指定の書式で始めてください。本文には続けて、以下のアンケート項目A)~D)と、第六回毎回テストの解答(1)~(5)をコンマ区切りでなるべく1行で埋めてください。A) このPDFをダウンロードした日(忘れた人はおおよそで)B) このPDFをひととおり読み終わった日C) 内容を理解するのに要したおおよその時間(問題解答時間を含む)D) 「ハミング距離」をすでに何かの授業で学んだ人はその科目名を書いて下さい。それ以外の人は、「授業以外で知った。分かっている」「言葉は見た(聞いた)覚えがある。詳しくは理解していない」「この資料が初めて」で一番近いものを書いて下さい。

前回同様、何か書きたいこと、山口に伝えたいこと(質問や回答が必要なことを除く)があれば、解答より後ろに(改行してもかまいません)自由に書いて下さい。その他についてもこれまで同様なので略します。

注意!第6回なので、06です