2018の技術セッションで講演した内容を、お送りします。前回は「SDRで使われるソフトウェア無線機の概要」についてご紹介しました。今回は、"SDRのソフトウェア環境"についてお送りします。SDR#こちらはSDR#と呼ばれるフリーのソフトウェア受信機で、AM/FMラジオを聞くことや簡易的なスペクトラムアナライザとして利用できます。RTLSDRと一緒に使われることが多く、RTLSDRをPCに接続しSDR#で80MHzを受信すると東京FMを聞くことが出来ます。アマチュア無線の方々が安価な広帯域受信機として使っており、SDR入門に最適です。Radioこちらは世界的にメジャーなGNURadioです。オープンソースでコミュニティで開発されている環境で、Pythonとライブラリで構成されておりPythonでプログラミングすることで信号処理部を実装します。Compaion(GRC)と呼ばれる「プログラミングレスでブロックをつないでいって開発できる」環境も用意されていて、以前に比べ導入のハードルは低くなっています。Windowsもインストーラーがあり、問題なくインストール可能です。Compaion(GRC)は、ウィンドウ右側に変調復調などの関数が並んでおり、関数をつないで信号処理部を実装します。LabVIEWやSimulinkのような感覚で実装が可能です。多くのソフトウェア無線機に対応していてUSRPはもちろん、BladeRFもRTLSDRにも対応しています。LabVIEW次にLabVIEWです。ナショナルインスツルメンツが開発販売している商用ソフトウェア開発環境です。上記2点はフリーで利用可能ですが、こちらは費用がかかります。ものすごく開発効率が高く、またトレーニングやテクニカルサポートが充実していますし、実施している日本ナショナルインスツルメンツの体制がしっかりしているため、仕事で利用するには安心です。LabVIEWは、プロセッサ上で動作するソフトウェアも開発できますし、FPGAもソフトウェアと同じようにブロック線図で開発します。通常FPGAは、VHDLなどのハードウェア記述言語というテキスト言語で開発しなければならないのですが、LabVIEWならブロック線図で開発できるため、ソフトウェアエンジニアでもFPGA開発をするハードルが低いのが特徴です。株式会社ドルフィンシステムは、LabVIEWを利用したソフトウェア無線機の開発を数多く手がけております。こちらをご覧ください。ソフトウェア無線機の弱点ソフトウェア無線機の弱点は、時間確定性が無いことです。ソフトウェアで信号処理するわけですから間に合わない場合があります。OSからの割込発生等で確実な定期処理(例えば100ms毎に処理する等)が出来ない可能性があります。対処として、間欠的な処理を行うか(つまり間に合わない場合は諦める)、信号処理部をプログラマブルなハードウェアであるFPGA上に実装することで、確実に間に合うように実装することが必要です。まとめSDR#を使うと、RTLSDRがAM/FMラジオの受信機やスペクトラムアナライザのように使える。GNURadioは、オープンソースでコミュニティで開発されている環境。Companion(GRC)も用意されている。LabVIEWはナショナルインスツルメンツの商用ソフトウェア開発環境。ものすごく開発効率が高く、またトレーニングやテクニカルサポートが充実している。LabVIEWは、プロセッサ上で動作するソフトウェアも開発可能で、FPGA開発もソフトウェアと同じくブロック線図で開発する。VHDL言語をマスターする必要が無いため、ソフトウェアエンジニアでもFPGA開発が可能ソフトウェア無線機の弱点は、処理が間に合わない場合がある事と、定期的な処理が出来ない場合がある。対処は、間欠的な処理をするか、FPGA上で実装する。これまでの回でソフトウェア無線機のハードとソフトの両面を見てきました。次にオープンなSDRの世界はどのようなものかご紹介します。x4のボードはx1のスロットに挿入できるでしょうか?こんにちはドルフィンシステム福島です。東京は6/6に梅雨入りしました。本日6/11は、関東地方に台風5号が接近中と言うことで、雨が多くなり足下も悪くなっています。現在、ドルフィンシステムでは今年後半の契約に向けて、色々な調べ物やフィージビリティースタディーを重ねています。受注をする前に、技術的な課題や不明点をクリアするため時間をかけて調べる必要があります。当たり前のことですが「問題点は早めに出して、潰す」ことを心掛け、徹底していきます。調べ始めると思った以上に、分からないこと、確認しなければならないことが出てきます。大丈夫だろう、と甘い見通しで痛い目に遭うこともありました。ドルフィンシステムでは、このような痛い目に遭わないように、また仕事の善し悪しが属人的にならないような仕組み作りに取り組んでいます。x4のボードはx1のスロットに挿入できるでしょうか?ドルフィンシステムではFPGAの開発だけではなく、納入するためのPCなどの選定も行います。Expressスロットの数とレーン数。Expressスロットのタイプを確認しないと、USRP-RIOのインターフェイスカードが入らない・速度が出ないなど、痛い目に遭いますのでPCの選定は経験のあるスタッフが慎重に行っています。x4に対応しているボードです。Expressスロットだの、x4などについては以下で解説しています)答えは、物理的に挿入不可能です。x1とx16スロットが写っています。赤色コネクタが、x16のスロットで、黒色の小さいコネクタが、x1のスロットです。x1スロット(手前の黒色)には、物理的に挿入できません。コネクタのサイズが違うので、挿入できないのです。x16のスロットには、x1、x4やx8のボードが挿入&動作可能。呼んでみたいと思います。呼びたいという事がたまに発生します。デバッグ時も見やすくて良いですね。プロジェクトが変換できませんでした。コンパイラがインストールされていないからです。ここはサンプル無しでやってみます。