PulseGenerator Block
Generates square wave pulses with configurable amplitude, period, and duty cycle
Open PulseGenerator in BlockWerk →# Pulse Generator Block
Description
The Pulse Generator block creates square wave pulse signals with configurable parameters. It generates periodic pulses that alternate between high and low values, making it useful for creating timing signals, reference waveforms, and test inputs for digital systems.
The block produces a square wave output that spends a portion of each period at the high amplitude level (determined by the duty cycle) and the remainder at zero. The phase delay allows for shifting the pulse timing relative to the simulation start.
Mathematical Model
The Pulse Generator block implements:
y(t) = amplitude if (t + phaseDelay) mod period < dutyCycle/100 × period
y(t) = 0 otherwise
Where:
tis simulation timeamplitudeis pulse heightperiodis time between pulse startsdutyCycleis percentage of time signal is highphaseDelayis time offset
Parameters
amplitude
The height of the pulse when in the 'high' state.
period
The time (in seconds) between the start of successive pulses.
dutyCycle
The percentage of the period during which the pulse is high.
phaseDelay
The time delay (in seconds) applied to the pulse sequence.
Examples
1Hz Square Wave
Basic 50% duty cycle signal:
PulseGenerator (period: 1, dutyCycle: 50) → NumericDisplay
Short Pulse Trigger
Generate a 0.1s pulse every 2 seconds:
PulseGenerator (period: 2, dutyCycle: 5) → LogicSystem
Remarks
- Timing Alignment: Use
phaseDelayto align pulses with other time-based signals. - Discrete Events: Ideal for representing clock signals or periodic activations.
- Simulation Step: For very short pulses, ensure the simulation step size is small enough to capture the pulse high-time.
See Also
- SignalGenerator: For bipolar square waves and other periodic signals
- Step: For a single transition event
- Constant: For steady signal sources