Skip to content

Latest commit

 

History

History
93 lines (72 loc) · 3.35 KB

README.md

File metadata and controls

93 lines (72 loc) · 3.35 KB

SoapyRX

An SDR receiver built on SoapySDR.

The scope of this tool is to handle signal acquisition from an SDR. Using SoapySDR as backend, it supports every SDR supported by the latter -- as long as the corresponding module is installed. It is not meant to process datasets of signals (e.g., conversion, alignment, normalization).

  • Features:
    • One-shot record-plot-cut-save from the command-line.
    • Server mode controlled from a client (local socket).
    • Multiple synchronized SDRs controlled in parallel.
    • Display basic signal visualization (amplitude, phase rotation, time-domain, frequency-domain).
    • Perform single-signal operations (e.g., interactive cutting).
    • Use complex numbers (I/Q) for storage (numpy.complex64).
    • Live display (buffered recording, like an oscilloscope, not like a spectrum analyzer).
  • Supported devices:

References

SoapyRX can be used independently, but has been initially developed for the PhaseSCA project, see the main project repository at phase_data.

Installation

  1. Install SoapySDR and the module corresponding to the desired SDR using packages (refer to your distribution) or sources (refer to Installation of SoapySDR from sources).

  2. Clone SoapyRX repository and install it using using Pip:

git clone https://github.com/pierreay/soapyrx.git
cd soapyrx && pip install --user .

Installation of SoapySDR from sources

  1. Install the required dependencies using your distribution package manager:

    • cmake
    • g++
    • python3
    • numpy
    • dbg
    • swig
    • boost
    • boost-thread
  2. Get the source code and build:

cd /tmp && git clone https://github.com/pothosware/SoapySDR.git
mkdir SoapySDR/build build && cd SoapySDR/build
cmake .. && make -j4
  1. Install and test if SoapySDR is installed correctly:
sudo make install && sudo ldconfig
SoapySDRUtil --info
  1. We support the following modules:

  2. Select the module according to your SDR and ensure that the SDR driver is correctly installed on your system, independently of SoapySDR.

  3. Then, get the source code and build, replacing $MODULE_URL and $MODULE_NAME accordingly:

cd /tmp && git clone $MODULE_URL
mkdir $MODULE_NAME/build && cd $MODULE_NAME/build
cmake .. && make
  1. Install and test if SoapySDR is able to detect the USRP, replacing $MODULE_DRIVER by:
    • rtlsdr for RTL-SDR.
    • hackrf for SoapyHackRF.
    • uhd for SoapyUHD.
    • sdrplay for SoapySDRPlay3.
    • airspy for AirSpy.
sudo make install
SoapySDRUtil --probe="driver=$MODULE_DRIVER"