In my master thesis I am trying to implement a beamformer.

I've already done the delay-sum part 1 year ago. I have been told:

in FIR filtering we can do

FFT --> null the unwanted frequency bin --> IFFT .

We can to the same in beamformers. If we know the interference DOA (like 0 in angle 25 and 1 in everywhere else between -90 to 90) output we can ---> IFFT and use the weights in aparture elements.

Whatever I tried it didn't work. Than I begin to read books , surprisingly couldn't find the method that my advisor told me. Instead I found out methods like MVDR, LCMV. Now I am tring to use matlab method lcmvweights to get correct weights for each element and apply in my delay-sum beamformer. Even I succeed to use this method I am curious if narrowband-beamformers could be used in complex signals like speech?


2 Answers 2


If you are dealing with say 8 kHz for a nominal speech bandwidth of of 4kHz i.e. 0 Hz - 4 kHz, then the speech is essentially a wideband signal. Therefore narrowband beamforming won't work very well. Your beam pattern will be okay for the particular frequency of interest - but once you start moving away from that frequency your beam patterns will deteriorate.

What you are looking for is wideband beamforming - which uses actual time delays (or linear phase shifts across frequency in the frequency domain) rather than just phase shifts.

Usually the techniques like LCMV and MVDR are developed for narrowband signals. There are a couple of ways of approaching the wideband problem:

  1. Use a tapped delay line on each channel. If you have $n$ channels and $m$ taps per channel then your correlation matrix is $mn$ x $mn$. So the systems of equations gets very large.
  2. Use a bunch of narrowband beamformers. In this case you would have $m$ beamformers ($m$ frequencies) each one having $n$ channels. Now each beamformer has a $n$ x $n$ correlation matrix, but you have $m$ of them. So it leads to a reduction in complexity from the previous case.
  3. You can form a set of $b$ conventional beams (using time-delay rather than just phase multiplier) and then do the adaptive processing on the beams.

The best reference I can think of is by Van Trees - Optimum Array Processing. Note you sometimes run into slight differences in terminology - some texts will denote MVDR as using the signal correlation matrix, while others use the signal plus noise correlation matrix - Just be careful which one you're looking at. I know Van Trees makes a distinction between the two cases. Most other texts do not and only use one formulation and call it MVDR.

  • $\begingroup$ Do I need to dive in to Correlation matrix stuff . I am missing teorical background, I am reading but can't understand exactly. What do you think can I directly use lcmvweights function in matlab? Than use them directly in my delay-sum beamformer which I already implemented . $\endgroup$ Apr 22, 2016 at 18:49
  • $\begingroup$ @KadirErdemDemir If you were using option 2 (from above) then yes, you could use the lcmv weights. I'm not familiar with Matlab's lcmvweights - unless it handles wideband beamforming you won't be able to use the outputs in a true delay sum beamformer (option 1) (as opposed to a phase shift implementation) $\endgroup$
    – David
    Apr 22, 2016 at 19:07

The work by Darren Ward, Rod Kennedy, and Bob Williamson investigated how to design filters applied to a delay-and-sum beamformer that allowed broadband signal acquisition.

As you can see from their figure 2, a narrow-band beamformer does not perform well as the frequency changes from the design frequency.

enter image description here

Suitable choice of filters in the paths of the delay-and-sum beamformer allows a less frequency-dependent array response to be formed (figure 4 from their paper below).

enter image description here

A later paper that I did with Darren and Bob shows that it's possible to have a frequency invariant design and position an exact null in one given direction (egad! that paper is 20 years old this year).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.