法政大学情報科学部...
TRANSCRIPT
コンピュータネットワーク第3回授業
誤り訂正と通信の信頼性
WEB公開版のため、
内容は大幅に抜粋・修正してあります。
WEB公開版
法政大学情報科学部2012年度コンピュータネットワーク
2012年4月10日~2012年7月19日
WEB公開版
第1回 イントロダクション第2回 デジタル伝送技術第3回 誤り訂正と通信の信頼性第4回 イーサネットとデータリンクの仮想化第5回 LANの拡張と無線技術
第6回 遠距離通信とインターネットへの接続第7回 後半授業の準備第8回 通信の種類とフロー制御の基本第9回 大規模ネットワークの構築と運用第10回 4種類のルーティング第11回 制御パケットとセッション層のネットワーク第12回 データグラムとストリームの処理第13回 インターネットのインフラストラクチャ第14回 ネットワークのモニタリングとチューニング
誤り訂正と通信の信頼性
①速く、遠くまで正確に届くこと
変調、復調、デジタル通信
②資源を効率的に利用すること
多重化1:多くの人が同時に使える
多重化2:周波数帯の利用効率を上げる。
③信頼性があること
送信した内容と同じものが送信先に届く
ノイズや事故があっても影響がない
送信データの誤りが生じても、検出、訂正できる
第1,2回
WEB公開版
①速く、遠くまで届くこと
変調、復調、デジタル通信
②資源を効率的に利用すること
多重化1:多くの人が同時に使える
多重化2:周波数帯の利用効率を上げる。
③信頼性があること
送信した内容と同じものが送信先に届く
ノイズや事故があっても影響がない
送信データの誤りが生じても、検出、訂正できる
今日(第3回)の内容
通信の多重化とデジタル伝送技術
WEB公開版
本日の概要1:シャノン限界と誤り訂正符号
多重化技術誤り検出訂正技術
WEB公開版
F(x) = H(x) ?
H(x) = A(x) Or
H(x) = D(x) ?
本日の概要2:通信の完全性WEB公開版
通信方式
①直列と並列
②同期と非同期
③再送とリアルタイム
ARQ(Automatic Repeat reQuest)-自動再送要求
FEC(Forward Error Correction)-前方誤り訂正特徴
WEB公開版
直列(serial) と並列(parallel)WEB公開版
多重化と誤り訂正を兼ねるCDMA
TDM(時分割)
FDM(周波数分割)
CDM(符号分割)
WEB公開版
CDMAはPN符号というものを使う。
送信したい信号
PN符号
送信信号
受信信号複数の周波数帯をモニタして
いる。
複数の周波数帯域に広く拡散
WEB公開版
CDMA:受信側の処理
受信信号
PN符号
(送信側と同じ!)
演算結果+8→1-8→-1
スパイクが出れば正解!( `∀´)b
受信側は、送信側が使ったPN符号と同じPN符号を
持っている必要がある。
WEB公開版
同期が取れていれば多少ビットがずれていて
も訂正できる。
同期が取れてない(位相がずれている)と復元できない!
CDMAと誤り訂正・同期WEB公開版
デジタル通信の場合(標本化)
WEB公開版
変調(ASK) 変調(FSK)
デジタル通信の場合(変調・変調)
復調(FSK)復調(ASK)
WEB公開版
誤り訂正符号の種類
①誤りが検出できるが、間違っている位置が分からない。
②誤りが検出できるし、間違っている位置が分かる。
③誤り、位置とも検出できるが、その場で訂正できない。
④誤り、位置とも検出できるし、その場で訂正できる。
WEB公開版
搬送波の周波数帯域や信号電力の増加により、ノイズが増える可能性が高くなる。
しかし、S/N(信号とノイズ比)の増加により発生する誤
りを訂正することができれば、周波数帯域や信号電力を改善できなくとも、伝送容量を増加できる。
シャノンの定理WEB公開版
誤り検出方式(ARQ)Automatic Repeat Request
• 送信側のF(x)と受信側のG(x)が同じか?
• パリティ(偶数か奇数か)データのビット列内の1の数が偶数の時1、奇数の時は0
• チェックサム(和)データの総和を取る。0x61 0x56 0x78 = 0x12F
• CRC(割り算:余り)受信側と送信側で共有している生成多項式で割る。
• ハッシュ(写像)より小さな有限の空間に写像する。
WEB公開版
2つの誤り訂正符号
①ブロック符号
ガロア体上での除算、乗算を使う。
ハミング符号、BCH符号、リードソロモン符号
最新の符号→LDPC
②畳み込み符号
擬似乱数(M系列)等を使った系列相関と推定を行う。
CDMA、ビタビ符号、ターボ符号
最新の符号→ターボ符号
WEB公開版
有限体:ガロア体GF(2)
①ガロア体とは整数を素数で除算した余りの集合であり、要素が有限で四則演算が閉じている集合である。 - WikiPedia
Source: http://ja.wikipedia.org/wiki/有限体
②なので。。A とB という整数があり、任意の素数X でAとB演算結果を割ることで、通常の整数とは違う集合(体)を扱える。
• (0 + 0) / 2 = 0• (1 + 0) / 2 = 1• (0 + 1) / 2 = 1• (1 + 1) / 2 = 0
1=-1となるのがポイント!
WEB公開版
有限体の例:GF(2^4)
G(X)=X^4+X+1上の演算(4次の多項式)
GF(2)の1=-1が成立する。
①X^4 = -(X+1) = X+1なので
X^4は(0011)を割りあてることができる。
②X^5 = X*X4 = X(X+1) = X^2 + XX^5は(0110)となる。
G(X)=X^4+X+1上で四則演算ができる集合を体という。
WEB公開版
ステートマシン(畳み込み符号)vs 代数系演算(ブロック符号)
ブロック暗号の代数系演算に使うシフトレジスタ
畳み込み符号の生成にはこのようなステートマシンを使う。
WEB公開版
O1
O0
O2
X2X1
O0
O1
O1 O2
O2 G(x)
F(x)
有限体(GF)の演算は
シフトレジスタ回路と相性が良い
このシフトレジスタで、GF(2^3):G(X)=x^3+ x + 1の演算ができる!
係数の有無がフィードバックの位置に対応している。
X^2
WEB公開版
O1
O1 O2
X^3
X^1X^0
O0
O0
G(x)
F(x)
O2
O2
垂直水平パリティ:誤りの位置も検出する。WEB公開版
巡回冗長符号(割り算を使う)CDMA方式と同じく、受信側と送信側であらかじめ、同じ符号G(x)を持っている。
送信側は、符号G(x)を用いて、符号H(x)を生成して送信。G(x)*H(x)=0の条件とカーネルという。
受信側は、受信した符号H(x)を符号G(x)を用
いて検査する。H(x) / G(x) = 0 なら誤りなし。H(x) / G(x) > 0 なら誤りあり。(位置も特定できる)
WEB公開版
FECなブロック符号の例2ハミング符号:エラーシンドローム:EG
GS=0となるようにSを生成
GS=0
送信の過程でE(エラー)
が混入
送受信でGを
共有しておく。
EGをエラー
シンドロームという。
WEB公開版
1001を生成多項式G(x)=X^3+X+1
を使って1001001に変換 送られてきたH(x)
をG(x)で割って
余りをチェック
WEB公開版
ハッシュ関数(一方向性関数)WEB公開版
ハッシュ関数とSSL(通信の安全性)WEB公開版