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)
- Parallel
Adapter - Parallel adapter — connects WDF elements in parallel
- Resistor
- Resistor WDF element
- Series
Adapter - Series adapter — connects WDF elements in series
- Wave
Variables - Wave variables: a (incident), b (reflected)
Enums§
- Port
Type - Wave port type for WDF adapters
Traits§
- Transcendental
- Трансцендентные операции (sin, cos, sqrt, exp, ln).
- WdfElement
- Base WDF element trait