高速無線LAN情報局

11aと11gの伝送速度の理論値と実際

いろいろな掲示板を見ていると、11aや11gの無線LANで「54Mbpsのはずなのに、実際はその半分も出ない」という文句をよく見かけます。54Mbpsという理論値はどのような計算ではじき出されたのか、本当はどれくらいの速度が出るのかを見てみましょう。

▼ 54Mbpsの根拠

このページの下の方で述べたとおり、11aや11gで利用する変調方式はOFDMです。OFDMは簡単にいうと、送信するデータの搬送波を細かく分割して送信する変調方式です。下の図のような通常の搬送波を細かく分けた搬送波(サブキャリア)をひとつのセットとしてデータを送信します。

サブキャリア

で、ここでズバリ先に54Mbpsという値を出した計算式をいうと、以下の式(1)になります。

伝送速度(bps)=変調速度(回/sec)×1回の変調で伝送できるデータ量(bit)×データサブキャリアの数 …… (1)

「変調速度」というのは、1秒間に何回変調できるかの値で、搬送波が専有する周波数帯域によって決まります。1Hzの帯域を専有するとき、1秒間に1回変調が可能です(シャノンの法則)。10Hzなら1秒間に10回。OFDMでは、サブキャリア当たりの専有帯域幅(Subcarrier frequency spacing)が312.5KHz(= 20MHz/64)で、実際の変調速度は250K回/secです。数が合いませんが、実際のOFDMでは、マルチパス干渉を軽減するためにガード・インターバルという"すき間"をサブキャリア間に入れるので、4/5程度になり、式(1)では250K回/secとします。
「1回の変調で伝送できるデータ量」は、サブキャリアで使う4つの変調方式「BPSK」「QPSK」「16-QAM」「64-QAM」で決定します。11aの仕様書によると、それぞれの変調は次の表のようになっています。おそらく、11gでも同じです。

伝送速度(Mbps)変調方式符号化率1サブキャリアで伝送できるbit数1シンボルで伝送できるbit数1シンボルで伝送できるデータのbit数
6BPSK1/214824
9BPSK3/414836
12QPSK1/229648
18QPSK3/429672
2416-QAM1/2419296
3616-QAM3/44192144
4864-QAM2/36288192
5464-QAM3/46288216

ここで必要になってくるのが「1サブキャリアで伝送できるbit数」です。式(1)では64-QAMで最大6bitのデータがひとつのサブキャリアで伝送できるとすればよいでしょう。
「データサブキャリアの数」ですが、OFDMでは48本となります。サブキャリアには、他にパイロットサブキャリアが4本ありますので、全部で52本なのですが、データとして使う分が48本なので、式(1)では48とします。
これらの値のとき、式(1)は250K(回/sec)×6(bit)×48(本)=72Mbpsとなります。
これまた本来の理論値と合いませんが、これにも理由があります。この72Mbpsという値は本来OFDMが持つ潜在的な理論値で、実際は伝送するデータのうち、誤り訂正に1/4から1/2使うのです。ですから、誤り訂正が最小の1/4であったとき、72Mbpsという理論値は、54Mbpsとなります。
というわけで、あれこれ計算をし、54Mbpsという理論値が導き出されます。

▼実際の速度

54Mbpsという理論値はさておき、やはり、実際どれくらいの速度まで出るのかがユーザにとって非常に気になるところでしょう。実際にTCPで通信したときの伝送速度も計算で導き出すことが可能です。(これも理論値になりますが。)
まず、無線LANで理論値が出ない理由ですが、最も大きな理由となるのが、アクセス制御にCSMA/CAを使っていることです。このCSMA/CAを使うことによって、ひとつのアクセスポイントに複数のクライアントからデータが同時に送られ、データが衝突しないようにすることができます。CSMA/CAでは、データを1回送る度に、通信相手がACKを返します。ACKが返ってこないときは通信に失敗したということなので、もう一度データを再送します。いちいち、送って、返事を待って・・・を繰り返すのですから、実際の通信が遅くなる理由が分かるのではないでしょうか。
で、このACK応答の待ち時間や、パケットを送るときの待ち時間、データを送る時間をフレームレベルで考えると、おおよその実行速度を理論値で出すことができます。
日経コミュニケーションでは、パケットを送るときの待ち時間を、固定待ち時間35us、ランダム待ち時間67.5us、計101.5us、ACK応答の待ち時間を固定16usとし、計算しています。このとき、1460byteのデータパケットを2回送り、TCPのACK応答が1回あったとすると、実行速度は次のようになります。

実行速度

緑の矢印は、54Mbpsでそのパケットを送信したときにかかる時間です。赤の矢印は、CSMA/CA準拠のDEC(Distributed Coordination Function)と呼ばれる衝突回避機能での待ち時間。青の矢印はCSMA/CAでACK応答が返ってくるまでの待ち時間です。1460byteのデータには、物理ヘッダ(PLCPプリアンブルやPLCPヘッダ)とMACヘッダ、FCS、テールbit、パドbit、が付けられるので、本来なら詳しいパケットの構成まで説明するべきなのでしょうが、それについては長くなるので割愛させて頂きます。詳しく知りたい方は、参考文献を参照してください。
それで、肝心の計算ですが、送ったデータの量をかかる時間で割ると実装速度が得られます。よって、

1460(byte)×2(packet)×8(bit)/0.0009645(sec)=24.2Mbps …… (2)

から、24.2Mbpsになります。11aのOFDMを使ってデータを送ると、24.2Mbpsくらいが上限ということです。11gは詳しい規約が分かりませんので何ともいえませんが、11bとの互換性のないものは11aと同じくらい出るのでしょう。11bと互換性のある11gのモードでは、18.3Mbpsが上限のようです。
これはあくまでも、全てを仮定にした計算で、待ち時間の取り方や、TCPのACKを返すタイミングの取り方でスループットは若干変わりますが、大して変わることはないでしょう。しかも、この理論値は最高の状態で、他に速度低下の要素がなかったときの計算であり、利用するパソコンの性能や、アクセスポイント自体の処理能力などによって、さらに低下することになりますので、あしからず。

▼ ▼ ▼ ▼ ▼

というわけで、54Mbpsというものの、頑張っても半分のスループットも出ないことが分かりましたでしょうか。30Mbpsとか40Mbpsといった過度の期待を11aや11gの無線LANにかけるのは間違っているのです。
とはいうものの、理論値では24Mbpsくらい出るということは、11gなどで10Mbps程度しかスループットが得られていない人は、メーカによるファームアップや、設置環境の改善により、スループットの向上が見込めるということでもあります。11aや11gを使う以上、最低でも20Mbpsくらいの速度で使用できる期待を寄せるのは間違いではないでしょうし、メーカはコンシューマの期待にこたえるよう努力していくべきでしょう。

参考文献:
IEEE Std 802.11a, IEEE Inc.
日経コミュニケーション2002.7.15 No.370

(2003.05.13)