USRPの同期について
複数のUSRPのチャネルや複数台のUSRPを使用するためには、同期の理解が必要です。
クロック同期、時刻同期、位相同期についてまとめて解説します。
USRPの「同期」
USRPを用いた測定や信号生成では、複数チャネルや複数台の装置を同期させて動作させることが重要になります。
USRPにおける同期は主に次の 3つの概念に分類されます。
これらはそれぞれ目的が異なり、用途に応じて組み合わせて使用されます。
クロック同期は、10 MHzリファレンスクロックを共有する仕組みですが、位相同期とは違う概念です。クロック同期を行っても、RFの位相が必ず一致するわけではありません。
クロック同期(Reference Clock Synchronization)
クロック同期とは、各USRPのADC/DACが同じクロックで動作するようにすることを指します。
クロックが一致していない場合、各USRPのサンプルレートがわずかに異なるため、
  • サンプル位置が徐々にずれる
  • 時刻カウンタがずれる
という問題が発生します。
USRPでは、内部の device time(時刻カウンタ) はクロックから生成されているため、クロック同期が取れていないと時刻同期も維持できません。
そのため、複数USRPを同期する場合は、まずクロックを一致させる必要があります。
同期方法
通常は 10 MHz reference clock を各USRPに供給してクロック同期を実現します。
時刻同期(Time Synchronization)
時刻同期とは、複数のUSRPの内部時刻(device time)を一致させることを指します。
これにより、
  • 受信開始
  • 送信開始
などの動作を同じ時刻に開始することができます。
UHDでは Timed Command を使用して、指定した時刻に動作を開始させることができます。
同期方法
複数USRPの時刻同期にはPPS(1 Pulse Per Second)信号を使用します。
PPS信号が入力されると、各USRPの内部時刻を同じ基準に合わせることができます。
なお、時刻同期を正しく維持するためには、事前にクロック同期が取れている必要があります。
位相同期(LO Phase Synchronization)
位相同期とは、各RFチャネルのローカルオシレーター(LO)の位相関係を一定に保つことを指します。 位相同期はハードウェアレベルにサポートされているUSRPでのみ有効です。位相同期がサポートされていないUSRPでは、クロック同期や時刻同期が可能でも位相同期はハードウェアレベルで不可能です。
これは次の用途で重要になります。
  • MIMO通信
  • ビームフォーミング
  • チャネル測定
  • フェージングエミュレーション
位相同期の方法
  • LO共有
  • LO分配
  • キャリブレーション
  • 位相同期をソフトウェアで実現するキャリブレーションという手法があります。この手法は、収録前に既知の信号を送信して各チャネルのズレ量を計測して補正します。収録再生システムではサポートしていません。
クロック同期との違い
クロック同期と位相同期は異なる概念です。
重要な点として、
10 MHzリファレンスクロックを共有しても、RFの位相が必ず一致するわけではありません。
これは、各RFモジュールのLOが独立して生成されるため、初期位相がランダムになる場合があるためです。
1台のUSRP内でのチャネル同期
1台のUSRPでは、内部で次の信号がすべてのチャネルに共有されています。
  • クロック
  • device time
  • PPS
そのため、同一USRP内では
  • クロック同期
  • 時刻同期
ソフトウェア設定のみで実現できます。
複数USRPの同期
複数台のUSRPを同期させる場合は、外部基準信号を共有します。
一般的に使用する信号は次の2つです。
OctoClockによる同期
複数USRPの同期では OctoClock がよく使用されます。
OctoClockは
  • 10 MHzリファレンスクロック
  • PPS信号
を生成または入力し、最大8台のUSRPに分配する装置です。
この構成により、複数USRPの
  • クロック同期
  • 時刻同期
を同時に実現できます。
各USRPの位相同期サポート状況
1 : データシート上では位相同期に対応されていると書かれていますが、ドルフィンシステムでは動作未確認です