無線規格の仕様書を読んでみる
今回はちょっと趣向を変えて、IEEE 仕様書の読み方を解説してみます。対象はいま話題?の 900MHz 帯 WiFi こと IEEE802.11ah です。
IEEE802.11ah は 2014 年 4 月現在まだ標準化策定作業中で、最終仕様書は出ていません。ドラフト仕様書は 2013 年 5 月に出た R15 版が最新となっています。
http://www.ieee802.org/11/Reports/tgah_update.htm
(11-11-1137-15-00ah-specification-framework-for-tgah.docx)
全 76 ページで、無線技術の仕様書としては短いものです(802.11-2012.pdf なんて全 2695 ページもあります)。今回はこのテキストに註釈するかたちで解説してゆきますが、著作権がどうのとうるさいことを言われたくないのでドラフト原文そのものは示しません。興味のある方は docx をダウンロードして並べて読んでみてください。
流し読みしてみる
まず全文をザッと流し読みして、面白そうな図版と表を見てみます。3.1 Channelization (P.3) のところには各国ごとの周波数割り当て状況らしきものが見えます。3.2.5.1 Receiver minimum input sensitivity (P.21) 下の表には変調モード一覧らしきものが見えます。本文を全然読まずにパッと見て判るのはこれくらいですね。
3.1 Channelization に戻ってみると、チャネルあたり帯域は 1, 2, 4, 8, 16MHz (地域によって異なる) が予定されていることがわかります。マイクロ波帯 (2.4 / 5GHz) の WiFi がチャネルあたり 20MHz ですから、だいたい 1/20 ですね。OFDM の伝送速度はサブキャリア数に比例しますから、1MHz/チャネルの 802.11ah は 802.11n MCS7 HT20 の 72Mbps に対して良くて 1/20、3.6Mbps くらいしか出ないだろうという推測ができます。
3.1 では各国ごとのチャネル割り当て予定が示されていますが、他国が図示されているのに対し 3. の日本だけは表で示されているのも特徴的ですね。日本では 916.5MHz~927.5MHz の 11 チャネル、最小出力は軒並み 1mW、最大出力は ch=5, 6, 7 のみ 250mW が記されて他は空欄になっています。複数チャネルを束ねて使うチャネルボンディングについて全く言及されていないので、日本では 1MHz チャネルしか使えないのかも知れません。
サブキャリア数を調べる
さてマイクロ波帯 WiFi のサブキャリア数は 48/52 本(802.11a/g) あるいは 52/56 本(802.11n HT20) でした(データサブキャリア数/全サブキャリア数として表記)。802.11ah は何本になるのでしょう?これは 3.2.3 Tone plans (P.20) に記されています。3.2.3.2 1MHz PHY によれば "24 Data tones, 2 Pilot tones, 3 Guard tones on left and 2 guard tones on right" とありますので、全サブキャリア 24+2+3+2=31 本のうちデータサブキャリア 24 本で 24/31 となります。
しかし、20MHz 幅の WiFi が 48 本なのに 1MHz 幅の 802.11ah が 24 本とはどういう訳でしょう?これは過去に何度か解説したように、搬送波の占有帯域は変調速度に反比例することに関係があります。802.11a/g では FFT 間隔 3.2 μ秒 + ガードインターバル 0.8μ秒 = 変調速度 4 μ秒でサブキャリアあたり占有周波数 250KHz、これを 20MHz / 64 = 312.5KHz 間隔で割り当てています。サブキャリアが 52 本なのにチャネルを 64 分割しているのは奇妙に思えるかも知れませんが、これは FFT のインデックス 0 と 27~37 まで合計 12 個を NULL として未使用にしているからです(※註)。
(※註) IEEE802.11-2012 Section 18.3.2.6 を参照してください。
では 802.11ah の変調速度はどうなっているのか、これは 3.8 Timing-Related Constants (P.27) にあります。ここにサブキャリア間隔 ΔF=31.25KHz とあり、1MHz チャネルを 1/32 分割していることがわかります。上で 24/31 と書いた値に符合しないのは FFT インデックス 0 番の NULL を計算に加えていなかったからでしょう。
FFT 時間 TDFT は 32 μ秒となっており、変調間隔はガードインターバル TGI 8 μ秒を加えた 40 μ秒(25K シンボル/秒)、ないしショートガードインターバル TSGI 4 μ秒を加えた 36 μ秒(27.8K シンボル/秒)となります。802.11a/g に対して1シンボルあたりの時間が 10 倍、サブキャリアあたりの占有周波数帯域は逆に 1/10 になっているんですね。
かくして、802.11ah の基底ビットレートは変調間隔=25K シンボル/秒 x BPSK シンボルあたりビット数=1bit/シンボル x サブキャリア数=24 で 600Kbps ということがわかりました。
データレートを調べる
さて実際のデータレート(※註)は基底ビットレートに冗長化係数を掛けた値になります。例えば 802.11a/g の OFDM-BPSK モードなら基底ビットレート 12Mbps に冗長化係数 1/2 で 6Mbps でした。802.11ah の変調モードはどうなっているのか、ここで P.22 の表に戻ってみると BPSK 1/2 & 2 x repetition という表記があります。1/2 はわかるんですが 2 x repetition って何でしょうか?これは 3.2.2.2 Transmission flow for MCS0-Rep2 mode (P.18) に解説されています。
(※註)ここで言う「データレート」は純粋なデータ転送レートであり、理論上スループットはそこからパケットヘッダ部やトレイラー部、送信前後の必須待ち時間を指し引いたものになります。
Rep2 というのは早い話、全てのデータを2回づつ送るという反復送信を指しています。つまり冗長化係数 1/2 に加えて2回送信で更にレートは半分になり、BPSK Rep2 でのデータレートは 600 / 2 / 2 = 150Kbps になると計算できます。
逆に最高レートの MCS9 は 256QAM(8bit/シンボル)、冗長化率 5/6 なので、 ショートガードインターバル前提で 27.8K x 8 x 24 x 5 / 6 = 4.45Mbps が 1MHz/チャネル時の最大データレートになります。
さて、これは 1MHz/チャネルの場合です。2MHz/チャネル以上の場合は 11ac の FFT 仕様に従うと書いてあるので(3.2.3.1 >= 2MHz PHY, P.20)、802.11ac の仕様書を引っ張ってくるとサブキャリア数は 2MHz 時 52/56、4MHz 時 108/114、8MHz 時 242/234、16MHz 時 468/484 となるようです。2MHz 以上では変調モードの定義も 11ac に従うとあるので(3.3 Modulation and Coding Scheme (MCS) P.22)、MCS0~9 の定義は 11ac と同じになります。11ac 仕様と MCS 番号を合わせるため、1MHz 時の BPSK rep2 モードには「MCS10」の番号が割り当てられるようです。(R3.3B 2. P.23)
16MHz 幅でショートガードインターバル使用、MCS9 を使うと 27.8K x 8 x 468 x 5 / 6 = 86.7Mbps が 802.11ah シングルストリームにおける最大データレートとなります。もっとも 3.1 章に戻ってみると 16MHz/チャネルなんて予定されているのは米国 FCC だけですし、802.11ah 割り当て帯域 902MHz~928MHz の過半域を喰い潰してしまうので、16MHz モードが実用的に使えるかどうかはわかりません。個人的には、「低出力でも遠距離を飛ぶ」「壁や障害物を超えて回り込む」という性質を 900MHz 帯域の利点とするならば、わざわざ干渉の種を増やすようなチャネルボンディングは自らの利点を潰すようなものだと思っています。
MIMO 対応を調べる
MIMO については 3.4 Spatial Multiplexing (P.23) に「時空ストリーム数は4以下とする」という記述があっさり記されているだけです。むしろのその次の章、3.5 Transmit Beamforming に多くの記述が割かれています。所詮 1MHz/チャネル1ストリーム最大 4.5Mbps の 802.11ah を今更 MIMO で束ねたところで性能向上は焼け石に水ですし、センサネットワーク的な用途が想定される 802.11ah で子機側にアンテナを3本も4本も生やして MIMO 動作をさせるのはあまり現実的ではありません。むしろ AP 側にアンテナを沢山生やしてビームフォーミングによる伝達性能の改善や MU-MIMO における同時通信処理能力向上を図ることに主眼が置かれているようだ、と読むことができます。
チャネルアクセスについて調べる
802.11a/g には中央集中型の PCF と分散型の DCF という2つのアクセス制御方式があり、現実には殆どの WiFi システムが DCF で動作している、という話を以前に出しました。DCF は各ノードが独自に送信前のチャネル空き検査(キャリアセンス)を行い、チャネルが空いていなかったときには遅延してリトライする(バックオフ)するという方式です。この方式はしかし、AP を挟んで反対側遠くに同じチャネルを使うノードと衝突してしまう「隠れ端末(hidden node problem)」問題につながります。通信距離が長いことが売りの 802.11ah では隠れ端末問題はより深刻になりそうですが、どんな対策が考えられているのでしょうか。
802.11ah ドラフトでは 4.2 Channel Access (P.37) でアクセス仕様について述べられています。そして基本方針の R.4.2.B で「隠れ端末問題を最少化するため、AP からの情報を用いてアップリンク送信タイミングを制御する」と記されています。具体的には 4.2.1 Uplink Channel Access で言及されており、ビーコンとビーコンの間(RAW:Restricted Access Window)を「Slot」と呼ばれる時間単位に分け、AP から各ノードに対し割り当てスロットを指定すると書かれています。802.11a/g では盲腸的存在になった PCF が再び復活した感じですが、「STA shall start access...slot based on EDCA」とあり、キャリアセンス手順である EDCA(Enhanced Distributed Channel Access)も併用した、いわばハイブリッド型のタイミング制御を取るようです。4.2.4 RAW slot assignment procedure (P.41) を見ると1つのスロットが複数の端末に割り当てられる場合もあるようで、その場合には EDCA で優先順位に基づいたアクセス権管理が行われるようです。
まとめ
細かいところを見て行けばキリがありませんが、この辺でだいたいのツボは押さえたと思います。802.11ah は 802.11ac を元に拡張された規格であり、チャネルあたり占有帯域は 1/20(1MHz)、シンボル間隔は 10 倍(25K シンボル/秒)で BPSK での基底ビットレート 600Kbps。1MHz チャネルにおける独自の変調モード MCS10 では BPSK x 1/2 FEC x rep2 で 1/4 となりデータレート 150Kbps。送信制御は AP からのスロット割り当てに DCF(EDCA) を組み合わせたハイブリッド型、ということがわかりました。WiFi の周波数を 2.4/5GHz から 900MHz に変えた「だけ」のものではなく、PHY にも MAC にも相応の拡張対応が必要なので、既存 WiFi チップの RF フロントエンドだけ 900MHz に換えてハイ出来あがりという訳にはゆかない、ということがわかります。
無線規格仕様書の難しい(面白い)ところは「MCS10 のデータレートは 150Kbps である」のように「わかりやすい」書き方がされておらず、サブキャリア数(FFT tone mapping)、変調モード(BPSK/QPSK/16QAM/64QAM/256QAM)、シンボル間隔(FFT period + guard interval)のように個々の仕様として別々に書かれた値を総合して読み解かないといけないところです。「仕様書」なんだから当たり前といえば当たり前ですが、何メガ bps みたいな数字がほとんど出てこないことには面食らう人も多いでしょう。私もこの仕事を始めたときはそうでした。電話帳みたいな仕様書の何処を開いてもわけのわからない数式や表ばかりで途方に暮れたことを覚えています。イジワルしてわざと難しく書いてるんじゃないか、こんなの一体どこから喰いつけば良いんだと思いました。
なので今回は「こういう所から喰いついてみます」という例を示してみたわけです。もっとも、それですぐに無線規格仕様書がスラスラ読めるようになるわけでもなく、もしそうなったら我々無線屋さんのお仕事はだいぶ干上がってしまいますが。