You are on page 1of 150

recent progress in

WAVE DIGITAL AUDIO EFFECTS 2R3


R2 +R3
e(t) z 1

2R1 R2 R3 R2 R3 R4 2C T
R+R1 R2 +R3 R2 +R3 T
R4 + 2C 1

R R1 2R2 R4 2C T
R+R1 R2 +R3 z 1 T
R4 + 2C

Julius O. Smith III & Kurt James Werner


Center for Computer Research in Music and Acoustics (CCRMA)


@ Stanford University, California, USA
[jos,kwerner]@ccrma.stanford.edu
!
keynote talk, international conf. on digital audio effects (DAFx-15)
Trondheim, Norway, 2 December 2015
THANKS

• DAFx organizing committee

• @ CCRMA
• Vaibhav Nangia & Jonathan Abel
• Ross Dunkel & Max Rest & Michael Olsen
• François Germain

• @ Politecnico di Milano
• Alberto Bernardini & Augusto Sarti
Musicians like vintage stuff.
Musicians like vintage stuff.
TWO APPROACHES TO MODELING VINTAGE GEAR

Nonlinear System Identification


(“black box”)

• No knowledge of circuit
required
• Run test signals to
characterize model
• Non-parametric model
TWO APPROACHES TO MODELING VINTAGE GEAR

Nonlinear System Identification Physical Modeling


(“black box”) (“white box”)

• No knowledge of circuit • Knowledge of circuit


required required
• Run test signals to • No need to characterize
characterize model system
• Non-parametric model • Parametric model
TWO APPROACHES TO MODELING VINTAGE GEAR

Nonlinear System Identification Physical Modeling


(“black box”) (“white box”)

• No knowledge of circuit • Knowledge of circuit


required required
• Run test signals to • No need to characterize
characterize model system
• Non-parametric model • Parametric model
INTRODUCTION

1. tutorial review of WDF principles


2. recent theoretical progress in WDFs
3. WDF software overview and demo
INTRODUCTION

Everything You Always Wanted to Know About WDFs*

1. tutorial
(*But Were Afraidreview
to Ask) of WDF principles

2. recent theoretical progress in WDFs


3. WDF software overview and demo
INTRODUCTION

Everything You Always Wanted to Know About WDFs*

1. tutorial
(*But Were Afraidreview
to Ask) of WDF principles

2. research by DAFx
recent folks

theoretical progress in WDFs


(and new research intro by Kurt et al. @ CCRMA)
3. WDF software overview and demo
INTRODUCTION

Everything You Always Wanted to Know About WDFs*

1. (*But Were Afraid to Ask)

2. research by DAFx
recent folks

theoretical progress in WDFs


(and new research intro by Kurt et al. @ CCRMA)
3. “Please, no more math!!!”

“Just show us how to code it up…”


WAVE DIGITAL FILTER HISTORY

!
• 1970–1986 : early research (Alfred Fettweis et al.)
!
• 1989–present : nonlinear theory
!
• 1996–present : virtual analog / physical modeling applications
WAVE DIGITAL FILTER BASICS
WDF approach involves:
!
• introduction of free parameter (port resistance) at each port:


Rn > 0 , for each port n
• introduction of wave variables:
 a n = v n + Rn i n

bn = v n Rn i n

• discretization of reactive elements (capacitors, inductors)



using the Bilinear transformation:
 1 z 1
s c 1
, c = 2/T (typically)
1+z
• scattering at impedance mismatches
• resolve delay-free loops by tuning port impedances
WAVE DIGITAL FILTER BASICS
closely related to Digital Waveguides (DWG), where:
!
• wave propagation characterized by physical transmission
impedance

Rn > 0 , for each port n
• introduction of wave variables:
 +
vn = (1/2)vn + (Rn /2)in

vn = (1/2)vn (Rn /2)in
• discretization of lumped impedances (bridge, nut, etc.)

using the Bilinear transformation:
 1 z 1
s c 1
, c = 2/T (typically)
1+z
• scattering at impedance mismatches
• propagation delay decouples elements
WAVE DIGITAL FILTER BASICS
difference between WDFs and DWGs???

• abstract vs. physical meaning of port impedances


• slight different in variable definition and notation


• WDFs have an extra layer of realizability issues—they can be


considered DWGs with length-zero transmission lines


• basic DWG formulation is distributed—waves are observed


• basic WDF formulation is lumped…why wave variables then?
LUMPED SYSTEMS

“A lumped system is one in which the dependent


variables of interest are a function of time alone. In
general, this will mean solving a set of ordinary
differential equations (ODEs).”
!

…as opposed to those where dependent variables are


also a function of space (PDEs)…

Stefan Bilbao and Julius O. Smith III, “MUS420/EE367A Lecture 7D: Discrete-Time Lumped
Models,” URL: https://ccrma.stanford.edu/~jos/NumericalInt/NumericalInt.html
LUMPED SYSTEMS

“A lumped system is one in which the dependent


variables of interest are a function of time alone. In
general, this will mean solving a set of ordinary
differential equations (ODEs).”
!

…as opposed to distributed systems where dependent


variables are also a function of space (PDEs)…

Stefan Bilbao and Julius O. Smith III, “MUS420/EE367A Lecture 7D: Discrete-Time Lumped
Models,” URL: https://ccrma.stanford.edu/~jos/NumericalInt/NumericalInt.html
LUMPED ELEMENTS (electrical)

+++
+++

Harry F. Olson, Dynamical Analogies, New York: D. Van Nostrand Company, Inc., 1943, p. 20
LUMPED ELEMENTS (acoustical)

+++
+++

Harry F. Olson, Dynamical Analogies, New York: D. Van Nostrand Company, Inc., 1943, p. 20
LUMPED ELEMENTS (mechanical rectilinear)

+++

Harry F. Olson, Dynamical Analogies, New York: D. Van Nostrand Company, Inc., 1943, p. 20
LUMPED ELEMENTS (mechanical rotational)

Harry F. Olson, Dynamical Analogies, New York: D. Van Nostrand Company, Inc., 1943, p. 20
LUMPED ELEMENTS (equivalence across domains)

Harry F. Olson, Dynamical Analogies, New York: D. Van Nostrand Company, Inc., 1943, p. 20
LUMPED ELEMENTS (equivalence across domains)

Harry F. Olson, Dynamical Analogies, New York: D. Van Nostrand Company, Inc., 1943, p. 20
LUMPED ELEMENTS (equivalence across domains)

Harry F. Olson, Dynamical Analogies, New York: D. Van Nostrand Company, Inc., 1943, p. 20
A LUMPED SYSTEM (mechanical rotational)

I(s) CE s
=
E(s) LCE s2 + CE rE s + 1
Ẋ(s) CA s
=
P (s) M C A s 2 + C A rA s + 1

Ẋ(s) CM s
=
FM (s) mCM s2 + CM rM s + 1
˙ (s) CR s
=
FR (s) ICM s2 + CR rR s + 1

Harry F. Olson, Dynamical Analogies, New York: D. Van Nostrand Company, Inc., 1943, p. 26
NETWORK THEORY (port definition)

Ports have:
!
!
• a voltage v across the terminals
• a current i heading into the + terminal and out of the – terminal
• a port resistance Rp that characterizes the port
NETWORK THEORY (port definition)

Ports have:
!
• two terminals, + and – +
• a voltage v across the terminals


a current i heading into the + terminal and out of the – terminal
a port resistance Rp that characterizes the port –
NETWORK THEORY (port definition)

Ports have:
!
• two terminals, + and – +
• a voltage v across the terminals v


a current i heading into the + terminal and out of the – terminal
a port resistance Rp that characterizes the port –
NETWORK THEORY (port definition)

Ports have:
!
• two terminals, + and – +i
• a voltage v across the terminals v


a current i heading into the + terminal and out of the – terminal
a port resistance Rp that characterizes the port – i
NETWORK THEORY (port definition)

Ports have:
!
• two terminals, + and – +i
• a voltage v across the terminals v Rp


a current i heading into the + terminal and out of the – terminal
a port resistance Rp that characterizes the port (wave domain) – i
NETWORK THEORY (port definition)

Ports have:
!
• two terminals, + and – +i
• a voltage v across the terminals v Rp


a current i heading into the + terminal and out of the – terminal
a port resistance Rp that characterizes the port (wave domain) – i
linear One-Ports include:
!
resistor capacitor inductor voltage source

Matti Karjalainen, “Efficient realization of wave digital components for physical modeling and sound
synthesis,” IEEE Transactions on Audio, Speech, and language Processing, July 2008.
NETWORK THEORY (n-ports)

• connected ports have equal port resistance


!
• 2-ports (e.g. transformers, parallel/series connections)
• 3-ports (e.g. parallel/series connections)
• 4+ ports, etc.
!
• mismatches of port resistance and topological aspects
handled by “adaptors”, where “scattering” of wave
variables occurs
DISCRETIZATION
replace all continuous-time derivatives s on Laplace
plane with discrete-time approximations (in delays z-1)

forward s
1 z 1

Euler Tz 1

backward s
1 z 1

Euler T

1
bilinear s c
1 z
, c = 2/T (typically)
transform 1+z 1

François Germain and Kurt James Werner, “Design Principles for Lumped Model Discretisation Using Möbius
Transforms,” in proc. Int. Conf. on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov. 30 – Dec. 3, 2015.
DISCRETIZATION
replace all continuous-time derivatives s on Laplace
plane with discrete-time approximations (in delays z-1)

forward s
1 z 1

Euler Tz 1 specific
conformal maps /
backward s
1 z 1
Möbius transform
Euler T

1
bilinear s c
1 z
, c = 2/T (typically)
transform 1+z 1

François Germain and Kurt James Werner, “Design Principles for Lumped Model Discretisation Using Möbius
Transforms,” in proc. Int. Conf. on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov. 30 – Dec. 3, 2015.
DISCRETIZATION
replace all continuous-time derivatives s on Laplace
plane with discrete-time approximations (in delays z-1)

forward s
1 z 1

Euler Tz 1 specific
conformal maps /
backward s
1 z 1
Möbius transform
Euler T

1
bilinear s c
1 z
, c = 2/T (typically)
transform 1+z 1

François Germain and Kurt James Werner, “Design Principles for Lumped Model Discretisation Using Möbius
Transforms,” in proc. Int. Conf. on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov. 30 – Dec. 3, 2015.
DELAY-FREE LOOPS

mutual, instantaneous dependence delay makes things


or “delay-free loop” (implicit) computable (explicit)

z -1

not OK OK
DISCRETIZE RC NETWORK (traditional approach)
R
+
+
e(t) C vout (t)

1
DISCRETIZE RC NETWORK (traditional approach)
R KCL at “+” node Vout (s) E(s) Vout (s)
+ 1 =
sC
R
+
e(t) C vout (t) sRC Vout (s) = E(s) Vout (s)
Vout (s) (sRC + 1) = E(s)
Vout (s) 1
H(s) = =
E(s) sRC + 1

1
DISCRETIZE RC NETWORK (traditional approach)
R KCL at “+” node Vout (s) E(s) Vout (s)
+ 1 =
sC
R
+
e(t) C vout (t) sRC Vout (s) = E(s) Vout (s)
Vout (s) (sRC + 1) = E(s)
s-plane
 Vout (s) 1
transfer H(s) = =
function E(s) sRC + 1

1
DISCRETIZE RC NETWORK (traditional approach)
R KCL at “+” node Vout (s) E(s) Vout (s)
+ 1 =
sC
R
+
e(t) C vout (t) sRC Vout (s) = E(s) Vout (s)
Vout (s) (sRC + 1) = E(s)
s-plane
 Vout (s) 1
transfer H(s) = =
function E(s) sRC + 1

1 z 1 1
bilinear s c , c = 2/T (typically)
transform 1+z 1

Julius O. Smith III, Physical Audio Signal Processing, URL: https://ccrma.stanford.edu/~jos/pasp/


Bilinear_Transformation.html
DISCRETIZE RC NETWORK (traditional approach)
R KCL at “+” node Vout (s) E(s) Vout (s)
+ 1 =
sC
R
+
e(t) C vout (t) sRC Vout (s) = E(s) Vout (s)
Vout (s) (sRC + 1) = E(s)
s-plane
 Vout (s) 1
transfer H(s) = =
function E(s) sRC + 1

1 z 1 1
bilinear s c , c = 2/T (typically)
transform 1+z 1

Vout (z) 1
= 2 1 z 1
E(z) T 1+z 1 RC + 1

1
Vout (z) 1+z
= 2RC 2RC
E(z) T +1+ 1 T z 1

T T
Vout (z) T +2RC + T +2RC z 1
H(z) = = T 2RC
E(z) 1+ T +2RC z 1

Julius O. Smith III, Physical Audio Signal Processing, URL: https://ccrma.stanford.edu/~jos/pasp/


Bilinear_Transformation.html
DISCRETIZE RC NETWORK (traditional approach)
R KCL at “+” node Vout (s) E(s) Vout (s)
+ 1 =
sC
R
+
e(t) C vout (t) sRC Vout (s) = E(s) Vout (s)
Vout (s) (sRC + 1) = E(s)
s-plane
 Vout (s) 1
transfer H(s) = =
function E(s) sRC + 1

1 z 1 1
bilinear s c , c = 2/T (typically)
transform 1+z 1

Vout (z) 1
= 2 1 z 1
E(z) T 1+z 1 RC + 1

1
Vout (z) 1+z
= 2RC 2RC
E(z) T +1+ 1 T z 1

z-plane Vout (z)


T
T +2RC
T
+ T +2RC z 1
transfer H(z) = = T 2RC
E(z) 1+ z 1
function T +2RC

Julius O. Smith III, Physical Audio Signal Processing, URL: https://ccrma.stanford.edu/~jos/pasp/


Bilinear_Transformation.html
DISCRETIZE RC NETWORK (traditional approach)
R KCL at “+” node Vout (s) E(s) Vout (s)
+ 1 =
sC
R
+
e(t) C vout (t) sRC Vout (s) = E(s) Vout (s)
Vout (s) (sRC + 1) = E(s)
s-plane
 Vout (s) 1
transfer H(s) = =
function E(s) sRC + 1

1 z 1 1
bilinear s c , c = 2/T (typically)
transform 1+z 1

Vout (z) 1
=
how can we realize this
2 1 z 1
E(z) T 1+z 1 RC + 1

transfer function in code???


1
Vout (z) 1+z
= 2RC 2RC
E(z) T +1+ 1 T z 1

z-plane Vout (z)


T
T +2RC
T
+ T +2RC z 1
transfer H(z) = = T 2RC
E(z) 1+ z 1
function T +2RC

Julius O. Smith III, Physical Audio Signal Processing, URL: https://ccrma.stanford.edu/~jos/pasp/


Bilinear_Transformation.html
x(n) + + y(n)
b0
direct form I x(n) z–1 + + z–1 y(n)
b1 -a1
direct form I x(n-1) z
–1
z–1
y(n-1)
DISCRETIZE RC NETWORK (traditional
x(n-1)
approach)
b1 -a1
y(n-1)
8 b0
direct form II x(n) + T + y(n)
T T 1 >
< 0b = b0
T +2RC
Vout (z) + z b + b z 1
1x(n) y(n)
H(z) = = T +2RC T 2RC
T +2RC
direct=form
0
II +
with b 1z–1
= T +
1 + a1 z 1 T +2RC
E(z) 1 + T +2RC z 1 -a1
>
: b1
T 2RC
a1 = z T +2RC
–1

-a1 b1

b0 b0
x(n) + + y(n) x(n) + + y(n)
b0 b0
form I x(n) z–1 + + ztransposed
–1
y(n) direct form I x(n) + + y(n)
b1 -a1 z–1
z
–1

form I transposed direct form I -a1 b1


x(n-1)z–1 z–1y(n-1) z–1
z–1
b1 -a1 -a1 b1
x(n-1)
direct form
b0 I y(n-1)
transposed direct form
y(n)
I
b0
x(n) + + y(n) x(n) +
rect form II transposed direct form II b0
b0 x(n) + y(n)
ect form II x(n) + z–1
+ y(n)
transposed direct form II z
–1

-a1 b1
b1 -a1
z–1 z–1
-a1 b1 +
b1 -a1
+
b0
x(n) direct form
+
b0
II + y(n)
two-multiplier ladder formtransposed
x(n) + direct form II
rect form I x(n) +–1 y(n)
+two-multiplier km
z z–1 ladder form x(n) +
rect form I -a1 b1 -km
km
z
–1
z–1 + z–1
-km
z–1 +
+
b1 -a1
+ b0 y(n)
x(n) + + y(n) y(n)
transposed direct form I km
DISCRETIZE RC NETWORK (traditional approach)
r form x(n) +

km
z–1
-a1 b1
z–1 x(n)
km
+– x(n)

+ +

km
km b0 8
three-multiplier ladder form + z–1 + z–1
+ z –1
x(n) + y(n) 1-km 2 > T
b0 = T +2RC
transposed direct form II T
+ T 1 <
T +2RC z
1 v1
v1 v0 Vout (z) b0 v1
+ b1 z v0 v0
H(z) = = T +2RC Tz 2RC
–1 = 1
T
with b1 = T +2RC
E(z) 1 + T +2RC z 1 1 + a1+z >
: T 2RC+
+ b1 -a1 a1 = T +2RC
+
y(n) y(n)
y(n)
km km
x(n) two-multiplier
+– ladder form x(n) + x(n) x(n) +
– –
+ + –+
km
km km km
orm + z–1 + z–1 + z–1 + z–1
1-km 2
v1 v0 v1 v0 v1 v0 v1 v0

+ + + +

y(n) y(n) y(n) y(n)

x(n) three
+
km
+
x(n) two +– x(n) one
+
km
–+
one
– km
multiplier
three-multiplier ladder form
multiplier
+
km

z –1
multiplier multiplier
form v0 v1form v0 form (A)v0 form (B)
+ z –1
1-km 2 + z –1

v1 v1
+
+ +
y(n)
A. H. Gray,y(n)Jr.
and John D. Markel, “Digital Lattice and Ladder
y(n) Filter Synthesis,” IEEE Transactions
on Audio andkmElectroacoustics, Vol.kmAU-21, No. 6, December 1975
DISCRETIZE RC NETWORK (traditional approach)

• need transfer function


• factor into biquads if high order
• have to choose form for desired properties
• issues with time-varying circuits
DISCRETIZE RC NETWORK (traditional approach)

• need transfer function


• factor into biquads if high order
• have to choose form for desired properties
• issues with time-varying circuits

Aaron Wishnick, “Time-Varying Filters for Musical Applications,” in proc. Int. Conf. on Digital Audio
Effects (DAFx-14), Erlangen, Germany, September 1–5, 2014.
DISCRETIZE RC NETWORK (attempt modular)

what if…
!
• modular / topology-preserving?
• reusable?
• skip transfer function representation?


spoiler alert : this won’t work in the Kirchhoff domain…
DISCRETIZE RC NETWORK (attempt modular)

what if…
!
• modular / topology-preserving?
• reusable?
• skip transfer function representation?


spoiler alert : this won’t work in the Kirchhoff domain…
DISCRETIZE RC NETWORK (attempt modular)
R
+
+
e(t) C vout (t)

1
DISCRETIZE RC NETWORK (attempt modular)
R
+
+
e(t) C vout (t)

resistive parallel capacitor


underlying 1 voltage connection
structure source
DISCRETIZE RC NETWORK (attempt modular)
R
+
+
e(t) C vout (t)

parallel capacitor
underlying 1 connection
structure

resistive
voltage
source
DISCRETIZE RC NETWORK (attempt modular)
R
+
+
e(t) C vout (t)

capacitor
underlying 1
structure

resistive parallel
voltage connection
source
DISCRETIZE RC NETWORK (attempt modular)
R
+
+
e(t) C vout (t)

underlying 1
structure

resistive parallel capacitor


voltage connection
source
DISCRETIZE RC NETWORK (attempt modular)
resistive
voltage parallel
source connection capacitor
DISCRETIZE RC NETWORK (attempt modular)
resistive
voltage parallel
source connection capacitor

v1 = e(t) + R · i1
DISCRETIZE RC NETWORK (attempt modular)
resistive
voltage parallel
source connection capacitor

v1 = e(t) + R · i1
DISCRETIZE RC NETWORK (attempt modular)
resistive
voltage parallel
source connection capacitor

v3 = v2
v1 = e(t) + R · i1
i2 = i3
DISCRETIZE RC NETWORK (attempt modular)
resistive
voltage parallel
source connection capacitor

v3 = v2
v1 = e(t) + R · i1
i2 = i3
DISCRETIZE RC NETWORK (attempt modular)
resistive
voltage parallel
source connection capacitor

v3 = v2
v1 = e(t) + R · i1 i4 = sC · v4
i2 = i3
DISCRETIZE RC NETWORK (attempt modular)
resistive
voltage parallel
source connection capacitor

v3 = v2
v1 = e(t) + R · i1 i4 = sC · v4
i2 = i3
DISCRETIZE RC NETWORK (attempt modular)
capacitor
(continuous time)
DISCRETIZE RC NETWORK (attempt modular)
capacitor
(continuous time) 1
V4 (s) = I4 (s)
sC

1
V4 (z) = I4 (z) 2 1 z 1
T 1+z 1 C
1
T 1+z
V4 (z) = I4 (z) 1
2C 1 z

T T
v4 [n] v4 [n 1] = i4 [n] + i4 [n 1]
2C 2C
2C 2C
i4 [n] = v4 [n] v4 [n 1] i4 [n 1]
T T
DISCRETIZE RC NETWORK (attempt modular)
capacitor
(continuous time) 1
V4 (s) = I4 (s)
sC
bilinear s c
1 z 1
, c = 2/T (typically)
transform 1+z 1

1
V4 (z) = I4 (z) 2 1 z 1
T 1+z 1 C
1
T 1+z
V4 (z) = I4 (z) 1
2C 1 z

T T
v4 [n] v4 [n 1] = i4 [n] + i4 [n 1]
2C 2C
2C 2C
i4 [n] = v4 [n] v4 [n 1] i4 [n 1]
T T
DISCRETIZE RC NETWORK (attempt modular)
capacitor
(continuous time) 1
V4 (s) = I4 (s)
sC
bilinear s c
1 z 1
, c = 2/T (typically)
transform 1+z 1

1
V4 (z) = I4 (z) 2 1 z 1
T 1+z 1 C
1
T 1+z
V4 (z) = I4 (z) 1
2C 1 z

T T
v4 [n] v4 [n 1] = i4 [n] + i4 [n 1]
2C 2C
2C 2C
i4 [n] = v4 [n] v4 [n 1] i4 [n 1]
T T
DISCRETIZE RC NETWORK (attempt modular)
capacitor
(continuous time) 1
V4 (s) = I4 (s)
sC
bilinear s c
1 z 1
, c = 2/T (typically)
transform 1+z 1

1
V4 (z) = I4 (z) 2 1 z 1
T 1+z 1 C
1
T 1+z
V4 (z) = I4 (z) 1
2C 1 z
inverse 1
z transform x[n] = Z {X(z)}

T T
v4 [n] v4 [n 1] = i4 [n] + i4 [n 1]
2C 2C
2C 2C
i4 [n] = v4 [n] v4 [n 1] i4 [n 1]
T T
DISCRETIZE RC NETWORK (attempt modular)
capacitor
(continuous time) 1
V4 (s) = I4 (s)
sC
bilinear s c
1 z 1
, c = 2/T (typically)
transform 1+z 1

1
V4 (z) = I4 (z) 2 1 z 1
T 1+z 1 C
1
T 1+z
V4 (z) = I4 (z) 1
2C 1 z
inverse 1
z transform x[n] = Z {X(z)}

T T
v4 [n] v4 [n 1] = i4 [n] + i4 [n 1]
2C 2C
difference 2C 2C
equation i 4 [n] = v 4 [n] v4 [n 1] i4 [n 1]
T T
DISCRETIZE RC NETWORK (attempt modular)
capacitor
(continuous time) 1
V4 (s) = I4 (s)
sC
bilinear s c
1 z 1
, c = 2/T (typically)
transform 1+z 1

1
V4 (z) = I4 (z) 2 1 z 1
T 1+z 1 C
1
T 1+z
V4 (z) = I4 (z) 1
2C 1 z
inverse 1
z transform x[n] = Z {X(z)}

T T
v4 [n] v4 [n 1] = i4 [n] + i4 [n 1]
2C 2C
difference 2C 2C
equation i 4 [n] = v 4 [n] v4 [n 1] i4 [n 1]
T T
DISCRETIZE RC NETWORK (attempt modular)
R
+
+
e(t) C vout (t)

1
DISCRETIZE RC NETWORK (attempt modular)
R
+
+
e(t) C vout (t)

1
discretized
DISCRETIZE RC NETWORK (attempt modular)
R
+
+
e(t) C vout (t)

1
discretized

delay-free loop!
structure is noncomputable
DISCRETIZE RC NETWORK (WDF approach)

WDF approach involves:


!
• introduction of free parameter (port resistance) at each port:


 Rn > 0 , for each port n

• introduction of wave variables:
 a n = v n + Rn i n



 bn = v n Rn i n

• discretization of reactive elements (capacitors, inductors)



using the Bilinear transformation:
1
1 z
s c 1
, c = 2/T (typically)
1+z
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage parallel
source connection capacitor

port resistance:
 R1 R2 R3 R4

incident wave: a 1 = v 1 + R1 i 1 a 2 = v 2 + R2 i 2 a 3 = v 3 + R3 i 3 a 4 = v 4 + R4 i 4
reflected wave: b1 = v 1 R1 i 1 b2 = v 2 R2 i 2 b3 = v 3 R3 i 3 b4 = v 4 R4 i 4
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage parallel
source connection capacitor

port resistance:
 R1 R2 R3 R4

incident wave: a 1 = v 1 + R1 i 1 a 2 = v 2 + R2 i 2 a 3 = v 3 + R3 i 3 a 4 = v 4 + R4 i 4
reflected wave: b1 = v 1 R1 i 1 b2 = v 2 R2 i 2 b3 = v 3 R3 i 3 b4 = v 4 R4 i 4
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage parallel
source connection capacitor

port resistance:
 R1 R2 R3 R4

incident wave: a 1 = v 1 + R1 i 1 a 2 = v 2 + R2 i 2 a 3 = v 3 + R3 i 3 a 4 = v 4 + R4 i 4
reflected wave: b1 = v 1 R1 i 1 b2 = v 2 R2 i 2 b3 = v 3 R3 i 3 b4 = v 4 R4 i 4
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage parallel
source connection capacitor

port resistance:
 R1 R2 R3 R4

incident wave: a 1 = v 1 + R1 i 1 a 2 = v 2 + R2 i 2 a 3 = v 3 + R3 i 3 a 4 = v 4 + R4 i 4
reflected wave: b1 = v 1 R1 i 1 b2 = v 2 R2 i 2 b3 = v 3 R3 i 3 b4 = v 4 R4 i 4
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage parallel
source connection capacitor

port resistance:
 R1 R2 R3 R4

incident wave: a 1 = v 1 + R1 i 1 a 2 = v 2 + R2 i 2 a 3 = v 3 + R3 i 3 a 4 = v 4 + R4 i 4
reflected wave: b1 = v 1 R1 i 1 b2 = v 2 R2 i 2 b3 = v 3 R3 i 3 b4 = v 4 R4 i 4
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage parallel
source connection capacitor

port resistance:
 R1 R2 R3 R4

incident wave: a 1 = v 1 + R1 i 1 a 2 = v 2 + R2 i 2 a 3 = v 3 + R3 i 3 a 4 = v 4 + R4 i 4
reflected wave: b1 = v 1 R1 i 1 b2 = v 2 R2 i 2 b3 = v 3 R3 i 3 b4 = v 4 R4 i 4

we gained four tunable degrees of freedom:


R1, R2, R3, R4
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage
source
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage
source

v1 = e(t) + Ri1
a1 b1 a1 b1
+ = e(t) + R R
2 2 2R1 2R1
b1 (R + R1 ) = 2R1 e(t) + a1 (R R1 )
2R1 R R1
b1 = e(t) + a1
R + R1 R + R1
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage
source

v1 = e(t) + Ri1
a1 b1 a1 b1
+ = e(t) + R R
2 2 2R1 2R1
b1 (R + R1 ) = 2R1 e(t) + a1 (R R1 )
difference b = 2R1 e(t) + R R1 a
equation 1 R + R1 R + R1
1
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage
source

v1 = e(t) + Ri1
a1 b1 a1 b1
+ = e(t) + R R
2 2 2R1 2R1
b1 (R + R1 ) = 2R1 e(t) + a1 (R R1 )
difference b = 2R1 e(t) + R R1 a
equation 1 R + R1 R + R1
1
DISCRETIZE RC NETWORK (WDF approach)
resistive
voltage
source

v1 = e(t) + Ri1
a1 b1 a1 b1
+ = e(t) + R R
2 2 2R1 2R1
b1 (R + R1 ) = 2R1 e(t) + a1 (R R1 )
difference b = 2R1 e(t) + R R1 a
equation 1 R + R1 R + R1
1
DISCRETIZE RC NETWORK (WDF approach)

parallel
connection
DISCRETIZE RC NETWORK (WDF approach)
i2 = i3
parallel v2 = v3
connection
1 1 1 1
a2 b2 = a3 + b3
2R2 2R2 2R3 2R3
1 1 1 1
a 2 + b2 = a 3 + b3
2 2 2 2

R3 a 2 R 3 b2 = R 2 a 3 + R 2 b3
a 2 + b2 = a 3 + b3

   
R3 R2 b2 R3 R2 a2
=
1 1 b3 1 1 a3

   
b2 1 1 R2 R3 R2 a2
=
b3 R2 + R3 1 R3 1 1 a3

 " #
R2 R3 2R2
b2 R2 +R3 R2 +R3 a2
= 2R3 R2 R3
b3 R2 +R3 R2 +R3
a3
DISCRETIZE RC NETWORK (WDF approach)
i2 = i3
parallel v2 = v3
connection
1 1 1 1
a2 b2 = a3 + b3
2R2 2R2 2R3 2R3
1 1 1 1
a 2 + b2 = a 3 + b3
2 2 2 2

R3 a 2 R 3 b2 = R 2 a 3 + R 2 b3
a 2 + b2 = a 3 + b3

   
R3 R2 b2 R3 R2 a2
=
1 1 b3 1 1 a3

   
b2 1 1 R2 R3 R2 a2
=
b3 R2 + R3 1 R3 1 1 a3

 " #
R2 R3 2R2
b2 R2 +R3 R2 +R3 a2
= 2R3 R2 R3
b3 R2 +R3 R2 +R3
a3
DISCRETIZE RC NETWORK (WDF approach)
i2 = i3
parallel v2 = v3
connection
1 1 1 1
a2 b2 = a3 + b3
2R2 2R2 2R3 2R3
1 1 1 1
a 2 + b2 = a 3 + b3
2 2 2 2

R3 a 2 R 3 b2 = R 2 a 3 + R 2 b3
a 2 + b2 = a 3 + b3

   
R3 R2 b2 R3 R2 a2
=
1 1 b3 1 1 a3

   
b2 1 1 R2 R3 R2 a2
=
b3 R2 + R3 1 R3 1 1 a3

 " #
R2 R3 2R2
b2 R2 +R3 R2 +R3 a2
= 2R3 R2 R3
b3 R2 +R3 R2 +R3
a3
DISCRETIZE RC NETWORK (WDF approach)
i2 = i3
parallel v2 = v3
connection
1 1 1 1
a2 b2 = a3 + b3
2R2 2R2 2R3 2R3
1 1 1 1
a 2 + b2 = a 3 + b3
2 2 2 2

R3 a 2 R 3 b2 = R 2 a 3 + R 2 b3
a 2 + b2 = a 3 + b3

   
R3 R2 b2 R3 R2 a2
=
1 1 b3 1 1 a3

   
b2 1 1 R2 R3 R2 a2
=
b3 R2 + R3 1 R3 1 1 a3

 " #
R2 R3 2R2
b2 R2 +R3 R2 +R3 a2
= 2R3 R2 R3
b3 R2 +R3 R2 +R3
a3
DISCRETIZE RC NETWORK (WDF approach)
i2 = i3
parallel v2 = v3
connection
1 1 1 1
a2 b2 = a3 + b3
2R2 2R2 2R3 2R3
1 1 1 1
a 2 + b2 = a 3 + b3
2 2 2 2

R3 a 2 R 3 b2 = R 2 a 3 + R 2 b3
a 2 + b2 = a 3 + b3

   
R3 R2 b2 R3 R2 a2
=
1 1 b3 1 1 a3

   
b2 1 1 R2 R3 R2 a2
=
b3 R2 + R3 1 R3 1 1 a3

 " #
R2 R3 2R2
b2 R2 +R3 R2 +R3 a2
= 2R3 R2 R3
b3 R2 +R3 R2 +R3
a3
DISCRETIZE RC NETWORK (WDF approach)
i2 = i3
parallel v2 = v3
connection
1 1 1 1
a2 b2 = a3 + b3
2R2 2R2 2R3 2R3
1 1 1 1
a 2 + b2 = a 3 + b3
2 2 2 2

R3 a 2 R 3 b2 = R 2 a 3 + R 2 b3
a 2 + b2 = a 3 + b3

   
R3 R2 b2 R3 R2 a2
=
1 1 b3 1 1 a3

   
b2 1 1 R2 R3 R2 a2
=
b3 R2 + R3 1 R3 1 1 a3

 " #
scattering b2
=
R2 R3
R2 +R3
2R2
R2 +R3 a2
equation
2R3 R2 R3
b3 R2 +R3 R2 +R3
a3
DISCRETIZE RC NETWORK (WDF approach)
i2 = i3
parallel v2 = v3
connection
1 1 1 1
a2 b2 = a3 + b3
2R2 2R2 2R3 2R3
1 1 1 1
a 2 + b2 = a 3 + b3
2 2 2 2

R3 a 2 R 3 b2 = R 2 a 3 + R 2 b3
a 2 + b2 = a 3 + b3

   
R3 R2 b2 R3 R2 a2
=
1 1 b3 1 1 a3

   
b2 1 1 R2 R3 R2 a2
=
b3 R2 + R3 1 R3 1 1 a3

 " #
scattering b2
=
R2 R3
R2 +R3
2R2
R2 +R3 a2
equation
2R3 R2 R3
b3 R2 +R3 R2 +R3
a3
DISCRETIZE RC NETWORK (WDF approach)

capacitor
1
V4 (s) = I4 (s)
sC

1 T 1
V4 (z)(1 z )= I4 (z)(1 + z )
2C

✓ ◆ ✓ ◆
1 1 1 T 1 1 1
A4 (z) + B4 (z) (1 z )= A4 (z) B4 (z) (1 + z )
2 2 2C 2R4 2R4

1 T 1
R4 (A4 (z) + B4 (z)) (1 z )= (A4 (z) B4 (z)) (1 + z )
2C

✓ ◆ ✓ ◆ ✓ ◆ ✓ ◆
T T 1 T T 1
R4 + B4 (z) = R4 B4 (z)z + R4 + A4 (z) + R4 + A4 (z)z
2C 2C 2C 2C

difference b4 [n] =
R4 T
2C
b[n 1]
R4 T
2C
a4 [n] + a4 [n 1]
equation R4 + T
2C R4 + T
2C
DISCRETIZE RC NETWORK (WDF approach)

capacitor
1
V4 (s) = I4 (s)
sC

1 T 1
V4 (z)(1 z )= I4 (z)(1 + z )
2C

✓ ◆ ✓ ◆
1 1 1 T 1 1 1
A4 (z) + B4 (z) (1 z )= A4 (z) B4 (z) (1 + z )
2 2 2C 2R4 2R4

1 T 1
R4 (A4 (z) + B4 (z)) (1 z )= (A4 (z) B4 (z)) (1 + z )
2C

✓ ◆ ✓ ◆ ✓ ◆ ✓ ◆
T T 1 T T 1
R4 + B4 (z) = R4 B4 (z)z + R4 + A4 (z) + R4 + A4 (z)z
2C 2C 2C 2C

difference b4 [n] =
R4 T
2C
b[n 1]
R4 T
2C
a4 [n] + a4 [n 1]
equation R4 + T
2C R4 + T
2C
DISCRETIZE RC NETWORK (WDF approach)

capacitor
1
V4 (s) = I4 (s)
sC

1 T 1
V4 (z)(1 z )= I4 (z)(1 + z )
2C

✓ ◆ ✓ ◆
1 1 1 T 1 1 1
A4 (z) + B4 (z) (1 z )= A4 (z) B4 (z) (1 + z )
2 2 2C 2R4 2R4

1 T 1
R4 (A4 (z) + B4 (z)) (1 z )= (A4 (z) B4 (z)) (1 + z )
2C

✓ ◆ ✓ ◆ ✓ ◆ ✓ ◆
T T 1 T T 1
R4 + B4 (z) = R4 B4 (z)z + R4 + A4 (z) + R4 + A4 (z)z
2C 2C 2C 2C

difference b4 [n] =
R4 T
2C
b[n 1]
R4 T
2C
a4 [n] + a4 [n 1]
equation R4 + T
2C R4 + T
2C
DISCRETIZE RC NETWORK (WDF approach)

capacitor
1
V4 (s) = I4 (s)
sC

1 T 1
V4 (z)(1 z )= I4 (z)(1 + z )
2C

✓ ◆ ✓ ◆
1 1 1 T 1 1 1
A4 (z) + B4 (z) (1 z )= A4 (z) B4 (z) (1 + z )
2 2 2C 2R4 2R4

1 T 1
R4 (A4 (z) + B4 (z)) (1 z )= (A4 (z) B4 (z)) (1 + z )
2C

✓ ◆ ✓ ◆ ✓ ◆ ✓ ◆
T T 1 T T 1
R4 + B4 (z) = R4 B4 (z)z + R4 + A4 (z) + R4 + A4 (z)z
2C 2C 2C 2C

difference b4 [n] =
R4 T
2C
b[n 1]
R4 T
2C
a4 [n] + a4 [n 1]
equation R4 + T
2C R4 + T
2C
DISCRETIZE RC NETWORK (WDF approach)

capacitor
1
V4 (s) = I4 (s)
sC

1 T 1
V4 (z)(1 z )= I4 (z)(1 + z )
2C

✓ ◆ ✓ ◆
1 1 1 T 1 1 1
A4 (z) + B4 (z) (1 z )= A4 (z) B4 (z) (1 + z )
2 2 2C 2R4 2R4

1 T 1
R4 (A4 (z) + B4 (z)) (1 z )= (A4 (z) B4 (z)) (1 + z )
2C

✓ ◆ ✓ ◆ ✓ ◆ ✓ ◆
T T 1 T T 1
R4 + B4 (z) = R4 B4 (z)z + R4 + A4 (z) + R4 + A4 (z)z
2C 2C 2C 2C

difference b4 [n] =
R4 T
2C
b[n 1]
R4 T
2C
a4 [n] + a4 [n 1]
equation R4 + T
2C R4 + T
2C
DISCRETIZE RC NETWORK (WDF approach)

capacitor
1
V4 (s) = I4 (s)
sC

1 T 1
V4 (z)(1 z )= I4 (z)(1 + z )
2C

✓ ◆ ✓ ◆
1 1 1 T 1 1 1
A4 (z) + B4 (z) (1 z )= A4 (z) B4 (z) (1 + z )
2 2 2C 2R4 2R4

1 T 1
R4 (A4 (z) + B4 (z)) (1 z )= (A4 (z) B4 (z)) (1 + z )
2C

✓ ◆ ✓ ◆ ✓ ◆ ✓ ◆
T T 1 T T 1
R4 + B4 (z) = R4 B4 (z)z + R4 + A4 (z) + R4 + A4 (z)z
2C 2C 2C 2C

difference b4 [n] =
R4 T
2C
b[n 1]
R4 T
2C
a4 [n] + a4 [n 1]
equation R4 + T
2C R4 + T
2C
R R1
R+R1

2R3
R2 +R3
a2 b3
DISCRETIZE RC NETWORK (WDF approach) R2 R3 R2 R3
R2 +R3 R2 +R3

b2 a3
2R2
R2 +R3
capacitor
a4 z 1
1 T
V4 (s) = I4 (s) R4 2C
sC T
R4 + 2C
1

T
b4
1 1
V4 (z)(1 z )= I4 (z)(1 + z ) R4 2C T
2C z 1 T
R4 + 2C
✓ ◆ ✓ ◆
1 1 1 T 1 1 1
A4 (z) + B4 (z) (1 z )= A4 (z) B4 (z) (1 + z )
2 2 2C 2R4 2R4
2R3
R2 +R3
1 T e(t) 1
R4 (A4 (z) + B4 (z)) (1 z )= (A4 (z) B4 (z)) (1 + z )
2C 2R1 R2 R3 R2 R3 R4 2C T
R+R1 R2 +R3 R2 +R3 T
R4 + 2C
✓ ◆ ✓ ◆ ✓ ◆ ✓ ◆
T T 1 T T 1
R4 + B4 (z) = R4 B4 (z)z + R4 + A4 (z) + R4 + A4 (z)z
2C 2C R R2C
1 2R2 2C
R+R1 R2 +R3 z

difference b4 [n] =
R4 T
2C
b[n 1]
R4 T
2C
a4 [n] + a4 [n 1]
equation R4 + T
2C R4 + T
2C
2R3
R2 +R3
a4 z 1
T
R4 2C
T
R4 + 2C
1
DISCRETIZE RC NETWORK
b4 (WDF approach)
T
R4 2C
z 1 T
R4 + 2C

2R3
R2 +R3
e(t) z 1

2R1 R2 R3 R2 R3 R4 2C T
R+R1 R2 +R3 R2 +R3 T
R4 + 2C 1

R R1 2R2 R4 2C T
R+R1 R2 +R3 z 1 T
R4 + 2C

2R3
R2 +R3
e(t) z 1

2R1 R2 R3 R2 R3 R4 T
2C
R+R1 T 1
a4 z 1
T
R4 2C
T
R4 + 2C
1
DISCRETIZE RC NETWORK
b4 (WDF approach)
T
R4 2C
z 1

delay-free loops!
T
R4 + 2C

structure is noncomputable
2R3
R2 +R3
e(t) z 1

2R1 R2 R3 R2 R3 R4 2C T
R+R1 R2 +R3 R2 +R3 T
R4 + 2C 1

R R1 2R2 R4 2C T
R+R1 R2 +R3 z 1 T
R4 + 2C

2R3
R2 +R3
e(t) z 1

2R1 R2 R3 R2 R3 R4 T
2C
R+R1 T 1
a4 z 1
T
R4 2C
T
R4 + 2C
1
DISCRETIZE RC NETWORK
b4 (WDF approach)
T
R4 2C
z 1

delay-free loops!
T
R4 + 2C

structure is noncomputable
2R3
R2 +R3
e(t) z 1

2R1 R2 R3 R2 R3 R4 2C T
R+R1 R2 +R3 R2 +R3 T
R4 + 2C 1

R R1 2R2 R4 2C T
R+R1 R2 +R3 z 1 T
R4 + 2C

but, this time, we can fix things!


2R3
R2 +R3
e(t) by tuning R1, R2, R3, R4 z 1

2R1 R2 R3 R2 R3 R4 T
2C
R+R1 T 1
e(t) z 1

2R1 R2 R3 R2 R3 R4 2C T
R+R1 R2 +R3 R2 +R3 T
R4 + 2C 1
DISCRETIZE RC NETWORK (WDF approach)
R R1 2R2 R4 2C T
R+R1 R2 +R3 z 1 T
R4 + 2C
T
R4 =
2C
2R3
R2 +R3
e(t) z 1

2R1 R2 R3 R2 R3
R+R1 R2 +R3 R2 +R3 1

R R1 2R2
R+R1 R2 +R3

but, this time, we can fix things!


by tuning R 3
DISCRETIZE RC NETWORK (WDF approach)

R3 = R 4 T
R4 =
(by def.) 2C
T
2 2C
T
R2 + 2C
e(t) z 1

2R1 R2 2C T
R2 2C T
R+R1 T
R2 + 2C T
R2 + 2C 1

R R1 2R2
R+R1 T
R2 + 2C

but, this time, we can fix things!


by tuning R
DISCRETIZE RC NETWORK (WDF approach)

T R3 = R 4 T
R2 = R4 =
2C (by def.) 2C

1
e(t) z 1

2R1
R+R1 1

R R1
R+R1
1

but, this time, we can fix things!


by tuning R
DISCRETIZE RC NETWORK (WDF approach)

R1 = R 2 T R3 = R 4 T
R2 = R4 =
(by def.) 2C (by def.) 2C

1
e(t) z 1

2T
2RC+T 1

2RC T
2RC+T
1

structure is computable!
WAVE DIGITAL FILTERS

• modular
• no transfer function representation needed
• no factoring into biquads needed
!
• structure arranged as a “tree”
• one element as the root, resolve loops upwards
!
• energetic properties in reference domain used to
guarantee stability by construction pn = a2n b2n /Rn
• good on quantization/sensitivity (original purpose)

Alfred Fettweis, Pseudopassivity, Sensitivity, and Stability of Wave Digital Filters,” IEEE Transactions
on Circuit Theory, Vol. CT-19, No. 6, November 1972.
WAVE DIGITAL FILTERS (resolved one ports)

(a) A generic one-port! (d) inductor: Rp=2L/T!


(b) resistor: Rp=R! (e) voltage source Rp=R

(c) capacitor: Rp=T/2C!

C, L, R, are physical capacitance, inductance, and resistance, T is unit delay

M. Karjalainen, “Efficient Realization of Wave Digital Components for Physical Modeling


and Sound Synthesis,” IEEE Trans. Audio, Speech, Language Process., July 2008
WAVE DIGITAL FILTERS (adaptors)

Parallel

Adaptor
}
Series

Adaptor
}
A. Fettweis, “Wave Digital Filters: Theory and Practice,” Proc. IEEE, 1986.
arti and G. De Sanctis, “Systematic methods for the
of nonlinear wave-digital structures,” IEEE Trans. Circuits Syst. I:
WAVE DIGITAL FILTERS (binary connection tree)
. 56, no. 2, pp. 460–472, 2009.
• binary connection tree (BCT)
systematizes WDF with only series
nnection tree (BCT)
and parallel connections

zes • WDF
up with only
to one nonlinearity
• N-port series connections
d parallel
implemented with (N–2) 3-port
series adaptors
ns
• N-port parallel connections
nonlinearity
implemented with (N–2) 3-port
parallel adaptors
ries
• see(parallel)
also: Alfred Fettweis and Klaus
Meerkötter, “On adaptors for wave
ted digital N 1975.
withfilters,” −2
aptors
A. Sarti and G. De Sanctis, “Systematic methods for the implementation of nonlinear wave-
ettweis and K.
digital structures,” IEEE Trans. Circuits Syst. I: Reg. Papers, vol. 56, no. 2, pp. 460–472, 2009.
INTRODUCTION

1. tutorial review of WDF principles


2. recent theoretical progress in WDFs
3. WDF software overview and demo
CURRENT RESEARCH at CCRMA

!
• Wave Digital Filter Adaptors for Arbitrary Topologies and Multiport Linear Elements

@ Int. Conf. Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov. 30 – Dec. 3, 2015

↳Kurt James Werner, Julius O. Smith III, and Jonathan Abel


• Resolving Wave Digital Filters with Multiple/Multiport Nonlinearities



@ Int. Conf. Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov. 30 – Dec. 3, 2015

↳Kurt James Werner, Vaibhav Nangia, Julius O. Smith III, and Jonathan Abel
!
• A General and Explicit Formulation for Wave Digital Filters with Multiple/Multiport Nonlinearities and 

Complicated Topologies

@ IEEE Work. Appl. Signal Process. Audio Acoust. (WASPAA), New Paltz, NY, Oct. 18–21, 2015

↳Kurt James Werner, Vaibhav Nangia, Julius O. Smith III, and Jonathan Abel


• An Improved and Generalized Diode Clipper Model for Wave Digital Filters

@ AES 139th Convention, New York, USA, Oct. 29 – Nov. 1, 2015

↳Kurt James Werner, Vaibhav Nangia, Alberto Bernardini, Julius O. Smith III, and Augusto Sarti
!
• An Energetic Interpretation of Nonlinear Wave Digital Filter Lookup Table Error

@ IEEE Int. Symp. Signals, Circuits, Syst. (ISSCS), Iasi, Romania, July 9–10, 2015

↳Kurt James Werner and Julius O. Smith III
CURRENT RESEARCH at Politecnico di Milano

!
• Modeling Nonlinear Wave Digital Elements using the Lambert Function

(submitted to IEEE Transactions on Circuits and Systems I: Regular Papers)

↳Alberto Bernardini, Kurt James Werner, Augusto Sarti, and Julius O. Smith III
!
• Modeling a Class of Multi-Port NonLinearities in Wave Digital Structures

@ European Signal Process. Conf. (EUSIPCO), Nice, France, August 31, 2015

↳Alberto Bernardini, Kurt James Werner, Augusto Sarti, and Julius O. Smith III
!
• Multi-Port NonLinearities in Wave Digital Structures

@ IEEE Int Symp. Signals, Circuits, Syst. (ISSCS), Iasi, Romania, July 9–10, 2015

↳Alberto Bernardini, Kurt James Werner, Augusto Sarti, and Julius O. Smith III
!
• Modeling NonLinear Circuits with Multi-port Elements in the Wave Digital Domain

Master’s thesis, Politecnico di Milano, Italy, April 2015

↳Alberto Bernardini
NONLINEARITIES IN WDFS

1. single nonlinearity
2. consolidated one-port combination
3. cross-controlled multiport
4. simplified multiports
5. linearized multiport
6. piecewise linear models
7. iterative schemes
e: K. Meerkötter and R. Scholz, “Digital simulation of nonlinear circuits by
NONLINEARITIES
al filter IN WDF
principles,” Proc. IEEE S : single
Int. Symp. nonlinearity
Circuits Syst. June 1989.

modate ONE one-port


• accommodate one one-port
ement, e.g.:
NL element, e.g.:
• ideal rectifier
deal rectifier (ideal(ideal diode)
diode)
• piecewise linear resistance
• can view
iecewise as lookup table
linear
with interpolation or piece-
esistance
wise linear segments
must
view• as solve
 table
lookup with
b = f (a)
at root
polation or piece-wise
r segments
Klaus Meerkötter and Reinhard Sholz, “Digital simulation of nonlinear circuits by wave
digital filter principles.” in proc. IEEE Int. Symp. Circuits Syst., June 1989.
Reference: K. Meerkötter and R. Scholz, “Digital simulation of nonlinear circuits by
wave digital filter principles,” Proc. IEEE Int. Symp. Circuits Syst. June 1989.
NONLINEARITIES IN WDFS : single nonlinearity

wave (a–b) domain

Kirchhoff (i–v) domain

Klaus Meerkötter and Reinhard Sholz, “Digital simulation of nonlinear circuits by wave
digital filter principles.” in proc. IEEE Int. Symp. Circuits Syst., June 1989.
WDFs: Single Nonlinearity IV

hnologies Reference: A. Sarti and G. De Poli, “Toward nonlinear wave digital filters,” IEEE
earch NONLINEARITIES IN WDF S : single nonlinearity
Trans. Signal Process., vol. 47, no. 6, pp. 1654–1668, 1999.
ments

ecture
• Use “mutators” from classical

Modeling
Reverb
use “mutators” from
network theory toclassical
enable,
e.g., nonlinear q –v
diss.
network theory to enable, e.g.,
view relationships
e NL nonlinear q–v relationships
• These are needed for
port NL


s-control
rized
these are needed
nonlinear for
elementsnonlinear
“with

Multiports
elements “with
memory” memory”
• For example, nonlinear
for example, nonlinear
ive
ogies
• capacitors and inductors
capacitors
whereand
flux inductors where
or charge can
flux or charge
saturate can saturate

Augusto Sarti and Giovanni De Poli, “Toward nonlinaer wave digital filters,” IEEE Trans.
onSignal Process.,
Smith and vol.Werner
Kurt James 47, no. 6, pp 1654–1668, 1999. RTSP-2015 – 26 / 44
nts
Effects (DAFx-08), pp. 19–26, 2008.
ture " !
! "
b−a a+b a+b

N sWDFS : consolidated −one-ports



deling
ONLINEARITIES =
INI e 2VT
− 1 − I s e 2VT
1 (4)
everb 2R
s.
w
NL • Multiple nonlinearities
rt NL
ontrol
• multiple nonlinearities
handled handled
by combining into a
ed
by consolidating into a single
single one-port
ltiports one-port
• Implicit nonlinear function
e
solved as b = f (a) with
ies
• implicit nonlinear function
numerical methods
solved as b=f(a) with numerical
methods

b a ⇣ a+b
⌘ ⇣ a+b

= I s e 2VT
1 Is e 2VT
1
2R
Smith and Kurt James Werner RTSP-2015 – 27 / 44

David T. Yeh and Julius O. Smith III, “Simulating guitar distortion circuits using wave digital and nonlinear
state-space formulations,” in proc. Int. Conf. Digital Audio Effects (DAFx-08), pp. 19–26, 2008.
NONLINEARITIES IN WDFS : consolidated one-ports

b=f(a) for diode pair solved using


Lambert W function, assuming one
diode dominates: (ignoring
saturation current)
⇣ v
⌘ ⇣ v

• One diode (Kirchhoff): i = Is e VT
1 Is e VT
1

a b ⇣ a+b a+b

• One diode (wave, implicit): = Is e 2VT e 2VT
2R ✓ ◆
RIs RIVs +a
• One diode (wave, explicit): b = f (a) = a + 2RIs 2VT W e T
VT
• Diode pair (approximate): b = sgn(a) · f (|a|)

Rafael C. D. de Paiva, Stefano D’Angelo, Jyri Pakarinen, and Vesa Välimäki, “Emulation of operational amplifiers
and diodes in audio distortion circuits,” IEEE Trans. Circuits Syst. II: Expr. Briefs, Vol. 59, No. 10, Oct. 2012.
NONLINEARITIES IN WDFS : consolidated one-ports
One-Port Combinations III
• explicit model improved by canceling some approximation error of Paiva et al. (2013) model with an
ce: K. additional
J. Werner, V.Lambert term
WBernardini,
Nangia, A. J. O. Smith III, and A. Sarti, “An
d and Generalized Diode Clipper Model for Wave Digital Filters,” Proc.
• generalized to any number of diodes in each direction (stock and hacked guitar distortion pedals)
ng. Soc. (AES), New York, NY, Oct.–Nov. 2015.
abs(reflected voltage wave (b) error)

10
−8 f
−10
10
−12
r
10 Paiva
Improved Model
−14
10
−16
10
−18
10
−10 −5 0 5 10
incident voltage wave (a)

bKurt
= James Werner,improved
f (a) model Vaibhav Nangia, Alberto Bernardini,
by cancelling Julius O. Smith III, and Augusto Sarti, “An improved and
some approximation
generalized diode clipper model for wave digital filters,” in proc. Audio Eng. Soc. (AES), New York, NY, 2015. 


Paiva et al. (2013) model with additional Lambert W term.
B. Wampler, “5 DIY Mods to Perfect Your Ibanez TS9 and Boss SD-1,” Sept. 2012, Online: http://
www.premierguitar.com/articles/5_DIY_Mods_to_Perfect_Your_Ibanez_TS9_and_Boss_SD-1?page=3
WDFs: One-Port
Reference: Combinations
K. J. Werner IV“An Energetic Interpretat
and J. O. Smith III,
Enabling Technologies Nonlinear
Reference:Wave
K. J.Digital
Werner Filter
andLookup Table
J. O. Smith III,Error,” Proc. Int.Interpretat
“An Energetic Symp. Si
NONLINEARITIES
CCRMA
Enabling Research
Syst. IN WDF
(ISSCS),
Nonlinear
Technologies WaveIasi, : consolidated
SRomani,
Digital Filter July 2015.
Lookup one-ports
Table Error,” Proc. Int. Symp. Si
Tablet
CCRMA Instruments
Research
Syst. (ISSCS), Iasi, Romani, July 2015.
Theory/Architecture
Tablet Instruments
• Overview
Linear secant interpolation and
Theory/Architecture
• 2D Bridge Modeling
• Overview
tangent extrapolation can be
• Waveguide Reverb
• 2D
• Bridge Modeling
recent VA diss.
incrementally (gray) or globally
• Waveguide
• WDF Overview
Reverb

(thatched) non-passive
• recent
• VA diss.
WDF: single NL
• WDF
• Overview
WDF: one-port NL
Linear secant interpolation and tangent extrapolation can be incremen
• WDF:
• single NL
WDF: cross-control
• WDF:
• one-port NL
WDF: linearized globally (thatched)
Linear secant non-passive.
interpolation and tangent extrapolation can be incremen
• WDF:
• cross-control
WDF: PWL
Choosing table points
• WDF:
• linearized
Simplified Multiportsand(thatched) non-passive.
globally
• WDF:
• PWL
secant/tangent properly

WDF: iterative
• Simplified Multiports
WDF: topologies
(considering sgn(a) and a’’)
• WDF: iterative
Summary
yields interpolation methods
• WDF: topologies

that respect passivity


Summary

Choosing table points and secant/tangent properly (considering sgn(a


Kurt James Werner and Julius O. Smith III, and Augusto Sarti, “An energetic interpretation of nonlinear wave
digital filter lookup table error,”Choosing
in proc.
yields Int.table
Symp.
interpolation Signals, Circuits,
methods
points and thatSyst. (ISSCS),
respect
secant/tangent Iași, Romania,
passivity.
properly sgn(a
July 2015.
(considering
WDFs: Cross-Control Multiport I
Reference: M. Karjalainen and J. Pakarinen, “Wave digital simulation of a

Nvacuum-tube
ONLINEARITIES IN WDFS : cross-controls
amplifier,” Proc. IEEE Int. Conf. Acoust., Speech Signal Process.
(ICASSP), Toulouse, France, May 14–19 2006.

• grid–cathode voltage voltage


• Grid–Cathode modeled“cross-control”
as “cross-control”
w/ofad-hoc
plate–cathode
delay tononlinearity,
aid
with ad-hoc delay
realizability. to aid realizability
• Refined in Jyri in
• Refined Pakarinen and Matti
J. Pakarinen andKarjalainen, “Enhanced
M. Karjalainen, wave digital
“Enhanced wavetriode
model for real-time tube amplifier emulation,” IEEE Trans. Audio, Speech,
digital triode model for real-time tube amplifier emulation,” IEEE
Language Process., vol. 18, no. 4, pp. 738–746, May 2010.
Trans. Audio, Speech, Language Process., vol. 18, no. 4, pp.
738–746,
Matti Karjalainen May
and Jyri 2010. “Wave digital simulation of a vacuum-tube amplifier,” in proc.
Pakarinen,
IEEE Int. Conf. Acoust., Speech, Signal Process. (ICASSP), Toulouse, France, May 14–19. 2006.
WDFs: Cross-Control Multiport II

echnologies Reference: G. De Sanctis and A. Sarti, “Virtual analog modeling in the wave-digital
esearch
NONLINEARITIES IN WDF
domain,” IEEE Trans. Audio, Speech, S : cross-controls
Language Process., vol. 18, no. 4, pp.
uments
715–727, 2010.
hitecture
w
e Modeling
de Reverb
A diss.
erview
ngle NL
e-port NL
oss-control
earized
WL
d Multiports
rative
pologies • frame BJTBJT
• Frame asastwo-port nonlinear
two-port nonlinear element
element
• Two linear WDF subtrees
• two linear voltage
• Emitter WDF Vsubtrees
E proposed as “cross-control” on BJT

• Emitter voltage VE proposed as “cross-control” on BJT

rion Smith and Kurt James Werner RTSP-2015 – 32 / 44


Giovanni De Sanctis and Augusto Sarti, “Virtual analog modeling in the wave-digital
domain,” IEEE Trans. Audio, Speech, Language Process., vol. 18, no. 4, pp. 715–727, 2010.
Reference: G. De Sanctis and A. Sarti, “Virtual analog modeling in the wave-digital

N ONLINEARITIES
domain,” IEEE Trans. Audio, WDF : linearized multiport
INSpeech, Language
S Process., vol. 18, no. 4, pp.
715–727, 2010.

• Proposes linearized Hybrid-π model of BJT


• proposes using linearized Hybrid-π model of BJT
• Three linear WDF subtrees
• three linear WDF subtrees

Giovanni De Sanctis and Augusto Sarti, “Virtual analog modeling in the wave-digital
domain,” IEEE Trans. Audio, Speech, Language Process., vol. 18, no. 4, pp. 715–727, 2010.
Reference: S. Petrausch, R. Rabenstein, “Wave digital filters with multiple
nonlinearities,” Proc. European Signal Process. Conf. (EUSIPCO), vol. 12. Vienna
N ONLINEARITIES IN WDFS : piecewise linear models
Austria, Sept. 2004.

represent vector of nonlinear root elements with



piecewise
• Represent linearofapproximation
vector nonlinear root elements with piecewise linea
approximations
• limited to vector parallel relationship between
• Limited to vector
“internal” b) andrelationship
parallel
(a and between
“external” (a root ports(a and
l and bl) “internal”
b) and “external” (al and bl ) root ports
Stefan Petrausch and Rudolf Rabenstein, “Wave digital filters with multiple nonlinearities,”
in proc. European Signal Process. Conf. (EUSIPCO), vol. 12, Vienna, Austria, Sept. 2004.
WDFs: Piecewise Linear Model II

NONLINEARITIES IN WDFS : piecewise linear models


Enabling Technologies Reference: A. Bernardini, K. J. Werner, A. Sarti, and J. O. Smith III, “Multi-Port
CCRMA Research
NonLinearities in Wave Digital Structures,” IEEE Int. Symp. Signals, Circuits, Syst.
Tablet Instruments
(ISSCS), Iasi, Romania, July 9–10 2015.
Theory/Architecture
• Overview

P 1 = [i 1 , v 1 ]
• 2D Bridge Modeling 0.04
• Waveguide Reverb
0.03
• recent VA diss.
• WDF Overview

P 0 = [0, 0]
0.02
• WDF: single NL

P − 1 = [i − 1, v − 1]
voltage v (volts)
line s e gme nt s
• WDF: one-port NL 0.01
v = λ 1 ( i) i + q 1 ( i)
• WDF: cross-control v = λ 0 ( i) i + q 0 ( i)
• WDF: linearized 0
v = λ − 1( i) i + q − 1( i)
• WDF: PWL v = λ − 2( i) i + q − 2( i)
-0.01
• Simplified Multiports
• WDF: iterative -0.02
• WDF: topologies
Shockley
-0.03
Summary PWL approx.
-1 -0.5 0 0.5 1 1.5 2 2.5 3
current i (amps) x 10
-12

Addresses Petrausch & Rabenstein limit to vector parallel case for


• addresses Petrausch
multiple one-port & Rabenstein (2004) limit to vector
nonlinearities.

parallel case for multiple one-port nonlinearities


Julius Orion Smith and Kurt James Werner RTSP-2015 – 35 / 44

Alberto Bernardini, Kurt James Werner, Augusto Sarti, and Julius O. Smith III, “Multi-port nonlinearities in wave
digital structures,” in proc. IEEE Int. Symp. Signals, Circuits, Syst. (ISSCS), Iasi Romania, July 9–10, 2015.
Reference: A. Bernardini, “Modeling NonLinear Circuits with Multi-Port Elements in
the Wave Digital Domain,” M. S. thesis, Politecnico di Milano, 2015.

NONLINEARITIES IN WDFS :• simplified multiports


Depending on operating
point, transport across
particular p–n junctions in a

X
• BJT can on
depending beoperating
reasonably point, transport
across particular p–n junctions in a BJT
neglected
can be reasonably neglected
• Introduces some
• introduces some approximation error,

X
approximation
but renders equations error, but using
tractable
the Lambert
renders W, as in Paiva
equations et al. (2013)
tractable
• Opportunities
using for treatingW
the Lambert cases
, aswith
in
feedback
Paiva et al., 2013
• Opportunities for treating
feedback
Alberto Bernardini, “Modeling nonlinear circuits with multi-port cases
elements in the wave digital
domain,” M.S. thesis, Politecnico di Milano, 2015.

(Alberto Bernardini, Kurt James Werner, Augusto Sarti, and Julius O. Smith III, “Modeling Nonlinear
Wave Digital Elements using the Lambert Function,” recently submitted to IEEE TCAS I.)
d Kurt James Werner RTSP-2015 – 36 / 44
Reference: S. D’Angelo, J. Pakarinen, and V. Välimäki, “New Family of Wave-Digital
NTriode
ONLINEARITIES WDF
INAudio,
Models,” IEEE Trans. S : iterative
Speech, schemes
Language Process., vol. 21, no. 2, pp.
313–321, 2013.

• •entire
Entiretriode nonlinearity
triode contained
nonlinearity in root
contained element
in root element
• •three
Three linear
linear WDFWDF subtrees
subtrees (1 2 3)
• Root solved with customized secant method (specific to triode
• root solved with customized secant method (specific to triode model)
model)

Stefano D’Angelo, Jyri Pakarinen, and Vesa Välimäkii, “New family of wave-digital triode
models,” IEEE Trans. Audio, Speech, Language Process., vol. 21, no. 2, pp. 313–321, 2013.
ies Reference: T. Schwerdtfeger and A. Kummert, “A Multidimensional Approach to

NONLINEARITIES IN WDF
Wave Digital Filters with Multiple S : iterative
Nonlinearities,” schemes
Proc. European Signal Process.
Conf. (EUSIPCO), Lisbon, Portugal, Sept. 1–5 2014.

ng
rb

L
rol

orts
• multiple nonlinearities
• Multiple create
nonlinearities delay-free
create loopsloops
delay-free
• resolved by inserting
• Resolved extra extra
by inserting delay delay
elements as second
elements time dimensions
as second time (T2)
• dimension
framed (T2 ) to multidimensional case
as extension
• Framed as extension to multidimensional case
• T2’s solved by iteration, convergence guaranteed by contractivity of WDF
• T2 solved
properties by iteration
energy metric

Tim Schwerdtfeger and Anton Kummert, “A multidimensional approach to wave digital filters with multiple
mith and Kurt James
nonlinearities,” Werner
in proc. RTSP-2015
European Signal Process. Conf. (EUSIPCO), Lisbon, Portugal, – 38
Sept. / 442014.
1–5,
erence: T. Schwerdtfeger and A. Kummert, “A multidimensional signal
cessing approach to wave digital filters with topology-related delay-free loops,
NONLINEARITIES
c. IEEE Int. Conf. Acoust.,IN
Speech, S : iterative
WDFSignal Process.schemes
(ICASSP), Florence, Italy
y 4–9 2014, pp. 389–393.

me •technique applied to topological problems in linear circuits


same technique applied to topological problems in linear circuits
dged-T).
(e.g., bridged-T topology)

Tim Schwerdtfeger and Anton Kummert, “A multidimensional approach to wave digital filters with topology-related
delay-free loops,” in proc. IEEE Int. Conf. Acoust., Speech, Signal Process. (ICASSP), Florence, Italy, May 4–9, 2014.
NONLINEARITIES IN WDFS

• recent research focuses on multiple nonlinearities

• since 1989, we’ve known that >1 requires especial treatment

• solutions with a single multiport at the root seem promising

• what about MULTIPLE multiports?

• ad hoc solutions sometimes work, but no general solutions


TOPOLOGICAL ASPECTS OF WDFS

c 6 D3,4 VBC VBE


2 f 5 d
b S2 3

TOPOLOGY
6
30 40 P1 R
5 b d 40
30 10 40
e e P2 P1
1 S1 d 7 8 9
7 7 20
20
a S1
2 3 f d f 4 5 6
b c d d 30
g 9 20 4 g 9 S2
8 10
R 8 1
4
1 a a P2 10 a
2 3
(b) Graph structure. (c) Finding split components. (d) Modified SPQR.

D3
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
6 4 1 4
6
56 0 0 0 0
5 1 6 0 0 0 0 0 0 0
6
66 0 0 0 0
5 6 1 0 0 0 0 0 0 0
6
76 0 0 0 0 0 0 1 7 7 0 0 0 0 0
6
86 0 0 0 0 0 0
8 1 8 0 0 0 0 0

TOPOLOGICAL ASPECTS OF WDFS


6
96 0 0 0 0 0 0 0 0
9 1 10 0 0 0
6
10 6 0 0 0 0 0 0 0 0
9 10 1 0 0 0
6
11 6 0 0 0 0 0 0 0 0 0 0 1 11 11 0
6
12 6 0 0 0 0 0 0 0 0 0 0
12 1 12 0
6
A6 1 2 0 0 0 0 0 0 0 0 0 0
A 1
6
WDFs originally intended for ladder and lattice circuits
B6
C6
6
0

0
0

0 0
B
0
B 0

5
0

6
0

0
0

0
0

0
0

0
0

0
0

0
0

0
6
(topology comprised of only series and parallel)
th
D6 0
Proc. of the 18 Int. Conference on Digital Audio Effe
0 0 0 0 0
D D 0 0 0 0 0
6
E4 0 0 0 0 0 0 0 0
9 10 0 0 0

F 0 0 0 0 ! 0 0 0 0 0 0
F F 0

in general, circuits have ANY topology


Proc. of the 18th Int. Conference on Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov 30 - Dec 3, 2015
(infinite class
Figure of loop
7: Bassman other types
resolution of connections)
matrix—example parallel stamp in light shading, example

C1 1 3 1
3 a AOL (v+ bv ) b d C12
R1+
b d
6 SR1 11 0 b S2 d
c 9
10 1 20 40 R18
R4 Vout 2 e R2+ R17 S1
C6 v 3 1g0
C2 R1 7 10 2
f 2 20 40 d6 VCC
+

c h f D4 R
R10 4
v+
C7 4
b S4 C6 10 30
+ R2 c 4 e 10
Vin R2 8 f f D3 h20
e7
1 g R12
5
R 30
f 5 2 4 5 i 0
11S2
Vout S3
C3 R3+ 5 9 C5 R198 4 40
R7 R9 R3+ 2 3
h f S4 12
7 j b c
C5 V
h out 30 8
+ 3 8 9
R3 Vin
+
10VB R3 S13 Vin R20
R21
a g
h 6 1
9 a 13 6 7
(a) Bassman tone stack circuit. (b) Bassman graph. (c) Finding split components. (d) SPQR tree.
(a) Tube Screamer tone/volume stage circuit. (a)Tube
(b) Big Muff Pi clipping
Screamer stage.
graph. (b)
(c) G
WDFs: Topological
WDFs: Topological Insights Insights

Reference: D.Reference:
Fränken, J. D. Fränken,
Ochs, J. Ochs,
K. Ochs, K. Ochs,of“Generation
“Generation wave digital of wave digital
structures for structures for
TOPOLOGICAL ISSUES WDFS: SPQR tree
abling Technologies

connection
RMA Research connection
networks networks
containing mutiport IN
containing mutiport
elements,” elements,”
IEEE Trans. IEEE Trans.
Circuits Syst. I:Circuits Syst. I:
Reg.
blet Instruments Reg.
Papers, vol. Papers,
52, vol.586–596,
no. 3, pp. 52, no. 3, 2005.
pp. 586–596, 2005.
eory/Architecture
Overview
2D Bridge Modeling
Waveguide Reverb
ecent VA diss.
WDF Overview
WDF: single NL
WDF: one-port NL biconnected circuit graph
WDF: cross-control finding “split components”
WDF: linearized
WDF: PWL
Simplified Multiports
WDF: iterative
WDF: topologies

mmary

SPQR tree
WDF adaptor structure

Dietrich Fränken,
lius Jorg Ochs, Werner
Karlheinz Ochs, “Generation of wave digital structures forRTSP-2015
connection networks
andOrion Smith and
Kurt James Kurt James
Werner RTSP-2015 – 41 / 44 – 41 / 44
containing multiport elements,” IEEE Trans. Circuits Syst. I: Reg. Papers, vol. 52, no. 3, pp. 586–596, 2005.
PROBLEMS WITH WAVE DIGITAL FILTERS
1. No general method for deriving topology
2. No general method for handling complicated topologies
3. No general method for handling multiple nonlinearities

!
• Wave Digital Filter Adaptors for Arbitrary Topologies and Multiport Linear Elements

@ Int. Conf. Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov. 30 – Dec. 3, 2015

↳Kurt James Werner, Julius O. Smith III, and Jonathan Abel


• Resolving Wave Digital Filters with Multiple/Multiport Nonlinearities



@ Int. Conf. Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov. 30 – Dec. 3, 2015

↳Kurt James Werner, Vaibhav Nangia, Julius O. Smith III, and Jonathan Abel
!
• A General and Explicit Formulation for Wave Digital Filters with Multiple/Multiport Nonlinearities and 

Complicated Topologies

@ IEEE Work. Appl. Signal Process. Audio Acoust. (WASPAA), New Paltz, NY, Oct. 18–21, 2015

↳Kurt James Werner, Vaibhav Nangia, Julius O. Smith III, and Jonathan Abel
PROBLEMS WITH WAVE DIGITAL FILTERS
1. No general method for deriving topology
2. No general method for handling complicated topologies
3. No general method for handling multiple nonlinearities

Kurt James Werner, Julius O. Smith III, and Jonathan Abel, “Wave Digital Filter Adaptors for Arbitrary Topologies and Multiport Linear Elements,” at Int.
Conf. Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov. 30 – Dec. 3, 2015.


Kurt James Werner, Vaibhav Nangia, Julius O. Smith III, and Jonathan Abel, “A General and Explicit Formulation for Wave Digital Filters with Multiple/
Multiport Nonlinearities and Complicated Topologies,” IEEE Work. Appl. Signal Process., Audio Acoust. (WASPAA), New Paltz, NY, 2015.
PROBLEMS WITH WAVE DIGITAL FILTERS
1. No general method for deriving topology
2. No general method for handling complicated topologies
3. No general method for handling multiple nonlinearities

Kurt James Werner, Julius O. Smith III, and Jonathan Abel, “Wave Digital Filter Adaptors for Arbitrary Topologies and Multiport Linear Elements,” at Int.
Conf. Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov. 30 – Dec. 3, 2015.


Kurt James Werner, Vaibhav Nangia, Julius O. Smith III, and Jonathan Abel, “A General and Explicit Formulation for Wave Digital Filters with Multiple/
Multiport Nonlinearities and Complicated Topologies,” IEEE Work. Appl. Signal Process., Audio Acoust. (WASPAA), New Paltz, NY, 2015.
PROBLEMS WITH WAVE DIGITAL FILTERS
ner, vnangia, jos, abel]@ccrma.stanford.edu
1. No general method for deriving topology
2. No general method for handling complicated topologies
3. No general method for handling multiple nonlinearities

Kurt James Werner, Vaibhav Nangia, Julius O. Smith III, and Jonathan Abel, “Resolving Wave Digital Filters with Multiple/Multiport Nonlinearities,” at Int.
Conf. Digital Audio Effects (DAFx-15), Trondheim, Norway, Nov. 30 – Dec. 3, 2015.


Kurt James Werner, Vaibhav Nangia, Julius O. Smith III, and Jonathan Abel, “A General and Explicit Formulation for Wave Digital Filters with Multiple/
Multiport Nonlinearities and Complicated Topologies,” IEEE Work. Appl. Signal Process., Audio Acoust. (WASPAA), New Paltz, NY, 2015.
INTRODUCTION

1. tutorial review of WDF principles


2. recent theoretical progress in WDFs
3. WDF software overview and demo
SUMMARY

• WDFs are an elegant solution for circuit modeling


!
• Frustratingly applicable to only a tiny class of circuits
!
• Outside that class, ad hoc solutions (focused on
nonlinearities) dominate


• New research addressing topological issues (details at


talks tomorrow!) vastly expands the range of suitable
reference circuits
Thank you for listening!2R3
R2 +R3
e(t) z 1

2R1 R2 R3 R2 R3 R4 2C T
R+R1 R2 +R3 R2 +R3 T
R4 + 2C 1
!
R R1 2R2 R4 2C T
R+R1 R2 +R3 z 1 T
R4 + 2C
!

…now go build some WDFs!

Julius O. Smith III & Kurt James Werner


[jos,kwerner]@ccrma.stanford.edu

You might also like