Beamforming Algorithms

From Data-Independent to Adaptive Beamforming

Data-independent beamformers (Bartlett) use fixed weights; adaptive beamformers (Capon, MUSIC) exploit the received data statistics to improve resolution and suppress interference.

Definition:

Bartlett (Conventional) Beamformer

The Bartlett beamformer scans the steering vector across angles:

PBartlett(θ)=aH(θ)Rxxa(θ)a(θ)4P_{\text{Bartlett}}(\theta) = \frac{\mathbf{a}^H(\theta)\mathbf{R}_{xx}\mathbf{a}(\theta)} {\|\mathbf{a}(\theta)\|^4}

where Rxx=E[xxH]\mathbf{R}_{xx} = E[\mathbf{x}\mathbf{x}^H] is the array covariance.

def bartlett(Rxx, N, d_lambda, theta_scan):
    P = np.zeros(len(theta_scan))
    for i, th in enumerate(theta_scan):
        a = steering_vector(N, d_lambda, th)
        P[i] = np.real(a.conj() @ Rxx @ a) / (np.abs(a @ a.conj())**2)
    return P

Definition:

Capon (MVDR) Beamformer

The Capon (Minimum Variance Distortionless Response) beamformer minimizes output power while maintaining unit gain at the look direction:

PCapon(θ)=1aH(θ)Rxx1a(θ)P_{\text{Capon}}(\theta) = \frac{1}{\mathbf{a}^H(\theta)\mathbf{R}_{xx}^{-1}\mathbf{a}(\theta)}

This provides much better resolution than Bartlett by placing nulls toward interferers.

def capon(Rxx, N, d_lambda, theta_scan):
    Rinv = np.linalg.inv(Rxx)
    P = np.zeros(len(theta_scan))
    for i, th in enumerate(theta_scan):
        a = steering_vector(N, d_lambda, th)
        P[i] = 1 / np.real(a.conj() @ Rinv @ a)
    return P

Definition:

MUSIC Algorithm

MUSIC (MUltiple SIgnal Classification) achieves super-resolution by exploiting the noise subspace:

  1. Estimate Rxx\mathbf{R}_{xx} and compute its eigendecomposition
  2. Partition eigenvectors into signal (Us\mathbf{U}_s) and noise (Un\mathbf{U}_n)
  3. Compute the pseudospectrum:

PMUSIC(θ)=1aH(θ)UnUnHa(θ)P_{\text{MUSIC}}(\theta) = \frac{1}{\mathbf{a}^H(\theta)\mathbf{U}_n\mathbf{U}_n^H\mathbf{a}(\theta)}

def music(Rxx, N, d_lambda, theta_scan, n_sources):
    eigvals, eigvecs = np.linalg.eigh(Rxx)
    Un = eigvecs[:, :N-n_sources]  # noise subspace
    P = np.zeros(len(theta_scan))
    for i, th in enumerate(theta_scan):
        a = steering_vector(N, d_lambda, th)
        P[i] = 1 / np.real(a.conj() @ Un @ Un.conj().T @ a + 1e-10)
    return P

MUSIC can resolve sources closer than the Rayleigh limit (λ/Nd\lambda/Nd) but requires knowing the number of sources KK.

Definition:

ESPRIT Algorithm

ESPRIT (Estimation of Signal Parameters via Rotational Invariance) estimates DOAs without spectral scanning by exploiting the shift invariance of ULAs. It computes angles directly from the eigenvalues of a rotation matrix derived from two subarrays.

Definition:

Array Covariance Matrix Estimation

The sample covariance from LL snapshots:

R^=1Ll=1Lx[l]xH[l]\hat{\mathbf{R}} = \frac{1}{L}\sum_{l=1}^{L} \mathbf{x}[l]\mathbf{x}^H[l]

More snapshots improve the estimate. Diagonal loading (R^+δI\hat{\mathbf{R}} + \delta\mathbf{I}) improves robustness for Capon.

Theorem: Capon Resolution Limit

Capon can resolve two sources separated by more than approximately 1/(Nd/λ)1/(Nd/\lambda) radians, which is better than the Bartlett resolution of 2/(Nd/λ)2/(Nd/\lambda) by roughly a factor of 2. MUSIC can resolve sources separated by much less than the Rayleigh limit, limited mainly by SNR.

Capon places adaptive nulls toward interferers; MUSIC exploits the full eigenstructure of the covariance matrix for super-resolution.

Theorem: Signal and Noise Subspace Orthogonality

The true steering vectors lie in the signal subspace:

UnHa(θk)=0,k=1,,K\mathbf{U}_n^H\mathbf{a}(\theta_k) = \mathbf{0}, \quad k = 1, \dots, K

The MUSIC pseudospectrum peaks where a(θ)\mathbf{a}(\theta) is orthogonal to the noise subspace, i.e., at the true DOAs.

The noise eigenvectors span the subspace orthogonal to the signals. Scanning for where a(θ)\mathbf{a}(\theta) aligns with the signal subspace (or equivalently, is orthogonal to the noise subspace) reveals the DOAs.

Theorem: Cramer-Rao Bound for DOA Estimation

The CRB on DOA estimation variance for a single source at angle θ0\theta_0 with SNR γ\gamma and LL snapshots is:

var(θ^)6LN(N21)γ(2πd/λ)2cos2θ0\text{var}(\hat{\theta}) \ge \frac{6}{L \cdot N(N^2-1) \cdot \gamma \cdot (2\pi d/\lambda)^2 \cos^2\theta_0}

MUSIC approaches the CRB at moderate-to-high SNR.

More elements, more snapshots, and higher SNR all reduce the DOA estimation error. The cos2θ0\cos^2\theta_0 factor means accuracy degrades for angles far from broadside.

Example: Direction of Arrival Estimation

Estimate the DOAs of two sources at 20°20° and 35°35° using Bartlett, Capon, and MUSIC with an 8-element ULA.

DOA Estimation: Bartlett vs Capon vs MUSIC

Compare beamforming algorithms for direction-of-arrival estimation.

Parameters

MUSIC Resolution vs Source Separation

Watch MUSIC resolve two sources as their angular separation increases.

Parameters

Beamforming Algorithm Comparison

Beamforming Algorithm Comparison
Spatial spectra from Bartlett, Capon, and MUSIC for two closely-spaced sources, showing the superior resolution of subspace methods.

Quick Check

What does the MUSIC algorithm require that Bartlett does not?

More antenna elements

Knowledge of the number of sources

Higher SNR

A planar array

Quick Check

Why does Capon have better resolution than Bartlett?

It uses more antennas

It adapts weights to minimize interference

It uses higher sampling rate

It applies windowing

Common Mistake: Too Few Snapshots for Covariance Estimation

Mistake:

Using fewer snapshots (LL) than array elements (NN) for covariance estimation, making R^\hat{\mathbf{R}} rank-deficient and Capon unstable.

Correction:

Use LNL \gg N snapshots. For Capon, add diagonal loading: Rxx_loaded = Rxx + delta * np.eye(N) with δ0.1tr(R)/N\delta \approx 0.1 \cdot \text{tr}(\mathbf{R})/N.

Key Takeaway

Bartlett is simple but resolution-limited. Capon adapts to data and improves resolution by 2x. MUSIC achieves super-resolution by exploiting the noise subspace, but requires knowing the number of sources.

Beamforming Algorithm Comparison

PropertyBartlettCapon (MVDR)MUSIC
TypeData-independentAdaptiveSubspace
Resolution~2/(Nd/λ)2/(Nd/\lambda)~1/(Nd/λ)1/(Nd/\lambda)Super-resolution
Requires KK known?NoNoYes
ComplexityO(N2)O(N^2)O(N3)O(N^3) (inversion)O(N3)O(N^3) (eigendecomp)
RobustnessHighModerateLow SNR sensitive
Null placementFixedAdaptiveN/A (DOA only)

Capon Beamformer

An adaptive beamformer that minimizes output power subject to unity gain at the look direction, achieving better resolution than Bartlett.

Related: MUSIC

MUSIC

MUltiple SIgnal Classification: a subspace-based DOA estimation algorithm that achieves super-resolution by exploiting the noise subspace orthogonality.

Related: Capon Beamformer

Direction of Arrival (DOA)

The angle from which a signal arrives at an antenna array.