Lemonergy · Studio block

Discrete lead-lag filter

Applies a discrete lead-lag response derived from configured continuous time constants.

Implementation ID
native-discrete-lead-lag
Reviewed
2026-10-27

Behavior

H(s) = gain × (lead_time s + 1)/(lag_time s + 1). s is replaced by (2/T) × (1−z⁻¹)/(1+z⁻¹). The worked example connects this operation to signals in Lemonergy Studio.

Interface

Discrete lead-lag filter interfaceInputs or arguments on the left, observed outputs on the right. Conserving terminals appear below the component. The tables give units and behavior.Discrete lead-lag filterStudio blockin0out0
Original Lemonergy interface view. Lines identify ports; they are not a completed simulation circuit.
Ports and observed outputs
NameDirectionUnitMeaning
in0input1Input; real scalar.
out0output1Output; real scalar.

Parameters

Defaults are initial model values. Select values for your own model and operating conditions.

Configuration fields
ParameterUnitDefaultMeaning and limits
Sample period
sampleTimeS
s0.1Exact sample grid period. Elapsed-time integration begins after initialization.
Minimum 1e-06
Lead time
params[0]
s0.1Configured finite numerical parameter.
Lag time
params[1]
s0.2Configured finite numerical parameter.
Gain
params[2]
11Bilinear transform of gain × (lead·s + 1)/(lag·s + 1).

Equations and rules

  • H(s) = gain × (lead_time s + 1)/(lag_time s + 1)
  • s is replaced by (2/T) × (1−z⁻¹)/(1+z⁻¹)

Worked example

Discrete lead-lag filter — worked example

Input = 5. Output at 0 s = 3.

Open Studio example after release →
Numerical checks for the bundled synthetic example
OutputTime (s)Expected valueUnitAbsolute tolerance
Output
out0
0311e-08

Explore the recorded outputs

Discrete lead-lag filter recorded example

Discrete lead-lag filter
Discrete lead-lag filter against timeRecorded synthetic simulation values. Time in seconds; output in —.2.84096703.417460.253.9939530.54.5704460.755.1469391—Time (s)
Discrete lead-lag filter: 3 — at 0 s

11 actual recorded samples. Lines are visual guides between samples. Synthetic example, not measured cell data.

Download the recorded samples (JSON) · Open this Studio example after release

Use in a workflow

Discrete lead-lag filter — worked example

Applies a discrete lead-lag response derived from configured continuous time constants.

  1. Discrete lead-lag filter: H(s) = gain × (lead_time s + 1)/(lag_time s + 1). s is replaced by (2/T) × (1−z⁻¹)/(1+z⁻¹). 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.
Open Studio example after release

Connected concepts

Limits and interpretation

  • Bilinear-transform realization with nonnegative lead time, positive lag time and explicit sample time.
  • Shapes and element types are explicit. Values must be finite; automatic reshaping and unit conversion are not performed.

Scientific and mathematical references

These sources explain the scientific and mathematical background. The behavior, interface and limits above define the Lemonergy implementation; a citation does not imply every model option in the source is implemented.

  1. Introduction to Digital Filters with Audio Applications — Difference Equation

    Julius O. Smith III · Author text, Stanford CCRMA; online edition hosted by DSPRelated · 2007

    Technical reference · Causal FIR/IIR difference equations and coefficient/history conventions.

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)