Lemonergy · Studio block
Sampled variable pulse generator
Generates sampled pulses from connected period and duty inputs while preserving carrier phase.
- Implementation ID
native-variable-pulse- Reviewed
- 2026-10-27
Behavior
phase[k] = fractional_cycles(phase[k−1] + elapsed_time/period[k]). pulse[k] = (phase[k] < duty[k]). The worked example connects this operation to signals in Lemonergy Studio.
Interface
| Name | Direction | Unit | Meaning |
|---|---|---|---|
in0 | input | 1 | Period; real scalar. |
in1 | input | 1 | Duty ratio; real scalar. |
out0 | output | 1 | Pulse; bool scalar. |
Parameters
Defaults are initial model values. Select values for your own model and operating conditions.
| Parameter | Unit | Default | Meaning and limits |
|---|---|---|---|
Sample periodsampleTimeS | s | 0.05 | Exact sample grid period. Elapsed-time integration begins after initialization. Minimum 1e-06 |
Initial phaseparams[0] | cycles | 0 | Elapsed-time phase accumulation preserves phase when period changes. |
Equations and rules
phase[k] = fractional_cycles(phase[k−1] + elapsed_time/period[k])pulse[k] = (phase[k] < duty[k])
Worked example
Sampled variable pulse generator — worked example
Period = 0.5; Duty ratio = 0.25. Pulse at 0 s = 1.
Open Studio example after release →| Output | Time (s) | Expected value | Unit | Absolute tolerance |
|---|---|---|---|---|
Pulseout0 | 0 | 1 | 1 | 1e-08 |
Explore the recorded outputs
Sampled variable pulse generator recorded example
Sampled variable pulse generator21 actual recorded samples. Lines are visual guides between samples. Synthetic example, not measured cell data.
Read the selected signal as a table
| Time (s) | Value |
|---|
Download the recorded samples (JSON) · Open this Studio example after release
Use in a workflow
Sampled variable pulse generator — worked example
Generates sampled pulses from connected period and duty inputs while preserving carrier phase.
- Sampled variable pulse generator: phase[k] = fractional_cycles(phase[k−1] + elapsed_time/period[k]). pulse[k] = (phase[k] < duty[k]). The worked example connects this operation to signals in Lemonergy Studio.
- Use the block reference for settings and connections.
- Implementation tested locally; public release pending.
Connected concepts
Limits and interpretation
- Connected period and duty drive sampled elapsed-time phase accumulation without resetting phase. Continuous carrier crossings between samples are not localized.
- Shapes and element types are explicit. Values must be finite; automatic reshaping and unit conversion are not performed.
Reference basis
This software operation and its numerical conventions are defined by the public contract and worked example; no external research result is claimed.
Implementation sources
This reference follows the public interface and locally verified numerical checks for an upcoming release.
Contract: Lemonergy Studio public contract · Verification record: verification-2026-10-27
docs/glossary/native-block-verification.json
This implementation and its workflow uses (JSON) · Knowledge graph (JSON-LD)