Phase Shifters

Inheritance diagram of hermespy.simulation.rf.blocks.shift.Shift

Phase shifters are components introducing a phase shift to the input signal, which is commonly used in beamforming, phased array antennas, and modulation schemes.

class Shift(phase=0.0, num_quantization_bits=0, num_ports=1, noise_model=None, noise_level=None, seed=None)[source]

Bases: RFBlock

A radio-frequency block that applies a phase shift to the input signal.

Parameters:
  • noise_model (NoiseModel | None) – Assumed noise model of the block. If not specified, i.e. None, additive white Gaussian noise will be assumed.

  • noise_level (NoiseLevel | None) – Assumed noise level of the block. If not specified, i.e. None, no noise is assumed.

  • seed (int | None) – Seed with which to initialize the block’s random state.

realize(bandwidth, oversampling_factor, carrier_frequency)[source]

Return the current state of the radio-frequency block.

Parameters:
  • bandwidth (float) – Bandwith of the proecessed signals in Hz.

  • oversampling_factor (int) – Oversampling factor of the modeling.

  • carrier_frequency (float) – Target carrier frequency of the modeled radio front-end in Hz.

Return type:

RFBlockRealization

Returns:

Current state of the radio-frequency block.

property i: RFBlockPort[Shift][source]

Input ports of the phase shifter.

Number of ports is equal to the number of input ports specified during initialization.

property num_input_ports: int[source]

Number of physical ports feeding into this radio-frequency block.

If the returned number is negative, the block can accept an arbitrary number of input ports.

property num_output_ports: int[source]

Number of physical ports emerging from this radio-frequency block.

property num_quantization_bits: int[source]

Number of quantization bits encoding the available discrete phase shift levels.

Zero indicates that no quantization is applied, and the phase shift is continuous.

property o: RFBlockPort[Shift][source]

Output ports of the phase shifter.

Number of ports is equal to the number of input ports specified during initialization.

property phase: float[source]

Phase shift applied by the block.