pySimBlocks.blocks.sources.sinusoidal

class pySimBlocks.blocks.sources.sinusoidal.Sinusoidal(name: str, amplitude: ArrayLike, frequency: ArrayLike, offset: ArrayLike = 0.0, phase: ArrayLike = 0.0, sample_time: float | None = None)[source]

Bases: BlockSource

Multi-dimensional sinusoidal signal source block.

Generates sinusoidal signals element-wise on a 2D output array:

y(t) = amplitude * sin(2*pi*frequency*t + phase) + offset

Parameters may be scalars, vectors, or matrices. Only scalar-to-shape broadcasting is allowed; all non-scalar parameters must share the same shape.

amplitude

Sinusoidal amplitude, as a 2D array.

frequency

Frequency in Hz, as a 2D array.

offset

DC offset added to the signal, as a 2D array.

phase

Phase shift in radians, as a 2D array.

initialize(t0: float) None[source]

Compute and set the output at the initial time t0.

Parameters:

t0 – Initial simulation time in seconds.

output_update(t: float, dt: float) None[source]

Compute and write the sinusoidal value to the output port.

Parameters:
  • t – Current simulation time in seconds.

  • dt – Current time step in seconds.