Exercises
ex-sp-ch24-01
EasyCompute the steering vector for an 8-element ULA with at .
Implementation
N, d_lambda = 8, 0.5
theta = np.radians(30)
a = np.exp(1j * 2 * np.pi * d_lambda * np.arange(N) * np.sin(theta))
ex-sp-ch24-02
EasyCompute the HPBW for ULAs with elements at .
Implementation
for N in [4, 8, 16, 32]:
print(f"N={N}: HPBW ≈ {102/N:.1f}°")
ex-sp-ch24-03
EasyShow that two ULA steering vectors at different angles are orthogonal when and the angles correspond to DFT frequencies.
Implementation
N = 8
a1 = steering_vector(N, 0.5, np.arcsin(0))
a2 = steering_vector(N, 0.5, np.arcsin(2/N))
print(f"Inner product: {np.abs(a1.conj() @ a2):.6f}") # ≈ 0
ex-sp-ch24-04
EasyCompute the array gain in dB for arrays with elements.
Calculation
for N in [4, 16, 64, 256]:
print(f"N={N}: Gain = {10*np.log10(N):.1f} dB")
ex-sp-ch24-05
EasyGenerate a DFT codebook for a 16-element ULA and plot all 16 beam patterns.
Implementation
codebook = dft_codebook(16, 0.5)
ex-sp-ch24-06
MediumSimulate two sources at and with SNR = 20 dB and 100 snapshots. Compare Bartlett, Capon, and MUSIC DOA estimates.
Implementation
# See code supplement ch24/python/beamforming.py
ex-sp-ch24-07
MediumImplement Capon beamforming with diagonal loading. Show how loading improves robustness when .
Approach
Add to before inversion.
ex-sp-ch24-08
MediumImplement the ESPRIT algorithm for DOA estimation and compare with MUSIC.
Approach
Use the shift invariance property of the ULA to estimate DOAs.
ex-sp-ch24-09
MediumSimulate hybrid beamforming with 64 antennas and compare spectral efficiency with RF chains.
Implementation
# See code supplement ch24/python/hybrid_beamforming.py
ex-sp-ch24-10
HardImplement the MDL (Minimum Description Length) criterion to automatically estimate the number of sources for MUSIC.
Approach
MDL selects that minimizes a penalized log-likelihood.
ex-sp-ch24-11
HardImplement a 2D MUSIC algorithm for a UPA and estimate azimuth and elevation of multiple sources.
Approach
Extend MUSIC to scan over using UPA steering vectors.
ex-sp-ch24-12
HardSimulate null-steering beamforming: maintain unit gain at a desired direction while placing nulls at specified interferer directions.
Approach
Solve where contains steering vectors and specifies gain/null constraints.
ex-sp-ch24-13
HardImplement wideband beamforming using a tapped delay-line beamformer for a frequency-selective scenario.
Approach
Apply frequency-dependent weights to compensate for the frequency-dependent steering.
ex-sp-ch24-14
ChallengeImplement the alternating minimization algorithm for hybrid precoder design that minimizes .
Approach
Alternate between optimizing and .
ex-sp-ch24-15
ChallengeBuild a complete 5G NR beam management simulation: beam sweeping, beam measurement, beam selection, and beam tracking with mobility.
Approach
Implement SSB beam sweeping, CSI-RS measurement, and beam failure recovery.