ビット誤り率

読み:びっとごりりつ / 英語表記:Bit Error Rate

伝送したビットのうち、誤って受信されたビットの割合。回線の品質を表す指標で、値が小さいほど品質がよい。

イマシルちゃんの解説

データは0と1の並びで送られるけど、途中でノイズを受けると、0が1に、1が0に化けちゃうことがあるんだ。
その「化けやすさ」を数字にしたのがビット誤り率だよ。

たとえばビット誤り率が 1×10⁻⁵ なら、10万ビットに1ビットくらいの割合で化けるってこと。
だから、送るビット数にこの値をかければ、何ビットくらい化けそうかがわかるんだ!

1,600,000ビット送ったら、1,600,000 × 10⁻⁵ = 16ビットくらい化けるってことだね。

より深い解説

定義

ビット誤り率(BER:Bit Error Rate)は、次の式で定義される。

ビット誤り率 = 誤って受信されたビット数 ÷ 伝送したビット数

確率として見れば「1ビットを送ったときに、そのビットが誤る確率」である。そのため、伝送ビット数にビット誤り率をかけると、誤りビット数の期待値(平均値)が求められる。

誤りビット数の期待値 = 伝送ビット数 × ビット誤り率

指数表記の読み方

ビット誤り率は非常に小さい値になるため、10のマイナス乗で表す。

ビット誤り率意味
1×10⁻³1,000ビットに1ビット誤る
1×10⁻⁵10万ビットに1ビット誤る
1×10⁻⁹10億ビットに1ビット誤る
1×10⁻¹²1兆ビットに1ビット誤る

一般に、光ファイバによる有線回線は誤り率が非常に低く、無線回線はノイズや干渉の影響を受けやすいため誤り率が高くなる。

バイトとビットの換算に注意

試験問題では、データ量がバイト、誤り率がビット単位で与えられることが多い。誤りビット数を求めるには、必ずビットに換算してから誤り率をかける。

200,000バイト = 200,000 × 8 = 1,600,000ビット
1,600,000 × 1×10⁻⁵ = 16ビット

換算を忘れて 200,000 × 10⁻⁵ = 2 としてしまうのは典型的な誤りで、選択肢にもその値が用意されていることが多い。

電文単位の誤りとの関係

実際の通信では、ビット単位ではなく、ある長さのまとまり(電文、フレーム、パケット)単位で誤りを検出し、誤りがあればそのまとまり全体を再送する。そのため、「何ビット誤るか」だけでなく「何個の電文に誤りが含まれるか」を求めることも多い。これは ブロック誤り率 で扱う。

ビット誤り率が十分に小さく、1つの電文に2ビット以上の誤りが同時に起こることがほとんどないと見なせる場合は、次のように考えてよい。

誤りのある電文の数 ≒ 誤りビット数の期待値

前提:誤りはランダムに起こる

上の計算は、各ビットの誤りが互いに独立に、ランダムに発生する(ランダム誤り)という前提に立っている。

実際には、雷や瞬断などによって、連続した複数のビットがまとめて誤るバースト誤りも起こる。バースト誤りでは誤りが一部の電文に集中するため、誤りのある電文の数は、誤りビット数よりずっと少なくなる。試験の計算問題では、特に断りがなければランダム誤りを前提とする。

誤りへの対策

方式内容例
誤り検出+再送(ARQ)誤りを検出したら再送を要求するFCS(CRC)による検出と、TCPなどによる再送
誤り訂正(FEC)冗長な符号を付けて、受信側で誤りを訂正するハミング符号、リードソロモン符号、LDPC符号

誤り率の高い無線通信や、再送に時間がかかる衛星通信などでは、FECが特に重要になる。

実際の試験ではここに出る!

この用語が出てくる記事