Volterra explorer

A second-order Volterra model describes a system by its memory: a linear kernel h₁ that weighs the recent past, and a quadratic kernel h₂ that weighs products of past inputs. Move the sliders and watch where the extra harmonics come from.

y(t) = h₀ + Στ h₁(τ) x(t−τ) + Στ₁,τ₂ h₂(τ₁,τ₂) x(t−τ₁) x(t−τ₂)

Input

Linear kernel h₁

Quadratic kernel h₂

Drives the model with Gaussian white noise and estimates h₁ and h₂ by cross-correlation (Lee–Schetzen), without looking at the true kernels.

Response

input linear part quadratic part output

Output spectrum

linear part quadratic part. The quadratic kernel creates energy at 0, 2f and at sums and differences of input tones.

h₁(τ)

true recovered

h₂(τ₁, τ₂)

Left: true kernel. Press “Recover kernels” to see the estimate beside it.