OSQZSS

オープンソース準天頂衛星(QZSS)受信機

PlutoSDR in Python

2022-11-19 11:48:41 | ソフトウェア受信機
bladeRFでIRNSSのSバンド信号受信が成功しない状況が続くので、
気分転換にPlutoSDRでの受信を試みてみます。



ついでに、PocketSDRのdumpツールのように、PythonでPlutoSDRを
動かす環境を整えます。

まずは、ドライバのインストール。PlutoSDR-M2k-USB-Drivers.exeを
ダウンロードします。現時点でのバージョンはv0.9です。

https://github.com/analogdevicesinc/plutosdr-m2k-drivers-win/releases

次に、libiioをインストールします。Windowsのインストーラは、
libiio-0.24.gc4498c2-Windows-setup.exeになります。

https://github.com/analogdevicesinc/libiio/releases

続いて、libad9361-iioをインストールします。libad9361-0.2-setup.exeを
ダウンロードして実行すると、win32またはwin64のzipファイルが自動的に
ダウンロードされて、インストールされます。

https://github.com/analogdevicesinc/libad9361-iio/releases

最後に、pyadi-iioをインストールします。これはインストーラではなく、
ソースファイルを一式、GitHubからダウンロードします。

https://github.com/analogdevicesinc/pyadi-iio

zipファイルを展開後、コマンドプロンプトで以下のコマンドを実行します。

cd pyadi-iio
python -m pip install --upgrade pip
pip3 install -r requirements.txt
python setup.py install

これで準備完了です。Pythonを起動して、PlutoSDRの動作を確認してみます。



無事に動作が確認できたので、次はPlutoSDR用のdumpツールを作ろう。

P.S. pyadi-iioでキャプチャされた複素数arrayのI/Qサンプルを、
int16のI,Qの順番でファイルに書き出す良い方法はないだろうか?

P.P.S 結局、こんなところに落ち着いた。

iq_samp_int16 = np.stack([np.real(rx_samples).astype(np.int16), np.imag(rx_samples).astype(np.int16)], 1)
iq_samp_int16.tofile("sc16dump.bin")

P.P.P.S

pyadi-iioは、ソースファイルからではなく、pipを使ってインストールした方が簡単。

https://wiki.analog.com/resources/tools-software/linux-software/pyadi-iio
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« NavIC S-band IQ | トップ | PlutoSDRでNavICの受信 »
最新の画像もっと見る

コメントを投稿

ソフトウェア受信機」カテゴリの最新記事