【図解】初心者にも分かり易いOFDM/OFDMAの仕組みとメリット~サブキャリア間隔とシンボル長とガードインターバル | SEの道標
無線LAN (Wi-Fi)

【図解】初心者にも分かり易いOFDM/OFDMAの仕組みとメリット~サブキャリア間隔とシンボル長とガードインターバル

OFDM の仕組み

IEEE802.11a/g/n/ac では OFDM (Orthogonal Frequency Division Multiplex) という技術が使われており、この方式では 1 チャネルの 20 MHz 幅の中にさらに小さい帯域で区切った複数の小さい波『サブキャリア』を作り、それらが bit 情報を伝達します。

IEEE802.11a/g/n/ac では 1チャネル (20 MHz) の中に 312.5 KHz のサブキャリアを 63 個作ります。

サブキャリアの理想的な波形は sin (サイン) 波が永遠に続くことです。この理想的な電波の周波数特性を見る (≒フーリエ変換を行う) と、特定の周波数のみの強度が存在し、他の周波数成分が 0 となります。しかし現実世界で永遠に続く電波など観測できません。

周波数 f0 の sin 波を時間 T の区間で抽出した場合の周波数特性は、f0 を中心に 1/T の周期でピークを繰り返す形状になります。つまり、他の周波数の成分を持ち、これが干渉してしまいます。

これを避けるため、FDM (Frequency Division Multiplex) では周波数の間を十分に空けてサブキャリアを配置しますが、周波数帯あたりの情報伝達量が少なくなり、効率的ではありません。

一方 OFDM では、隣のサブキャリアのピークが、自身の周波数成分が 0 になる箇所で重なるように時間 ΔT とサブキャリア間隔を設定しています。

これにより、工学的に効率的な周波数成分の分離ができるようになるのです。

例えば IEEE802.11a/g では ΔT=3.2 [μs], サブキャリア間隔 Δf = 1/ΔT = 312.5 [KHz] です。

これに加え、精度向上のためにいくつかの工夫が施されています。

例えば、IEEE802.11a/g の場合、サブキャリア 63 個のうち外側の 10 個(高いほう 5 個と低いほう 5 個)および真ん中の 1 個のサブキャリアは、主にチャネル間の干渉を緩和するために未使用(ゼロサブキャリア)として定義されています。

また、残る 52 個のうち 4 個は、OFDM のマルチパスフェージングの影響を緩和するための調整用(Calibration 用)として既知のパターンを送信する『パイロットサブキャリア』として使われます。

つまり、実際にデータを運ぶサブキャリアは 48 個です。

マルチパスフェージングとは

マルチパスフェージングとは、音波でいうところの『残響』です。壁などから跳ね返ってくる電波 (間接波) が本来受信したい波形 (直接波) の位相をずらしてしまう(ノイズの場合は波形を完全に崩してしまうが、そうではないのでノイズとは異なる)ので、それを補正するための伝送路特性を知るためにパイロットサブキャリアが使われたりします。

マルチパスフェージングの影響は、残響と同じように、空間が広ければ広いほど、また、距離が遠ければ遠いほど大きくなります。

シンボルとは

無線 LAN (Wi-Fi) では電磁波の「振幅がどれくらいか?」と「位相のずれがどれくらいか?」によって特定のビット列に変換されます。

そして短い時間間隔で振幅と位相のペアを切り替えていきます。切り替えるまでの間の波形を『シンボル』と呼び、切り替えの間隔時間を『シンボル間隔』と呼びます。

前述の通り、IEEE802.11a/g では ΔT = 3.2 [μs] の間隔で振幅と位相を切り替えていきますが、これまた前述の『マルチパスフェージング』の影響を緩和するため、GI (ガードインターバル) という時間 0.8 [μs] が設けられています。

つまりシンボル間隔が 4 [μs] であり、逆に言うと 1 つのサブキャリアは 1 秒あたりに 250 [K個] =250,000 [個] のシンボルを生成します。

また、1 シンボルあたりどのくらいのビット数を表現できるかは、規格の変調方式によって異なります。64-QAM という方式であれば 6 bit, 256-QAM という方式であれば 8 bit, 1024-QAM という方式であれば 10 bit です。

1 チャネルあたりの速度

例えば IEEE802.11a/g の場合、電波強度がよいときは 64-QAM を使います。つまり、ビットの転送速度は以下のようになります。

OFDMA 登場の背景と仕組み、メリット

OFDM ではある瞬間において、全てのサブキャリアは 1 台の無線 AP もしくは無線クライアントとの通信に使われます。

また、無線 AP/クライアントはコリジョンを極力回避するために、自分と同一チャネルの電波を検知すると、自身を『ビジー』状態にし、他の無線通信が終わるのを待ちます。

そして通信が終わったらランダムな時間を待って送信を開始します。(ランダムにしないと他のクライアントが一斉に繋ぎにいってコリジョンになる。)

この仕組みを『CA : コリジョン回避 (Collision Avoidance)』と言います。

有線では『CD : コリジョン検知 (Collision Detect)』でしたが、無線では検知ができません。そのため、受信した後は必ず ACK を返し (TCP の ACK ではなく L2 無線 の ACK)、送信者は ACK が返って来なかった場合に『コリジョンした』と判断し、ランダムな時間を待って再送を試みます。

なのでクライアント台数が増えるほど待ち時間も増えますし、1 台の PC が小さなフレームを送るときも他の PC は待たなければなりません。

接続台数に反比例して速度が低下するのは半二重の仕組み上、どうしようもありません。

それよりも実際の問題として着目すべきは、ACK のような小さなフレームを送信するときも全てのサブキャリアを一定時間占有してしまうことです。

これは 1 台の大きな 4 トントラックを使って、50 拠点に小箱を運んで回るようなもので、非常に非効率です。

そこで登場したのが OFDMA (Orthogonal Frequency Division Multiple Access : 直交周波数分割多元接続) です。802.11ax 以降で実装されました。

従来の OFDM では全てのサブキャリアは 1 台のクライアントに伝送されていましたが、OFDMA ではサブキャリアをグループで分割し、複数のクライアントに伝送することができます。

1 台のクライアントに対して割り当てられるサブキャリアのグループは RU (Resource Unit) という単位にまとめられ、RU のサブキャリア数は以下のラインナップの中から選択されます。

取りうるサブキャリア数 (RU) = {26, 52, 106, 242, 484, 996, 2*996}

2*996 というのは 2 つの連続した帯域 (W52/W53 と W56) のそれぞれで使われるサブキャリア数を表現しています。

例えば 802.11ax において 1 チャネル (20 MHz) の中でデータ用サブキャリアが 234 個存在しますが、26 * 9 という組合せや 26 * 3 + 52 * 3 という組合せが可能です。

このように、従来の方式では無線の ACK を送信する際にもクライアントへ 1 台ずつ順番に送信していましたが、OFDMA を使うことで、たくさんの普通車が小箱を同時に運んでくれます。

コメント

  1. 田中 忠弘 より:

    ざっと理解するには大変好都合にまとめられておりありがたかった。尚、直交のところをタテヨコ図示して説明を加えられたらもっとわかったような気がしただろうと思われます。
    ありがとうございました。

    • nesuke より:

      田中さん
      コメントありがとうございます。また、ご理解の一助になったようで嬉しいです。

      ご指摘についてですが、修正できるかどうかは分かりませんが、もし宜しければ詳細を教えて欲しいです。

      > 直交のところをタテヨコ図示して説明

      というのは何個目の図ですか?タテ軸を何に、ヨコ軸を何にすると良かったでしょうか?

タイトルとURLをコピーしました