# Beamformer implementation methods

I'm currently reading articles about the different type of beamformers. This spatial filtering is gonna be used for acoustic purposes, to focus the beam on the person we need to hear talking in a crowded environment.

I think that there is a misconception on some of the things I taught I understood.

So, the way I saw it, I should decide on a criterion to optimize (MVDR or MSNR for example), and once I had determined the optimal weight, I should use an estimator algorithm (like LMS/RLS) to converge to this solution. More explicitly, the steps I had in mine were:

• $$\mathbf{w}_{\text{opt}} = \frac{\mathbf{R}^{-1}_x \mathbf{d}}{\mathbf{d}^H\mathbf{R}_x\mathbf{d}}$$, $$\mathbf{R}_x$$ being the covariance matrix, and $$\mathbf{d}$$ the steering vector
• $$\mathbf{y}_{\text{desired}} = \mathbf{w}_{\text{opt}}\mathbf{x}$$, $$\mathbf{x}$$ being the vector of our different entry
• Use LMS with $$\mathbf{y}_{\text{desired}}$$ as our reference to estimate the weights of our beamformer

However, this article from ResearchGate, Hybrid MVDR-LMS beamforming for massive MIMO, talks about MVDR beamformer and LMS beamformer as two different things.

From this point, I don't understand how neither of them works. If I don't use the MVDR optimum solution, I can't have a reference signal for my LMS, and I can't find any way to minimize the MVDR criterion without using the optimal solution(which might be complex to use when I'll implement my algorithm on an STM32).

Therefore, I don't really understand how to use neither of these two methods separately.

• How should I approach the optimal weights of my MVDR?
• What is my reference signal for my LMS if i don't use MVDR optimal weights?

Thank you for your responses.

• Hello zou, welcome to DSP SE. I am not an array processing expert, but from the time I have spent working on similar problems, I believe that the MVDR approach provides the optimal weights. This means that after solving the MVDR optimization/estimation issue then the result should be the weights you are seeking. I believe that the solution is given by 1/[a(theta)^H * Rx^-1 * a(theta)], where a(theta) is the array manifold and Rx the covariance matrix (apologies for the format). For more info, look at Optimum Array Processing - Detect, Estimation, and Modulation Theory Part IV by Van Trees Mar 28, 2020 at 16:11

## 1 Answer

MVDR and LMS beamformers are two different things. The equation you wrote for the MVDR beamformer is the solution to the "Minimum Variance Distortionless Response" (MVDR) criterion (i.e., $$w_{opt}$$ is the MVDR beamformer; you don't need any more steps to calculate it). It minimizes the variance of the interference, while preserving mainbeam in the desired look direction (distortionless response).

The LMS beamformer operates differently in that it continually updates the beamformer based on the error between the desired beampattern and the beampattern that results from the current beamformer. It has the advantage of not having to estimate and invert the covariance matrix, $$R$$.

While the paper you cited is somewhat poorly written, it appears to be doing the following:

1. Compute the MVDR beamformer ($$w_{opt}$$) for an initial desired look direction
2. Use $$w_{opt}$$ as the starting point for the LMS algorithm. The LMS algorithm will then update the beamformer as things change.