Skip to content

pierreay/soapyrx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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"

About

An SDR receiver built on SoapySDR.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published