PySDR is a free online textbook created by Dr. Marc Lichtman which explains many digital signal processing (DSP) and software defined radio (SDR) concepts in a clear, concise and easy to understand way. The guide includes multiple images and animations, as well as Python code examples.

In a recent update, Dr. Lichtman has begun adding a new chapter on Direction of Arrival (DOA) and Beamforming which are core concepts for coherent radio direction finding devices like our KrakenSDR. As with the other chapters the guide is made easy to understand with many images and animations.

The introduction reads:

Direction-of-Arrival (DOA) within DSP/SDR refers to the process of using an array of antennas to estimate the DOA of one or more signals received by that array. Once we know the direction a signal of interest is arriving from, we can isolate it from other signals/interference/jamming.

It is just like isolating a signal in the frequency domain by filtering it, except we are now working in the spatial domain (you can certainly combine both!).

We typically refer to the antennas that make up an array as elements, and sometimes the array is called a “sensor” instead. These array elements are most often omnidirectional antennas, equally spaced in either a line or across two dimensions.

DOA is a subset of beamforming techniques, where as the receiver, we are trying to steer a beam (our receiver’s antenna beam) towards the direction of an emitter. We may also steer a beam blindly across a wide range (e.g., 0 to 360 degrees) to figure out what signals are being received and from what direction.

A visual example of what happens to two signals when the interelement spacing of a direction finding antenna array is reduced below half a wavelength.