きっちり知りたい無線LANの変調技術の基礎
電波はEthernetで使われるような銅線ケーブルと異なり、デジタル信号をそのままの形で伝送することはできない。そこで、電波の形で送信できるように信号を変換するために「変調」と呼ばれる技術が使われる。ここでは基本的な変調技術について見ていこう。
http://ascii.jp/elem/000/000/458/458953/
変調技術の基礎
データを電波として伝送しやすいように変換することを「変調」という。実のところ、どうして変調という変換作業が必要かというのは意外と知られていないのではないか。そもそも変調とは何のために必要なのだろうか。
電話回線を使うモデムを接続するシリアルケーブルや、プリンタを接続するパラレルケーブルは生のデジタルデータ(電圧変化による信号)を伝送させている。この生のデータは数メートル程度の短い距離を伝送させるのにはまったく問題ない。だが、数百メートルや数キロメートルといった長距離ではちょっとした雑音で信号の電圧変化を正しく検知できなくなり、データが壊れてしまう。いわゆる文字化けという現象だ。
本来、こうした電線では交流を利用するほうが効率がよいとされている。そこでデータを交流信号に変換して伝送する「変調」を行なう。変調を行なうと、雑音にも強くなるうえ、誤り訂正技術などを組み込むことでエラーに強い、信頼性の高い伝送を行なうことができる。
無線の場合、変調にはもう1つ重要な理由がある。それは、生のデジタルデータを変調せずに無理矢理電波にしようとすると、途方もなく広い周波数帯域が必要になってしまうことだ。データを無線伝送させるためには、電波が決められた周波数帯域に収まるよう制限して送信しないとお互いに混信して無線を使う意味がなくなってしまう。変調は、電波の周波数という限られた資源を有効に使うための大切な変換技術だということを覚えておこう。
周波数と振幅
無線に必須のキーワードが「周波数」と「振幅」だ。周波数は音の高さ低さと同じように、電波の波の振動数のことで、単位はヘルツ(Hz)だ。たとえば、図1のように1秒間に10回の繰り返しの波があれば10Hzとなる。周波数を逆数にすると、1つの波の繰り返しにかかる時間、すなわち「周期」になる。10Hzであれば、1/10=0.1秒がこの周期になる。
図1 搬送波の周波数と振幅
通常、周波数ではメガヘルツ(MHz)やギガヘルツ(GHz)といった単位が使われることが多く、前者は百万ヘルツ、後者は十億ヘルツとかなり大きな単位になっている。たとえば、無線LANに使われている2.4GHzは2,400,000,000Hzであり、1秒間に2,400,000,000回振動していることを意味している。この周波数を、データを送る側と受ける側で、ちょうどテレビやラジオのチャンネルを合わせるようにすることで、他の無線通信との混信を防ぐことができる。いわば周波数は無線を使ううえでの「窓」にあたる役割だ。
もう1つのキーワード「振幅」もチェック事項だ。振幅を簡単に説明するならば、信号のレベル(強度)のことを指す。無線技術で振幅といえば、振幅の強弱で変調する振幅変調(AM)を連想する読者も多いだろう。しかし、デジタル無線通信では、さらに多くのデータを載せるために、後述の位相と振幅を組み合わせたQAMという多値変調技術を使用する。
振幅変調と周波数変調
変調の基本中の基本が「振幅変調(AM:Amplitude Modulation、ASK:Amplitude Shift Keying)」と「周波数変調(FM:Frequency Modulation、FSK:Frequency Shift Keying)」だ。AMやFMという用語はラジオのバンドの名称にもなっているのでだれもが聞いたことがあるだろう。振幅変調は振幅を、周波数変調は周波数を、元の信号に従って変えて(変調=調子を変える)データを載せている。
アナログの音を振幅変調することを考えよう(図2)。ここで変調される基準電波のことを「搬送波(キャリア)」と呼ぶので覚えておいてほしい。通常、搬送波は高い周波数を持ち、周波数が変化しない一定の電波である。振幅変調では、載せる音によって搬送波の振幅を変化させる。音が大きければ振幅も大きく、音が小さければ振幅も小さくするわけだ。
図2 振幅変調(AM、ASK)の概念
受信側では、その振幅変調を施した変調波を受け取ったら、その逆の作業をすることで元の音を取り出せる。つまり、振幅の小さな変調波を受信したら音が小さく、振幅の大きな変調波を受信したら音を大きく鳴らす仕組みを備えていれば元の信号を復元できるわけだ。これを「復調」といって、必ず変調と対となる機能であって、無線伝送には必須の作業になる。変調だけ行なってもデータを元に戻さなければ何の意味もないのだ。
次にデジタルデータを周波数変調することを考えよう(図3)。データの0/1に応じて搬送波の周波数を高くしたり、低くしたりすればよい。この周波数の差が大きければ大きいほど、雑音に強くなるのである。しかし、周波数には限りがあるので、好きなだけ周波数の差を大きくするというわけにはいかない。
図3 周波数変調(FM、FSK)の概念
ちなみに、振幅変調は変調波に雑音が入ってしまうと、それがそのまま復調されて出力されてしまう欠点がある。AMラジオを聞いているとき、バイクが近くを通ったりすると、バリバリとした音が入ってくるのを聞いた人も多いだろう。逆に周波数変調は復調時にこのような振幅成分を切り落とすことができるため、雑音が入りにくく、品質のよい伝送ができるという特徴がある。
なお、英語表記で振幅変調をAM:Amplitude Modulation、ASK:Amplitude Shift Keyingと2種類表記しているが、前者はおもにアナログ信号・変調のときに、後者はおもにデジタル変調のときに呼ばれる名称である。本稿では日本語表記ではどちらも「変調」としているのでご注意いただきたい。
位相で0/1を区別位相変調
アナログの音は振幅変調や周波数変調と相性がよい。しかし、デジタルデータの場合には振幅変調や周波数変調ではデータの0/1をそれぞれ特定の音に置き換えて伝送しなければならないため、実用上取り扱いにくい場合がある。そこで、データによって搬送波の位相をずらして利用するのが「位相変調(PM:Phase Modulation、PSK:Phase Shift Keying)」で、デジタルデータととても相性がよい。そのため、無線LANを始め、無線を使うデータ通信の世界ではほぼ標準的な変調方法として使われている。
位相とは、波の1つの周期の始まりを0°、終わりを360°と呼ぶ概念だ(図4)。これは、もっとも純粋な波である「サインカーブ(正弦波)」がひもでつないだボールを回転させたときのボールの高さをトレースした曲線であることに由来する。
図4 位相の概念
ここで、円の右端にボールがある状態を0°として左回ししていくと、サインカーブのゼロのところから上がり始める瞬間が「0°」で、最高点を通って今度は下がって再びゼロになる点が「180°」である。そして、さらに下がって最下点を経由して、そこからまた上がり始めてゼロに戻るところが「360°」となる。つまり、この波の1周期が円の1回転に対応しているというわけだ。この波を角度として考える概念を、専門用語で「位相」と呼んでいる。
位相変調は搬送波の周波数と振幅を一定にする代わりに、基準の位相から角度をずらした波形(図5)をいくつか用意して時間で切り替えることでデジタルデータを伝送する方式だ。
図5 「位相をずらす」とは?
PSKの基本形BPSK(Binary PSK)
位相変調のもっとも基本的なものが「BPSK(Binary Phase Shift Keying)」と呼ばれる方式だ。BPSKでは、ビットの0/1に位相をずらした波形を2種類割り当てる(図6)。たとえば0度と180度、あるいは90度と270度のようにする。使用する位相が2種類だけなので、雑音に強いという長所がある。そのため、少容量ながらもデータを強固にかつ正確に送らなけれならないときに使われることが多い。
図6 位相変調(PSK)の概念
特に伝送路の状態に応じて適切な通信速度に変えていくようなプロトコルを用いる場合は、初期のデータリンクを確立させるフェーズでは、このBPSKで通信を開始することが多い。
4値のPSKQPSK(4PSK)
BPSKでは、2つの位相(2値)しか使わなかったが、使用する位相を4種類、たとえば0度、90度、180度、270度とすると、一度に2ビット(00、01、10、11)の状態を送ることができる(図7)。BPSKの2倍の伝送速度を実現できるわけだ。これが「QPSK(4PSK、Quadrature Phase Shift Keying)」である。
図7 QPSK(4PSK)
位相のパターンをこのように増やす、つまり多相にすることで一度に送る状態を増やすことができる。もっとも、いくらでも位相のずれの種類を多くすればよいわけではない。位相のずれは図4を見てわかる通り、なかなかわかりにくい。基準の位相とどれだけずれているかを厳密に判断しなければ、データに誤りが生じてしまうことになる。無線の場合には環境によって、電波が複数の場所で反射して到来するマルチパスや雑音も多いので、位相のずれを正確に読めない可能性がある。よって、送信機も高出力にしなければならないというトレードオフが発生する。
QPSKはBPSKよりも雑音に少しだけ弱いものの、2倍の情報量を送ることができて使い勝手がよいので、位相変調ではよく使われる方式である。実際に無線LANのIEEE802.11シリーズでは直前の状態との差分データを伝送するDQPSK(Differential QPSK)が使われている。
8値のPSK8PSK
さらに位相のパターンを0度、45度、90度、135度、180度、225度、270度、315度のように8つに増やすと、一度に3ビット(000、001、010、011、100、101、110、111)の状態を送ることができる。これは、BPSKの3倍、QPSKの1.5倍の伝送速度だ。より大きな伝送容量を実現できるが、そのために雑音などの影響をかなり受けやすくなるので、誤り訂正の信号が付与されて使われることもある。
位相のパターンだけを増やして伝送する方式はこの8PSKまでがおもに使われている。これ以上の伝送速度を使う場合には、あとで説明する直交振幅変調という、位相と振幅の両方を使って状態を表現してデータを送る変調方式が使われる。
振幅と位相を組み合わせる直交振幅変調(QAM)
デジタルデータと相性のよい変調方式に、多値変調と呼ばれる応用がある。基本的な位相変調は、デジタルデータを送るときにはBPSK(2PSK)といって、通常2つの状態を送ることができる方法が使われるが、これを4つ、8つ、16個というように細分化することも可能だ。この場合、細分化すればするほど多くのデータを載せることができるが、雑音に弱くなってしまう欠点がある。無線で使う場合、位相変調を細分化するのは、前に言及したようにせいぜい4つ(4PSK)、最大8つ(8PSK)程度までが実用的だ。
4つの場合、4PSK(QPSK)と呼ばれる方法は、先に説明したときに、4つの位相にそれぞれ00、01、10、11という2ビットのデータを割り当てることができる。つまり、1つの波形で2ビット伝送できる。これは位相のずれだけを使っているが、それを振幅方向にも行なって組み合わせることができる(図8)。これを直交振幅変調(QAM)といい、たとえば振幅と位相をそれぞれ4つずづ細分化すれば、4×4=16の状態を表わすことができる。この16の状態があることから16QAMと呼び、16カ所の状態にそれぞれ0101、0111、1011などの4ビットのデータを割り当てて使われる(図9)。つまり、1つの波形により4ビットのデータを送ることができる変調方式となり、多値の位相変調では実現できなかった大容量の伝送が可能になった。
図8 QAM(直交振幅変調)のアイデア
図9 一度に4ビット伝送できる16QAM
QAMでは、どのポジションにどんなデータ(ビット)を配置するのかは実に奥の深い話で、よく似たデータ、たとえば雑音などで1ビットだけエラーを起こす可能性も高いため、それらのデータが隣に来ないように配置するよう工夫をすると、雑音に強くなることがわかっている。さらに数の多い、1024QAMや4096QAMなどは、データ配置の組み合わせが天文学的に多くなる。そのため、誤り訂正符号を組み合わせるなどの方法で、従来知られているパターンよりも優れた配置方法が発見されることも多い。
一次変調と二次変調
ここで紹介してきた振幅変調、周波数変調、位相変調、多値変調といったものは、搬送波にアナログ信号あるいはデジタルデータを載せる基本的な変調方式といわれる。次のパートで紹介する「スペクトラム拡散方式」では、最初の変調波を周波数方向に拡散させるために、便宜的に最初の変調のことを「一次変調」、次に周波数方向に拡散させることを「二次変調」と呼んで区別している。
スペクトラム拡散では、一次変調はデジタルデータを電波に載せるための基本的作業であるのに対して、二次変調は雑音に強く、秘匿性が高いといった特徴を実現する作業だといえる。最近の無線LANのチップなどは一次変調および二次変調を一度に施す処理形態のため、わざわざ一次、二次という表現を使わなくてもよいのであるが、スペクトラム拡散波を作り出す作業を二段階で理解するとわかりやすいため、一次変調、二次変調という表現は今後も使われるだろう。
CCK技術
最後にちょっと毛色の変わった変調技術を紹介しておこう。次のパートで説明するスペクトラム拡散はいったん一次変調(図10ではQPSK)したものを二次変調として周波数拡散しているのが代表的な構成だ。このとき、二次変調での周波数拡散で使われる符号は通常ランダムであるが、この符号をうまく使ってしまおうというアイデアがCCK(Complementary Code Keying)技術だ(図10)。一次変調がQPSKなら、それで一度に2ビット伝送でき、二次変調で64の状態を自由に使えるならば6ビット伝送できる。合わせて8ビット伝送できると、実に一次変調の4倍の伝送が可能になる。まさに使えるものは何でも使ってしまう技術だ。
図10 CCK変調
もっともCCKが何でも有効かといえば、そういうわけでもない。拡散符号列を使う直接拡散方式で使える技術でのみ使える裏技でもある。OFDM等と組み合わせるために、CCKを一次変調で使うアイデアも現実にあったが普及するには至っていない。