ノートブックPCで ソフトウェアによる ベースバンド処理を 可能に

ノートブックPCで
ソフトウェアによる
ベースバンド処理を
可能にする汎用
GPSレシーバ
50bps DATA
REPEAT
20
1000bps
1.023Mcps
SPREAD
G = 1023
RF
BPSK
cos (2!ft)
図1. 民生用GPS信号の信号生成ブロックでは、スペクトル拡散方式
で信号を送出します。
David Weber (Strategic Applications Engineer)、
Roger Bremer (Strategic Applications Engineer)
GPSシステム自体は、スペクトラム拡散型のシンプルな
通信システムです4。図1に示しているのが、民生用アプ
リケーションの信号生成ブロックです。まず、50bpsの
航法メッセージを20回繰り返し、1000bpsのビットスト
リームとします。これを1023チップ長のC/A (coarse/
acquisition)コードでスペクトラム拡散させます(チップと
は擬似乱数雑音(PRN)コードを適用するレート)。これで
1.023Mcpsのベースバンド信号が得られます。このような
処理をしておくと、GPSシステムが持つ43dBの処理利得
(G)によって、サーマルノイズレベルを下回る信号を十分
に復調することができます。
通 信 分 野 や ナ ビ ゲ ー シ ョ ン 分 野 で は 、 GPS (Global
Positioning System)用ソフトウェアの利用が広がって
います1、2。大規模集積回路の開発が可能になった結果、
パワフルなC P UとD S Pを使って、G P S信号の検出と
デコードをソフトウェアでリアルタイムに行えるように
なったからです。生成されるソフトウェアベースのGPS
レシーバはIF周波数の変更などの設定変更により、ハード
ウェアの設計をやりなおさなくても、新しいアプリケー
ションに対応したり、将来的なアップグレードが可能で
あるなど、高い柔軟性を持ちます。
各衛星には一意のC/Aコード(ゴールドコードとも呼ばれる)
が割り当てられています5。C/Aコードは自己相関特性と
相互相関特性に優れていることから、WCDMAやcdma2000®
などのCDMA通信システムでも広く使用されています。
ベースバンド信号には2位相偏移変調(BPSK)をかけ、L1帯
にアップコンバートして送信します。
GPSレシーバ用RFフロントエンドのMAX2769を利用
すれば、シンプルなUSBドングルやPCI Express® (PCIe®)
Mini Cardといった形でGPS機能をノートブックPCへ
低コストに追加することができます。MAX2769は取り
込んだ生データをPCホストへ送り、ホスト側でソフトウェア
によるベースバンド復調処理を行えば、スタンドアロンの
GPSシステムで用いられているベースバンドASICは不要
になります。つまり、MAX2769を使うことによって、
GPS信号とGalileo信号をシングルチップで処理する
アダプタ機能が実現します。
信号捕捉方法の検討
GPSはCDMA情報通信システムであるため、データを復調
するためには、まず、PRNコードに同期する必要があり
ます。これは、通常2段階で行います。まずコードを捕捉
して大まかにアライメントを取り、その後、コード位相
トラッキングによって微調整を行います6。具体的には、
まず、GPSレシーバから衛星へ見通し線が通っているか
どうかを確認する必要があります。前述したように、
各衛星には一意のC/Aコードが割り振られています。その
ため、衛星を見通し線で捉えることができれば、コードの
捕捉によって信号の周波数とコード位相を求め、そこから
復調パラメータを得ることができます。ただし、レシーバ
と衛星の相対速度に応じ、受信する信号の周波数には
ドップラー効果による5kHzから10kHz程度のずれが生じ
ます7。
このアーティクルでは、まずGPSシステムの動作を概観し、
その後、Maximが提供するソフトウェアベースのGPS
レシーバソリューションについて解説します。
GPSシグナリング
GPSシステムを構築するには、24基の衛星(各衛星は一意
の擬似乱数雑音コードで特定)、地上の基準局、および
ユーザ機器(レシーバ)が必要となります。民生用GPSと
Galileoアプリケーションでは、1.57542GHzのL1帯で
衛星との通信が行われます 3 。GPSレシーバで信頼性の
ある測位を行うには、少なくとも4つの衛星が見通し線上
になければなりません。信号は時間とレシーバ位置によって
変化するため、その捕捉とトラッキングは非常に複雑です。
レシーバ側では、受信したGPS信号をまずダウンコン
バートし、同相成分と直交成分(IとQ)に変換します。その後、
12
トラッキングによるアライメントの微調整
ベースバンド信号から得たこのIおよびQとローカルに
生成したPRNシーケンスとの相関を、I/Q相関器のペアを
用いて取ります。これを1ビット分積分したあと、I/Q
相関器の出力を合計して出力決定変数とします。
捕捉により、GPS信号の周波数とコード位相パラメータ
との大まかなアライメントが実現されます。トラッキング
はそのアライメントを微調整し、正確なコード位相情報と
周波数情報を元にデータの復調が行えるようにするもの
です。トラッキングにはコード位相のトラッキングと
キャリア周波数のトラッキングがあります。
決定変数があるスレッショルド値を超えると捕捉が成功
したと判断し、トラッキングモードへ移行します。超え
ない場合はPRNシーケンスとオシレータ周波数の相対的
位相を調整して決定変数を更新し、上記プロセスを繰り
返します。
コードのトラッキングは、図2に示す遅延ロックループ
(DLL)で行います。DLL回路では、ローカルに複製した
PRNコードのレプリカ、3種類(±0.5チップにおける
コード)を受信信号に対して積算します。3種類のレプリカは、
受信信号に対して早め、同時、遅めに到着したものを表し
ます。これを積分すると、各信号は受信信号とローカル
レプリカとの相関関係を表すものとなります。そのうち
相関値が最も高いものを選んで保持します(図3)。
これはシリアル探索で、ロジック構造がシンプルとなる
ことからASICによる実装が可能である半面、探索空間が
巨大となるためソフトウェアによる実装は非現実的です。
キャリア周波数のオフセットを500Hzまで許容し、ドッ
プラー効果による周波数のずれが10kHzまであるとすると、
ソフトウェアで実装しなければならない探索空間は
2 x (10,000/500) x 1023 = 40,920程度となります。
このようにシリアル探索による捕捉をソフトウェアで
実現するのは困難です。
キャリア周波数のトラッキングは位相ロックループ(PLL)
かコスタスループで行います 8 。ローカルに生成する
周波数を受信信号の周波数にぴったり合わせることが
キャリアトラッキングの目的だからです。
ソフトウェアでの実装が容易な捕捉方法としては、周波数
領域によるパラレルコード位相捕捉が考えられます。この
場合、PRNコードを高速フーリエ変換(FFT)してからドッ
プラー周波数の探索とコード位相の探索をまとめて行い、
コード位相情報のすべてを周波数領域に移します。こう
すれば、ドップラー周波数オフセットの部分だけを探索
するだけでよくなるため、ソフトウェアによって高速かつ
効果的な探索が実現します。
捕捉とトラッキングによって初期同期を実現したら、
航法ビットのデコードを行います。まず、1.023Mcpsの
入力信号を逆拡散させ、1000bpsのビットストリームに
します。次にビット同期を行い、1000bpsのビットスト
リームから50bpsの情報を取得します。ビット同期を
行うためには、まず、零交差エッジ(ゼロボルトとなる点)
を見つけてビットの開始点を特定します。航法データの
メッセージは50ビットで時間にすると20msを占めると
わかっているので、エッジが特定できたら1000bpsの
入力ストリームを20ms間隔に分割します。20ms間隔の
ビットサンプルを合計し、平均値を取るとデコードが
完了し、航法データが得られます。
実際のシステムでは、まず、ローカルに生成したサイン波
とコサイン波によるキャリアを受信した信号にかけ合わせ
ます(それぞれ、信号のI成分とQ成分)。その後、このI成分
とQ成分を合成してFFTブロックへの複素入力とします。
フーリエ変換の出力にPRNコードをFFT変換した共役数を
かけます(PRN発生器で生成されるコードの位相はゼロ)。
実装する際には、FFT操作とPRNコード生成の部分はテー
ブル化し、計算を簡略化することができます。
ローカルに生成したコードと受信信号の積は受信周波数と
キャリア周波数との補正を表すため、これを逆フーリエ
変換し、その二乗出力を決定ロジックへフィードバック
します。このFFTによる周波数領域処理は、計算リソースの
消費が少ないという特長を持ち、前述と同じ例で考えると、
20,000/500 = 40回程度のFFT操作で済みます。
INCOMING
SIGNAL
CE
CP
CL
シリアル探索は、便利なASICによる実装で必要とされる
シンプルなロジックと制御アーキテクチャを持っています。
しかし探索空間が巨大で、ソフトウェアアルゴリズムでの
実現は困難です。つまり、ソフトウェアをベースとした
GPSレシーバには不向きです。これに対し、パラレル
コード捕捉方式はソフトウェアによる実装に適しています。
しかしそのロジックアーキテクチャはシリアル探索法と
比較してはるかに複雑で、ASICによる実装は困難です。
LOCAL
OSCILLATOR
LOCAL PRN
GENERATOR
図2. コードのトラッキングでは遅延ロックループを用いてアライ
メントを微調整し、正確なコード位相情報と周波数情報を
もとにデータの復調が行えるようにします。
13
を実現します。ベースバンド機能の処理からPC画面への
現在位置の表示まで、残りのすべてはソフトウェアで行い
ます。これでノートブックPCはパワフルなGPSデバイス
となり、ナビゲーションから位置情報をベースとした各種
サービスまでを利用できるようになります。
INCOMING
EARLY
ディジタル化されたIFデータは、GPSフロントエンドから
業界標準のUSB 2.0インタフェース経由でノートブックに
ストリーミングされます。これを入力としてベースバンド
ソフトウェアが位置決定計算からトラッキングまでを行い
ます。このようなソフトウェアは、Geotateなどが提供して
います。詳しい情報はwww.geotate.comを参考にして
ください。
PROMPT
CORRELATOR
OUTPUT
LATE
CP
CE
CL
ソフトウェアで仮想COMポートを構築すれば、汎用インタ
フェースとしてさまざまなナビゲーションアプリケーション
や位置情報アプリケーションとリンクすることができます。
GPSソフトウェアパッケージの多くはNMEA 0183に準拠
したインタフェースを持っていますし、オペレーティング
システムとしてはMicrosoftのWindows® XPやWindows
VistaTMに対応しています。また、業界標準のプロトコル
あるいは独自インタフェースを通じて支援データが得られ
る場合、ソフトウェアであれば、その処理も行うことが
できます。
図3. DLL回路では、ローカルに複製したPRNコードのレプリカ、
3種類(±0.5チップにおけるコード)を受信信号に対して積算
します。3種類のレプリカは、受信信号に対して早め、同時、
遅めに到着したものを表します。そのうち相関値が最も高い
ものを選んで保持します。
ソフトウェアベースのGPSレシーバ
最近のノートブックコンピュータであれば、ソフトウェア
GPSレシーバが必要とするリアルタイムデコーディング
を十分に行えるだけの性能を持つCPUを搭載しています。
トラッキング中の平均プロセッサ負荷は、1秒ごとにアップ
デートを行う場合でも、1GHz Pentium® Mで6%程度、
2.18GHzのCoreTM Duoプロセッサであれば5%以下となり
ます。アルゴリズムを改良すれば、2%以下のCPU使用率
とすることも可能です。
従来のGPSレシーバでは、捕捉、トラッキング、ビット
同期をASICで実装していますが、ソフトウェアベースの
GPSレシーバではこれらの機能をソフトウェアで実装する
ことにより高い柔軟性を実現します。ソフトウェアを活用
すればハードウェア側のアーキテクチャをシンプルにできる
ため、コストを削減しつつレシーバの小型化と効率化を
行うことができます。ソフトウェアはC/C++、MATLAB®
などさまざまな言語で作成可能で、組込みOS、PC、Linux、
DSPプラットフォームなど、どのようなオペレーティング
システムへもポーティングすることができます。このよう
にソフトウェア型GPSレシーバは携帯電話、PDAなどの
モバイルアプリケーションに適した高い柔軟性を持ちます。
回路の動作と性能
ソフトウェアベースのGPSレシーバのRFフロントエンド
では、受信した弱い信号を低ノイズアンプ(LNA)で増幅
した後、約4MHz (図5a)という低IF (中間周波数)へとダウン
コンバートします。ダウンコンバージョンは、1つあるいは
2つのミキサを使用し、ローカルオシレータ信号を入力RF
信号へミキシングすることによって実現します。得られた
アナログIF信号はアナログ-ディジタルコンバータ(ADC)
によってディジタルIF信号に変換します。
USBポートがあるノートブックコンピュータに対しては、
USBドングルの形で設計することができます。新しい
ノートブックでPCIe Mini Cardのコネクタを持つ場合は、
RFフロントエンドをPCIe Mini Cardに組み込んでPCに装着
する形を採ることができます(図4a、4b)。PCIe Mini Card
インタフェースにはUSBポートも搭載されているため、
USB用でもPCIe Mini Card用でも同じようにフロント
エンドアダプタを設計することができます。違いは、PCIe
をサポートするためにはある種の電源管理ロジックが必要
になる点とDC電圧の違いくらいです(PCIeは3.3Vである
のに対し、外付けUSBポートは5V)。
MAX2769であれば、LNA、ミキサ、およびADCの3つの
機能を集積しているため、アプリケーションの開発期間を
大幅に短縮することができます。またMAX2769では、
2種類のLNAが利用できます。1つはパッシブアンテナ用
で雑音指数が0.9dBと非常に低く、利得は19dB、IP3は
-1dBmとなっています。もう1つはアクティブアンテナ用で、
雑音指数は1.5dB、利得と消費電力は若干低め、IP3は
若干高めとなっています。電源電圧は2.8Vで、消費電流
は構成にもよりますが、13mAから18mAと非常に少なく
なっています。
図5bに示すUSBドングルのブロックダイアグラムを見れば、
このソリューションがどれほどシンプルであるのかがわか
ります。この回路では、汎用GPSレシーバのMAX2769の
ほか、カウンタとUSBインタフェースコントローラを使う
だけで信号の捕捉からディジタル変換、ホストPCへの転送
14
30mm
TOP VIEW
MCX RF
CONNECTOR
18mm
27.6mm
MCX
CONNECTOR
RF
CIRCUITRY
RF
CIRCUITRY
USB CONNECTOR
RF SHIELD
50.95mm
BOTTOM VIEW
MCX
CONNECTOR
DIGITAL
CIRCUITRY
DIGITAL
CIRCUITRY AND
POWER
MANAGEMENT
USB CONNECTOR
USB CONTROL/
SIGNAL LINES
23mm
49mm
USB AND PCIe
CONNECTIONS
(a)
(b)
図4. USBドングル用アダプタ構成(a)とPCIe Mini Card用アダプタ構成(b)。いずれの場合もシンプルで低コストな設計となります。
増幅後、外部フィルタでRFのフィルタリングを行う方法も
あります。この場合、内蔵の20ビットシグマ-デルタフラク
ショナルN周波数シンセサイザと15ビットの整数分周器
を用いることによって、IFを0から12MHzの間で自由に
選び、その周波数へフィルタリングした信号を直接ダウン
コンバートすることができます。このようにIFフィルタ
リングを自由に選ぶことができれば、Galileoなど、別の
構成にも対応できます。
ます。MAX2769は、アンテナ電源から流れる電流の有無
を検出し、LNA1とLNA2を自動的に切り替えることが
できます。この機能は、内蔵パッシブアンテナの代わりに
感度の高いアクティブアンテナを外付けできるようにしたい
場合などに便利です。その場合は、外部アンテナポートを
LNA2に、内蔵ポートをLNA1につなぐだけです。外部アン
テナを接続すると、その消費電流をMAX2769が検出し、
LNA1からLNA2へ自動的に切り替えます。
RF入力からIF出力までの総合利得は、60dBから115dB
の範囲で自由に設定でき、また自動的に制御することも
できます。出力は、アナログ、CMOSロジックレベル、
制限差動ロジックレベルから選ぶことができます。内蔵
ADCも、1ビットから3ビットの範囲で出力を選ぶことが
できます。基準発振回路も内蔵されており、水晶振動子
あるいは温度補償水晶発振器(TCXO)による動作が可能です。
入力基準周波数は8MHzから44MHzまで対応します。
MAX2769は、ノートブック、携帯電話、PDA、および
車載アプリケーションなどに適した高性能でコンパクトな
ソリューションです。総定格電圧利得は最大で115dB、
モジュールの雑音指数は1.4dBであり、一般的なGPS
ソフトウェアパッケージを用いた場合で感度は捕捉時
-143dBm、トラッキング時-154dBmとなります。
まとめ
USBドングルのシンプルなリファレンスデザインとして、
基準周波数24MHzから動作するCypress Semiconductor社
のUSBコントローラとMAX2769を使用したものが用意
されています(図5b)。このドングルでは、LDO MAX8510
を用いてDC電源を安定化しています。MAX2769のレジ
スタのプログラミングは、3線(SPITM)ディジタルバス経由
で行います。それとは別に、3端子をハード的に設定する
ことにより、SPI制御なしに8通りの構成の中から1つの
構成を選択して動作させることもできます。
ソフトウェアを活用すると、シンプルで低コストなGPS
アプリケーションを構築することができます。そのような
可能性を追求するため、MAX2769は、従来のハード
ウェア式GPSレシーバと同等の周波数柔軟性をソフトウェア
GPSレシーバに対して提供します。もちろん、どのような
ソリューションにもメリットとデメリットがあります。
ソフトウェアGPSレシーバを実現するためには、高性能な
プロセッサとそれなりの容量のメモリが必要です。しかし、
ソフトウェアを工夫し、クロックとデータ更新速度を適切
に選択することによって、メモリの使用は最小限に抑える
ことができます。
このほか、アクティブアンテナにバイアスを供給すると
ともに、USB規格に準拠するように、シャットダウン
モードに入ったらアンテナをオフにする回路も内蔵してい
15
ANTENNA
HARDWARE
ANALOG IF
LNA
DIGITAL IF
ADC
MIXER
SOFTWARE IMPLEMENTATION
ACQUISITION
TRACKING
BIT SYNCHRONIZATION
NAVIGATION DECODING
LOCAL
OSCILLATOR
(a)
1575.42MHz
RF BPF
MAX2659
LNA
RF
CABLE
MCX
CONNECTOR
POWER
MANAGEMENT
MAX2769
LNA2
VGA
ADC
VGA
ADC
I1
I0
FILTER
RF BPF
/2
COUNTER
74LV163/595
RF FE CONTROL
GPS DATA
Q0 GPSCLK
Q1
FRAC-N
PLL
USB 2.0
CONTROLLER
CYPRESS
CY68014
GPSCLK
24MHz CRYSTAL
CLK_OUT
SPI INTERFACE
SPI
PC
DIGITAL
CONTROL
GPS BASEBAND
SPOT SOFTWARE
LOOP
FILTER
USB 2.0
(b)
図5. ソフトウェアGPSレシーバでは、捕捉したRF信号を増幅し、ミキシングによって周波数を下げた上でディジタル化する必要があります(a)。
実際のレシーバでは、低ノイズアンプによってRF信号の増幅を行います。次にMAX2769で周波数の引き下げから信号のディジタル化を
行います。こうして得られたデータは、カウンタとUSBインタフェースコントローラを経由し、USBプロトコルに乗せてホストPCに送り
ます(b)。
spectrum multiplexing,” IEEE Transactions on Information
Theory, Vol. 13:4 (October 1967). pp. 619–621.
リファレンス
1. Kaplan, E., Understanding GPS: Principles and
Applications, 2nd ed. (Norwood, MA: Artech House
Publishers, 1996).
6. Ziemer, R.E., and Peterson, R.L., Digital
Communications and Spread Spectrum Systems (New
York: Macmillan Publishing Company, 1985).
2. Bao-Yen Tsui, J., Fundamentals of Global Positioning
System Receivers: A Software Approach, 2nd ed. (New
York: John Wiley & Sons, Inc., 2004).
7. Proakis, J. G., Digital Communications, 4th ed. (New
York: McGraw-Hill, 2000).
8. Ibid.
3. For the decoding of navigation messages and position
calculations, refer to Bao-Yen Tsui, Fundamentals of
Global Positioning System Receivers.
「Microwaves & RF」の2006年12月号にも、同様のアー
ティクルが掲載されています。
cdma2000はTelecommunications Industry Associationの登録商標です。
4. Viterbi, A., CDMA: Principles of Spread Spectrum
Communications (Reading, MA: Addison Wesley
Longman Publishing Co., Inc., 1995).
MATLABはThe MathWorks, Inc.の登録商標です。
PCI ExpressとPCIeは、PCI-SIG Corp.の登録商標です。
PentiumおよびCoreは、それぞれIntel Corp.の登録商標および商標です。
SPIはMotorola, Inc.の商標です。
5. Gold, R., “Co-optimal binary sequences for spread
WindowsおよびWindows Vistaは、それぞれMicrosoft Corp.の登録商標および商標です。
16