Skip to main content

Crate rill_core_wdf

Crate rill_core_wdf 

Source
Expand description

Wave Digital Filter (WDF) core — elements, adapters, and analysis for analog circuit modeling.

All types are generic over rill_core::Transcendental, supporting both f32 and f64. The SIMD module (behind the simd feature) uses the rill_core_dsp vector infrastructure.

§Design

WDF elements are built around the WdfElement trait, which defines a port resistance, wave processing, and state update cycle. Elements can be combined via SeriesAdapter and ParallelAdapter to form arbitrary linear circuits. Nonlinear elements like Diode use Newton-Raphson iteration for implicit solution.

References:

  • A. Fettweis, “Wave Digital Filters: Theory and Practice” (1986)
  • K. J. Werner et al., “An Improved and Generalized Diode Clipper Model for Wave Digital Filters” (2015)

Modules§

analysis
Frequency response and distortion analysis
constants
Physical constants and tolerances Physical constants and numerical tolerances used throughout the crate.
filters
WDF-based filter models WDF-based filters.
macros
WDF eDSL macros for defining elements and filters

Macros§

wdf_cascade
wdf_compose
Compose two WDF elements into Series or Parallel.
wdf_element

Structs§

Capacitor
Capacitor WDF element (trapezoidal integration)
Diode
Diode WDF element (nonlinear, Newton-Raphson solution)
Inductor
Inductor WDF element (trapezoidal integration)
ParallelAdapter
Parallel adapter — connects WDF elements in parallel
Resistor
Resistor WDF element
SeriesAdapter
Series adapter — connects WDF elements in series
WaveVariables
Wave variables: a (incident), b (reflected)

Enums§

PortType
Wave port type for WDF adapters

Traits§

Transcendental
Трансцендентные операции (sin, cos, sqrt, exp, ln).
WdfElement
Base WDF element trait