A drone is shown flying above some trees and a building. A pink cloud of dots appears above the drone, and a purple cloud below the drone. Grey crosshairs are to the right of the drone.

Seeing The World In Radio Waves With The QuadRF

Although the basic principle of radio direction finding is easy to understand (measure the phase difference between different antennas, then calculate the angle of arrival from this difference), the radio hardware to actually implement this has historically been hard for hackers to access. The QuadRF project aims to change this by building a phase-coherent four-channel SDR which makes direction mapping easy (GitHub repository).

The QuadRF uses two boards: one to receive and pre-process radio waves, and a Raspberry Pi 5 for additional processing. The RF board has four patch antennas, each capable of either transmitting or receiving in the 4.9 GHz to 6.0 GHz range, with switchable right- or left-hand polarization. For on-device processing, it uses a Lattice ECP5 FPGA, which uses two MIPI cables to connect to the camera and display interfaces on the Raspberry Pi. These form a very high-speed data exchange, and after further processing, the Pi can pass data on over Ethernet or Wi-Fi. Individual QuadRF boards can connect together in a lattice grid to form larger phased arrays.

The QuadRF’s software shows off its real strength: it’s compatible with standard programs like GNU Radio, but it also hosts a few of its own programs. The most striking of these is an “RF camera” which scans its entire frequency range at 30 fps, tracking the direction of detected signals and visualizing them on a spatial plot. When overlaid on a camera feed, this plot lets one easily see the radio signals emitted from electronics; as an example, the creators tracked a drone in flight, even distinguishing the two radio transmitters on the drone.

This isn’t the first multi-antenna SDR we’ve seen, though this is the first that could transmit. It’s important to be careful, though: some applications of this kind of hardware run afoul of arms regulations.

Thanks to [Swake] for the tip!

Real-Time Beamforming With Software-Defined Radio

It is perhaps humanity’s most defining trait that we are always striving to build things better, stronger, faster, or bigger than that which came before. Taller skyscrapers, longer bridges, and computers with more processors, all advance thanks to this relentless persistence.

In the world of radio, we might assume that a better signal simply means adding more power, but performance can also improve by adding more antennas. Not only do more antennas increase gain but they can also be electronically steered, and [MAKA] demonstrates how to do this with a software-defined radio (SDR) phased array.

The project comes to us in two parts. In the first part, two ADALM-Pluto SDR modules are used, with one set to transmit and the other to receive. The transmitting SDR has two channels, one of which has the phase angle of the transmitted radio wave fixed while the other is swept from -180° to 180°. These two waves will interfere with each other at various points along this sweep, with one providing much higher gain to the receiver. This information is all provided to the user via a GUI.

The second part works a bit like the first, but in reverse. By using the two antennas as receivers instead of transmitters, the phased array can calculate the precise angle of arrival of a particular radio wave, allowing the user to pinpoint the direction it is being transmitted from. These principles form the basis of things like phased array radar, and if you’d like more visual representations of how these systems work take a look at this post from a few years ago.

Continue reading “Real-Time Beamforming With Software-Defined Radio”