Recently I've been learning about and implementing some adaptive beamforming schemes (particularly the SMI/Capon beamformer, and the Robust Capon Beamformer). I understand the mathematical derivations for them, but I'm struggling with the intuition behind how they work.

The SMI beamformer is the most basic, with array weights $$w=R^{-1}a^H$$

Where $R$ is the covariance matrix and $a$ is your steering vector. $a^H$ represents the conjugate transpose of $a$. For the purposes of this, I'm considering the ideal case where $R$ is calculated using sampled noise and interferer data, and not the desired signal.

The beamformer is designed to have unit gain in the "look direction", the direction you think the source is in. It also has the effect of nulling the beam response in the direction of the interferers. My question is: how does this work? I realise that information about the interferers (particularly the time of arrival at each sensor) is wrapped up inside the covariance matrix, but why does multiplying its inverse by the steering vector have this nulling effect?

I've tried a few approaches to get some better intuition about this. These include working through the derivation of the beamformer, playing with the equations (in particular, considering the alternate form $a=Rw$) and producing beampatterns for various cases. I can see exactly what the beamformer is doing, and I understand each step of deriving the equations, but I can't explain in a satisfying way why this process nulls the interfering signals.

  • $\begingroup$ is your confusion about the "adaptation process" or about how "the array operates" (i.e., how it achieves directivity pattern, nulling etc.) $\endgroup$
    – Fat32
    Jul 25, 2023 at 14:47
  • $\begingroup$ I guess more about how the array operates - I understand the mathematical derivations, but I can't find a satisfactory explanation for why you get the beam patterns you do (in particular the nulling of interferers). $\endgroup$ Jul 25, 2023 at 16:16
  • 1
    $\begingroup$ You may want to look at the Generalized Sidelobe Canceller formulation. Most adaptive beamformers can be put into this type of form, which is consists of two parallel paths, one for a conventional beamformer and the other for the canceller which adapts to the data. This allows you to see the deviation from the conventional BF output. $\endgroup$
    – David
    Jul 27, 2023 at 13:29

1 Answer 1


A basic two-element array suffices to explain the general case. Also, the receiving behaviour is the reciprocal of that of the transmitting.

Consider two receivers separated by $d$. A plane harmonic (sinusoidal) electromagnetic wave arrives (from a large enough distance) with an angle of incidence $\theta$, to both receivers whose outputs (denoted $x_1(t)$, $x_2(t)$) are superposed to produce $s(t) = a_1 x_1(t) + a_2 x_2(t)$.

$$ x_1(t) = A \sin( \omega_0 t) \tag{1}$$

$$ x_2(t) = A \sin( \omega_0 (t- t_d)) \tag{2}$$

where the delay in the second receiver (caused by the inclined arrival path) is $$t_d = d \sin(\theta) / c \tag{3}$$

where $c$ is the speed of light, $\omega_0 = 2 \pi c / \lambda$ is the (ang) frequency, and $\lambda$ is the wavelength. Eqs 1&2 can be written as:

$$ x_1(t) = A \sin( \omega_0 t) \tag{4}$$

$$ x_2(t) = A \sin( \omega_0 t - \phi) \tag{5}$$

where $ \phi = 2 \pi ~(d/\lambda) \sin(\theta) $.

Trigonometric reasoning yields that for different values of phase difference $\phi$, you will get constructive or destructive interference at the summation output $s(t) = a_1 x_1(t) + a_2 x_2(t)$. Since, for fixed values of $d$ and $\lambda$, the value of $\phi$ is a function of $\theta$, then the receiving (or transmitting) pattern associated with the array will also be a function of it; resulting in nulls and peaks.

For larger arrays, a similar interference phenomenon yields a more selective directivity pattern, associated with the array distance $d$ and the array weights $a_k$.


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.