ボーレートと伝搬遅延の計算
通信の速さ(ボーレート)とデータの大きさ、ケーブルの長さを入れると、データを送り終えるまでの時間と、信号がケーブルを伝わるのにかかる時間(伝搬遅延)を計算します。シリアル通信のスタートビット・ストップビットにも対応しています。
くわしい条件を変える(なくても計算できます)
計算方法
シリアル通信では、1文字を送るのに次のビットを使います。
1文字のビット数 = スタートビット1 + データのビット数 + パリティ(0か1)+ ストップビットの数送り終えるまでの時間 = 送るバイト数 × 1文字のビット数 ÷ 通信の速さ(bps)伝わる時間(伝搬遅延)= ケーブルの長さ ÷ 信号が進む速さ
例:9600bpsで1,024バイトを送るとき、1文字が10ビット(スタート1+データ8+ストップ1)なら、合計10,240ビットです。10,240 ÷ 9,600 = 約1.067秒かかります。
信号が進む速さ
電気や光の信号は、真空中の光の速さ(毎秒299,792,458メートル)より少し遅く進みます。この計算では次の値を使っています。
- 銅線:光の速さの約66%(毎秒約1億9,786万メートル)
- 光ファイバー:光の速さの約67%(毎秒約2億メートル)
- 真空・空気:光の速さそのもの
100メートルの銅線なら、伝わる時間は約0.505マイクロ秒です。1キロメートルでも約5マイクロ秒で、9600bpsのような遅い通信では、送信の時間に比べてほとんど無視できる大きさです。速い通信や、長い距離をやりとりする通信では、この時間が効いてきます。
ボーレートとbps
ボーレート(baud)は、1秒間に信号の状態が何回変わるかを表す単位です。1回の変化で1ビットだけを運ぶ方式では、ボーレートとbps(1秒あたりのビット数)は同じ値になります。1回の変化で複数のビットを運ぶ方式では、bpsのほうが大きくなります。この計算では、よく使われる「1回で1ビット」として、ボーレートとbpsを同じものとして扱っています。
出典:シリアル通信の1文字のビット数と伝搬遅延の式の定義(スタートビット+データ+パリティ+ストップビットの合計をボーレートで割る、距離を信号の速さで割る)。出典URLはなし
よくある質問
9600bpsはどのくらいの速さ?
1秒あたり9,600ビットです。1文字が10ビットなら1秒に960文字、1,024バイトを送るのに約1.07秒かかります。
ボーレートとbpsは同じ?
1回の信号の変化で1ビットだけを運ぶ方式では同じ値になります。複数のビットをまとめて運ぶ方式では、bpsのほうが大きくなります。
伝搬遅延はどのくらい影響する?
短い距離ではほとんど影響しません。100メートルの銅線で約0.5マイクロ秒です。ただし数百キロメートル離れた場所とやりとりする場合や、応答を待ちながら少しずつ送る通信では、無視できない大きさになります。
スタートビットとストップビットとは?
文字の始まりと終わりを示すための信号です。データそのものではありませんが、送る時間には含まれます。そのぶん実際に運べるデータは通信の速さより少なくなります。
ケーブルの長さを0にするとどうなる?
伝わる時間が0になり、データを送る時間だけが残ります。