panda's tech note

Advent Calendar 2020: ソフトウェア無線

Day 1: 環境の構築

今年のアドベントカレンダーでもまず最初に開発環境を構築します。

使用するハードウェア

注意LimeSDR などのソフトウェア無線は技術基準適合証明(通称,技適)を受けていないため,これらの機器を日本国内で無線機として利用することは電波法により禁じられています。無線機として使用するためには,実験試験局免許を取得するか電波暗室・シールドボックスなどの設備を使用する必要があります。または,アンテナの代わりにケーブルとアッテネータを用い有線接続をし電波を発しないようにすることで,無線通信ではなく有線通信とはなりますが実験することができます(この場合も電波が漏れないように注意してください)。このページを参照される方は,実験される国や地域の法令などを遵守するようにご注意ください。また,実験等はご自身の責任でお願いします。

ソフトウェアスイートのインストール

今回はベースとなる環境 (OS) には Ubuntu 18.04.5 LTS を使用します。

LimeSDR のコマンドラインツールやライブラリ等のソフトウェアパッケージは Ubuntu 標準のパッケージレポジトリには含まれていないため,LimeSDR のソフトウェアスイートをインストールするために,以下のコマンドでパッケージのレポジトリを追加します。

$ sudo add-apt-repository -y ppa:myriadrf/drivers
$ sudo apt update

レポジトリを追加したら,以下のコマンドでLimeSDRのコマンドラインツールやライブラリをインストールします。

$ sudo apt install limesuite liblimesuite-dev limesuite-udev limesuite-images

今回のアドベントカレンダーは 簡単のため Python を使います。様々なベンダーのソフトウェア無線機を統一的にプログラムするライブラリとして,SoapySDR というものがあり,こちらのライブラリが Python binding を提供しているため,以下のコマンドで SoapySDR および Python モジュールをインストールします。

$ sudo apt install soapysdr soapysdr-tools soapysdr-module-lms7 \
    libsoapysdr-dev python3-soapysdr

これでソフトウェア環境の構築は終わりです。

ファームウェアのアップデート

LimeSDR の出荷時のファームウェアは古い可能性があるので,以下のコマンドでファームウェアをアップデートします。

$ LimeUtil --update

今日のまとめと明日の予定

今日は開発環境を構築しました。明日からはこの環境上で遊んでいきたいと思います。