Nutaq and *Université Laval* recently formed a partnership to implement a high-resolution direction of arrival (DoA) detection system using Nutaq’s PicoDigitizer 125. The PicoDigitizer 125, a field-programmable gate array (FPGA) processing platform with 16 phase-synchronous acquisition channels, meets all the hardware performance requirements of such an application.

The researchers at *Université Laval *already have their own custom eight-antenna phased array:

However, they needed a new high-resolution high-speed multichannel acquisition system to add the application layer to their phased-array. The project can be divided in two main challenges:

- Implement a DoA estimator running on an FPGA using the MUSIC algorithm
- Characterize, calibrate and compensate for the custom phased array RF imperfections

To understand the first challenge, we first need to explain the MUSIC algorithm. MUSIC stands for “multiple signal classification algorithm” and is a subspace method for DoA estimation. Subspace methods provide high-resolution estimations. However, all these methods exploit the spatial covariance matrix of the received signals. This alone is arguably difficult to implement in FPGAs since they work on a sample per sample basis and the covariance matrix is an *N x N* matrix. On top of that, we need to compute eigenvalues/eigenvectors of this matrix through eigendecomposition algorithms. This part is definitely tricky. With a two-antenna system, simple algorithms exist but with eight antennas, the complexity is very high. We will have more information in the upcoming weeks on how it was achieved in the FPGA using System Generator.

The second challenge comes from the fact that the eight-element phased array contains analog components (such as mixers and oscillators) driven by a clock reference crystal. All these components change with age and temperature. Also, each part arrives from the factory a little bit different from the others. To better visualize the impact of these imperfections, let’s recall some antenna array basics. For example, here’s an illustration of a propagating wave carrying the signal *s(t). *The signal is received by each element in the array but at a different time instant.

is the difference in the arrival time of the signal at element 0 and element *k*, in seconds. Assuming that the received signal at the *k*th element is down-converted to the baseband, the baseband received signal is:

In wireless digital communication systems, the sampling period will be much greater than each of the propagation delays across the array, so we can approximate that equation to:

By examining the geometry in the previously shown illustration and using basic trigonometry and principles regarding wave propagation, the arrival time delay can be computed as:

From the calculations above, we can conclude that the precision of the DoA is directly linked to the precision of the phase/time measurements of each element with respect to the phase of the signal received at the 0th element. Even more, if we consider as a noisy source signal, the performance will also be degraded.

Now that we’ve introduced the project, we are ready to see the hardest part of the project – implementing the MUSIC algorithm in hardware (the eigendecomposition). Stay tuned to learn how to do this in my next blog post.