Ramp Generators

Inheritance diagram of hermespy.simulation.rf.blocks.ramp.RampGenerator

Ramp generators are generating a constant amplitude sinusoidal signal with linearly increase or decreasing frequency over time. They are commonly used in radar systems for range and velocity estimation, as well as in communication systems for channel sounding and testing.

class RampGenerator(num_chirps, chirp_bandwidth, chirp_slope, chirp_interval, noise_model=None, noise_level=None, seed=None)[source]

Bases: RFBlock

FMCW ramp generator block model.

Parameters:
  • num_chirps (int) – Number of dedicated FMCW chirps per generated frame.

  • chirp_bandwidth (float) – Frequency range each chirp covers in Hz.

  • chirp_slope (float) – Slope of the FMCW chirp in Hz/s.

  • chirp_interval (float) – Interval between the start of two consecutive chirps in seconds.

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

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:

RampGenerator

Returns:

The deserialized object.

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.

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 chirp_bandwidth: float[source]

Frequency range each FMCW chirp covers in Hz.

Raises:

ValueError – If the chirp bandwidth is not positive.

property chirp_interval: float[source]

Interval between the start of two consecutive chirps in seconds.

Raises:

ValueError – If the chirp interval is not greater than zero.

property chirp_slope: float[source]

Slope of the FMCW chirp in Hz/s.

property num_chirps: int[source]

Number of dedicated FMCW chirps per generated frame.

Raises:

ValueError – If the number of chirps 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[RampGenerator][source]

Output port of the ramp generator.