The beamforming module of HermesPy provides routines for spatial precoding of MIMO antenna streams.

classDiagram BeamFocus <|-- CoordinateFocus BeamFocus <|-- DeviceFocus BeamFocus <|-- SphericalFocus BeamformerBase <|-- ReceiveBeamformer BeamformerBase <|-- TransmitBeamformer ReceiveBeamformer <|-- CaponBeamformer ReceiveBeamformer <|-- ConventionalBeamformer ReceiveStreamDecoder <|-- ReceiveBeamformer Serializable <|-- BeamFocus Serializable <|-- BeamformingReceiver Serializable <|-- CaponBeamformer Serializable <|-- ConventionalBeamformer SignalReceiver <|-- BeamformingReceiver SignalTransmitter <|-- BeamformingTransmitter TransmitBeamformer <|-- ConventionalBeamformer TransmitStreamEncoder <|-- TransmitBeamformer

Beamforming during transmission allows to steer the power of a signal emitted by an antenna array towards a desired direction, within the package this direction is referred to as focus point. During signal reception inverse beamforming can be used as well in order to focus the received signal power towards a focus point. By focusing towards a dictionary of angles of interest during signal reception, sensing algorithms ma create a spatial image of an array’s environment. Within this package, this process is referred to as probing.