Phase Coherent Beamforming SDR

The days when software defined radio techniques were exotic are long gone, and we don’t miss them one bit. A case in point: [Laakso Mikko’s] research group has built a multichannel receiver using 21 cheap RTL-SDR dongles to create a phase coherent array. This is useful for everything from direction finding and passive radar or beam forming. The code is also available on GitHub.

The phase coherence does require the dongle’s tuner can turn off dithering. That means the code only works with dongles that use the R820T/2. The project modifies the dongles to use a common clock and a switchable reference noise generator.

A single coupler can accommodate seven dongles for a cost of about $180. The team has used up to 5 of these to create arrays of 35 receivers. The processing is a bit math-intensive and some of the code is in Matlab.

In addition, some of the paper deals with increasing performance of sparse arrays of receivers to approach the performance of a fully-populated array. Obviously, even at this low price, fewer receivers will be desirable for cost, space, and power concerns.

Of course, not everyone needs dozens of channels of phase coherent receiving, but if you do, it is good to know an inexpensive way to get there.

The RTL-SDR makes many projects easy that would be harder to do in a conventional manner. From medical devices to satellites, one cheap piece of hardware can do it all, it seems.

15 thoughts on “Phase Coherent Beamforming SDR

  1. I though to myself, I do not remember seeing any register to disable PLL dithering.
    So I checked in the leaked pdf (search for “R820T2 Register Description”).
    In the end I found out that technically it is shown in the “Register Matrix”, but without a name or a description, it is almost like it was censored for Export Administration Regulations (EAR) compliance.

    So anyhow after a bit of digging I found out that the above linked source code is eventually calling this line of code:

    Which is setting bit 4 of register 18 (address 0x12) to disable the frequency synthesis dithering.

    Register R18 (0x12)and R19 (0x13) are not described in the R820T2 Register Description document, but the registers before them are related to the PLL and the registers after them are related to the PLL, so logically (when does that ever happen) they should be related to the PLL. And bit 3 is shown as PW_SDM which is probably PoWer control for the Sigma-Delta Modulator used in the PLL.

    “Without dithering you can only tune to increments of 439.45 Hz” – (ref: )

  2. “In addition, some of the paper deals with increasing performance of sparse arrays of receivers to approach the performance of a fully-populated array. ”

    Science fiction is well ahead of them.

    In Arthur C. Clarke’s novel “Imperial Earth” (published in 1975,) there is an array of radio telescopes that was originally designed with a regularly spaced pattern of dishes. As it was built, many of the dishes were left out. The central character of the story (Duncan Makenzie) notes when he visits the array that careful selection of the which dishes to build and which to leave out greatly reduced the cost of building the array while only marginally reducing its abilities.

    The radio telescope is only a part of the background of the story. Some of the (important) action takes place there, but the main thrust of the story lies elsewhere.

    1. Arthur C Clarke was ahead of a lot of us by a long way on a lot of things.

      The fact that 2001 opens with an astronaut on a space station reading a newspaper on an ipad presumably via wifi over the internet, and it was written before any of those things existed, still blows my mind.

      1. 2001 opens with apes. The space station comes after that, and the trip to the station. I don’t remembef a tablet there, so I suspect you are talking about the scene on the spaceship out near Jupiter (which happens even later, there’s a trio from the space station to the moon first).

        It’s easy in the future to read things into fiction of the past. In the movie, there were objects, but no real explanation. It was a lot different watching it in 1968.

    2. It’s quite a bit older than that. The behavior of a sparse set of antennas to the observed intensity was established back in 1934 by van Cittert.

      The optimization problem (where to place the antenna’s) depends on characteristics of the source and capabilities of the receivers, so for any new problem there will be new ways to optimize.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.