Cell Tower with a bright light on top.

What Should Our DIY Phased Array Project Do?

In my last blog post, I talked about why you might want to learn about phased arrays.  And then the difficulty in doing that--based on my experience in trying to learn these systems.  But I left that post with a promise that we could make our own simple beamformer, and then use that to learn the basics of beamformer operation.  And we will do that!  But first, we have to go over some simple math behind how beamformers operate.  That will give us the goal of what we want our hardware to do.  Then in future blogs, we'll compare that theoretical value to what our hardware setup is actually reporting.  

How Does a Beamformer Work?

There are many great resources and videos for illustrating the fundamentals of phased array operation.  But most of what I’ll use in this blog series is well covered in these Analog Dialogue articles:  https://www.analog.com/en/analog-dialogue/articles/phased-array-antenna-patterns-part1.html

I’m not going to repeat all that information, but we can at least go through the very basic operation here.  Let's consider a simple antenna array.  And let’s make it the simplest possible antenna array – 2 elements.  If a signal struck those two elements straight on (we call it the “mechanical boresight” direction), then both elements would receive that signal at the same time.  And if we added those two signals together, they would make a bigger signal.  So it's like our antenna array has higher gain – which is what we want. 

 Antenna ray

But what if the wavefront didn’t strike in exactly the mechanical boresight direction?  Then there would be some very tiny distance that the wavefront would have to travel to hit the other antenna.   

  Antenna ray

Time Delay and Phase Shifting 

Radio waves travel at about the speed of light, so that extra distance would translate to some time delay between when the signal struck the first antenna, and when it struck the second antenna.  It’s not a big delay—for our setup, it will be less than a few hundred picoseconds.  And a picosecond is only a millionth of a millionth of a second.  But even that small delay can mean that the signals’ peaks and valleys will no longer be aligned.  This is a problem because now when we add them up, we won’t get as big of a signal as we saw in the first figure.  If we zoom into this situation, it’ll look like this:

  Antenna ray

This drawing makes it apparent that the incoming wavefront has formed the leg of a right triangle.  Using the properties of a right triangle, we can write this simple equation: 

             L = d sin(θ)


                          “L” is the incremental propagation distance between elements

                          “d” is the distance between antenna elements

                          “θ” is the angle from mechanical boresight to the wavefront

As this is drawn, we know that RX2 is going to receive the signal some time delay (∆t) after RX1.  That time delay is simply:

             ∆t = L / c             where c is the speed of light (about 3E8 m/s)

That time delay could also be represented as a phase shift between the two signals.  Why phase shifts?  We’ll talk about that more in a future blog post, but the basic reason is that phase shifting is much easier than time shifting.  It’s easier on the hardware implementation and it’s also easier on the software side.  Phase shift is calculated from a given time delay--but the two are only equivalent for a specific frequency, as shown here:

             ∆φ = 2π f ∆t             where f is the frequency of the incoming signal

So that’s the basic idea.  Let’s put some numbers into these equations to further illustrate. 

Here's an Example:

 If you have a 2.3 GHz signal approaching the array that is 20° from mechanical boresight (θ =20°, or 0.35 rad), and your antennas are spaced 65mm apart (d=65mm), then the time delay will be

             ∆t = d sin θ / c = 0.065 * sin(0.35)/ 3x108=  74.4 ps

And converting that time delay to a phase delay would give: 

             ∆φ = 2π f ∆t = 2π * 2.3x109 * 74.4E-12   

                  = 1.07 rad = 62°

This means if we applied a -62° phase shift to the signal on RX2, that phase shift would compensate for the very small time delay of the incoming signal striking the element in the array.  Then if we added RX1 and RX2 together, it will produce a larger signal.  And that larger signal gives a higher signal-to-noise ratio (SNR), but only for the θ angle that we set our phase shift for.  Wallah!  We’ve just electronically steered the antenna!

So that is interesting, but does it actually work?  And if it does work, what am I going to “see”?  And if I see something, am I also going to see any “oddities” around it?  Let’s build one up and find out!  Which is exactly what we’ll do in the next blog post here.  As always, please add any questions/comments/insights below.