W-CDMAとは何か? 1 塩田紳二のモバイル基礎講座 第10回: (2/3 ページ)

» 2005年12月28日 19時49分 公開
[塩田紳二,ITmedia]

CDMAの基礎

 CDMAに関しては簡単に説明しましたが、CDMAによるデジタル通信を理解するには、もう少し説明が必要です。

 CDMAは、拡散コード(擬似乱数またはPNという)で送信データを拡散変調します。拡散変調されたデータを受信側で元のデータに戻すことを「逆拡散」といいます。

 拡散(変調)するとき、送信対象のデータと拡散コードの各ビットを「EXOR」などの演算で合成します。EXORは、エクスクルーシブORとも呼ばれ、2つのビットが一致したときにはゼロ、一致していないときには1になる演算です(表)。また、拡散コードは、繰り返して使います。

 このEXORは、同じことを2回繰り返すと元に戻る性質があり、受信時にも信号と拡散コードをEXORで処理することで逆拡散の処理を行います。

 通信では、最終的にsin、cosで表現される電波(波)を使うため、CDMAでは、デジタルデータの1と0の代わりに−1(1に対応)と+1(0に対応)を使います。この−1と+1でかけ算をすると、EXORと同じ結果が得られます。

A B A exor B 演算結果
0 0 0 AとBが一致すると0
0 1 1 AとBが一致しないと1
1 0 1 AとBが一致しないと1
1 1 0 AとBが一致すると0
EXOR演算の例。EXORは、2のビットが一致しているときに0、一致していないときに1になる
A B A×B
+1 +1 +1
+1 −1 −1
−1 +1 −1
−1 −1 +1
0を+1、1を−1としてかけ算を行うと、EXORと同じ結果が得られる

 逆拡散は、拡散したときと同じ拡散コードを使いますが、このとき、送信側と同じタイミングで拡散コードを適用しなければなりません。このためには、拡散コードの始まる位置を知る必要があります。受信側で拡散コードの開始位置を確定することを「同期捕捉」あるいは略して単に「同期」といいます。

 どのような拡散コードを使うのかはシステムによって決まっています。ですが、受信側では拡散コードの始まりのタイミングを知ることができません。

 ここで、拡散コードが持つある1つの性質を使うことにより、開始位置を調べることができるのです。簡単にいうと、拡散コードと開始位置をシフトさせた拡散コード同士が同じにならないように作られています。

 この性質とは「自分自身とそれを時間的にずらしたコードに対してある計算(相関関数)を行うと、始まりが一致しているときとそうでないときに計算結果に大きな違いが出る」というものです。グラフを書くと高い山になることから「高いピークを持つ」といいます(図)。

拡散コードに対して自分自身との相関関数を計算すると、位相差がゼロのとき高い値を持つが、そうでないときには小さな値となる

 前にも説明したように波が時間的にずれていることを「位相差」といいます(4月19日の記事参照)。つまり拡散コードは、「位相差ゼロで自己相関関数に高いピークを持つ」という性質があるのです。この性質を利用することで、受信した信号から拡散コードの開始タイミングを調べることができます(図)。

ここでは、相関関数自体ではなく、分かりやすくビットの数で計算を行っている。実際の相関関数は、この結果を使って計算を行っているため、数値自体は違うが傾向としては同じになる

 相関とは、2つの出来事(事象)の変化が連動していて、一方が変化すると他方も同じように変化することをいいます。一般に2つの出来事が関連しているような場合に「相関関係がある」などといいます。比例関係のように確実な因果関係がわからない場合にも使うことでき、例えば「気温とアイスクリームの売上げには相関関係がある」などといいます。

 今回の場合について言えば、ビット同士が一致する数が多いか少ないかということでになります。つまり、この値が高いほど一致するところが多く、小さいほど一致が少ないわけです。この相関は自分自身との相関なので「自己相関」といいます。具体的な計算式は省略しますが、ビット単位で比較して一致しているかどうかをEXORで調べます。その結果をすべて合計すると、一致しているビットの多い、少ないで値が違ってきます。

 拡散コードの開始位置を調べるには、受信した信号に対して、拡散コードをずらしていきながら自己相関関数を計算していきます。その結果がピークになったときが正しい開始位置で同期捕捉が完了します。このため、拡散コードが長いと同期捕捉するまでの時間が長くなってしまいます。

 拡散コードが持つもう1つの性質が「相互相関が小さい」というものです。拡散コード同士、一致するところが少なくなるようになっているわけです。CDMAでは、違う拡散コードを使う複数の通信が混在して行われるため、拡散コードの開始タイミングを見つけるまでは、複数の通信の信号が混ざった状態です。このとき、自己相関を行って開始位置を調べるのに、他の拡散パターンと相関が高いと、間違ったタイミングを見つけてしまうことになります。そこで、違う拡散コード同士で相関計算をしても、自己相関の結果に悪影響を与えないようなパターンになっているのです。

CDMAによる実際の通信システム

Copyright © ITmedia, Inc. All Rights Reserved.