Content uploaded by Stefan Bilbao

Author content

All content in this area was uploaded by Stefan Bilbao on Jun 01, 2014

Content may be subject to copyright.

Proc. of the 16th Int. Conference on Digital Audio Effects (DAFx-13), Maynooth, Ireland, September 2-4, 2013

NUMERICAL SIMULATION OF SPRING REVERBERATION

Stefan Bilbao, ∗

Acoustics and Audio Group

University of Edinburgh

Edinburgh, UK

sbilbao@staffmail.ed.ac.uk

ABSTRACT

Virtual analog modeling of spring reverberation presents a chal-

lenging problem to the algorithm designer, regardless of the par-

ticular strategy employed. The difﬁculties lie in the behaviour

of the helical spring, which, due to its inherent curvature, shows

characteristics of both coherent and dispersive wave propagation.

Though it is possible to emulate such effects in an efﬁcient manner

using audio signal processing constructs such as delay lines (for

coherent wave propagation) and chains of allpass ﬁlters (for dis-

persive wave propagation), another approach is to make use ofdi-

rect numerical simulation techniques, such as the ﬁnite difference

time domain method (FDTD) in order to solve the equations of

motion directly. Such an approach, though more computationally

intensive, allows a closer link with the underlying model system—

and yet, there are severe numerical difﬁculties associated with such

designs, and in particular anomalous numerical dispersion, requir-

ing some care at the design stage. In this paper, a complete model

of helical spring vibration is presented; dispersion analysis from

an audio perspective allows for model simpliﬁcation. A detailed

description of novel FDTD designs follows, with special attention

is paid to issues such as numerical stability, loss modeling, numer-

ical boundary conditions, and computational complexity. Simula-

tion results are presented.

1. INTRODUCTION

Virtual analog modeling, for electronic effects and synthesis mod-

ules has seen an enormous amount of work in recent years [1].

Somewhat less investigated has been the case of electromechanical

effects, especially when the mechanical components involved have

a distributed character (i.e., they cannot be modelled as lumped).

Prime examples are plate reverberation, and the system of interest

in this paper, spring reverberation [2, 3, 4].

Part of the difﬁculty in adequately simulating spring reverber-

ation lies in the complexity of the model of a helical spring which,

even in the linear case, possesses features which are very much

unlike those of what might seem to be similar systems in mu-

sical acoustics, such as the string, or ideal bar. See [5, 6, 7, 8]

for presentations of the dynamical system governing spring vibra-

tion. Helical structures, due to their inherent curvature possess

the characteristics of both coherent wave propagation, giving rise

to discrete echoes, and dispersive wave propagation, giving the

response a diffuse character as well. Nevertheless, modeling of

spring reverberation has proceeded apace, with simulation meth-

ods based on allpass networks [9, 10, 11], and, for simpliﬁed mod-

∗This work was supported by the European Research Council, under

grant StG-2011-279068-NESS.

els, through standard time stepping procedures such as ﬁnite dif-

ference schemes [12].

A model of spring vibration is presented in Section 2, accom-

panied by dispersion analysis, illustrating regions of coherent and

dispersive wave propagation. Finite difference schemes are intro-

duced in Section 3, and simulation results and performance analy-

sis are presented in Section 4.

2. HELICAL SPRING MODELS

A helical structure of the type found in typical spring reverberation

units, is characterized by its geometrical parameters as illustrated

at left in Figure 1, and namely: R, the coil radius in m, r, the

wire diameter in m, α, the pitch angle, and L, the unwound spring

length in m. Also necessary are parameters describing the mate-

rial, namely E, Young’s modulus in Pa, ν, Poisson’s ratio, and ρ

the material density in kg/m3. A general model of the linear dy-

namics of such helical structures is due to Wittrick [5, 6] and is

most easily written in terms of time tand a curved coordinate s

along the axis of the spring (see Figure 1 at right) as a system of

12 variables:

∂sξ=cos2(α)

RJξ+Eθ+1

GAγ Kp (1a)

∂sθ=cos2(α)

RJθ+1

EI Lm (1b)

∂sm=cos2(α)

RJm +Ep +ρIM∂ttθ(1c)

∂sp=cos2(α)

RJp +ρA∂ttξ(1d)

Here, the vector variables ξ,θ,mand p,

ξ=

u

v

w

θ=

θu

θv

θw

m=

mu

mv

mw

p=

pu

pv

pw

(2)

represent, respectively, displacements, rotation angles, moments

and forces relative to orthogonal local coordinates (γu, γv, γw)at

location salong the spring axis. A=πr2is the cross sectional

area of the spring, and ∂sand ∂trepresent partial differentiation

with respect to the coordinates sand t, respectively (and ∂tt =

∂2

t). The system matrices Jand Eare given by

J=0 tan(α)−1

−tan(α) 0 0

1 0 0 E=0 1 0

−100

0 0 0(3)

DAFX-1

Proc. of the 16th Int. Conference on Digital Audio Effects (DAFx-13), Maynooth, Ireland, September 2-4, 2013

Figure 1: A helical spring. Left, side view illustrating the coil radius R, wire radius rand pitch angle α. Right, view illustrating the

orthogonal coordinates [γu, γv, γw]at curvilinear coordinate salong the spring wire axis.

and K,Land Mare diagonal matrices given by

K="1 0 0

0 1 0

0 0 Gγ

E#L="1 0 0

0 1 0

0 0 EI

GIφ#M="1 0 0

0 1 0

0 0 Iφ

I#(4)

where G=E/2(1 + ν)is the shear modulus, γis a shear area

correction, and where Iand Iφare transverse and polar moments

of inertia, respectively. For a spring of circular cross section, γ=

0.88,I=πr4/4, and Iφ= 2I=πr4/2.

2.1. Scaled Form

In nondimensional form, i.e., introducing

s′=s

s0

t′=t

t0

ξ′=ξ

s0

θ′=θp′=s2

0p

EI m′=s0m

EI

(5)

where s0=R/ cos2(α)and t0=pρA/EI R2/cos4(α)yields

the scaled system (after removing primes):

∂sξ=Jξ+Eθ+EI

GAγs2

0

Kp (6a)

∂sθ=Jθ+Lm (6b)

∂sm=Jm +Ep +I

As2

0

M∂ttθ(6c)

∂sp=Jp +∂ttξ(6d)

This model is quite reﬁned, and can be classiﬁed as thick—indeed

it reduces to the thick model of beam vibration, due to Timoshenko

[13], in the limit of vanishing curvature.

2.2. Reduction to a Thin Model

The model described in the previous sections is a complete de-

scription of the linear vibration of a helical spring; for audio rate

simulation of spring reverberation, however, it is unneccesarily

complex. To this end, note that the factors I/As2

0in (6a) and

(6c) are proportional to r2/R2, and are thus extremely small for

springs typically found in reverberation units. Neglecting these

terms leads to the form:

∂sξ=Jξ+Eθ∂sθ=Jθ+Lm (7a)

∂sm=Jm +Ep ∂sp=Jp +∂ttξ(7b)

This system in 12 variables (i.e., in 4 three-vector variables)

can be reduced to a system in eight variables, as:

A∂t˜

ζ=Q†˜

p˜

p=Q˜

mD∂t˜

m=Q†˜

φ˜

φ=Q˜

ζ

(8)

where the reduced variables ˜

ζ,˜

φ,˜

mand ˜

pare deﬁned as

˜

ζ=∂tv

w˜

φ=∂tθu

θv˜

m=mv

mw˜

p=pu

pv(9)

and where the matrix differential operators Q,Q†,A, and Dare

deﬁned as

Q=−∂s−µ∂s

−µ1 + ∂ssQ†=µ ∂s

−1−∂ss µ∂s(10)

A=1 0

0 1 −∂ssD=1 0

0b−∂ss(11)

Note that the displacement umay be recovered from the system as

u=∂sw. The scaled system as a whole now depends only on the

three parameters µ,band λ, deﬁned as

µ= tan(α)b=EI

GIφ

λ=L/s0(12)

This system is similar to that presented in [8]; as a prelude to

numerical implementation, note that by elimination of ˜

φand ˜

pthe

system can be rewritten in terms of ˜

ζand ˜

mas

A∂t˜

ζ=∂sR˜

mD∂t˜

m=∂sR˜

ζ∂sR=Q†Q(13)

where Rmay be written explicitly as

R=−2µ1−µ2+∂ss

1−µ2+∂ss 2µ(1 + ∂ss)(14)

Finally, by elimination of ˜

m, a system in ˜

ξ= [v w]Talone

may be written as

A∂tt˜

ξ=∂ssRD−1R˜

ξ(15)

where here, D−1is to be interpreted as the inverse of the differen-

tial operator D.

DAFX-2

Proc. of the 16th Int. Conference on Digital Audio Effects (DAFx-13), Maynooth, Ireland, September 2-4, 2013

2.3. Dispersion Relations

As a justiﬁcation for the use of the simpliﬁed model (8), as op-

posed to the full model (1), it is useful to examine the two sys-

tems assuming wave like solutions—which is appropriate, as both

systems are constant coefﬁcient linear systems. To this end, solu-

tions with harmonic time/space dependence ej(ωt+β s)for all com-

ponents in both cases, where ωis temporal frequency, and βis

wavenumber (both nondimensional). Partial differential operators

∂tand ∂sthus behave as multiplicative factors, i.e.

∂t=⇒jω ∂s=⇒jβ (16)

Under this assumption, system (1) reduces to a 12 ×12 sys-

tem of equations in ωand β, and thus possesses 12 dispersion

relations of the form ω(β); these are generally grouped in pairs

(corresponding to leftward and rightward propagation), so there

are essentially six independent such relations.

Consider now a spring of dimensions typical to spring rever-

beration units. As shown in Figure 2, the six dispersion relations

for the full system span a large range of frequencies; there are only

two, however, which lie comfortably within the audio range, with

the other four in the range above 100 kHz. The reduced model

(8) very accurately models the two relations in the audio range,

as shown in Figure 2. It is safe to use the reduced model under

virtually any spring conﬁguration to be found in a reverberation

unit.

101102

10−4

10−2

100

102

f(kHz)

β(1/m)

Figure 2: Log-log plot of dispersion relations f(β), in Hz, in di-

mensional form, for a steel spring of coil radius of R= 5 mm, a

wire radius of r= 1 mm, with a pitch angle of α= 5◦. Black:

the six dispersion relations corresponding to the full model (1),

with the upper two indistinguishable in this plot. Red: the two dis-

persion relations for the reduced system (8). The limit of human

hearing at f=20 kHz is indicated by a blue line.

The two principal dispersion relations of interest possess sev-

eral general features. See Figure 3 at left, showing such rela-

tions for a typical spring under variation in the pitch angle α.

Both curves exhibit a main “hump"; the curves track each other

closely, but one of the two falls to zero at dimensionless wavenum-

ber β=p1 + µ2; this wavenumber corresponds to a wavelength

of exactly one full turn of the spring, and at this wavenumber, rigid

body rotation (i.e., at frequency ω= 0) is permitted. The second

curve shows increasing deviation from the ﬁrst in this region as the

pitch angle αis increased. Above this critical wavenumber, both

curves approach those corresponding to dispersive wave propaga-

tion in an ideal thin bar.

More useful, from the perceptual standpoint, is the examina-

tion of group velocity curves vg=dω/dβ (see the right panel of

Figure 3); ﬂat regions of the curves correspond to coherent wave

propagation, and thus to spectral regions over which echoes will

be perceived. For more on the interpretation of dispersion rela-

tions for the helical spring system, see [14].

0 50 100 150 200 250

0

2

4

6

8

10

β(1/m)

f(kHz)

0◦

4◦

8◦

0 50 100 150 200 250

−1000

−500

0

500

1000

1500

2000

β(1/m)

vg(m/s)

0◦

4◦

8◦

Figure 3: Left: Principal dispersion relations (dimensional) for the

helical spring of parameters given in the caption to Figure 2, under

variation in the pitch angle α, as indicated. Right: Associated

group velocities vg.

2.4. Energy, Boundary Conditions, Forcing and Output

The total energy stored in the spring is a useful quantity in numer-

ical design—see, e.g., [15] for more on this topic. In the present

case of a lossless system, it is conserved, provided boundary con-

ditions are chosen as lossless as well.

An energy balance for the system (8) may be written as

d

dt H=Bs=λ− Bs=0 (17)

where the total energy His deﬁned as

H=1

2Zλ

0

ζ2

v+ζ2

w+(∂sζw)2+m2

v+bm2

w+(∂smw)2ds (18)

where the ﬁrst three terms under the integral correspond to kinetic

energy density in the three coordinate directions, and the latter

three to potential energy. The boundary term consists of six terms:

B=ζvpv+ (∂sζw)

| {z }

ζu

pu+ζw(µpv−∂spu+∂s∂tζw)

| {z }

pw

(19)

+mvφv+ (∂smw)

| {z }

mu

φu+mw(µφv−∂sφu+b∂s∂tmw)

| {z }

φw

When evaluated at the endpoints of the domain, as in (17), Bhas

the interpretation of power supplied at the boundaries. Under un-

forced conditions, if B= 0 at the boundaries, then the system

is lossless—i.e., dH/dt = 0. Natural boundary conditions are

that one constituent of each of the six products in the boundary

term above vanish, generalizing frequently occurring conditions

such as free, clamped or simply supported to the case of a heli-

cal structure. There are obviously many combinations (4096, in

fact, considering that there are 64 possible choices of such natural

boundary conditions at each end of the spring)!

The terms in (ζ , p)above correspond to power supplied through

forcing along the coordinate directions, and those in (m, φ)to

power supplied through twisting action about the three coordi-

nate directions. Under forced conditions in a spring reverberation

unit, though a combination of linear and rotational forcing is cer-

tainly present, the assumption here will be that the forcing occurs

through the former mechanism, so that one may specify pu,pvor

DAFX-3

pw(through the implicit expression in (19)) as an input signal, and

leave the corresponding velocity component unspeciﬁed.

A simple means of taking output is by directly reading values

of the spring velocity ˜

ζat the location s=λ(or, if working with

the simpliﬁed system (15) in displacements, their time derivatives,

which will scale roughly with observed output signals).

2.5. Losses

The question of losses within the spring, due to viscothermal ef-

fects is an important one for reverberation purposes; however, it

has not seen any investigation, experimental or otherwise, to the

knowledge of this author. A basic three parameter loss model, al-

lowing for uncoupled damping effects is as follows:

A∂tt˜

ξ=∂ssRD−1R˜

ξ−σv0

0σw−σu∂ss∂t˜

ξ(20)

where σu, σv, σw≥0are loss parameters corresponding to vibra-

tion in the γu,γvand γwcoordinates respectively (and taking into

account the relationship between uand win the reduced form).

3. FINITE DIFFERENCE TIME DOMAIN METHODS

There are several different equivalent systems presented in Section

2; the full model in eight variables (8), a system in four variables

(13) and ﬁnally a system in two displacements alone (15) (as well

as the lossy system (20)). The ﬁrst is useful in the construction

of simulation methods, and in properly modeling boundary condi-

tions; the latter are the forms which are most useful in a practical

implementation.

3.1. Grid Functions

In moving to a discrete time formulation, the ﬁrst step is the choice

of sample rate Fs, and the resulting time step k= 1/Fs.

First consider system (15), in the displacements ˜

ξalone. A

grid spacing hmay be chosen, such that λ/h =N, for integer

N, and subject to stability conditions (see Section 3.4). The grid

function ˜

ξn

lthen represents an approximation to ˜

ξ(s, t)at times

t=nk, for integer n, and at locations s=lh, for l= 0,...,N.

See Figure 4, showing the lattice of grid point corresponding to ˜

ξn

l

in black.

The system (13) in velocities ˜

ζand moments ˜

mpermits an

interleaved discretization, similar to that which occurs in FDTD

schemes for electromagnetics [16, 17]. One may deﬁne the grid

functions

˜

ζn+1

2

l≅˜

ζ|t=(n+1

2)k,s=lh ˜

mn

l+1

2

≅˜

m|t=nk,s=(l+1

2)h

(21)

as illustrated by white points in Figure 4. ˜

ζn+1

2

lis deﬁned for

l= 0,...,N, and ˜

mn

l+1

2for l= 0,...,N −1.

Finally, for the complete system (8), grid functions correspond-

ing to ˜

φand ˜

pare necessary. It is appropriate, given the structure

of system (8), to split the components of these vector variables

onto distinct grids as:

˜

φn+1

2

u,l+1/2˜

φn+1

2

v,l ˜

pn

u,l ˜

pn

v,l+1

2(22)

˜

ξ, ˜pu

˜

ξ, ˜pu

˜

ξ, ˜pu

˜

ξ, ˜pu

˜

ξ, ˜pu

˜

ξ, ˜pu

˜

ξ, ˜pu

˜

ξ, ˜pu

˜

ξ, ˜pu

˜m, ˜pv

˜m, ˜pv

˜m, ˜pv

˜m, ˜pv

˜m, ˜pv

˜m, ˜pv

˜m, ˜pv

˜m, ˜pv

˜m, ˜pv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

ζ, ˜

φv

˜

φu

˜

φu

˜

φu

˜

φu

˜

φu

˜

φu

˜

φu

˜

φu

˜

φu

˜

φu

˜

φu

˜

φu

x= 0hx=h

2x=hx=3h

2x= 2hx=5h

2

t= (n−1)k

t= (n−

1

2)k

t=nk

t= (n+1

2)k

t= (n+ 1)k

t= (n+3

2)k

t= (n−

3

2)k

Figure 4: Computational grids for FDTD schemes for the helical

spring. Black points indicate a regular lattice for displacements

˜

ξn

land white points indicate an interleaved lattice in velocities

˜

ζn+1

2

land moments ˜

mn

l+1

2. A scheme for the full system requires

an additional lattice of points, indicated in green.

where ˜

φn+1

2

v,l and ˜

pn

u,l are deﬁned for l= 0,...,N, and ˜

φn+1

2

u,l+1/2

and ˜

pn

v,l+1

2for l= 0 ...,N −1. The lattices of grid points cor-

responding to these grid functions are as indicated in Figure 4.

3.2. Difference Operators

For a given grid function fn

l(where here, land nare either integer

or half-integer), forward and backward approximations δt+and

δt−to the time derivative ∂tare deﬁned as

δt+fn

l=1

kfn+1

l−fn

lδt−fn

l=1

kfn

l−fn−1

l(23)

Similarly, forward and backward approximations δs+and δs−to

the spatial derivative ∂sare deﬁned as

δs+fn

l=1

h(fn

l+1 −fn

l)δs−fn

l=1

h(fn

l−fn

l−1)(24)

Approximations to higher derivatives may be obtained through

composition of the above operations. For example, centred ap-

proximations to the second time and space derivatives ∂tt and

∂ss may be obtained as the operator products δtt =δt+δt−and

δss =δs+δs−.

The main spatial differential operators for the spring system

are as given in (10), and may be directly transferred to spatial dif-

ference operators as

Qd,±=−δs±−µδs±

−µ1 + δssQ†

d,±=µ δs±

−1−δss µδs±

Ad=1 0

0 1 −δssDd=1 0

0b−δss(25)

Note that due to the interleaved character of the grid functions, the

differential operators Qand Q†have been replaced by forward

and backward difference operations Qd,±, and Q†

d,±respectively.

If the reduced systems (13) or (15) are to be used, then the dif-

ference operator Rd, corresponding to Rmay be deﬁned in terms

of either of these pairs of operators as

δs±Rd=Q†

d,±Qd,±(26)

DAFX-4

and takes the explicit form

Rd=−2µ1−µ2+δss

1−µ2+δss 2µ(1 + δss)(27)

3.3. Interleaved Scheme

Assembling the various difference approximations to the operators

in (8) leads immediately to the following interleaved form:

Adδt−˜

ζ=Q†

d,−˜

p˜

p=Qd,−˜

m(28)

Ddδt+˜

m=Q†

d,+˜

φ˜

φ=Qd,+˜

ζ

Reduced forms corresponding to (13) and (15) can be written

as

Adδt−˜

ζ=δs−Rd˜

mDdδt+˜

m=∂s+Rd˜

ζ(29)

and

Adδtt˜

ξ=δssRdD−1

dRd˜

ξ(30)

where as before, D−1

dis to be interpreted as the inverse of the

difference operator Dd(i.e., in implementation it will become a

matrix inversion or linear system solution).

Notice in particular that the single variable scheme in (30) de-

pends only on centered difference operators and is thus second

order accurate. All of the above schemes are necessarily implicit,

due to the action of the operators Adand Dd(in implementation,

these lead to sparse linear system solutions to be carried out at each

time step).

3.4. Stability and Numerical Boundary Conditions

The determination of explicit numerical stability conditions for

the scheme above is considerably more difﬁcult in the case of the

present scheme (or indeed any scheme for this system) than for

other related systems (such as, e.g., the ideal string or ideal bar

[15]). The difﬁculty is fundamental: for a given time step k, one

would like to ﬁnd a minimum value hmin of the grid spacing such

that the scheme does not exhibit explosive growth.

One approach to ﬁnding a numerical stability condition is the

familiar frequency domain approach due to von Neumann [18].

In this case all grid functions are assumed to exhibit harmonic

time/space dependence of the form ej(lhβ+nkω ), for angular fre-

quency ωand wavenumber β, and for half integer land n. Con-

sidering, for simplicity, the centred one-variable form (30), the op-

erators δtt and δss transform according to

δtt =⇒ −4 sin2(ωk/2)

k2δss =⇒ −4 sin2(βh/2)

h2(31)

and thus the scheme (30) possesses the characteristic equation

sin2(ωk/2)I2=k2

h2sin2(βh/2) ˆ

A−1

dˆ

Rdˆ

D−1

dˆ

Rd(32)

where I2is the 2×2identity matrix, and where ˆ

Ad,ˆ

Ddand ˆ

Rd

are the wavenumber-dependent matrices obtained through replace-

ment of δss by the factor −4 sin2(βh/2)

h2in the deﬁnitions (25) and

(27). As such, the necessary stability condition follows as

eig k2

h2sin2(βh/2) ˆ

A−1

dˆ

Rdˆ

D−1

dˆ

Rd≤1(33)

for all βwith 0≤β≤π/h. Ideally, one would like to be able to

determine a closed form expression for the minimal grid spacing

hmin(k), such that the above condition is satisﬁed for all h≥

hmin(k)—in audio applications, for best results, for a given time

step k, it is best to choose has close to hmin as possible [15].

Unfortunately, such a closed form condition is not available in the

present case, and thus hmin must be determined numerically.

In the limit of high sample rates (or small time steps), the min-

imal grid spacing approaches the following bound:

lim

k→0hmin(k) = √2k(34)

The square root dependence is typical of schemes for stiffsystems

such as the ideal bar (indeed, at high frequencies, the helical spring

system approaches that of the ideal bar). See, e.g., [15].

Energy conservation methods [19] are a more powerful means

of obtaining stability conditions, as proper numerical boundary

conditions may also be determined (though the difﬁculty in ob-

taining a closed form expression for hmin remains). The idea is

to obtain an energy balance analogous to (17), such that numerical

energy is conserved from one time step to the next—numerical sta-

bility then amounts to ﬁnding conditions under which the numeri-

cal energy is positive semi-deﬁnite in the grid functions, allowing

solution growth to be bounded.

Though there is not space here to give a full treatment of en-

ergy methods, a discrete energy balance can be shown to be:

δt+Hd=Bd,0− Bd,N (35)

where one expression for Hn

d, the discrete conserved energy at

time step n, is

Hn

d=h

2N

X

l=0

′ζn

v,l2+ζn

w,l2+

N−1

X

l=0

1

h2ζn

w,l+1 −ζn

w,l2

+

N−1

X

l=0

mn+1

2

v,l+1

2

mn−1

2

v,l+1

2

+bmn+1

2

w,l+1

2

mn−1

2

w,l+1

2

+1

h2

N

X

l=0

′mn+1

2

w,l+1

2−mn+1

2

w,l−1

2mn−1

2

w,l+1

2−mn−1

2

w,l−1

2

where the primed sum indicates a factor of 1/2 applied at l= 0

and l=N. Such an expression mirrors that in (18), though in

this case, the terms in ˜

mare not necessarily positive. The deter-

mination of conditions under which the above expression is non-

negative as a whole (by relating ˜

mback to ˜

ζthrough (29)) is dif-

ﬁcult, and amounts to the same problem discussed with reference

to frequency domain methods above.

The boundary terms Bd,0and −Bd,N again indicate power

supplied at the endpoints of the domain, at l= 0 and l=N; the

expressions are rather lengthy, and will not be included here—the

general form, however, is the same as that for the continuous sys-

tem from (19), and is made up of six products of grid functions

evaluated at the boundary. The important point is that one may

ensure numerical losslessness, under unforced conditions, by re-

quiring that one member of each of the six pairs vanishes. See

Section 4.2. It is important to point out that, in contrast to the con-

tinuous case, the expression for the numerical energy Hdis not

unique—each choice leads to a distinct set of numerical boundary

conditions.

3.5. Numerical Dispersion

The scheme (28) (or the equivalent reduced forms) for the heli-

cal spring exhibits numerical dispersion—i.e., propagation speeds

DAFX-5

deviate from those of the model system. Such behaviour may be

analyzed through the characteristic equation (32), which possesses

two solutions ω(β). See Figure 5, showing numerical dispersion

relations at a variety of audio sample rates. The dispersion curves

converge (with increasing sample rate) rather slowly to those of the

model system. An appeal to more delicate modeling is in order—

see Section A for some more involved numerical designs targeting

this deﬁciency.

0 50 100 150 200 250 300

0

5

10

15

20

25

β(1/m)

f(kHz)

model

Fs= 44.1 kHz

Fs= 88.2 kHz

Fs= 176 kHz

Figure 5: Numerical dispersion relations, for a variety of audio

sample rates, for scheme (28) for the helical spring system, for a

steel spring of coil radius R= 5 mm, wire radius of r= 1 mm,

and pitch angle α= 5◦.

4. SIMULATION RESULTS AND PERFORMANCE

ANALYSIS

In this section, some simulation results are presented, for springs

of dimensions typically found in reverberation units.

4.1. Response to an Impulsive Excitation

Figure 6 shows snapshots of the time evolution of the state of a he-

lical spring, when subjected to a short impulsive excitation aligned

nearly with the coil axis (at right), and transverse to it (at left)—in

this case, the values of the forcing function ˜

pin the appropriate

direction speciﬁed at the boundary at l= 0. Note in particular

the conversion of thevibrational energy almost instantaneously to

vibration in the other coordinate directions.

4.2. Energy Conservation

The scheme (28), as discussed in Section 3.4, conserves energy to

machine accuracy under lossless conditions, as long as appropriate

conservative boundary conditions are applied. See Figure 7, illus-

trating the variation in numerical energy for a spring subjected to

an impulsive excitation—note that energy is quantized to multi-

ples of machine precision. Such a property, beyond being useful

in stability analysis, serves as an excellent debugging tool—any

errors in the implementation will almost certainly lead to anoma-

lous variation in the numerical energy. When losses are present,

numerical energy, at least under the model will be monotonically

decreasing.

4.3. Spring Responses

In this section, spectrograms of simulated spring output responses

are shown. In all cases here, the spring is steel, of length L= 5

m, with R= 4 mm, r= 0.2mm, and with a pitch angle of 1.7◦;

Figure 6: Snapshots of the time evolution of a helical spring, sub-

ject to an impulsive excitation, at times as indicated. The spring

is steel, with R= 4 mm, and r= 0.2mm and a pitch angle of

α= 5◦. Left: excitation along coordinate direction γv. Right:

excitation along coordinate direction γw. Displacements are ex-

aggerated, for visibility.

0 50 100 150 200 250 300 350 400

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2x 10−15

time step n

Normalized energy variation

Figure 7: Numerical energy variation for the spring of parameters

as given in the caption to Figure 6, using scheme (28) at a sample

rate of 44.1 kHz. Multiples of machine epsilon are shown as grey

lines.

output is drawn from velocity ζwin the γwcoordinate direction.

Other parameters will be varied here.

The most important consideration, given the discussion of nu-

merical dispersion in Section 3.5, is that of anomalous wave speed,

DAFX-6

particularly for echoes. Figure 8 shows spectrograms for spring

output under successively larger sample rates. In general, the spec-

trograms exhibit a complex region, under a cutoff frequency (the

frequency at the top of the hump in the plot of the dispersion rela-

tion in Figure 3), over whichmultiple families of dispersive echoes

are visible. Above the cutoff, a single family of dispersive chirp-

like echoes persists. It is this family which is most affected by

numerical dispersion, as should be evident in the plots in Figure

5, and at 44.1 kHz, wavespeed is anomalously slow. Thus, unless

a scheme with reduced dispersive properties can be devised, such

schemes will produce anomalous resultsat low audio rates (though

they may be used at oversampled rates). See Section A for some

possible variants on the scheme presented in Section 3.3.

Figure 8: Spectrograms of output responses, under different

choices of the sample rate, as indicated.

Loss, though discussed only in passing in this article, obvi-

ously plays a major role in determining the characteristic sound of

a spring reverberation unit. Considering the simple lossy model in

(20), it is simple to arrive at a generalization of scheme (30), by re-

placing instances of ∂tby a centered approximation (δt++δt−)/2,

and ∂ss by δss. It is also possible to show that such a perturbation

leads to monotonic energy loss.

Consider two cases, as illustrated in Figure 9, selecting for loss

along one of the two coordinate directions γvor γw; as is easily

visible, loss along the transverse coordinate γvhas a much greater

effect in terms of energy decay.

Figure 9: Spectrograms of output responses, under different

choices of loss coefﬁcients σvand σw, as indicated. The sample

rate is 88.2 kHz.

4.4. Computational Cost

Computational cost for the scheme given in Section 3.3 is high,

but not extreme; clearly it depends strongly on the sample rate, so

there is some motivation to look forschemes with reduced dispersion—

see Section A. As an example, consider a spring of dimensions

typical to a reverberation device. In Table 1, simulation times,

for one second output are given, for a single core Matlab imple-

mentation on a standard laptop computer. Notice in particular that

the grid size scales roughly with √Fs, and computation time with

F3/2

s—reﬂecting the limiting stability condition from (34).

Table1: Number of grid points Nand calculation time, in seconds,

for one second output at various sample rates, for a spring with

R= 4 mm, r= 0.2mm, L= 5 m and α= 1.7◦.

FsNcalculation time (s)

44 100 1257 18.13

88 200 1639 50.90

176 000 2205 141.0

5. CONCLUDING REMARKS

A model for a helical spring has been presented here; the continu-

ous model (8) presented, while extremely accurate in the case of a

lossless, unforced spring of dimensions typical in spring reverber-

ation units, is still lacking in several features which are necessary

if one is to arrive at a complete model of a spring reverberation

device.

Loss has not been considered here in any depth; as has been

mentioned, models of loss in helical structures are not readily avail-

able. Even an empirical study of losses (by measuring, say, band-

withdths of spectral peaks, as in the case of a string of vibrating

bar) is complicated, as there are two overlapping families of modal

frequencies (corresponding to the two distinct dispersion relations

for the system); furthermore, each mode is itself a mixture of lon-

gitudinal and transverse vibration, so a direct association with loss

characteristics of simpler non-curved systems such as strings and

bars is not immediately forthcoming.

The forcing mechanism also has not been described here. In

a typical spring reverberation unit, the excitation is a permanent

magnet attached to one end of the spring, and driven by an electro-

magnetic ﬁeld (the strength of which is proportional to the input

signal). The exact details of the forcing, and how it couples to

the various components of displacement and rotation is as yet un-

known, and is in need of experimental investigation. The analysis

of boundary conditions for the spring system given in Section 2.4,

however, does at least provide a framework for arriving at a com-

patible forcing term, which will certainly have the character of a

mass-spring system.

The numerical method presented here iswell-behaved numer-

ically under all possible boundary terminations, which may be eas-

ily associated with those of the underlying model system; energy

conservation, in the lossless case, has been used as a design prin-

ciple. In terms of accuracy, however, other problems emerge—

all are due to the appearance of a new length scale in the case

of a tightly curved structure such as a spring found in a typical

reverberation unit. The dispersion characteristics possess impor-

tant features at relatively high wavenumbers (corresponding to the

length of one turn of the helix); in uncoiled structures, such high

wavenumbers are associated with high temporal frequencies, and

DAFX-7

thus there is less perceptual importance associated with them. In

this case, however, the temporal frequencies of interest lie directly

in the low audio range, and thus great care is necessary in numer-

ical design over the whole range of wavenumbers. One simple

remedy is to operate at oversampled rates; but certain approaches

based on parameterized FDTD methods (see Section A) offer some

degree of control over such perceptually important features.

Given that the input and output locations for the spring rever-

beration system is generally always taken from the same locations

(i.e., the ends of the spring), and also that the system is linear and

time invariant, an interesting alternative to FDTD methods might

involve modal approaches, as in, e.g., the standard helical spring

literature [6], and also as used in sound synthesis [20, 21, 22]. The

obvious advantages relative toFDTD methods are (a) reduced run-

time cost, (b) the possibility of obtaining exact behaviour, and (c)

better control over loss. There are disadvantages as well; one must

precompute the modal shapes and frequencies ofﬂine, which is po-

tentially a very large undertaking, as well as store them, for each

new set of parameters dand µ, and for a particular set of boundary

conditions; still, though, this would seem to be one of the most

suitable systems for modal-based effects modeling.

A. IMPROVED FDTD DESIGNS

Numerical dispersion is a strong effect for the scheme presented

in Section 3.3, which is the simplest possible choice for the helical

spring system. Other choices are possible, including free parame-

ters allowing for tuning of the algorithm. To this end, consider the

following modiﬁcations of the spatial difference operators given in

(25) and (27):

Rd=−2µ1−µ2+ (1 + ǫ1h2)δss

1−µ2+ (1 + ǫ1h2)δss 2µ(1 + (1 + ǫ1h2)δss)

Ad=1 0

0 1 −(1 + ǫ2h2)δssDd=1 0

0d−(1 + ǫ3h2)δss

Three parameters ǫ1,ǫ2and ǫ3have been introduced—note that all

three are multiplied by factors of h2, so that the resulting scheme

(29), when the above operators are employed, remains consistent

with the helical spring system [18].

Under appropriate choices of the free parameters (perhaps cho-

sen through an optimization procedure), much better behaviour

can be obtained at audio sample rates. See Figure 10. Interest-

ingly, such schemes can also be cheaper computationally than the

unparameterized scheme, as hmin is generally larger (leading to a

smaller grid size).

B. REFERENCES

[1] V. Välimäki, U. Zölzer, and J. O. Smith, Eds., 2010, IEEE Trans-

actions on Audio Speech and Language Processing: Special Issue on

Virtual Audio Effects andMusical Instruments.

[2] L. Hammond, “Electrical musical instrument,” Feb. 2 1941, US

Patent 2,230,836.

[3] A.C. Young and P. It, “Artiﬁcial reverberation unit,” Oct. 8 1963, US

Patent 3,106,610.

[4] J.D. Stack, “Sound reverberating device,” Mar. 9 1948, US Patent

2,437,445.

[5] W. Wittrick, “On elastic wave propagation in helical springs,” Inter-

national Journal ofMechanical Sciences, vol. 8, pp. 25–47, 1966.

0 50 100 150 200 250 300

0

5

10

15

20

25

β(1/m)

f(kHz)

model

simple scheme

parameterized scheme

Figure 10: Numerical dispersion relations, at 44.1 kHz, for a

spring with R= 5 mm and r= 1 mm, and with pitch an-

gle α= 5◦: for the simple scheme (in red) and for a param-

eterized scheme (in green), for ǫ1= 0.084,ǫ2=−0.291 and

ǫ3=−0.364.

[6] J. Lee and D. Thompson, “Dynamic stiffness formulation, free vi-

bration and wave motion of helical springs,” Journal of Sound and

Vibration, vol. 239, no. 2, pp. 297–320, 2001.

[7] V. Yildrim, “Investigation of parameters affecting free vibration

frequancy of helical springs,” International Journal for Numerical

Methods in Engineering, vol. 39, pp. 99–114, 1996.

[8] L. Della Pietra and S. della Valle, “On the dynamic behaviour of

axially excited helical springs,” Meccanica, vol. 17, pp. 31–43, 1982.

[9] J. Abel, D. Berners, S. Costello, and J. O. Smith III, “Spring reverb

emulation using dispersive allpass ﬁlters in a waveguide structure,”

121st AES Convention, SanFrancisco, October, 2006. Preprint 6954.

[10] J. Parker, “Efﬁcient dispersion generation structures for spring reverb

emulation,” EURASIP Journal on Advances in Signal Processing,

vol. 2011, pp. 646134, 2011.

[11] J. Parker V. Välimäki and J. Abel, “Parametric spring reverberation

effect,” Joural of the Audio Egineering Society, vol. 58, no. 7/8, pp.

547–562, 2010.

[12] S. Bilbao and J. Parker, “A virtual model of spring reverberation,”

IEEE Transactions on Audio Speech and Language Processing, vol.

14, no. 2, pp. 695–705, 2010.

[13] K. Graff, Wave Motion in Elastic Solids, Dover, New York, New

York, 1975.

[14] S. Bilbao and J. Parker, “Perceptual and numerical issues in spring

reverberation models,” in Proceedings of the International Sympo-

sium on Musical Acoustics, Sydney, Australia, 2010.

[15] S. Bilbao, Numerical Sound Synthesis, John Wiley and Sons, Chich-

ester, UK, 2009.

[16] K. Yee, “Numerical solution of initial boundary value problems in-

volving Maxwell’s equations in isotropic media,” IEEE Transactions

on Antennas and Propagation, vol. 14, pp. 302–307, 1966.

[17] A. Taﬂove, Computational Electrodynamics, Artech House, Boston,

Massachusetts, 1995.

[18] J. Strikwerda, Finite Difference Schemes and Partial Differential

Equations, Wadsworth and Brooks/Cole Advanced Books and Soft-

ware, Paciﬁc Grove, California, 1989.

[19] B. Gustaffson, H.-O. Kreiss, and J. Oliger, Time Dependent Problems

and Difference Methods, John Wiley and Sons, New York, New York,

1995.

[20] D. Morrison and J.-M. Adrien, “Mosaic: A framework for modal

synthesis,” Computer Music Journal, vol. 17, no. 1, pp. 45–56, 1993.

[21] J.-M. Adrien, “The missing link: Modal synthesis,” in Representa-

tions of Musical Signals, G. DePoli, A. Picialli, and C. Roads, Eds.,

pp. 269–297. MIT Press, Cambridge, Massachusetts, 1991.

[22] L. Trautmann and R. Rabenstein, Digital Sound Synthesis by Physi-

cal Modeling Usingthe Functional Transformation Method, Kluwer

Academic/Plenum Publishers, New York, New York, 2003.

DAFX-8