Lemonergy · Studio block

Discrete transfer function

Applies a causal discrete transfer function with separate input and output histories.

Implementation ID
native-discrete-filter
Reviewed
2026-10-27

Behavior

a₀ y[k] = Σᵢ bᵢ u[k−i] − Σⱼ₌₁ aⱼ y[k−j]. The worked example connects this operation to signals in Lemonergy Studio.

Interface

Discrete transfer function interfaceInputs or arguments on the left, observed outputs on the right. Conserving terminals appear below the component. The tables give units and behavior.Discrete transfer functionStudio blockin0out0
Original Lemonergy interface view. Lines identify ports; they are not a completed simulation circuit.
Ports and observed outputs
NameDirectionUnitMeaning
in0input1Value; real scalar.
out0output1Filtered; 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
Numerator coefficients
tables[0]
1[0.5, 0.5]b₀, b₁, … in powers of z⁻¹.
Denominator coefficients
tables[1]
1[1]a₀, a₁, …; a₀ must be nonzero. Initial histories are zero.

Equations and rules

  • a₀ y[k] = Σᵢ bᵢ u[k−i] − Σⱼ₌₁ aⱼ y[k−j]

Worked example

Discrete transfer function — worked example

Value = 2. Filtered at 0 s = 1.

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

Explore the recorded outputs

Discrete transfer function recorded example

Discrete transfer function
Discrete transfer function against timeRecorded synthetic simulation values. Time in seconds; output in —.0.9201.210.251.50.51.790.752.081—Time (s)
Discrete transfer function: 1 — 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 transfer function — worked example

Applies a causal discrete transfer function with separate input and output histories.

  1. Discrete transfer function: a₀ y[k] = Σᵢ bᵢ u[k−i] − Σⱼ₌₁ aⱼ y[k−j]. 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

  • 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)