/sdr-beamforming

This repo is a compilation of code and resources for multiple SDR Platforms as part of a phased array beamforming project.

Primary LanguagePython

SDR Beamforming

This is a research project repo for Software Defined Radio Phased Array Beamforming. Previously, we had extensively researched the PlutoSDR to evaluate it for a beamforming project. That was previously the pluto-sdr repo, which is now an additional folder inside this repo. Currently, we are researching many different options.

Project GUI: PyQT_GUI

Please visit the PyQT_GUI Project Repo for more information.

GUI

Courtesy of @RayzrReptile

Articles Discussing Multi-Transmitter Phase Alignment:

Notable Repos for This Project:

  • coherent-receiver's N-Channel Coherent Transceivers (Concept Only).
    • Note that we contacted this company and they did not offer any information about this product. This led us to believe it was either discontinued or did not work as advertised.
  • Jon Kraft's Pluto_Beamformer Repo for PlutoSDR.
  • Jon Kraft's PlutoSDR_Labs Repo for PlutoSDR.
  • Jon Kraft's PhasedArray Repo for the Analog Devices ADAR-1000.
  • KrakenRF's krakensdr_doa Repo for Direction Finding on hardware w/ the RPi 4/5 (or on x64 hardware using VirtualBox 7.0+).
  • mfkiwl's kraken_pr Repo for Passive Radar.
  • osmocom's rtl-sdr Repo for The Osmocom RTL-SDR.
  • ptrkrysik's multi-rtl Repo for Synchronizing RTL-SDRs.
  • ptrkrysik's gr-gsm Repo for GSM signals on RTL-SDRs.
  • analogdevicesinc's gr-iio Repo for IIO (PlutoSDR) Devices.
  • gnuradio's gnuradio Repo for the GNURadio Program.

External Clock Sources:

Guides:

Square Wave Clocks:

  • Texas Instruments CDCLVC1310-EVM

    • Note that this clock is delivered with a 25MHz crystal which must be swapped out for a 40MHz surface mount crystal to work sucessfully with Multiple PlutoSDRs.
    • We sucessfully used this clock source board with a replacement 40MHz Crystal. The PlutoSDRs are then fed the external 40Mhz with an SMA-Male to u.FL connector for the PlutoSDR external clock input breakout.
  • Leo Bodnar LBE-1420 GPS Locked Clock Source

    • 1Hz to 1.1GHz adjustable GPSDO.
  • Leo Bodnar Mini Precision GPS Reference Clock

    • 400Hz to 810MHz adjustable GPSDO.
  • Leo Bodnar Precision GPS Reference Clock

    • 450Hz to 800MHz adjustable GPSDO.

Alternative Hardware Options:

Alternatives to the PlutoSDR & KrakenSDR for Beamforming:

  • Option 1: The $1,000 Analog Devices ADAR1000
    • Note that this device's frequency range is 8GHz tp 16GHz, so this may not be ideal. It is also Receive Only.
  • Option 2: The $1,444.50 Analog Devices AD-FMCOMMS5-EBZ
  • Option 3: The $2,165.00 Ettus USRB B210 2 channel phase coherent transceiver.
    • This is a viable option for RX & TX beamforming, but its only 2x2 MIMO operation.
  • Option 4: The $2,500 Analog Devices ADI CNO566
    • More expensive than the FMComms5 and only allows 2x2 MIMO operation.
  • Option 5: The $17,765 Ettus Research USRP N310 ZYNQ-7100, 4 CHANNELS
    • This is the most expensive, but it does provide 4x4 MIMO operation, since it also uses 2x Analog Devices AD9361 Chips.

Cool stuff to do with MIMO:

KrakenSDR Resources:

PlutoSDR Resources:

GNURadio Resources:

RF Theory, Components, and Test Equipment Articles:

Theory:

SDR Online Lessons:

Articles:

Antennas:

Antenna Modeling (Windows OS):

Test Equipment:

Other Resources:

Useful Programs:

Linux & Windows:

  • QtTinySA Desktop GUI for the TinySA Spectrum Analyzer.

Linux:

Windows:

Status:

GitHub repo size