Skip to content

pierreay/soapyrx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

107 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoapyRX

An SDR receiver built on SoapySDR

The scope of this tool is to handle signal acquisition from a Software-Defined Radio (SDR). Using SoapySDR as backend, it supports every SDR supported by the latter -- as long as the corresponding module is installed. Its output can later be used to create datasets of signals and perform pre-processing with other software.

Note

SoapyRX is an independent tool, initially developed for the PhaseSCA research project about electromagnetic side channel.

Features

  • One-shot "record-plot-cut-save" cycle 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 per-signal interactive operations (e.g., cutting)
  • Use complex numbers (I/Q) for storage (numpy.complex64)
  • Live display (buffered recording, like an oscilloscope, not like a spectrum analyzer)

Supported devices

Installation

Dependencies

SoapyRX

  • 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

Tip

This section is NOT needed if you install SoapySDR using your package manager!

  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

Contributing

Stars

2 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors