2012年3月29日木曜日

W-CDMA(HSDP)、LTEの通信技術


携帯電話はなぜつながるのか 第2版 知っておきたいモバイル音声&データ通信の基礎知識 を読了。
難しいことを簡単に書くことに成功した良書。
説明にごまかしがない点がよい。
無線の技術を少し背伸びして理解したい方にお勧めする。
第1版ではLTEの説明がないため、今購入するなら第2版がいいだろう。

W-CDMA(HSDP)、LTEの通信速度がどの程度なのか、
またそれをどのように実現しているかまとめておく。



【概要】
◆ W-CDMAの通信の流れ
◆ W-CDMAの通信速度
◆ HSPAの通信速度

◆ 無線のフェージング対策 

◆ LTEの通信の流れ
◆ LTEの特徴と通信速度



W-CDMAの通信の流れ
複数のユーザ向けの電波を多重化する方式として
CDMA(Code Division Multiple Access)を使っていることが特徴である。

W-CDMAの通信の流れは次のようになる。
※cdmaOne、cdma2000もW-CDMAと同様にCDMAを使うのだが、
 この後説明するスクランブリングコードを使わない。
 代わりに無線基地局間で時間同期をとり、コードの時間をずらして干渉を軽減させる。
 それがW-CDMAとの相違である。

(1) 各チャネルの情報ビットを
(2) チャネライゼーションコード(直行コード)を使い拡散させて、
  加えてスクランブリングコードを利用し
(3) 変調させて 
(4) 合成波形を作って送信


(1)から(4)までを具体例を使って追いかけてみる。

(1) 情報ビット
例として2つの情報を送信するとする。

情報1
1 0 1 (3ビット)

情報2
1 0 0 (3ビット)


(2) 拡散(チャネライゼーションコード(直行コード)の利用)
デジタル情報の単位(またそれを指すパルスの単位ともいうか)をビットとし、
電波の山谷のパルスの単位をチップと呼ぶ。

拡散率4のコードを使うとする。
1 -1 1 -1 (4チップ)

先ほどの情報ビットに上を掛け合わせる。

情報1の拡散後のデータ1
1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 (12チップ)

情報2の拡散後のデータ2
1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 (12チップ)

さらにW-CDMAではスクランブリングコードも利用する。
直行コードだけによる拡散ではなぜだめなのであろうか。
直行コードの数は少ないのである。

そこで、拡散させた結果のチップごとにスクランブリングコードを掛け合わせる。
同じコード同士の積和は大きく、違うコードでは小さくなる。
直行コードでは積和結果が0になるが、スクランブリングコードでは0にならない。
同時利用者が多くなると0にならない結果が積み重なり情報を取り出しなくくなる。
しかし、このスクランブリングコードは数が多いという直行コードにはないメリットがある。
そこで2つのコードを併用し互いのデメリットを補うのである。

また直行コードは上りも下りも同じコードを使うが、
スクランブリングコードはそうではない。
上りの際は端末ごとにスクランブリングコードを割り当てる
セル内外からの端末の干渉を抑えるためである。
下りの際はセルやセクタごとに割り当てる。
異なる無線基地局からの干渉を抑えるためである。

同じコードで拡散したコードを逆拡散すれば振幅はチップのN倍に、
異なるコードであれば√N程度になる。この比を拡散利得という。


(3) 変調
情報を電波に乗せるために、キャリア(正弦波(sin波))
形を変えることを変調という。
また変えるルールを変調方式という。

拡散させたそれぞれのパルスを変調させる方式は以下がある。

変調方式の種類 
BPSK(Binary Phase Shift Keying : 2相位相変調)
データ 位相
    0   0度
    1  180度
1ビット/1シンボル

各位相の単位が1シンボル(1変調)である。

QPSK(Quadrature Phase Shift Keying : 4相位相変調)
データ 位相
    00  0度
    01  90度
    11 180度
    10 270度
2ビット/1シンボル(1シンボルで2ビット)

16QAM(16 Quadrature Amplitude Modulation)
位相と振幅の組み合わせで4ビット、つまり2^4で16個の
データを1シンボル(1変調)で送信できる

周波数の利用効率を考えると当然下のようになる。
16QAM > QPSK > BPSK
BPSKのシンボル速度を2倍にするとQPSKと同じ通信速度が出る。
BPSKのシンボル速度を4倍にすると16QAMと同じ通信速度が出る。


(4) 合成波形を作って送信
拡散後のデータ1
+1 -1 +1 -1 -1 +1 -1 +1 +1 -1 +1 -1 (12チップ)
                 +
拡散後のデータ2
+1 -1 -1 +1 -1 +1 +1 -1 -1 +1 +1 -1 (12チップ)

合成波形
+2 -2  0  0 -2 +2  0  0  0  0 +2  -2
※スクランブリングコードは省略


送信時の流れはおおざっぱだがこのような感じである。
受信時は逆拡散すれば目的の情報を取り出せる。



W-CDMAの通信速度
第3世代のW-CDMAやHSDPが第2世代のPDCよりも高速なのはなぜか。
今まで書いてきたように、W-CDMAではユーザ多重方式に
CDMAを使っているからなのであろうか。
そうではない。送信時の帯域幅が大きいからである。
W-CDMAでは5MHzの帯域幅を利用する。一方、PDCは25kHzである。

CDMAも拡散率を変動させることで高速化を図れるが、
それは音声通信とデータ通信を共存させることが一番の目的である。

話を戻し、通信速度を求めてみよう。
W-CDMAでは、音声もデータもチップ速度を3.84Mcpsとしている。

データ(通信速度 = 384(kbps)の場合)
チップ速度 = 3.84(Mcps)
拡散率(コード長) = 8
シンボル速度 = 3.84(Mcps) / 8 = 480(ksps)
変調方式 = QPSK (2ビット/1シンボル)
総通信速度 = 480(ksps) * 2(ビット/シンボル) = 960(kbps)
※冗長ビットや空き時間を含む
冗長度 = 960(kbps) / 384(kbps)

音声(通信速度 = 12.2(kbps)の場合)
チップ速度 = 3.84(Mcps)
拡散率(コード長) = 128
シンボル速度 = 3.84(Mcps) / 128 = 30(ksps)
変調方式 = BPSK (1ビット/1シンボル)
総通信速度 = 30(ksps) * 1(ビット/シンボル) = 30(kbps)
※冗長ビットや空き時間を含む
冗長度 = 30(kbps) / 12.2(kbps)

音声とデータ通信を比べると同時に利用できるチャネルは16(128/8)倍も差が出る。
データ通信はは同時利用者数は減ってしまうが、
通信速度は早くなるというトレードオフがある。


HSDPAの通信速度
HSPAの下り、HSPDAの通信速度を見てみる。

HSDPAは最大14.4Mbpsで伝送できると言われているが本当だろうか。

チップ速度 = 3.84(Mcps)
拡散率(コード長) = 1
シンボル速度 = 3.84(Mcps) / 1 = 3.84(Msps)
変調方式 = 16QAM (4ビット/1シンボル)
総通信速度 = 3.84(Msps) * 4(ビット/シンボル) = 15.36(Mbps)

14M.4bps以上でているのには理由がある。
実はHSDPAでは16QAMで利用できる16コードのうち15個だけを使って信号を並列拡散している。
残りの1コードは制御チャネルやパイロットチャネルの伝送に使うためである。

15.36(Mbps) * 15/16 = 14.4(Mbps)

1人のユーザだけであれば拡散率を最小の1にできるため、
14Mbpsが出ないこともないということが分かるだろう。


W-CDMA、HSDPではCDMAというユーザ多重方式を使っていた。
しかしCDMA方式では逆拡散で干渉の大きさを拡散コードの長さ分の1にできたが、
通信速度も拡散率分の1になってしまう。
CDMAでは高速通信しようにも干渉の問題があるためなかなか高速化しにくいのである。

そこでLTEではOFDMという方式をとっているのだが、
LTEの話をする前に、いったんここで干渉について無線の基礎知識をまとめておく。


無線のフェージング対策
電波が反射や回折をすることで電波があちこちから来ることでマルチパス化が起こる。
そのため元の信号を読み取りにくくなるフェージングの問題が発生する。
よって無線技術では干渉を減らす対策と干渉に強くするための対策がとられる。

(1) 干渉を減らす対策
① 直行コードを使う

② 送信電力制御を行う

③ セル、セクタ数を増やす

④ 通話しない時は送信しない

⑤ 無線基地局アンテナ
放射ビームを下へ向けてほかのセルへの放射を減らす

⑥ 衝突制御対策
送信時に少しずつ送信電力を大きくするパワーランピングなどを用いる。


(2) 干渉に強くする対策
①Rake受信 

②複局同時通信
位置が異なる複数のアンテナを使って、電波が強い方を選択することで
受信レベルの低下を防ぐのである。
これをダイバーシティという。

③誤り訂正
FEC(Forward Error Correction)
音声通信とデータ通信で使う。
誤り訂正用のビットをつけることで1ビットまでの誤りを訂正できる。
2ビット誤ると訂正はできないが、誤ったことは検出できる。

ARQ(Automatic Repeat and reQuest)
データ通信のみで使う。
受信したデータに誤りがあれば再送信をかけられるため、
伝送誤りをゼロにできる。ただし伝送遅延が生じる。
電波状況の今日の良し悪しを見て、例えばFECでも冗長度を低くしたり、
高くしたりもしている。
これを適応変復調誤り訂正符号化(AMC:Adaptive Modulation and Channel Coding)という。



 LTEの通信の流れ
LTEではOFDM(Orthogonal Frequency Division Multiplexing)という
多重化方式をとっていることが特徴である。

LTEの通信の流れは次のようになる。

(1) 送信すべき信号を
(2) S/P(Serial:直列/Parallel並列)変換し
(3) IFFTし
(3) CPを挿入して
(4) 変調させて送信


(1)から(4)までを具体例を使って追いかけてみる。

(1) 信号
このような信号を送信するとする。
|f|e|d|c|b|a| → 送信


(2) S/P変換
情報シンボルを伝送する電波であるキャリアを1つではなく、
同時に周波数の異なった複数のキャリアを利用するためにS/P変換する。
これがOFDMの特徴の一つであるマルチキャリア化である。
キャリアのひとつひとつをサブキャリアという。
この例ではサブキャリア数は3つだが、周波数帯幅が5MHzの場合は300となる。
|  d  |  a  |
|  e  |  b  |
|  f  |  c  |

またN個のシンボルを送信するのにかかっていた時間の中で、
OFDMでは1つのシンボルを送ればいいので、時間間隔が1/Nになる。
遅延派の影響を少なくすることができる。


(3) IFFT
並列化されたシンボルにそれぞれ周波数の異なるsin波(キャリア)を掛け合わて送信する。

例として3並列化された情報シンボルを考える。
"a"
"b"
"c"

それぞれの文字列に周波数の異なるsin波を乗算して足し合わせるする。
振幅の変化はsin波を+1と-1で単純化する。

"a"は下の波で乗算
+1 +1 +1 +1            
-----------------------
            -1 -1 -1 -1

"b"は下の波で乗算
+1 +1       +1 +1      
-----------------------
      -1 -1       -1 -1
                   
"c"は下の波で乗算
+1    +1    +1    +1   
-----------------------
   -1    -1    -1    -1  

するとこのようになる。
+a +a +a +a            
-----------------------
            -a -a -a -a
                   
+b +b       +b +b      
-----------------------
      -b -b       -b -b
                   
+c    +c    +c    +c   
-----------------------
   -c    -c    -c    -c  

足し合わせると
+a                     
+b +a +a    +b         
+c +b +c +a +c +b +c   
-----------------------
   -c -b -b -a -a -a -a
         -c    -c -b -b
                     -c
ここまでのそれぞれのシンボルに異なる周波数を掛けて足し合わせる処理は、
逆フーリエ変換(IFFT:Inverse Fast Fourier Transform)で処理できる。

シンボル"a"にかかっているsin波を乗算すると"a"だけが現れる。
この処理はフーリエ変換(FFT:Fast Fourier Transform)で対応できる。
+1 +1 +1 +1            
-----------------------
            -1 -1 -1 -1

+a                   +a
+b +a +a       +a +a +b
+c +b +c +a +a +b +c +c
-----------------------
   -c -b -b -b -c -b -a
         -c -c        


(4) CP
シンボルの周期が短いと、
遅延波の影響が大きくなる。直観的に分かるだろう。

そこでOFDM信号の終わりの一部分を先頭にコピーするのである。
この付け足す信号のことをサイクリックプレフィックス(CP:Cyclic Prefix)と呼ぶ。
CPを付与することで隣接シンボルが積和区間に現れなくなる。
また、山間部では遅延が大きくなる可能性があるため、長いCPが用いられる。


(5) 変調
変調方式は、64AQM(6bit/1Hz 伝送可能)が使われる。
フェージング状態が悪い場合はQPSK、16QAMも利用される。

以上である。

受信時にはCPを除去後、受信信号と取り出したいシンボルに
対象のsin波を乗算すれば求める情報だけが現れる。


マルチキャリア化するOFDMには以下の問題が存在する。
マルチキャリア化した際にすべてのサブキャリアが
同位相で足し合わせれるとそのキャリア分、ピーク電流が増大してしまう。
携帯端末は低消費電力であるため対策を講じなければならない。

そこで、端末送信の上りではOFDMではなく、SC(Single Carrie)-FDMAが使われる。
信号の生成はOFDMと同様の仕組みである
DFTは離散フーリエ変換(Discrete Fourier Transform)を使った
DFT-Spread OFDMが利用される。


結局は送信シンボルごとに時系列に伝送するシングルキャリアと同じなのだが、
下りと仕組みを共通化できるためこのようになっている。



LTEの特徴と通信速度
(1) 遅延波に強い
既に書いた通りマルチキャリア化とCPを導入しているためである。

(2) リアルタイム性
1つのパケットを送信する時間単位であるサブフレームが短い。
W-CDMA、HSDPA、OFDMのサブフレームを比較してみる。
・W-CDMA : 10ms
・HSDPA : 2ms
・OFDM : 1ms(CPを含めて14個のOFDMシンボルを送れる)。

(3) きめ細かいスケジューリング
1ms、180kHzごとにどの周波数を誰に割り当てるか決めることができる。
この最小の単位をリソースブロックという。

リソースブロック内のシンボル数は168個である。
14個のOFDMシンボル(1ms内) × サブキャリア12個(180kHz内)
=168シンボル

ただし、上りはシングルキャリアなので、あるユーザに割り当てるリソースブロックは
連続したものに限られる。




↑  Aさん ←連続していないリソースブロック
   Bさん
   Aさん ←連続していないリソースブロック
      → 時間

上りでは連続しないリソースブロックは割り当てられない。


スケジューリングはどう行っているかというと、下りと上りで違うのだが、
下り
無線基地局からの試験信号(リファレンスシグナル)を端末が受信し、
その結果を無線基地局にCQI(Channel Quality Indicator)としてフィードバック。

上り
その逆である。

音声を送るVoIPの場合は異なることに注意してほしい。
どのリソースブロックを誰に割り当てたかという制御情報がパケットに付与されるが、
小さなパケットではその割り合いが大きくなりスループットが低下する。
そこで固定的なリソースブロックをユーザに長期的に割り当てておく。
受信したパケット誤りがあった場合のみリソースブロックの再割り当てを行う。



(4) 通信速度
最後の特徴は当然これである。
干渉に強いOFDMを利用している点がまず一つ。
そして、無線基地局と端末側双方で複数のアンテナを
用意していることがもう一つの大きな理由である。

双方で複数のアンテナを用意することをMIMO(Multiple Input Multiple Output)という。
2本の送信アンテナと2本の受信アンテナがあれば通信速度は2倍になる。
この技術のかなめはフェージングである。
送信機、受信機の電波の伝送路では無線の伝送品質を
劣化させるフェージングが起きるが、それを逆手に取り、
情報シンボルを判別させる。
フェージング変数は端末が受信した信号中の
リファレンスシグナルという信号から知ることができる。

以下の例で考えてみる。

・送信側アンテナ: x1, x2
・受信側アンテナ: x1, x2
・x1, y1間のフェージング係数:+1
・x1, y2間のフェージング係数:+2
・x2, y1間のフェージング係数:-2
・x2, y2間のフェージング係数:+1

   +1  
x1 →   y1=x1-2*x2
   ↘ +2
   ↗ -2
x2 →   y2=x1+2*x2
   -1

x1, x2が求まる。
アンテナを2本ずつ使って通信則でも2倍である。


さて、それではLTEの通信速度を計算してみる。
前提として
変調方式:64AQM(1周波数帯で伝送可能なビット数は6) ※2^6 = 64
アンテナ数:4本
送信帯域幅:20MHz

6 × 4 × 20 ⇒ 300Mbps
ガードバンド、CP、リファレンスシグナル、制御チャネルは無視して
300Mbpsがでることが分かると思う。


少し脱線だが、MIMOは以下の目的でも使われる。
① 信号電力の増大(プリコーディングを使う)
② ダイバーシティの用途


今や、誰もが持っている携帯や、スマートフォン。
その無線技術の理解は必須だろう。