[画像のクリックで拡大表示]
[画像のクリックで拡大表示]
[画像のクリックで拡大表示]
[画像のクリックで拡大表示]
[画像のクリックで拡大表示]
[画像のクリックで拡大表示]
[画像のクリックで拡大表示]
[画像のクリックで拡大表示]

 前回はブロック同期の技術であるキャラクタ同期とフレーム同期について学習しました。ブロック同期の技術を使うと,受け手はディジタル・データの切れ目がわかります。単なる0と1の並びを意味のあるデータの固まりとして受け取ることができるわけです。

 データが相手にいつでも確実に届けばこれで通信できるのですが,そう簡単にはいきません。実際の通信では,途中でビット・エラー(符号誤り)が起こる可能性があるからです。送信側では「1」を送ったはずなのに受信側で「0」になったり,逆に「0」を送ったのに「1」と受信されてしまうことがあるのです。

 受信側がビット・エラーに気づかないと,誤りのあるデータを正しいと勘違いしたままになって,相手に正しいデータを送り届けることができません。そこでビット・エラーが起こったこと(あるいは誤りが起こっていないこと)を知るためのしくみが用意されています。これが今回のテーマである「誤り検出」技術です。

 第1回で見たように,LANなどではディジタル信号を電気信号として送ります。たとえば,1Vボルトは「1」,0Vは「0」のようにビット値を電圧の高低に対応させるとしましょう。こうした場合,受け取り側は1Vと0Vを検出するのではなく,中間の値を境にして例えば0.5Vよりも大きな電圧ならば「1」,0.5V以下なら「0」が届いたと判断します(pict.1[拡大表示])。

データが相手に正しく伝わらない理由は?

 電圧の変動が小さければ,送り手側の信号が受け取り側でも正しく判別されるのでビット・エラーは起こりません。しかし,信号を伝送している途中で大きな雑音が信号が混ざって電圧が大きく乱れると,本来「0」であるべき信号が「1」と解釈されてしまうことが起こります。これがビット・エラーです。実際の通信では簡単にビット・エラーが起こらないようにいろいろ工夫がされていますが,ビット・エラーの発生を完全に防ぐことはできません。

 送信したビット数に対して,誤りが生じるビットの割合をビット誤り率と呼びます。ノイズに強い同軸ケーブルを使った場合のビット誤り率は,100万分の1(10の−マイナス6乗)以下,つまり100万ビット送っても1ビットのエラーがあるかどうかといったところです。

 ビット誤り率がいくら低くても,それがゼロでない限り誤り検出の技術は必要です。ディジタル通信は1ビットの誤りが致命的な問題を引き起こすからです。

 たとえば,文字Aを表すJISコード「01000001」を送る途中に,5番目のビットでビット・エラーが生じると「01001001」(I)となります。この場合,「A」を送ったのに受け手は「I」だと解釈します。この誤りが電子メールのあて先を示す部分で起こると電子メールは正しくあて先まで届きません。本文のパートで起これば文字化けになります。

上 中 下 次へ