ソフトウェア無線

ソフトウェア無線とは?

ソフトウェア無線(SDR : Software Defined Radio)とは、無線通信システムの機能をハードウェアは変更せずに、ソフトウェアあるいはプログラマブルなハードウェアを使用して、様々な方式に対応できる無線通信システムやその通信技術を指します。従来の無線技術では、通常、単一の無線通信方式を送受信できますが、ソフトウェア無線を利用することで、用途の範囲を広げることが出来ます。一般的にソフトウェア無線機は、アナログデジタルコンバータ、もしくは、デジタルアナログコンバータを実装したRFフロントエンド部分と、一般的なPCもしくはDSP/FPGAなど、再構成可能なハードウェアからなるベースバンド信号処理部分で構成されます。

ソフトウェア無線の構成

ソフトウェア無線の構成

ソフトウェア無線の研究は、米軍により1970年代に軍用目的で始められ、1990年代には民生用に技術が転用されるようになりました。

民生用技術に転用されると、日本では1996年に一般社団法人電波産業会(ARIB)が調査を開始し、 1999年には電子情報通信学会 通信ソサイエティ会 の時限研究会として、ソフトウェア無線研究会(SR研)が設立され(2014年、スマート無線研究会(SR研)と改称)、現在はソフトウェア無線だけでなく、コグニティブ無線、ヘテロジニアスネットワークなど、無線技術、概念を包括した研究が活発に行われ、ソフトウェア無線の無線通信分野での更なる発展が期待されています。

デバイス面では、以前はソフトウェア無線に必要な信号処理を1チップで行えるデバイスが高価だったため、用途が限られていました。しかし、近年1000円程度の安価なソフトウェア無線機が販売されるなど、誰でも手軽に扱えるようになり、特定の研究者や技術者だけでなく、プライベートで利用される方も増加し、多くの人々、分野で注目されています。

今までは、無線機の実現には専用のハードウェアをおこす必要があり、多くのコストや工数が必要でした。また、異なる通信方式を利用するには、別の端末が必要でしたが、ソフトウェア無線の技術を利用することにより、専用のハードウェアをおこさなくても、プログラマブルに多様な周波数帯、変復調方式、符号化方式などに適応的に対応できるようになり、プロトタイプ作成などにも利用が可能です。

RF回路の設計には、数学的、理論的な理解だけでなく、感覚的なセンスいわゆる職人技が必要とも言われていますが、デジタル信号処理をおこなうデバイスのパフォーマンスの向上に伴い、高速処理、高集積が可能になり、それまでRF回路で実現していた処理をデジタル化することにより、RF回路の設計や調整に掛かる時間も低減されています。

ソフトウェア無線のメリット

ソフトウェア無線のメリットとして、開発のしやすさ、再構築の柔軟性、コストパフォーマンスの3点が挙げられます。

  1. 開発のしやすさ
    専用のハードウェアを開発しなくても、もしくは専用のハードウェアの開発が同時進行でまだ手元に無くても、一般的な評価ボードや、コンシューマ向けに広く販売されているSDR受信機などを利用することでシステムを実現できます。
  2. 再構築の柔軟性
    何度もシステムの書き換えが可能なので、検証中に不具合が見つかっても直ぐに修正し検証を行うことができ、リリース後のシステムのバージョンアップも可能です。
  3. コストパフォーマンス
    SDR無線機を実現できるハードウェアが安価で提供されるようになったため、安価に試作機を作成することができます。また、複数の通信方式を実装しても基本的にハードウェアの構成は一式になるので、コストの面だけでなく無線機自体のサイズもコンパクトになり、軽量化も見込めます。

ソフトウェア無線の適用アプリケーション例

ソフトウェア無線を利用したアプリケーション例を示します。以下のような様々な分野で活用されています。

  • 野外通信システム
  • 衛星通信ネットワーク
  • 車車間/路車間通信システム
  • 列車無線システム
  • セキュリティシステム
  • 防災無線
  • 医療用インプラントシステム
  • 各種プロトタイピング
  • 簡易計測器(信号生成/スペアナ)

ソフトウェア無線機の開発ワークフロー

通常ソフトウェア無線機を開発するには、前述のソフトウェア無線機構成図のようなハードウェアをおこす必要があります。要求仕様をもとに、仕様が実現可能と想定される、RFのバジェット解析に続いて、アンテナ、RFコンポネント、AD/DA、DSP/FPGA選定の選定を行い、ハードウェアを構成します。デジタル信号処理部分は、実装されるデバイスにより、DSP/CPUであればC言語、FPGAであればHDL言語で記述を行います。場合によっては、DSP/CPU/FPGAなど異なるデバイスが搭載されたり、SoCが選択されることもあり、どの機能をどのデバイスに実現するか事前に切り分けが行われます。トータルで性能を達成するには、RF側、ベースバンド側どちらからもアプローチが可能な場合もあり、どちらで、どれだけの性能を満たせばよいかは、トレードオフの関係になり検討材料は多岐にわたります。

ソフトウェア無線機を構成するRF、DSP、CPU、FPGAなどの設計は、それぞれのデバイスに対する設計スキルを持ったスペシャリストによって、それぞれの開発ツールで別々に設計されます。それぞれの開発環境に合わせ、検証用のテストベンチも作成されます。全てのパターンを網羅するカバレッジ100%のテスト信号生成や、無線規格に準拠した複雑な信号の生成など、要求仕様の機能を確認する為のテストシナリオが作成されます。

各デバイス単位で設計された機能は、実機で初めて統合されるケースも多くみられます。そのため、システムに統合することで始めて発覚する問題も少なくありません。しかしながら、それぞれの開発ツールで、それぞれの設計指標(例えば、RFであれば、NF,IP2、デジタル信号処理であればBERなど)で検討されている為、原因を特定するには時間を要します。更に、デバイスが確定しているため、機能が入りきらない場合には、一部の機能をDSPからFPGAまたはFPGAからDSPに移動するというような変更を行う場合があり、設計言語が異なる場合には、その機能は一から設計し直すという手戻りが発生します。

単一の方式をサポートする無線機の開発も難しいですが、複数の方式を実現できるソフトウェア無線機の開発は更に難しくなり、仕様変更などへの対応も複雑な作業となります。

ソフトウェア無線の開発ワークフロー

ソフトウェア無線の開発ワークフロー

MATLAB®/Simulink®利用した開発環境

ソフトウェア無線、ソフトウェア無線機の開発/設計で望ましいのは、開発の初期段階から実装まで統一された環境を利用することです。現状よく利用されている環境は、様々なソフトウェアを駆使し、それぞれの開発フェーズで異なるツールを使用しているため、それぞれの開発ツールを使用する技術が必要な上に、異なる環境での検証作業は非常に負荷がかかります。一方、MATLAB/Simulinkを利用した開発環境では、モデルベースデザイン (モデルベース開発、MBD)で開発を進めることで、RFとベースバンドといった評価の指標が異なるシステムも同じプラットホームで評価することができ、実機検証の前にシステムシミュレーションを行うことで、手戻りの少ない開発が行えます。モデルベースデザインは、異なる環境で言語ベースでの開発と比較して、各エンジニア間での共有、仕様のアップデート、次期プロジェクトへの流用という点でも優れています。
MATLAB/Simulinkは以下のように、ソフトウェア無線の開発にとって最適な環境を提供します。

  • Communications Toolbox™LTE Toolbox™WLAN Toolbox™などのオプションを利用することで複雑な無線信号を簡単に生成でき、機器と接続する為のドライバブロックも提供されているため、短時間でソフトウェア無線、ソフトウェア無線機を構築できます。
  • HDL Coder™を利用してStateflow®も含むSimulinkモデルからHDLコードを生成し、SDR機器に搭載されたFPGA/Zynq®にユーザーロジックを実装することが可能です。
  • Xinx® FPGA/Zynq®ベースの評価ボードとアナログデバイセス AD9361、ETTUS Research USRP®、NooElec RTL-SDRなどをターゲットに安価に効率よく実信号が扱えるシステムの構築が可能です。
  • 計測器をお使いの方は、Instrument Control Toolbox™を利用する事で、MATLAB環境から計測器を制御し、信号発生やスペアナで取得したデータ解析なども容易に行えます。
  • Parallel Computing Toolbox™を利用する事で、BER測定の為のモンテカルロシミュレーションをパラメータ毎に並列演算でき、シミュレーションの時間短縮が可能です。
MATLAB/Simulinkを利用したSDR送受信実験環境

MATLAB/Simulinkを利用したSDR送受信実験環境

ソフトウェア無線のためのMATLAB & Simulinkハードウェアサポート

MATLAB/Simulinkは、一般的なSDR機器のためのサポートパッケージを提供しています。このサポートパッケージで、これらのSDR機器とMATLAB/Simulinkを直接接続することができ、実信号を使用したテスト、プロトタイピングが行えます。

参考: 無線通信, 第5世代移動通信(5G), massive MIMO, ビームフォーミング, SoC (System on a Chip、システムオンチップ)