Sidelobe Level

Inheritance diagram of hermespy.simulation.evaluators.beamforming.SidelobeEvaluator, hermespy.simulation.evaluators.beamforming.SidelobeEvaluation

The sidelove evaluator measures the directivity of a given signal pattern by comparing the power of the assumed main lobe towards a desired direction with the overall emitted power sampled at a set of candidate directions. The directivity

\[P_{\mathrm{Dir}} = \frac{P_{\mathrm{Main}}}{P_{\mathrm{Total}}}\]

approaches \(1\) when the main lobe is very narrow and the sidelobes are very low and zero when the main lobe is very wide and the sidelobes are very high.

 1# Configure a static conventional beamformer for the transmitting device
 2# with a beam focus at the receiving device.
 3desired_focus = DeviceFocus(rx_device)
 4tx_device.transmit_coding[0] = ConventionalBeamformer()
 5tx_device.transmit_coding[0].transmit_focus = [desired_focus]
 6
 7# Configure a communication down-link with a transmitting modem at the 
 8# transmitting device and a receiving modem at the receiving device.
 9link = SimplexLink(waveform=RootRaisedCosineWaveform())
10link.connect(tx_device, rx_device)
11
12# Evaluate the beamforming main lobe level at the transmitting device
13simulation.add_evaluator(SidelobeEvaluator(
14    tx_device, AntennaMode.TX, desired_focus
15))
class SidelobeEvaluator(device, mode, desired_focus, codebook=None, plot_surface=True)[source]

Bases: Evaluator, Serializable

Evaluate a simulated device’s sidelobe power.

Parameters:
  • device (SimulatedDevice) – The device to evaluate.

  • mode (AntennaMode) – The duplex mode to evaluate. If TX then only the device’s tranmsit beamformer is evaluated, if RX then only the device’s receive beamformer is evaluated.

  • desired_focus (BeamFocus) – The desired beamforming direction to evaluate against the codebook.

  • codebook (ndarray | None) – Beamforming directions to evaluate against the desired beamforming direction. If None, the codebook is generated by sampling the device’s positive z half-space with a resolution of twice the number of antennas.

classmethod Deserialize(process)[source]

Deserialize an object’s state.

Objects cannot be deserialized directly, instead a Factory must be instructed to carry out the deserialization process.

Parameters:

process (DeserializationProcess) – The current stage of the deserialization process. This object is generated by the Factory and provides an interface to deserialization methods supporting multiple backends.

Return type:

SidelobeEvaluator

Returns:

The deserialized object.

evaluate()[source]

Evaluate the state of an investigated object.

Implements the process of extracting an arbitrary performance indicator, represented by the returned Artifact \(X_m\).

Returns: Artifact \(X_m\) resulting from the evaluation.

Return type:

SidelobeEvaluation

initialize_result(grid)[source]

Initialize the respective result object for this evaluator.

Parameters:

grid (Sequence[GridDimensionInfo]) – The parameter grid over which the simulation iterates.

Return type:

ScalarEvaluationResult

Returns: The initialized evaluation result.

serialize(process)[source]

Serialize this object’s state.

Objects cannot be serialized directly, instead a Factory must be instructed to carry out the serialization process.

Parameters:

process (SerializationProcess) – The current stage of the serialization process. This object is generated by the Factory and provides an interface to serialization methods supporting multiple backends.

Return type:

None

property abbreviation: str[source]

Short string representation of this evaluator.

Used as a label for console output and plot axes annotations.

property desired_focus: BeamFocus[source]

The desired beamforming direction.

property mode: AntennaMode[source]

The duplex mode to evaluate.

property title: str[source]

Long string representation of this evaluator.

Used as plot title.

class SidelobeEvaluation(powers, focus_power)[source]

Bases: Evaluation[PlotVisualization]

Evaluation of the side lobe power.

Parameters:
  • powers (ndarray) – The directional powers of the codebook.

  • focus_power (float) – Power of the desired beamforming direction.

artifact()[source]

Generate an artifact from this evaluation.

Returns: The evaluation artifact.

Return type:

ArtifactTemplate[float]