Lemonergy · Studio block

Discrete first-order filter

Smooths a signal with a stable first-order discrete filter.

Implementation ID
native-discrete-first-order
Reviewed
2026-10-27

Behavior

y[k] = (1 − a) u[k] + a y[k−1]. The worked example connects this operation to signals in Lemonergy Studio.

Interface

Discrete first-order 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 first-order 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
Discrete pole
params[0]
10.5y[k] = (1 − a) u[k] + a y[k−1], |a| < 1.

Equations and rules

  • y[k] = (1 − a) u[k] + a y[k−1]

Worked example

Discrete first-order filter — worked example

Input = 2. Output at 0 s = 1.

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

Explore the recorded outputs

Discrete first-order filter recorded example

Discrete first-order filter
Discrete first-order filter against timeRecorded synthetic simulation values. Time in seconds; output in —.0.920078101.2097950.251.4995120.51.7892290.752.0789451—Time (s)
Discrete first-order filter: 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 first-order filter — worked example

Smooths a signal with a stable first-order discrete filter.

  1. Discrete first-order filter: y[k] = (1 − a) u[k] + a y[k−1]. 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

  • Stable scalar pole parameter |a|<1; y[k]=(1-a)u[k]+a*y[k-1].
  • 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)