oscimpDigital
OscillatorIMP ecosystem for the digital characterization of ultrastable oscillators and Software Defined Radio (SDR) fr…
This repo is a compilation of code and resources for multiple SDR Platforms as part of a phased array beamforming proje…
git clone https://github.com/ADolbyB/sdr-beamforming.gitADolbyB/sdr-beamformingSenior Engineering Capstone Project - Grade: A
This repository documents a comprehensive research and implementation project for Software-Defined Radio (SDR) phased array beamforming. Originally focused on evaluating the PlutoSDR platform, the project evolved into a multi-platform SDR research initiative exploring various beamforming architectures, phase-coherent systems, and direction-finding applications.
Research Focus Areas:
| Objective | Status | Description |
|---|---|---|
| Hardware Evaluation | ✅ Complete | Compare multiple SDR platforms for beamforming applications |
| Phase Coherence | ✅ Complete | Achieve phase-synchronized multi-channel operation |
| GUI Development | ✅ Complete | Create intuitive PyQt5 control interface |
| Beamsteering Demo | ✅ Complete | Demonstrate real-time beam direction control |
| Documentation | ✅ Complete | Comprehensive research compilation and references |
Final Grade: A - Successfully demonstrated phase-coherent beamforming with custom GUI control
Interactive PyQt5 graphical interface for real-time beamsteering control and visualization.
GUI Features:
Repository: Visit the dedicated PyQT_GUI Project Repo for implementation details.
Developed by @RayzrReptile
| Platform | Channels | Frequency Range | Phase Coherent | Cost | Notes |
|---|---|---|---|---|---|
| PlutoSDR | 1 TX / 1 RX | 325 MHz - 3.8 GHz | ⚠️ Requires external clock | ~$150 | Initial platform, requires sync |
| KrakenSDR | 5 RX | 24 MHz - 1.766 GHz | ✅ Native | ~$300 | Excellent for DoA |
| AD-FMCOMMS5-EBZ | 4 TX / 4 RX | 70 MHz - 6 GHz | ✅ Native | ~$1,445 | 2x AD9361, ideal for prototyping |
| USRP B210 | 2 TX / 2 RX | 70 MHz - 6 GHz | ✅ Native | ~$2,165 | Professional solution |
| ADI CNO566 Phaser | 2 TX / 2 RX | 8 GHz - 16 GHz | ✅ Native | ~$2,500 | High-frequency applications |
| USRP N310 | 4 TX / 4 RX | 10 MHz - 6 GHz | ✅ Native | ~$17,765 | Enterprise-grade |
Critical for Multi-PlutoSDR Phase Synchronization:
| Clock Source | Type | Frequency Range | Accuracy | Cost |
|---|---|---|---|---|
| TI CDCLVC1310-EVM | Square Wave | 1 MHz - 200 MHz | Standard | ~$30 |
| Leo Bodnar Mini GPS | GPSDO | 400 Hz - 810 MHz | GPS-disciplined | ~$150 |
| Leo Bodnar LBE-1420 | GPSDO | 1 Hz - 1.1 GHz | GPS-disciplined | ~$200 |
Note: Successfully tested TI CDCLVC1310-EVM with 40 MHz crystal replacement for PlutoSDR synchronization.
sdr-beamforming/
├── PhaseCoherence/ # Phase synchronization experiments
│ ├── assets/ # GUI screenshots and diagrams
│ └── qtgui/ # Phase alignment final script for phase coherence.
├── Research/ # Academic papers and documentation
│ ├── AnalogDevices/ # Research papers for beamforming
│ ├── Gabriel/ # Gabriel's Research: Learning resources
│ ├── Jason/ # Jason's Research: Learning resources
│ ├── Joel/ # Joel's Research: Learning resources
│ ├── Peyton/ # Peyton's Research: Learning resources
│ └── Testing/ # Build and Test Instructions
├── Toolbox/ # Extra tools, scripts and screenshots for testing and debug
│ ├── GNURadio/ # GNU Radio flowgraph files for testing and debug with PlutoSDR
│ │ └── README.md # Bugfix and Tutorials link for GNU Radio
│ ├── KrakenSDR/ # KrakenSDR-specific scripts for testing and debug
│ │ └── README.md # Notes on KrakenSDR implementation
│ └── PlutoSDR/ # PlutoSDR scripts for testing and debug
│ │ └── README.md # Modification and sources of PlutoSDRs for 2 TX & 2 RX channels
└── README.md # This document
Challenge: Achieving phase-locked operation across multiple independent SDR units.
Solution:
External Clock Distribution
Software Synchronization
Beamforming Algorithm
[Transmitter] → [Antenna Array] → [SDR RX Channels] → [GNU Radio] → [PyQt5 GUI]
↓
[Phase Alignment]
↓
[Beamforming DSP]
↓
[Direction Output]
| Repository | Author | Description |
|---|---|---|
| Pluto_Beamformer | Jon Kraft | PlutoSDR beamforming implementation |
| PlutoSDR_Labs | Jon Kraft | Educational SDR experiments |
| PhasedArray | Jon Kraft | ADAR-1000 beamforming |
| krakensdr_doa | KrakenRF | Direction finding algorithms |
| krakensdr_pr | mfkiwl | Passive radar implementation |
| rtl-sdr | osmocom | RTL-SDR driver library |
| multi-rtl | ptrkrysik | RTL-SDR synchronization |
| gr-iio | Analog Devices | GNU Radio IIO blocks |
| gnuradio | GNU Radio | Core SDR framework |
MIMO Technology:
Signal Processing:
Video Resources:
Textbooks & Guides:
LibreTexts Engineering Series:
Resources:
Modeling Software (Windows):
Spectrum Analysis:
Network Analysis:
GPS-Disciplined Oscillators:
Linux & Windows:
Linux:
Windows:
Hardware:
Software:
# Clone the repository git clone https://github.com/ADolbyB/sdr-beamforming.git cd sdr-beamforming # Install GNU Radio (Ubuntu/Debian) sudo apt-get install gnuradio # For PlutoSDR support sudo apt-get install libiio-utils
Configure Hardware
Run Phase Calibration GUI
cd PhaseCoherence/qtgui python RxBeamSteer_GUI.py
Start Beamforming
Course: Senior Engineering Design Project
Institution: Florida Atlantic University
Semester: Fall 2023 - Spring 2024
Final Grade: A
Team Members:
Project Scope: This capstone project explored the practical implementation of phased array beamforming using software-defined radios. The five-member team evaluated multiple SDR platforms, developed phase synchronization techniques, designed custom antenna arrays, created mechanical mounting solutions through 3D printing, and delivered a functional demonstration system with real-time beam steering capabilities.
Senior Design Expo Demonstration - Florida Atlantic University
Our team presented a fully functional phased array beamforming system at the FAU College of Engineering and Computer Science Senior Design Expo. The demonstration featured:
Hardware on Display:
Live Capabilities Demonstrated:
Antenna Array Designs:
📸 Photo shows complete demonstration setup including synchronized PlutoSDRs, antenna arrays, real-time GUI visualization, and professional project poster at the FAU Senior Design Expo.
Commercial Uses:
Research Applications:
This project is licensed under the GNU GPL v3 License - see the LICENSE.md file for details.
Academic Integrity Notice: This repository represents completed coursework. If you're currently enrolled in a similar course, please use this as reference material only and adhere to your institution's academic honesty policies.
While this is a completed academic project, we welcome:
Please open an issue or submit a pull request!
Project Maintainers:
Project Sponsorship:
Faculty Support:
Special Thanks:
Research Support:
Advancing RF Technology Through Open Research
Phased Array Beamforming - From Theory to Implementation
more like this
OscillatorIMP ecosystem for the digital characterization of ultrastable oscillators and Software Defined Radio (SDR) fr…
GNU Radio package implementing MUSIC and root MUSIC angle of arrival algorithms with blocks necessary to provide phase…
This is a Software Defined Radio(SDR) project implementing a DVB-T2 receiver.
search projects, people, and tags