crc p127-129 詳細は情報ネットワークで · 2011. 6. 25. ·...
TRANSCRIPT
通信処理概論
野中 弘二
高知工科大学
電子・光システム工学科
通信処理概論:6月9日開始8月4日終了
8月4日本テスト
通信処理概論講義について • 講義目標:デジタル通信の信号の取り扱いを理解する
• PCM符号化方式の復習
• デジタル2進符号の伝送時の速度と品質確保のための手法
• TDM時分割多重方式の詳細
• 品質確保(誤り発見訂正)と効率化(圧縮手法)の理解
• 5.デジタル通信網の効率的設計法(ネットワーク設計)
• 教科書は「通信工学」節約のため1Q+2Q 共通
足りないところを補助資料プリント配ります。
• 2回の小テスト6月30日、7月28日+本テスト8月4日
(出席はとりますが出席で加点はありません。)
アナログ変調(AM)の復習 信号波形(アナログ)×搬送波がアナログ変調→そのときのスペクトルは?
t VsSinωst ω ωs
信号
t VcSinωct ω ωc
搬送波
t
Vc(1+m・Sinωst)Sinωct ω
ωc-ωs ωc+ωs
ωc
Sinωs・Sinωc=-1/2・Cos(ωs+ωc)+1/2・Cos(ωs-ωc)
標本化 量子化 符号化 アナログ信号 デジタル信号
PCM(パルス符号変調)
アナログ信号 標本化(PAM信号) 量子化 2進符号化
(PCM信号)
パルス符号変調(アナログ信号→デジタル信号)
001 010 100 100 010 001
標本化(サンプリング)
標本化 : 一定の繰り返し周期で情報信号の瞬時値をPAM信号として読み取る
PAM信号
アナログ信号
サンプリングパルス
ナイキスト定理(パルス列をどこまで間引けるか) アナログ信号に含まれる最高周波数成分の2倍より高い繰り返し
周期のパルス列を用いないと、復調のときにアナログ信号が
完全に復元できない=2倍より高い繰り返し周波数の短パルス列必要!
ωm<ωs/2 ωm:アナログ信号の最高周波数成分
ωs:サンプリングパルス
標本化(PAM信号) 量子化 t t
標本化されたPAM信号の強度を離散的なレベルのどれかに近似することを量子化という
中途半端な値を最も近い離散的な数値に置き換える
量子化歪み
離散化した値(量子化ステップ)に
当てはめる際生じる源信号とのズレ
離散的な数値
(量子化レベル)
量子化①
量子化
ステップ
≪量子化歪み(雑音)の低減方法≫
量子化ステップsが小さいほど
元の信号に忠実な信号を作り出せる。
量子化による雑音は式①で求め
られる。詳しくは教科書p111へ
量子化ステップを増やせば雑音電力は減る!
ただし、情報量(ビット数)は増えていく・・・
・・・①
元の信号 量子化後の信号
ステップs小
ビットレート[bps] = 標本周波数[Hz]×量子化ビット数[bit]
量子化②
量子化
歪み小
ステップs大
量子化
歪み大
PAM信号からのAD変換で2進符号に
PAM
Vin
τ t
サンプルボールド回路
加減算回路
局部複号器
比較器 PCM
アナログ
レベル
帰還型AD変換器
(デジタル信号レベル)
波形を間隔Tのパルス列で打ち抜き
(パルス振幅波長)波形を生成→量子化へ
×
周波数f0なら2f0
PCM2進符号化例
例: 自然2進符号で表される3ビット列が入力されてきた。以下のビット列で構成するアナログ波形を描く。
量子化⇒2進数
7
6
5
4
3
2
1
0
振幅値
S1 S2 S4 S3
+
-
自然2進符号
111
100
011
010
001
000
110
101
S5
S5 S4 S3 S2 S1 <100 110 101 011 010>
b3,b2,b1
信号の流れる方向
結局 何でデジタル使うの?
悪いとこ • ユーザのアナログをわざわざデジタル化
• アナログ→ デジタル 誤差発生
• 同じ情報ならたくさんの伝送データ必要
良いとこ • 一旦デジタルにしたら雑音に強い
• 誤り発見・訂正可能
• どんな情報も一括取り扱い、複製簡単
• 様々な暗号や圧縮手法
• 効率的時間多重・伝送可能
• LSI技術と相性が良いので量産可→安い!
伝送路のデジタル再生中継
1 , 0 しか無い、クロック共通を利用した
ビットごとに再生する「デジタル3R機能」
等化整形 Reshaping
整時 Retiming
識別再生 Regenerating
光ファイバ増幅器(EDFA)
→ 光通信はあまり波形が劣化しないので
強度のみを線形増幅
→ ビットごとに処理しないので簡単!
デジタル3R機能
①等化整形(Reshaping) ②リタイミング(Retiming) ③識別再生(Regenerating)
• デジタル再生中継器には、大きく分けて3つの機能があり、それぞれの頭文字を
とってデジタル3R機能と呼ばれる。
10110
① ② ③ 1 1 1 0 0
2人の通信:糸電話 多数の通信:ネットワーク
歪まないためのDigital送信符号化の要件
ケーブルによる高速信号処理の基本は交流回路
1110000000101011111をどうエラーなく送る?
基本はシンプルなベースバンド伝送方式と高速交流回路
あんまり複雑な符号は高速処理がつらい
0がやたら続くとクロックがわからなくなる
1がやたら続くとDC成分増えてレベル低下で処理ミス発生
符号誤りは早めに発見しやすい方がよい
ベースバンド通信 (1回の符号変調で1bit伝送)の伝送符号
• パラレル伝送とシリアル伝送
• 単方向通信・半2重通信と全2重通信
• ベースバンド伝送方式の符号
・RZ (Return to Zero),
・NRZ (Non Return to Zero),
・AMI (Alternate Mark Inversion)
・CMI (Coded Mark Inversion)
・マンチェスタ符号 詳しくみてみよう!
符号形式
≪特徴≫
簡単、1連続ではクロック検知困難
クロック抽出容易、帯域幅NRZの2倍必要
CMIより狭い帯域,3レベル必要、誤り発見可
帯域幅が広く必要,2レベル、誤り発見可
長期に連続する“0”または“1”が現れない
0 1 1 0 1 0
NRZ
RZ
AMI
CMI
011010 の情報を持った2進符号をNRZ, RZ, AMI, CMIの符号形式で示す。
誤り検出手段
誤り訂正符号 1 (パリティ)
→1単位の信号列のマーク数をカウント
送信結果の正誤発見する
誤り訂正符号 2 (CRC符号)
→1単位の信号列をわり算
計算結果の正誤で連続誤りを発見する
まずはハミング距離から始めましょう
誤り制御
許される誤り率 有線の場合
音声10-5(リアルタイムでPCMの音声が乱れない範囲) データ通信 < 10-9(10-12ならエラーフリー) 誤り制御(検出と訂正)の必要性
無線の場合
有線より少し甘くて10-6ならエラーフリー
誤り発見の基本概念 単位ごとにマーク“1”やスペース“0”ビット配列に法則性を
設け、それが破れるとどこかに誤りがあると認定
パリティチェック
単位ごとにマーク“1”ビット数が偶奇を一定に
受信マーク数計測し偶奇のずれで誤り発生検出
• 垂直パリティチェック
7bitキャラクタに1bit付加→1Byte中1数偶奇を統一
• 水平パリティチェック
伝送ブロックの最後に1bit付加→水平1数を偶に
8bitまとめて→ブロックチェックキャラクタBCC
パリティによる誤り検出(垂直パリティチェック方式)
垂直パリティ (例: 奇数パリティ方式)
d の垂直パリティに”1”が偶数個あることからd の情報が誤りだと発見できる。 ※1 つのデータに誤り箇所が2か所以上ある場合、発見できない。
P 1 0 1 0 0
b7 1 1 1 1 1
b6 0 0 1 1 0
b5 0 1 1 0 0
b4 0 0 0 1 0
b3 0 1 0 1 1
b2 0 0 0 0 0
b1 1 0 1 0 1
データ A T q d E
偶数パリティ方式 :ビット“1”の総数が偶数個なら“0” , 奇数個なら“1”を付与する
奇数パリティ方式 :ビット“1”の総数が偶数個なら“1” , 奇数個なら“0” を付与する
誤り訂正(水平パリティ方式)
垂直パリティ (例:奇パリティ方式)
水平パリティ
(常に偶数パリティ方式)
P 1 0 1 0 0 0
b7 1 1 0 1 1 0
b6 0 0 0 1 0 1
b5 0 1 1 0 0 0
b4 0 0 0 1 0 0
b3 0 1 0 1 1 1
b2 0 0 0 0 0 0
b1 1 0 1 0 1 1
データ a b c d f BCC
偶パリティ方式 : 監視範囲内のビット”1”総数が偶数個なら末尾ビットに”0” 、奇数個なら“1”を付与する
奇パリティ方式 : 情報のビット”1”総数が偶数個なら”1” 、奇数個なら”0” を付与する
bの垂直パリティに”1”が偶数個、b4水平パリティに”1”が奇数個あることから
dのb4の1が誤りだと分かり、瞬時に0に訂正できる。 ※誤り箇所が2か所ある場合、訂正ができない
パリティによる誤り訂正(水平パリティチェック方式)
d の垂直パリティに“1”が偶数個、b4 の水平パリティに”1”が奇数個あることから
d のb4 の“1”が誤りだと分かり、瞬時に“0”に訂正できる。 ※誤り箇所が2か所以上ある場合、訂正できない
垂直パリティ (例: 奇数パリティ方式)
水平パリティ
(常に
偶数パリティ方式)
誤り箇所
の訂正
偶数パリティ方式 :ビット“1”の総数が偶数個なら“0” , 奇数個なら“1”を付与する
奇数パリティ方式 :ビット“1”の総数が偶数個なら“1” , 奇数個なら“0” を付与する
P 1 0 1 0 0 0
b7 1 1 1 1 1 1
b6 0 0 1 1 0 0
b5 0 1 1 0 0 0
b4 0 0 0 1 0 0
b3 0 1 0 1 1 1
b2 0 0 0 0 0 0
b1 1 0 1 0 1 1
データ A T q d E BCC
P 1 0 1 0 0 0
b7 1 1 1 1 1 1
b6 0 0 1 1 0 0
b5 0 1 1 0 0 0
b4 0 0 0 0 0 0
b3 0 1 0 1 1 1
b2 0 0 0 0 0 0
b1 1 0 1 0 1 1
データ A T q d E BCC
連続誤りの発見/訂正手法
パリティ 1 単位の信号列のマーク数をカウント送信結果の正誤を検出(エラー1個まで) ランダム誤りを対象とする。
CRC巡回符号 Mビットの情報に対してビット長 r のチェックビットを付加バースト誤りに強い。多項式の加減算はモジュロ(modulo)2で行う。
〔101〕= 1×22+0×21+1×20
〔1010・・・1〕 = 1×2n-1+0×2n-2+1×2n-3+0×2n-4+・・・+1×20
αn-1Xn-1+αn-2X
n-2+αn-3Xn-3+・・・+α0X
0
〔奇 → 1, 偶 → 0〕
モジュロ(modulo)2 ⇒ 0±0= 0, 1±0= 1
0±1= 1, 1±1= 0
誤り監視パリティとCRC方式の違い
• フレーム内でランダムに発生する1bit誤り発見/訂正→パリティ
• まとめて現れるバースト誤りに強い検出法
→CRC(Cyclic Redundancy Check cord)方式
• CRC符号(チェックシーケンス)で割り算して余算出
例: 元信号 P(X)=bXn-1+bXn-2+bX1+b+G(X)
CRC-16 G(X)=X16+X12+X5+1
剰余 R(X) これを末尾に付与する
送信 F(X)=XnP(X)+R(X)
受信後 → CRC検出 剰余 = 0なら正しい情報
≠ 0 なら誤った情報
CRC符号における誤り発見
チェックビットの生成:CRC-6の場合 お客の情報 (12bit)
M(x) = (b11, b10, b9, ・・・, b1, b0) = (101001001010)
module2で割り算(引き算)するための符号 (CRC-6)
G(x) = (b6, b5, b4, ・・・,b1, b0) = (1010101)
x6M (x) / G(x) ⇒ 余剰 = チェックビット:R(x)
割り算結果は使用しない
この6bitのチェックビット使用
CRC分の桁を増やす
(CRC-6 なら6桁) 1010101
100011010000
101001001010000000 1010101
00001110101
1010101
01000000 1010101
001010100 1010101
00000010000
modulo2 0±0= 0, 1±0= 1 0±1= 1, 1±1= 0
送信情報
F(x) = xrM(x) + R(x) = (101001001010010000)
Mビットの情報に対してrビット長のチェックビットを付加
連続するバースト誤りに強い
CRC符号による誤り検出:CRC-6の場合
送信情報 : F(x) = (101001001010010000)
CRC-6 : G(x) = (1010101) F(x) / G(x) ⇒ 余剰
1010101
100011010000
101001001010010000 1010101
00001110101 1010101
01000000 1010101
001010101 1010101
00000000000
受信:この情報を1010101で割り算
⇒剰余が“0”なら正しい
⇒剰余が“0”でないなら6bit未満
の誤りがある
送信: F(x) = (101001001010010000)
(23日付けのアップで
タイプミス発見!修正しました) ↓
受信:この情報を1010101で割り算
⇒余りは0のはず!
⇒余りが0でないなら7bit未満
(6bit以下)の誤りがある
問1: STX, H, I, c, ETB の情報にパリティを付与して送信したら、受信側にはSTX(00000010), H(01001010), I(01001001),c(11110011), ETB(10010111), BCC(11010010)の情報が届いた。この情報には1ヶ所誤りがある。下図の水平パリティチャック方式を用いて誤り箇所を訂正せよ。
問2: M(x) = (101001001001) の情報にチェックビット:R(x)を付与して送信したい。CRC-6:G(x) = (1010101) の場合のR(x)を求め、送信情報を答えよ。
P 0 0 0 1 1 1
b7 0 1 1 1 0 1
b6 0 0 0 1 0 0
b5 0 0 0 1 1 1
b4 0 1 1 0 0 0
b3 0 0 0 0 1 0
b2 1 1 0 1 1 1
b1 0 0 1 1 1 0
データ STX H I c ETB BCC
垂直パリティ (奇数パリティ方式)
水平パリティ
(偶数パリティ方式)
演習例: 誤り検出
垂直パリティ (奇数パリティ方式)
水平パリティ
(偶数パリティ方式)
1, 2, P 0 0 0 1 1 1
b7 0 1 1 1 0 1
b6 0 0 0 1 0 0
b5 0 0 0 1 1 1
b4 0 1 1 0 0 0
b3 0 0 0 0 1 0
b2 1 1 0 1 1 1
b1 0 0 1 1 1 0
データ STX H I c ETB BCC
P 0 0 0 1 1 1
b7 0 1 1 1 0 1
b6 0 0 0 1 0 0
b5 0 0 0 0 1 1
b4 0 1 1 0 0 0
b3 0 0 0 0 1 0
b2 1 1 0 1 1 1
b1 0 0 1 1 1 0
データ STX H I c ETB BCC
解き方: 1, c の垂直パリティに”1”が偶数個、b5の水平パリティに“1”が奇数個あることから
c のb5の“1”が誤りだと分かる。
2, 誤っている箇所を 1⇔0 訂正する。
問1:
誤り箇所
の訂正
演習例: 誤り検出 (解答)
チェックビット:R(x) = (101111)
送りたい情報:M(x) = (101001001001)
CRC-6:G(x) = (1010101)7ビット
送信情報:(101001001001101111)
問2:
1010101
100011010011
101001001001000000 1010101
00001110100 1010101
01000011 1010101
001011000 1010101
0001101000 1010101
01111010 1010101
0101111
演習例: 誤り検出 (解答)
アクセス系の方式
1. 同期多重方式(FTTH, ISDN)TDMA
⇒あらかじめフレーム、データ速度、多重可能数が決められている
2. 非同期周波数多重方式( CATV, ADSL )FDMA
⇒FDMで使用chに使用周波数帯域を割り当てる
3. 符号分割多重方式(携帯電話、衛星通信)CDMA
⇒暗号化で効率的に同じ周波数域に重ねて送信する
どれだけ雑音混じって大丈夫か?シャノンの通信路符号化定理
C(bit/s)=W(Hz)log2(1+S/N) Wが大のとき、S/Nが小(雑音がいっぱいの中に少しの信号電力)でもこの限界までは情報が正しく送れる
C
W
:伝送可能速度
:帯域幅
S
N
:信号電力
:雑音電力
Broadband 伝送方式
広帯域の搬送波を複数ビットの変調
アナログ伝送技術→キャリア伝送方式
あまり高速の信号変化は乗せられない
微妙な強度や位相の変化は得意技
アナログ電話 Modemでデジタル信号を送るには?
→早くない多値変化1回で
デジタル情報をいっぱい送信
1変調 Baudで 多値のデジタル符号bit
強度変調ASK ,位相変調PSK,周波数変調FSK=MSK、強度と位相の組み合わせQAM
4〜256QAM=1変調で2〜8bit情報送信!
でも 誤り発生確率激増!→誤り訂正符号強化
無線:デジタルをModemで位相多値変調
Quadrature Phase Shift Keying(QPSK)
→ 1単位の信号を4つの位相で表し
2進数2bit分のデータを送信する
信号・空間ダイアグラム
3.2k-Baudが6.4kbit/s
周波数帯域は限られた資源!
→ゆっくりした変調で
一人当たりの使用帯域を節約
ブロードバンド変調
アンテナ下の周波数は限られた資源!
・FDMでスライス→ブロードバンド変調で節約
・同じ周波数を別の場所で再利用
→重ならないようにセル化して節約配置
無線アクセス系の周波数割当:セル方式
• 周波数、時間がだぶっても読める符号による信号多重
• 高帯域を多数の端末(ch)に送りたい
• 信号を盗聴されない
⇒符号分割多重方式(Code Division Multiplex:CDM)
(1chの帯域を十分に取って1bitを高速暗号化→使用帯域拡散)
シャノンの通信路符号化定理
C(bit/s)=W(Hz)log2(1+S/N)
• 1 帯域に多数チャンネル分の信号を積み重ね
⇒S/Nは劣化するが、総伝送量は向上
他の暗号解読されないチャンネルは雑音と見なす
スペクトル拡散変調
C
W
:伝送可能速度
:帯域幅
S
N
:信号電力
:雑音電力
• 1bit毎に高速暗号化してスペクトル帯域を広げる
⇒暗号に合った帯域フィルタと複合器の人だけ解読:CDMA
×
×
×
α
β
γ
受信
t
• code(暗号解読)÷α • いらない周波数をカット
t
A’
B’+C’
利用可能帯域を複数で
同時使用可能
A’
B’+C’
の一部
スペクトル拡散変調
スペクトル拡散変調
(例) 前提:A,B,Cは全帯域Wを使うと仮定する。
(フィルタリングは条件変動するので考慮しない) 使用帯域:10MHz,送りたい情報速度:1Mbit/s,何ch多重できるか。
C(bit/s) = W(Hz) ・ log2(1+S/N)より
1×106 = 10×106 × log2(1+S/N)
1/10 = log2(1+S/N)
21/10 = 1+S/N ・・・逆数
許せる S/N = 20.1 - 1
≒ 0.071・・ ⇒
よって、13+1 = 14(ch)
1
13.9327・・・
1ch
13ch以下
←(23日付けのアップで
タイプミス発見!修正しました)
(フィルタリングを考慮するともっといけます!)
演習 CDMA
帯域幅10MHz,伝送速度1Mbit/sのとき、許されるS/Nは、
C(bit/s) = W(Hz) log2(1 + S/N)
1×106 = 10×106 ・ log2(1+S/N)
S/N = 1 / 13.9327
⇒ 10log10(1 / 13.3927) = -11.44dB
帯域幅10MHz,多重chは8chのとき、伝送可能速度は
C(bit/s)=W(Hz)log2(1+S/N)
C = 10×106 ・ log2(1+1/7)
C = 10×106 ・ log10(8/7)
log102 = 10×106 ・ 0.193
= 1.93×106 (bit/s)
C
W
:伝送可能速度
:帯域幅
S
N
:信号電力
:雑音電力