Beamforming is a technique used to improve the signal-to-noise ratio of received signals, eliminate undesirable interference sources, and focus transmitted signals to specific locations. Beamforming is central to systems with sensor arrays, including MIMO wireless communications systems such as 5G, LTE, and WLAN. MIMO beamforming in wireless applications can also be used to increase data stream capacity between a base station and user elements. Optimization-based beamforming techniques are becoming more popular in modern wireless communication systems. This includes hybrid beamforming, where optimization techniques are used to efficiently partition system architectures between baseband and RF systems to reduce the cost.
Beamforming is also widely used in radar, sonar, medical imaging, and audio applications. Beamformers can be used to focus transmitted signals from a sensor array in a specific direction. For received signals at a sensor array, beamformers enhance detection by coherently summing signals across elements of arrays. Conventional beamformers have fixed weights while adaptive beamformers have weights that respond to the environment. For narrowband signals, beamforming can often be achieved by multiplying the sensor input with a complex exponential with the appropriate phase shift. In the case of wideband signals, the steering is no longer a function of a single frequency and the operation may need to be carried out in multiple frequency bands.
Developing a beamformer and evaluating algorithm alternatives is only the first step toward achieving the required performance of a wireless communications or radar system. To assess performance, the beamformer must be integrated into a system-level model and evaluated over a collection of parameter, steering, and channel combinations. Another challenge involves system-level tradeoffs between performing beamforming in the radio frequency (RF) and/or digital baseband domain. All of these activities are best done early in the design process.
Beamforming with MATLAB and Simulink
MATLAB® and Simulink® provide a full set of modeling and simulation tools and algorithms needed to design, test, and integrate beamformers, and to perform full system-level analysis. Once you design the beamformer, you can deploy it to C code or HDL in your end system using MATLAB Coder™, Simulink Coder™, and HDL Coder™.