radiocondaを用いたソフトウェア無線環境構築
はじめに
radiocondaは、ソフトウェア無線(SDR: software defined radio)を利用するためのPC環境を一括で構築するためのオープンソースソフトウェアです。
かつて、GNU Radio環境を構築するのは、依存するさまざまなソフトウェアのバージョンを揃える必要があり、大変なことでした。GNU Radio環境構築のためのPyBOMS(Python Build Overlay Managed Build System)などのツールもありましたが、Linux環境上に構築することがほとんどでした。
ここでは、GNSSオープンソースソフトウェアPocket SDRのv0.15以降を利用するために、radiocondaをWindows 11上、Debian GNU/Linux 13、macOS Tahoe 26.6.2にそれぞれインストールしてみました。
Windows環境へのインストール
Windows環境へのradiocondaのインストールは簡単です。インストーラーのページからradioconda-Windows-x86_64.exeをダウンロードして実行するか、Windows標準のパッケージマネージャwingetを実行することで、インストールできます。ここではwingetを用いました。
winget install ryanvolz.radioconda
インストールが完了すると、スタートメニューにradiocondaの項目が現れます。ブロック図にてソフトウェア無線を構築するGNU Radio Companionや、Pocket SDR利用のためのコマンドプロンプトも、この項目にあるメニューから実行します。
Linux環境へのインストール
Linux環境へも、Windows環境へのインストールと同様に、インストーラーを用いるかパッケージマネージャーaptなどでインストールできます。ここでは、Pocket SDRをヘッドレス(モニターやキーボードを接続しない状態)でリモート利用することを考え、aptコマンドにて最小限でのインストールを行いました。
apt update
apt install git gcc g++ make libusb-1.0-0-dev libfftw3-dev python3 libsoapysdr-dev soapysdr-tools soapysdr-module-all
Pocket SDRのREADME.mdの通りにインストールして、GPS信号受信を確認しました。

macOS環境へのインストール
ホームディレクトリーの.bashrcをバックアップした上で、インストーラーを用いてインストールしました。インストーラーがこのファイルを書き換えるからです。
radiocondaはPythonの環境切替ツールanacondaを利用していますが、私が常用している別の環境切替ツールpyenvとも共存できました。
ここでは、インストーラーのページからコマンドライン版シェルスクリプトradioconda-MacOSX-arm64.shをダウンロードして実行しました。デフォルトでホームディレクトリー直下の$HOME/radiocondaにインストールされます。アンインストールは、このディレクトリーを削除するだけですみます。
ターミナル上でbash radioconda-MacOSX-arm64.shの実行後、いくつかの質問をすべてデフォルトで答えて(そのままリターンキーを押して)、インストールしました。最後の質問「.bashrcを書き換えてもいいですか」についても、そのままデフォルトで答えました。

ここで、ターミナルを閉じ、再びターミナルを開きます。.bashrcが書き換えられたためにanacondaが実行され、プロンプトが(base) %に変わり、radioconda上のPythonが実行されるようになります。conda deactivateを実行すれば元の環境に戻りますが、毎回、このコマンドを入力するのは大変です。
そこで、GNU RadioやPocket SDRを利用するときのみconda activate baseを実行し、利用終了後にconda deactivateを入力して元の環境に戻すようにします。
conda deactivate
conda config --set auto_activate_base false
私は、この.bashrcで書き換えられた部分を.zprofileに移しました。
ところで、私の環境では、radiocondaが正しくインストールされませんでした。
conda activate base
python -c "import numpy; print(numpy.__version__)"
python -c "from gnuradio import gr; print('GNU Radio Python OK')"

Pythonのnumpyモジュール、gnuradioモジュールともに動作しませんでした。そこで、以下の方法により、conda-forge、openblas、libgfortran、libgfortran5をアップデートしました。
conda install -c conda-forge openblas libgfortran libgfortran5
このアップデートにより、GNU Radio Companionも正しく起動できるようになりました。

macOS環境では、Pocket SDRのコマンドラインツールをビルドするために、Makefileの修正が必要なようです。radiocondaをインストールしていないmacOS PCでも、このコマンドラインツールを実行する方法がないか調べています。
関連記事
- Pocket SDRすごい(設定ファイル有効活用編) 30th April 2025
- Pocket SDR収録データ 25th April 2025
- Pocket SDRすごい(リアルタイム測位機能) 13th October 2024
- Pocket SDRを用いたGalileo E6B信号の受信 27th January 2023
- リフローでやらかしました 19th January 2023
- Pocket SDRハードウェア製作(第3報) 30th September 2022
- Pocket SDRハードウェア製作(第2報) 14th September 2022
- Pocket SDRハードウェア製作(第1報) 4th September 2022
- PocketSDRすごい(パーツ購入編) 9th April 2022
- PocketSDR APにてbladeRFを使いたい(その2) 16th March 2022
- PocketSDR APにてbladeRFを使いたい 5th March 2022
- PocketSDRすごい(スナップショット測位編) 23rd February 2022
- PocketSDRすごい(FFTWによる高速化) 19th February 2022
- PocketSDRすごい(L6信号デコード編) 19th January 2022
- PocketSDRすごい(pocket_trk編) 28th December 2021
- PocketSDRすごい(pocket_acq編) 4th December 2021