Frequency Sources

Inheritance diagram of hermespy.simulation.rf.blocks.source.Source

Radio-Frequency (RF) sources generate signals at specific frequencies and power levels for use in communication, radar, and measurement systems. They are characterized by parameters such as frequency stability, phase noise and output power.

This module provides various numerical models of RF sources.

class Source(carrier_frequency=0.0, phase_noise=None, amplitude=1.0, noise_model=None, noise_level=None, seed=None)[source]

Bases: RFBlock

Model of an imperferct frequency source.

Parameters:
  • carrier_frequency (float) – Center frequency of the generated signal in Hz. If zero, the device’s target carrier frequency will be generated.

  • phase_noise (PhaseNoise | None) – Phase noise model to apply to the source.

  • noise_model (NoiseModel | None) – Thermal noise model to apply to the source. If not specified, i.e. None, additive white Gaussian noise will be assumed.

  • noise_level (NoiseLevel | None) – Noise level of the source. If not specified, i.e. None, thermal noise at 300 Kelvin will be 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:

SourceRealization

Returns:

Current state of the radio-frequency block.

property amplitude: float[source]

Amplitude of the generated signal.

Raises:

ValueError – If the amplitude is negative.

property carrier_frequency: float[source]

Center frequency of the generated signal in Hz.

If zero, the device’s target carrier frequency will be generated.

Raises:

ValueError – If the carrier frequency is negative.

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 o: RFBlockPort[source]

Output port of the source.

property phase_noise: PhaseNoise[source]

Phase noise model applied to the source.

class SourceRealization(carrier_frequency, phase_noise, amplitude, bandwidth, oversampling_factor, thermal_noise)[source]

Bases: RFBlockRealization

Realization of a source block.

Parameters:
  • carrier_frequency (float) – Center frequency of the generated signal in Hz.

  • amplitude (float) – Amplitude of the generated signal.

  • phase_noise (PhaseNoiseRealization) – Phase noise realization applied to the source.

  • bandwidth (float) – Bandwidth of the block in Hz.

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

  • thermal_noise (NoiseRealization) – Thermal noise realization applied to the source.

property amplitude: float[source]

Amplitude of the generated signal.

property carrier_frequency: float[source]

Center frequency of the generated signal in Hz.

If zero, the device’s target carrier frequency will be generated.

Raises:

ValueError – If the carrier frequency is negative.

property phase_noise: PhaseNoiseRealization[source]

Phase noise realization applied to the source.