使用目的USRP選択

概要

無線アプリケーション開発を計画中に、ソフトウェア無線 (SDR) を選択する必要がある場合、次のような疑問が生じることがあります。

どこから着手すればよいか。
どのUniversal Software Radio Peripheral (USRP) が最適なのか。
どのソフトウエア開発ツールを使えばよいのか。

このレポートでは、さまざまなUSRPモデルの違いについて説明しており、適切な無線を選択するために役立ちます。 

内容

ソフトウェア無線概要

ソフトウェア無線とは、通常、無線ソリューション研究のためのプロトタイピングや、アプリケーションのデプロイのために使用される無線デバイスです。一般的に、ソフトウェア無線 (SDR) は通信、次世代レーダー、EW、無線 (OTA) テスト、5Gの研究に利用されます。ほとんどのSDRはハードウェアアーキテクチャが共通しており、さまざまな性能の汎用プロセッサ (GPP)、FPGA、RFフロントエンドが組み込まれています。

USRPデバイスのダイアグラム

図1.SDRの代表的なハードウェアアーキテクチャ

ホストアプリケーションのコード開発には、以下のような一般的なツールが使用されています。

  • LabVIEW
  • C/C++またはPython、およびオープンソースハードウエアドライバ
  • RedhawkやGNU RadioといったオープンソースSDRフレームワーク
  • MathWorks MATLAB® ソフトウェア

ソフトウェア開発ツールとOSに応じて、お客様のアプリケーションに最適な無線を決定できます。


多くのアプリケーションでは、FPGAデバイスを使用した信号処理のハードウェアアクセラレーションが必要です。いくつかのUSRPがこの機能を搭載しています。後で詳しく説明しますが、FPGA開発には多くの選択肢があります。

図2では、USRPで利用できるソフトウェアおよびFPGAを開発する際の一般的なツールフローの概要を示しています。

図2:SDR向けソフトウェアとFPGAのオプション

NIとEttus ResearchのUSRP製品は、幅広いレンジの無線デバイスのプロトタイピングおよびデプロイの要件を満たすソフトウェア無線ファミリです。適切な無線を選択していただけるよう、ハードウェアとソフトウェアに関するさまざまな注意点をご紹介します。

 

 

ハードウェアオプション

アプリケーションに適切なUSRPデバイスを選択するには、まず、信号パラメータ、サイズ、重さ、電源、コスト (SWaP-C)、性能、環境アプリケーションの要件に関するいくつかの質問を検討することをお勧めします。質問1:必要とされる中心周波数および帯域幅。

これは答えやすい質問ですが、次の質問はもうすこし複雑です。デバイスとの間で信号データをどのようにやりとりするか。

この質問に関連して、データインタフェースの重要性に注目する必要があります。たとえば、USRP-290xモデルはUSBでホストに接続されるため、USBインタフェースの最大持続帯域に制限されますが、NI Ettus USRP X410は2つのデュアル100 GbEインタフェースを備えており、より多くのデータを入出力することができます。

USRPインタフェースの帯域幅に関する注意事項については、Ettus Researchのナレッジベースの記事「USRP Bandwidths and Sampling Rates」を参照してください。

ほとんどのUSRPデバイスの最大周波数は6 GHz程度ですが、NI Ettus USRP X410は7 GHz帯での作動が可能です。低周波数側では、使用されているアナログチップセットによって、75 MHzまで下がるものやDCまで下がるものがあります。各モデルの詳細については、図15をご参照ください。

NI Ettus USRP X410の前面

図3. RFSOCに基づいたEttus USRP X410は、中心周波数が7.2 GHzまで高周波広帯域SDRです。

コストパフォーマンストレードオフ

USRPデバイスを選択する際には、特にコストとパフォーマンスのトレードオフを考慮してください。 お得な価格の無線が必要であって、上級のFPGAや広域帯域幅の必要性がない場合、NI USRP 290xまたはEttus Research B200miniが最適な選択となります。最大限に広い帯域幅と7.2 GHzまでの周波数が必要であれば、NI Ettus USRP X410が最適である可能性があります。 この2つの間には、多くの選択肢があります。 下の図15に、すべてのモデルの仕様を示しています。

USRP B200およびUSRP B200miniの上部

図4.USRP B200およびUSRP B200mini低SWaP-C SDR

スタンドアロンまたはホスト接続SDRオプション

USRPは、ソフトウェアと電磁スペクトルをつなぐコンピュータ周辺機器として考案されました。初期のUSRPと比較してアプリケーションが進化しており、多くの場合、オンボードの組み込みプロセッサが必要となります。SDRを一元管理システムから物理的に離れた場所に配置する、または単独でデプロイするアプリケーションでは、このスタンドアロン構成が必要になることがあります。スタンドアロンが必須の要件である場合、Xilinx Zynqマルチプロセッサシステムオンチップ (MPSOC) またはRFシステムオンチップ (RFSOC) で十分なのか、強力なIntel X86プロセッサを実装する必要があるのかを判断する必要があります。表1では、さまざまなモデルの種類とそのオンボードプロセッサの内容を示しています。詳細については、USRPの仕様ドキュメントをご覧ください。

無線モデルオンボードプロセッサ
USRP N320、 USRP N321、 USRP N310Xilinx Zynq 7100 MPSOC
USRP E31XXilinx Zynq 7020 MPSOC
USRP E320Xilinx Zynq 7045 MPSOC
NI Ettus USRP X410Xilinx Zynq Ultrascale+ RFSOC ZU28DR
USRP-2974Intel Core i7 6822EQ (2 GHzクアッドコア) 

 

表1.オンボードプロセッサ搭載のスタンドアロン対応USRPモデル



NI USRP 2974 Stand-Alone SDRの前面

図5. Intel Core i7内蔵のUSRP 2974スタンドアロンSDR

堅牢過酷環境

ほとんどのUSRPは実験室で使用されますが、アプリケーションによっては屋外や厳しい環境での動作が求められることがあります。拡張動作温度での動作が必要な場合や空冷を利用できないアプリケーションの場合は、Ettus Researchブランドの組み込みシリーズを検討してください。加えて、Ettus Researchブランドでは、低SWaP動作に対応する産業用グレードのアルミニウムエンクロージャーアッセンブリを使用して使用温度を拡張するよう、USRP B205miniを構成するオプションがあります。 また、過酷な環境要件がある場合は、経験豊富な当社の堅牢化パートナーをご紹介することも可能です。検討されている方は、お問い合わせください。

Ettus Research ruggedized USRP E320の前面

図6. 組み込みシリーズ、USRP E320

複数チャンネル同期

多くのアプリケーションでは、さまざまなレベルでの同期を行う、複数入力および複数出力 (MIMO) 構成が必要です。MIMOシステムには、ADCやDACのクロックを共有するだけのものもあれば、すべてのチャンネルを共通のクロックとローカルオシレーターにロックして、完全な位相コヒーレント動作を実現するものもあります。

MIMOの一般的なアプリケーションは、空間多重化による通信です。これに必要な機能はクロックの同期のみですので、10 MHzの外部基準クロックを持つほとんどのUSRPで十分対応できます。 たとえば、ブリストル大学とルンド大学がこのようなシステムを構築して、SDRベースのMassive MIMOシステムを使って無線のスペクトル効率の世界記録を更新しました。 このアプリケーションで使用されたMassive MIMOプロトタイピングシステムは、オンボードFPGAを使用したNI USRPソフトウェア無線デバイスで構成されています。

USRP N320およびN321の前面

図7.LO分散インタフェースを内蔵したUSRP N320およびN321

完全な位相コヒーレント動作が必要な場合は、2種類の選択肢を検討できます。4チャンネルまでの受信専用動作が必要な場合は、Ettus Research USRP X310に2枚のTwinRxドーターボードをセットアップすることで、LOを共有し、位相コヒーレントで動作させることができます。5チャンネル以上が必要であれば、図7に示すEttus Research USRP N320およびN321を検討してください。USRP N321は最大で128 x 128位相のコヒーレント動作が可能なLO分散ハードウェアを内蔵しています。図8に、32 x 32の構成例を示します。

Ettus Research USRP N321で可能になる位相コヒーレント動作のダイアグラム図8.USRP N320およびN321マルチチャンネル位相コヒーレントシステム

分散マルチ無線同期

アプリケーションによっては、複数の無線を同期する必要があるにもかかわらず、無線が同じ場所にない場合があります。このような場合、完全な位相コヒーレント動作は困難ですが、GPSベースの同期を利用して、GPS基準周波数発生器 (GPSDO) で周波数と位相の安定性を得ることができます。USRPの多くのモデルには、工場出荷時にGPSDOが搭載されています。詳細については、「Global Synchronization and Clock Disciplining with NI USRP-293x Software Defined Radio」を参照してください。

Ettus Research USRP X310の前面

図9.オンボードのGPS基準周波数発生器を搭載したUSRP X310

インライン信号処理およびFPGAに関する注意事項

アプリケーションによっては、処理要件がオンボードFPGAに最も適合します。多くの場合、このようなアプリケーションの要件は、広い信号帯域幅または低く確定的なレイテンシです。このような場合にはFPGAのプログラム機能を備えた無線を選ぶことが重要です。USRP B200miniやN210など、USBモデルや低価格USRPモデルの多くはもっと小型のFPGAデバイスを搭載しているため、ユーザコードを追加する余裕がありません。ハイエンド無線の多くには、Kintex 7クラスのデバイスを搭載したものから、Xilinx Zynq Ultrascale+ RFSOCを備えた最先端のNI Ettus USRP X410を搭載したものまであります。Xilinx Zynqを搭載したデバイスには、オンボードSD-FEC、マルチArmプロセッサ、内蔵ADCおよびDACなどの追加コアが内蔵されています。

USRPモデルオンボードFPGA
USRP N320、 USRP N321、 USRP N310Xilinx Zynq 7100 MPSOC
USRP E31XXilinx Zynq 7020 MPSOC
USRP E320Xilinx Zynq 7045 MPSOC
NI Ettus USRP X410Xilinx Zynq Ultrascale+ RFSOC ZU28DR
USRP 2974、 USRP X310Xilinx Kintex 7 410T

 

表2. FPGAが有効なUSRPの比較

FPGAが有効なUSRPデバイス

図10.NI FPGA製品におけるFPGAリソースの比較

 

ソフトウェアオプション

​SDRの最大の特徴はプログラマブルであることであり、これにより無線周辺機器を高度な無線システムに変えることができます。USRPは、市場で最もオープンで汎用性の高いSDRであり、エンジニアがホストとFPGAの両方でさまざまなソフトウェア開発ツールを使ってシステムを構築するのに役立ちます。

ホストプログラミングにおける注意事項

上の図2に示すように、SDRベースのシステムのホストをプログラムする際にはさまざまなオプションを選択できます。

NI-USRPドライバ使用したLabVIEWプログラミング

LabVIEWは、通信アルゴリズムの開発と実装に最適なグラフィカルデータフロープログラミング環境です。最も基本的なレベルでは、LabVIEWはNI-USRPドライバを使用してUSRPのハードウェア構成を指定し、ホスト側の信号処理のために適切にフォーマットされたベースバンドI/Qデータを送受信します。

​主な開発環境としてLabVIEWを使用する場合には、LabVIEWが一部のLinuxベースOSに対応しているものの、基本的にはMicrosoft Windowsベースのツールであることに注意してください。またEttus Researchブランドの一部のUSRPモデルおよび構成がサポートされません。下の図15を参照してください。

LabVIEWでNI-USRPドライバAPIを使用したEttus Research USRPのプログラミング

図11. NI-USRPドライバAPIを使用したLabVIEWブロック図の画面

オープンソースワークフロー使用したプログラミングUSRPハードウェアドライバ (UHD) およびGNU Radio

SDRユーザの多くは、C/C++およびPythonに基づくテキストベースおよびオープンソースツールのフローを使ってUSRPハードウェアをプログラミングすることを好みます。すべてのNIおよびEttus ResearchのUSRPモデルはUSRPハードウェアドライバ (UHD) をサポートし、GNU Radioのような、オープンソースコミュニティで開発されたツールを簡単に統合することができます。

GNU Radioは、SDR開発者専用に開発されたオープンソースツールです。USRPはGNU Radioでサポートされる唯一の無線ではありませんが、最も人気があり、実績があります。GNU Radioの詳細についてはgnuradio.orgを参照してください。GNU Radio向けに共有されている既存のコミュニティIPをすべて確認するには、cgran.orgを参照してください。

SDR開発者のためのオープンソースソフトウェアのスクリーンショット

図12.GNU Radioコンパニオンフローグラフ

MATLAB使用プログラミングする

プログラミングにMATLABを使用する方は、MathWorks Communications Toolbox™でいくつかのUSRPモデルがサポートされていますのでご利用ください。サポートされているモデルは、B200、B200mini、X300、N200、N300シリーズなどです。さらに、MATLABスクリプトノードを使用してLabVIEWにMATLABコードを直接埋め込むことができます。

プログラミングにおける注意事項

多くのUSRPには十分な空き容量を持つ大型のFPGAが搭載されており、ユーザはアプリケーションに応じた信号処理をインラインで組み込むことができます。ハードウェアの項で説明したように、USRPにはXilinx Zynq SOCデバイスを搭載するものと、Kintex 7のような従来型ファブリックFPGAを搭載するものがあります。USRPのFPGAにアクセスする手段としては、LabVIEW FPGAとRFネットワークオンチップ (RFNoC) フレームワークの2種類があります。

多くのFPGA開発ボードまたはCOTS FPGAボードとは異なり、USRPは共通のFPGAフレームワーク上に構築され、より高い抽象度を実現しています。これにより、半完成FPGAボードサポートパッケージからFPGAベースのシステムを構築する際の複雑さがある程度解消されます。

LabVIEW FPGA

LabVIEW FPGAは、NI USRP RIOデバイスのFPGAでグラフィカルプログラミングできる、LabVIEW向けアドオンエクステンションです。 ユーザは固定小数点演算やクロックロジックなどのFPGAの概念に精通している必要がありますが、LabVIEWによってハードウェアとデータのインタフェースが抽象化され、レジスタの構成やデータの移動が簡単になります。LabVIEW FPGAの利点は、統一された開発ツールチェーンでホストとFPGAの両方をプログラミングできることです。

活用したいレガシーIPはありますか。LabVIEW FPGAではコンポーネントレベルIP (CLIP) ノードを介して外部のVHDLまたはVerilogをインポートできるため、LabVIEW以外のIPをインポートすることができます。さらにLabVIEWでは、Vivadoツールで直接作業するエキスパートユーザ向けにXilinx Vivadoプロジェクトのエクスポートが可能です。

​ホストプログラミングにLabVIEW FPGAを使用する場合は、WindowsベースのOSに限定されることに注意してください。 USRP N300およびUSRP E300シリーズなどの多くのEttus Researchデバイスは、LabVIEWまたはLabVIEW FPGAではサポートされていません。すべてのリストについては、下の図15を参照してください。

FPGAブロック図が表示されたLabVIEWのスクリーンショット

図13.簡単なLabVIEW FPGAブロック図

RFネットワークオンチップ (RFNoC) フレームワーク

オープンソースのUSRPユーザーにとって、FPGAのプログラミング方法として好ましいのは、RFNoCフレームワークを利用する方法です。 LabVIEW FPGAと同様、RFNoCもデータインタフェースおよびコマンド抽象化のフレームワークです。FPGAボードサポートパッケージ全体を最初から作り直すことなく、USRPにIPを簡単に追加できます。その名前が示すとおり、データは圧縮されたヘッダネットワークパッケージとして無線からFPGAに流されます。RFNoCフレームワークの中核となるのがクロスバーインタフェースです。ユーザは新しいIPをクロスバーに接続するだけで、他のIPブロックにデータを送ったり、ホストマシンとの間でデータをやり取りすることができます。このネットワーククロスバー設計によって、ホストとの間でデータやコマンドを受け渡す複雑さが解消されます。

Vivadoで作業し、RFNoCを使用してUSRPのFPGAをプログラミングする場合は、USRP X300シリーズ、USRP E300シリーズ、USRP N300、NI Ettus USRP X410などをアプリケーションにご検討ください。 RFNoC、UHD、USRP N300デバイスを使用したマルチチャンネル無線通信システムのプロトタイプの作成方法の詳細をご覧ください。 

RFNoCワークフローを示すダイアグラム

図14. GNU Radioと統合されたRFNoCの概念ブロックダイアグラム


図15.NIおよびEttus ResearchのUSRPモデルのマトリクス

まとめ

SDRは、無線の研究、設計、プロトタイピング、デプロイメントのための強力なツールです。多くの選択肢があり、アプリケーションに応じて適切な無線を選ぶには多くの注意事項があります。しかし、このレポートに記載されているさまざまなソフトウェアとハードウェアの要素を慎重に評価することで、市場で最も人気のあるオープンなSDRを使用することができます。

ステップ