You are on page 1of 13

IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO.

4, MAY 2010

747

Volterra Series and State Transformation for


Real-Time Simulations of Audio Circuits Including
Saturations: Application to the Moog Ladder Filter
Thomas Hlie

AbstractVolterra series are known to be efficient to represent


weakly nonlinear systems and the first distortions. Their truncated
versions allow one to derive realizations (in the sense of system
theory) leading to networks composed of linear filters, sums, and
instantaneous products of signals, without instantaneous feedback
loops. Nevertheless, if saturation phenomena arise, truncating the
series at low order is not sufficient and the convergence can also be
lost. In this paper, the case of the Moog ladder filter is investigated.
Low-cost simulations based on realizations of Volterra series are
given. Their limitations with respect to the amplitude of input
signals are exhibited. Methods to increase the validity range and
to improve the efficiency of Volterra series expansions are detailed
on a single stage of the filter. In particular, changes of states
based on the difference between the original state and predictors
(parameterized by a tunable delay ) yield satisfying results.
The digital simulation of this system preserves the properties
mentioned above. It includes two delay lines (where the delay
can be chosen to be one sample) and nonlinear static functions
given by the method.
Index TermsAnalog audio circuit, nonlinear systems, saturation, simulation, Volterra series.

I. INTRODUCTION

ANY software versions of analog audio circuits used


in electro-acoustic music are available. They are based
on physical modeling, signal modeling, or heuristic solutions.
For some of them, musicians still prefer original circuits rather
than their digital versions. One reason is that analog circuits involve nonlinearities, responsible for perceptible characteristic
distortions. Even for weak nonlinearities, the distortion is progressively activated with respect to the signal amplitude so that
playing on the dynamics makes the sound live.
The Moog ladder filter [1] is such a nonlinear circuit. This
well-known analog circuit has been deeply studied (see, e.g.
[2][6]). In [7], a simulation which does not introduce aliasing
has been proposed, based on Volterra series of inputoutput systems. This formalism proves to be relevant to solve weakly nonlinear problems [8], [9]: it defines exact representations of such

Manuscript received April 02, 2009; revised September 13, 2009. Current version published April 14, 2010. This work was supported in part by the National
Research Agency and in part by the CONSONNES Project ANR-05-BLAN0097-01. The associate editor coordinating the review of this manuscript and
approving it for publication was Prof. Vesa Vlimki.
The author is with the Analysis/Synthesis Team, CNRS UMR9912-Ircam,
F-75004 Paris, France.
Digital Object Identifier 10.1109/TASL.2009.2035211

systems on given amplitude ranges; it provides low-cost digital


simulations for real-time audio applications. The simulations
deduced from Volterra kernels involve linear filters, sums, and
instantaneous products of signals, without instantaneous feedback loops (see, e.g. [10][13] for other sound applications).
The latter property is particularly interesting in coping with networks of nonlinear systems which include instantaneous (that
is, delay-free) connections. Nevertheless, when the nonlinearities are not reduced to slight or moderately audible distortions,
Volterra series are no longer efficient. This is the case when saturation phenomena arise, as in the case of the Moog filter.
Standard methods such as those of Euler or RungeKutta
are usually used to simulate nonlinear differential systems [14].
In the case of networks of nonlinear systems (with instantaneous connections), they are usually complemented by iterative
NewtonRaphson methods to solve the implicit equations due
to the connections. A method dedicated to solving this global
problem has also been proposed in [15][17].
In this paper, a solution based on Volterra series, which is able
to cope with saturation phenomena, is proposed and detailed on
the Moog ladder Filter. To enhance the validity range of Volterra
series, a solution would consist of accelerating the convergence
by using modified expansion processes (as continued fractions
or Pad approximants [18], divergent series and their transformations [19], compared to standard Taylor series expansions).
An alternative solution is proposed here: a change of variable
based on state predictors and such that the Volterra series has
only to manage the correction signal is considered. This change
and
(deof variable is parameterized by a function of
layed versions of the state and the input ). It is built such
that: 1) the validity of the weakly nonlinear hypothesis is significantly increased; 2) the reciprocal change of variable does
not involve instantaneous feedback loops and yields low cost
can be
computations; 3) the time-varying parameters
easily managed and considered as additional inputs of a Volterra
series.
The paper is organized into seven sections. Section II presents
the circuit of the Moog ladder filter and the associated equations. Section III introduces the Volterra series and some of their
fundamental properties. In Section IV, Volterra kernels and finite-order realizations are derived for a single stage, and then
for the complete Moog filter. In Section V, numerical simulations are performed and the limitations of this solution are
analyzed. In Section VI, two strategies to increase the validity
range are studied and applied to a single-stage filter. First, optimal polynomial approximations of the saturating function are

1558-7916/$26.00 2010 IEEE

748

IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010

so that
tion between (base) and

. Moreover, the PN-junc(emitter) is governed by


(1)

where the thermal voltage is


and
A for the temperature
the saturation current is
K, and where
J/K is the Boltzmann
constant and
is the electron charge.
is
[see
From (1), the ratio
and
Fig. 1(c)]. Moreover,
(2)
Now, for
and still from (1),
Fig. 1(b)]. Moreover,
sum of which yields
so that

[see
, the

and

(3)
and the difference of which yield
. Finally, rewriting the terms of the latter equation for
using (2), (3) and the capacitor law
leads to
Fig. 1. Circuits: (a) NPN transistor; (b) single-stage filter with polarization
voltage V ; (c) driver; (d) four-stages Moog ladder filter without loop; and
(e) complete Moog ladder filter including a feedback loop gain 4r .

used in place of Taylor series expansions. Second, state transformations based on state predictors are considered to increase
the weakly nonlinear hypothesis required by Volterra series. Finally, Section VII gives some conclusions.

In practice, the Moog ladder filter includes the circuit in


Fig. 1(d), a voltage input which tunes , some voltage adders,
and a loop with a tunable feedback gain [1], [5, p. 46]. This
, where
is the input
feedback is written
and
tunes the feedback gain [see Fig. 1(e)].
B. Dimensionless Model and Typical Values

II. MOOG LADDER FILTER CIRCUIT


The Moog ladder filter is a circuit composed of a driver and
and differena cascade of four filters involving capacitors
tial pairs of NPN-transistors (see Fig. 1). Following [1], transistors are LM3046 or BC109a,b,c, polarization voltages are
V,
V,
V,
V,
V corresponding to
,
,
. Capacitances are
nF for the Moog
Prodigy and
nF for the MiniMoog synthesizer. Moreover, is a voltage-controlled current which tunes a cut-off frequency (see below for typical values) and [in Fig. 1(e)] is a the
voltage-controlled gain which monitors a resonance, also called
, resonance with
the corner peaking (no resonance if
, see, e.g. [2]).
infinite -factor (self-oscillations) if
A. Transistors, Driver, and Filters
The NPN-transistors [see Fig. 1(a)] are configured such that
can be neglected. Indeed,
with
the base currents

Defining the dimensionless voltages


,
, a dimensionless version of the problem is given by
for

(4)
(5)

with

where the two parameters of the filter are the cut-off angular freand the feedback gain . Typical values
quency
used in this paper will be such that
Hz

kHz

and

Remark 1 (Time-Invariant Hypothesis and Consequences):


In this paper, parameters and are supposed to evolve slowly
compared to the oscillations of the input signal . This hypothesis is quite realistic and will allow the use of time-invariant versions of Volterra series in the solution. Nevertheless, in the final
realizations (e.g., in Figs. 6, 8 and 17), the parameters of filters
can be (slowly) varied. Moreover, the method presented below

HLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS

749

Fig. 2. System represented by a Volterra series fh g.

could be adapted for time-varying versions Volterra series [20],


[21].
III. NOTATIONS, VOLTERRA SERIES, AND PROPERTIES
This section recalls the definitions of single-input and multiple-input Volterra series and some useful interconnection
laws. The results given in this section are gathered from [8],
[9], [20][28].
A. Notations
Let
and
be vector spaces with diand
equipped with norms denoted
mensions
and
, respectively.
with
and
Moreover, for all matrix
, the coefficient at row and column is denoted
or
.
, its th column is
, and the
The th row of is denoted
concise notations , stand for

Fig. 3. Linear or multilinear combination of Volterra systems.

2), kernels are given by


in
the time domain ( is the Dirac distribution) and by the constant
in the Laplace domain.
functions
C. Interconnection Laws for Single Input Systems
,
, let
be the transfer
For
with input
, output
kernels of causal stable systems
and with convergence radius .
Then, the convergence radius of the global system described in
and the transfer kernels
Fig. 3 satisfies
are such that (see, e.g. [24]),
(Linear combination) If
where
is a
matrix,
,
then for all

(6)
(9)
When

is reduced to a row
or a column
vector, its th element is simply denoted
or
.
Finally,
denotes the Kronecker symbol which equals 1 if
and 0 otherwise.

B. Single Input Volterra Series (

(Multilinear combination) If
is a multilinear function, then for all

and

A single-input system is described by a Volterra series of kernels


(see Fig. 2) for inputs
such that
if the output
is given by the sum of multiple
convolutions

(10)
where

(7)
recalling that is th element of the vector
, where
is the convergence radius of
and
is the
-norm of
.
Remark 2: Results on well-posed space settings, computable
convergence radius and truncation error bounds can be found in
[29] for systems with a polynomial nonlinearity.
are zero for
. For
For a causal system, kernels
a causal stable system, their multivariate Laplace transforms
(8)
where
are analytic on
. Functions
are called the transfer kernels of order .
Remark 3: Volterra series embed systems described by: 1)
for
); 2) instantaneous nonlinear
linear filters (
with
which admits a series exfunctions
; 3) their various combinations
pansion
(linear, multilinear and cascade, see Section III-C). For the case

, and
the selection function
is defined by
.

and if
, then
Remark 4:
. Moreover, for
,
, and
(10) becomes the product combination given by

(Cascade) Let
and
be the transfer
kernels of two causal stable systems with input
and
, respectively, and with output
and
, respectively. The cascade
in Fig. 4 defines a system with transfer kernels
given by

(11)

750

IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010

. Its th row
Remark 6: This sequence is not empty
. Moreover,
if
.
is empty if
with input
, output
Finally, for
, and
with input
,
, the cascade
in Fig. 4 defines
output
given by
a system with transfer kernels

Fig. 4. Cascade of two Volterra systems.

The convergence radius


if

is such that

with
and

otherwise.
, if

),
. Vice
), then

Remark 5: If the first system is linear (


then (11) reduces to
, if
versa, if the second one is linear (

(13)
Remark 7: If the first system is linear (
then (13) reduces to

D. Multiple-Input Case (
)

, if

),

Define the set of multiple-orders


Then, the generalized version of (7) for multiple inputs
is given by

.
in which the
s index first order kernels
. Vice
versa, if the second one is linear (
, if
), then
where denotes the
-vector composed of 0 except its th row which equals 1. This
equation rewrites
(14)
(12)

where the input index

is defined by

The kernel
with multiple-order
represents the hoat order
,
mogeneous multinomial contribution of input
at order
at order
so that its global nonlinear order is . The convergence condition is characterized
by
where
is the convergence domain of
. The
extension of (8) is obtained substituting
,
,
and
by
,
,
,
and , respectively.
The linear and multilinear combination laws (9), (10) are still
,
,
and
,
valid with
and
and
defined
for
by the following sequence of indexes
:

..
.

with

IV. VOLTERRA KERNELS OF THE MOOG FILTER AND


FINITE-ORDER REALIZATIONS
This section is devoted to the derivation of the Volterra kernels of the Moog Filter, and to the finding of a realization (in the
sense of system theory). The method is first detailed on a single
stage of the Moog filter. Second, results are given for the complete Moog ladder filter. These results extend those presented in
[7]: higher order expansions are given and the method proposed
here shows how to derive straightforwardly the Volterra kernels
from the state-space representation.
A. Case of a Single Stage
1) Model: A single stage of the Moog ladder filter is described by the one dimensional differential system
for

(15)

,
and where the input
and the
with
(see
output corresponds to dimensionless voltages ,
Section II-B).
This causal, time-invariant system can be represented by a
Volterra series, since
admits a power series expansion
around the equilibrium point
for
, namely,
(16)

HLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS

751

Fig. 5. Canceling system C (dashed block diagram) associated with fF g.

with

, and more generally,


,
, where the
s denote the Bernoulli numbers [30, (4.5.64)].
Note that, for reasons which will appear later in this article,
(etc.) will not be replaced by
the symbolic coefficients ,
their numerical values in the following derivations.
2) Transfer Kernels: Denote
the transfer kernels of
with input and output . A convenient way to derive
consists of two steps: first, introduce a canceling system , that
is, a system the output of which vanishes if its input is pre; second, use the interconnection
cisely chosen as
to the (known) Volterra kernels involved in
laws to link
.
According to remark 3 (case b),
are the transfer ker. The linear operator
corresponds to
nels of
a Volterra series with null transfer kernels, except the first one,
which is the transfer function
on
. Thus, from
(15), the output of the overall system described in Fig. 5 is zero
so that the corresponding Volterra kernels are all zero.
Then, using interconnection laws given in Section III-C yields

(17)
. It
The first term in (17) represents the cascade
is not
is derived from (11) in which only the term with
zero (see also remark 5). The second term represents the cas. Note that the index
is associated
cade
with
while higher indexes
only involve
with
. The third term stands for
. From (9) with
, the sum of these terms finally defines
the transfer kernels of the complete block diagram, which are all
in (17) leads to the recursive algebraic equazero. Isolating
,
tions,

(18)
(19)
In (18), the right-hand side is a finite sum composed of kernels
with
. The transfer kernels are zero for
,

Fig. 6. Realization of the outputs x


associated with transfer kernels F of
order m 1, 3, 5, using filters with transfer function Q , sums, and products
in the time domain. Notice that for m
(dark gray part), the factor 3 in c
is due to the three contributions of terms 3, 4, 5 in F .

. For

=5

1, 3, 5, they are given by


first-order low-pass filter

3) Finite Order Realization: Consider the system deand


scribed in Fig. 3 with
, concatenated with a linear
. Moreover, assume that, for
system with transfer function
all
, the system described by
has zero
. Then, from
transfer kernels except that of order
interconnection laws (see (10) and remark 5), the transfer
of the global system prove to be all zero except
kernels
, which is
that of order where
given by,
(20)
can be decomposed into a sum of two such homogeThus,
neous systems with
,
,
,
, yielding the realization given in the second
and
stage (middle gray part) of Fig. 6: the first term corresponds
to
(three identity systems) and the
second one to
. Similarly, the
can be translated into the realizfive terms which compose
able systems detailed in the third stage (dark gray part) of Fig. 6,
noticing that the terms 3, 4, and 5 in correspond to three commuted versions of the same system (bottom of the figure).
B. Case of the Complete Moog Ladder Filter
In [7], the transfer kernels of the complete system (4), (5) with
and output are derived as follows: first, four single
input
stages are concatenated and their transfer kernels are computed
using interconnection laws; second, a canceling system which
links the latter kernels with those of the complete filter (with the
feedback loop) is used to compute the final kernels. The method

752

IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010

proposed below, which yields equivalent input-output realizations, is more generic and naturally preserves the topology of
the original state-space representation,
1) Model: From (4), (5), the dimensionless model of the
Moog ladder filter is described by the differential system with
single input
, with state
, given by

4) Isolate the term involving


(first term and
)
and solve these equations (recursively w.r.t. ).
Remark 9: More generally, some feedback loops or connections of systems can involve implicit (non differential) equations. For such algebraic differential systems represented by
for
and
for
, the method is similar to that proposed above except that, in point 3,
must be replaced by
where

for

(21)

(initial conditions),
(angular cut-off frewith
(tuning of the corner peaking).
quency) and
Remark 8: The usual output of the Moog filter is
with
, but other observed
outputs
could be considered, with
, as e.g.
in the Oberheim Xpander VCF. The transfer kernels of such an
where
are the kernels of
input-output system are
, that is, the input-to-state transfer
the system with output
kernels.
2) Transfer Kernels of a State-Space Representation: A
method to derive the input-to-state transfer kernels (here,
) of regular systems described by a state-space representation
such that
can be
summarized as follows.
1) Compute the multivariate series expansion of around the
, which yields (recalling
equilibrium point
that
is defined in Section III-D)

where the multilinear functions


are
and
given by
is the differential operator of order
with respect to th
variable (see, e.g. [23]).
2) Build the canceling system associated with the original differential system, by summing: i) the cascade
; ii) the infinite sum
of multilinear
, that is,
combinations due to the multilinear functions
, transfer kernels
considering Fig. 3 in which
are
(related to ) and the next
(related to ).
kernels are
3) Use the interconnection laws given in Section III-C to derive the equations satisfied by the kernels. This yields (removing the null terms)

is the

-identity ma-

trix.
3) Transfer Kernels of the Moog Ladder Filter: The method
proposed above is quite general and most of symbolic solvers
are able to solve these equations. Nevertheless, computing the
is usually tedious when
. For
multilinear functions
many systems, introducing intermediate (usually physically
meaningful) variables can help to reduce the complexity.
Here, consider the system with input , output
where

so that (21) rewrites


for
. From the linear interconnection law, the transfer
of this system are given by
kernels
(22)
Using these kernels and similarly to Fig. 5, the canceling system
of the Moog filter can be described by Fig. 7. This canceling
system leads to

(23)
From (22), isolating

[index

in (23)] yields
(24)
(25)

where

for

is the identity matrix,

, otherwise. For all

if

and

HLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS

Fig. 7. Canceling system C (dashed block diagram) associated with f[L


for i 2 [1; 4] with w = Kx + Eu (D (s) = s=! as in Fig. 5).

For

753

1, 3, 5, transfer kernels are given by

Fig. 8. Realization of w
(t) 2
and x
(t) 2
associated
with the transfer kernels W and L , respectively (m =1, 3, 5). Operators
: ( =2, 3, 5) denote array powers (if a is a vector, [a ] = ([a] ) ).

with

,
,
, and where
denotes the
array multiply (if and are vectors, then
).
4) Realization: All the expressions given above have
the form (20). Hence, a realization can be processed as in
1, 3, 5, this leads to the diagram
Section IV-A3. For orders
given in Fig. 8. Note that in this figure, the realization of each
kernel is presented in separated blocks and the connections
and the inputs of a
between the outputs of a block
block are not drawn. Moreover, the state approximated using
the five first Volterra kernels is
so
.
that, in this case, it is not necessary to compute
V. SIMULATIONS AND LIMITATIONS

A. Building Simulations From Realizations


1) Dynamical Parts and Numerical Versions: In Figs. 6 and
8, dynamical parts are linear filters with transfer functions
and
, respectively. They admit a linear state-space represenwhere
,
for
tation
[see (19)] and
,
for
[see
(25)].
The poles of these filters (with transfer functions
) are the roots or the characteristic polynomial
where is the identity matrix with the dihas only one real-valued
mension of . Here,
root
(cut-off angular frequency corresponding to a
pure exponential damping in the time domain). The four roots
are
of
,
and their complex

Fig. 9. Bode diagrams of [Q


and r = 0:9 (4).

for r

0), r

= 0 (

 ,r

= 0 3 ( )

3,

= 0 6 ( )

( denotes the standard imaginary complex


conjugated ,
number). For
, these poles all equal
(pure damping).
, there is less damping for
(no damping when
For
) and more damping for . Because of their imaginary
parts and their small damping, and are responsible for the
resonance (or the corner peaking).
Remark 10: The transfer function of the linearized version of
is
(see Fig. 9).
the Moog filter with output
are proportional to , moving
Since its poles , , ,
acts on the denominator of
like a change of the
frequency scale. This preserves the resonance quality. It makes
the control of the filter very intuitive, as stated in [2].
and
can be derived
Numerical simulations of
using standard methods such as the Euler backward dif, denoting
the
ferences (
is the sampling period) which
delay operator where
over-stabilize the original filter, the bilinear transform
) which exactly pre(M1:
serves the stability domain, etc. Applying the bilinear
transform (M1) to the state-space representation yields
where
,
, and
. For a single-stage filter,
and
with
. For the complete filter,

754

IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010

and
where
Toeplitz matrix defined by
..

..

..
..

is the (non symmetrical)

..

..

..

..

..

with

A detailed study of the pole deviations and their corrections


can be found in [2]. An alternative method (M2) is proposed in
Appendix A, which naturally preserves the exact pole mapping
(and so the stability) but requires the computation of a (quite
.
expensive) exponential of matrix
The strict stability of simulations based on truncated Volterra
series is equivalent to that of the linear filters involved in the
realizations. Hence, the bilinear transform (M1) and the method
(M2) proposed in the Appendix yield stable simulations for
in the time-invariant case. In practice, slow variations
of parameters and do not disturb the stability, but, from
the computational point of view, adapting the matrices involved
by the numerical methods is quite expensive: (M1) is a better
alternative than (M2) for real-time applications, unless using
large tables of precomputed exponentials of matrices.
2) Nonlinear Parts and Anti-Aliasing: In Figs. 6 and 8, the
nonlinearities are instantaneous products (or powers) of signals
in the time domain. Now, if the frequency range of a signal is
, and is
for , then it is
for the product
in the time domain.
As a consequence, if the frequency range of the input is
in Figs. 6 and 8, that of
is
. Hence, if
is the ShannonNyquist
frequency, using an oversampling with factor 5 will ensure that
no aliasing (due to the nonlinearities) will be generated.
In practice, another technique to avoid high oversampling factors consists of using a factor 2 (at least), decomposing products
of signals into a binary tree of products of (2) signals and inafter each
cluding a low-pass filter with cutoff frequency
binary product.
3) Results for Weakly Nonlinear Behaviors: Truncating the
Volterra series at low order is sufficient to capture the very first
. Simuladistortions which become audible when
tions are based on the bilinear transform (method M1) for timevarying filters and on the method (M2) proposed in Appendix A
for time-invariant filters.
Fig. 10 presents results for a single-stage filter based on Fig. 6
,
kHz,
and (M2) with
(linear sweep on
) with
Hz,
kHz,
s sampled at
kHz, and an amplitude
(quasi-linear regime). As
expected, the spectrograms show the generation of harmonics 3
and of harmonics 3 and 5 on
(with no aliasing since
on
).
of a complete filter based on
Fig. 11 presents the output
Fig. 8 and (M1), excited by the sum of white Gaussian noise
with variance 0.01 and two detuned square waves (437 and
443 Hz, respectively) with a linear attack (0.5 s), a sustain
) and a linear decay (0.3 s).
(0.7 s, maximal amplitude

= 05
[0 0 08 ]

Fig. 10. Simulation of Fig. 6 with (M2) for a


: : signals u, x , x ,
x ,x
x
x
x for t 2 ; : s and spectrograms for
t 2 ; : s.

[0 0 5 ]

Fig. 11. Simulation of Fig. 8 with (M1) (complete Moog ladder filter): specx
x
x
with
trograms and signals of u 7! x
r
(case a: no resonance) and r
: (case b: slight resonance).

=0

] +[ ] +[
=05

] =[

Parameters are
kHz,
(case a) or
(case b)
linearly increases from 20 Hz to 10 kHz. The
and
square waves are built with a Fourier series (truncated at 9177
, respectively) to avoid aliasing.
and 9303 Hz
B. Validity Range and Limitations
in Fig. 12 ilSimulations for higher amplitudes
lustrate a well-known result: truncated Volterra series are not efficient to capture saturation phenomena. Contrarily to the cases

HLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS

=
= 1 (48000 2 32)

Fig. 12. Simulation of Fig. 6 with (M2) for a 1, 2, 4 (to be compared to


Fig. 10). The reference signals have been computed with the Matlab function
ode45 and the time step T
=
.

755

=1

= 09 117 2 10

:
and c
Fig. 14. Numerical simulations for c
,c
(see Fig. 13, order 5, ) to be compared to Fig. 12.

2:512 2 10

In this section, two strategies to increase the validity range


are studied. The first one is based on polynomial approximations of the saturating function which are optimal on a target
amplitude range. The second one is based on changes of states
involving predictors, in order to locally weaken the nonlinearity
and increase the efficiency of Volterra series. These methods are
applied to the single-stage filter.

of
on polynomial bases give polynomial approximations
which are optimal with respect to a scalar
: the minimized
product
is distributed rather than meaerror
sured at one point. Standard bases of polynomials are those
, Laguerre
,
of Hermite
Chebyshev
, Legendre
, etc. Approximations which are uniformly optimal on centered ranges are obtained using stretched
for the
versions of Legendre polynomials [see Fig. 13
range ( 5, 5)].
Such polynomial approximations yield coefficients
(
1, 3, 5, etc) with new values which can be straightforwardly used in Figs. 6 and 8. Nevertheless, preserving the right
linear behavior requires constraining the polynomial coefficient
of degree 1 (see Fig. 13, ), and so on for higher degrees to
preserve the quality of the first distortions. Further, preserving
the right behavior in the low frequency range requires that the
is strictly increasing. In this case, the
approximation of
is
equilibrium state for a constant input
for a single-stage filter and
for the
complete filter. Hence, gaining the validity over a large range
with the right behavior at low amplitudes requires optimizations
under constraints of polynomials with sufficiently high degrees
and is not so straightforward.
This is confirmed by simulations in Fig. 14 which are based
,
and
, coron
responding to Fig. 13 (order 5, constrained optimization, ).
Compared to Fig. 12, these simulations do not lead to unrealistic
large signals, as expected, but the waveforms are still not realistic, especially in the low frequency range (first oscillations of
the sweep). Such modifications of the Taylor coefficients seems
to yield poor improvements at low orders.

A. Polynomial Approximations of the Saturating Function

B. Introducing Changes of States

Truncated Taylor series expansions are optimal approximations around a given point. Orthogonal projections

An alternative solution consists of using a state predictor and


build the correction with a Volterra series such that: 1) the non-

tanh ()

Fig. 13. Function


and various polynomial approximations at order 1,
3, 5, 7. The polynomials coefficients are obtained from: the Taylor expansion
around x
; a least square optimization on the range x
;
;
the same optimization constrained by the equality c
.

= 0 (+)

2 (05 5) (4)
= 1 (5)

with low amplitudes , simulations for


and
genand
. Thus, for
, the
erate unrealistic large signals
magnitude of , and are about 1, 10, and 50, respectively.
This numerical analysis reveals that the Volterra series does not
converge anymore so that the truncation of the series is not even
the only problem. This is a consequence of the convergence raof (16) (see Fig. 13,
).
dius
VI. INCREASING THE VALIDITY RANGE

756

IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010

Fig. 15. Transformation of the original system S into S .

linearity is weaker for the corrector than for the original system;
2) the predictor is a function of delayed variables and does not
introduce instantaneous feedback loops (so that the final simulations do not involve implicit equations).
for a fixed
(typically, one
Denoting
or a few sample periods in the final simulations), basic predic,
(etc.) where
tors are
. Adopting a similar decomposition
with
yields the block diagram depicted in Fig. 15,
only involves delayed variin which
ables.
,
: For
1) Method and Main Steps for
a regular nonlinear system represented by
where
,
and
and with transfer
kernels
, consider the following steps.
defined by
a) Derive the state-space representation of
where
,
,
, with
,
,
.
initialization
and, since
is assumed to be small,
b) Choose
approximate
by its th order multivariate Taylor series expansion around

where
.
asc) Separate the contributions
sociated with the equilibrium point from their complementary (time-varying) parts
.
d) Build the system
described by
where

where
and where
is an (e.g.,
lexicographically) ordered version of
for
.
(
, see
e) Compute the first transfer kernels
with mulSection III-D) of the time-invariant system
and
tiple input (typically, for
with
).
f) Perform the corresponding realization (composed of
linear filters, sums, and products) and its digital version.
g) Build the system based on Fig. 15 using this realization
and replacing by the static nonlinear function
given by the collection of functions
.

Remark 11: In step (d) and adapting the following steps, it


considering only the linearly-inis possible to reduce
dependent components of the vector space spanned by
. This will be actually the case in
if
.
Section VI-B2 for which
Some interesting properties are:
so that tuning
1) if is -Lipschtizian, then
allows one to tune the quasi-linearity of with respect
and to improve the approximation quality of
to
by a truncated Volterra series. In this case,
can be
chosen quite small;
if
and
if
2)
;
do not depend on .
3) The transfer kernels
Because of 2),
is a principal input of and
are auxiliary with respect to
in the sense of the following
definition.
Definition 1 (Principal and Auxiliary Inputs): Consider a
and
.
Volterra system with transfer kernels
be non empty. Then, the input
indexed by
Let
is said to be to auxiliary with respect to inputs
, if for all
such that
,
. Moreover, if an input is not auxiliary with respect
then
to any subset of other inputs, this input is said to be a principal
input of the system.
is hierarchically weaker than
Thus, an auxiliary input
in the sense that
does not influence the system when
is zero. On the contrary, a principal input always has a direct
(non conditional) influence on the system.
This feedback qualitatively acts on the system and the efficiency of its representation by Volterra series like a turbo
effect for several reasons: tunable improvement of truncated
inVolterra series approximations, the transfer kernels of
volving the principal input alone are those of the original
system , the feedback in Fig. 15 includes a delay and controls
auxiliary inputs which have an influence only if is activated.
Thanks to this method, the monitoring of the nonlinear behavior
of is significantly transferred onto the auxiliary input and
the predictors.
2) Application: (Steps ad) For a single-stage filter, the
state-space representation can be written
with
(
is factorized and gathered with time-derivative to simplify
,
derivations). Then,
for
and
otherwise, where
,
and
,
.
Indeed,
and
(see Fig. 16). Then, for
,
,
,
and
(
,
are zero otherwise).
Choosing
, this yields
and
(26)
,
,
.
with
is described by
(Step e) The system
. Considering the corresponding canceling system,

HLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS

Fig. 16. Functions C (z ) = (1=n!)(d

=dz

) tanh

z for n =0, 1, 2, 3, 4.

using multiple input interconnection laws (Section III-D),


recalling notations (Section III-A) and denoting
,
of
are such that,
,
the transfer kernels

(27)

,
,
. Noting
where
define the (linear)
that the transfer kernels
system which isolates in , the five terms in (27) corresponds
; 2)
; 3)
to: 1) the cascade
; 4) is the bilinear connection of kernels
and
through
; 5) idem for
and
. Then, the transfer kernels are given
,
by

(28)

where

757

is given by (19). Thus, the kernels of order


correspond to

and other ones (


and
) are zero.
(Step f) The realization for orders
is processed as in
Section IV-A-3, using (20) which is still valid for
replacing by
, and recalling from (20) that, for the transfer
, the Laplace variables
are
kernel
linked to the input ,
to , and the last
have
ones to . All the expressions given above for
the form (20) and lead to the realization given in Fig. 17. For
corresponds to (20) with
,
instance,

Fig. 17. Realization of the outputs x for m 2 A, associated with (nonzero)


transfer kernels F of order m 2 A, using filters with transfer function Q ,
sums and instantaneous products (in the time domain). Inputs are v = u, v =
tanh x , and v = 0 tanh u .

,
accounting for a filter
applied to ,
accounting for the identity system
accounting for the last
(a wire) and
in the second row of Fig. 17.
filter which deliver
Remark 12: In Fig. 17, all the paths (and outputs) involving
or include a product with a signal multiplicatively (here,
linearly) dependent on : this means that
and
are auxilhas a direct action
iary with respect to . On the contrary,
: this means that is principal for .
on
3) Results: Simulations have been performed as in Section V
kHz and using: 1) in Fig. 17, four products, four
with
)
sums (to compute
and four discrete-time versions (see Appendix A) of
(factorizing two of them in the dark gray block at
bottom), that is 4
3 products and 4
2 sums; 2) in
Fig. 15, two delay lines, two sums, and the (static) function
which involves two
(or, e.g., Pad approximants) and two
evaluations of
products. Finally,
products,
sums, two delay lines, and two functions
.
. Signals
Results are similar to those of Section V for
,
and
are given in Fig. 18 for
and several delays . It can
increases with
be observed that, as expected: 1)
so that the quasi-linear behavior of
(with respect to ) is
better for
than for
and
; 2)
the independence of the solution with respect to holds (at
least for sufficiently small ). Finally, all signals are detailed in
and
: the main nonlinear contribution
Fig. 19 for
comes from
meaning
has a weaker influence than
on the system. These results are better than in Section VI-A.
But, compared to the reference (see Fig. 14), the quality must
be increased.
,
:
4) Improvements Obtained With Predictors
Adapting the method given in Section VI-B1 to predic,
yields better results. In this
tors
case,
.
with respect to
exA first-order expansion
,
actly leads to (26) with
,
. Hence, for
, the

758

IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010

Fig. 18. Signals v , x, x for P , P , a


k 2f ; ; g .

1 4 16 )

= 2, f = 192 kHz, T = k=f

Fig. 20. Numerical simulations for P , P , a


to Fig. 19).

Fig. 19. Numerical simulations for P , P , a


to Fig. 12).

= 4, T = 1=f

(to be compared

realization is still that given in Fig. 17. A simulation with the


same parameters as in Fig. 19 and using the approximation
in the predictor
yield the results given in Fig. 20, which are satisfying compared to the reference. Notice that the correction monitored
than
by the Volterra series is much lower for predictors ,
for
,
.

= 4, T = 1=f

(to be compared

system . The Volterra kernels exclusively fed by are exactly


those of . Simulations results are satisfying for first-order predictors. The Volterra kernels do not depend on the delay of the
predictors and, for sufficiently small results are robust with respect to .
Future works will consist of characterizing the efficiency of
the method, the convergence speed and the stability condition
of the finite order realizations. Moreover, further work could be
performed to weaken the aliasing introduced by the nonlinear
predictors. Finally, it could be interesting to study other families
of predictors and to adapt the method to other systems such as
nonlinear partial differential equations modeling e.g. acoustic
pipes, strings, plates or shells.
APPENDIX A
NUMERICAL SCHEME (M2) USED IN THIS PAPER
Consider the system with input
, state
, defined by the state-space representation
with
and
. The solution is
. Then, denoting
the
sampling period and

VII. CONCLUSION AND PERSPECTIVES


A low-cost digital simulation of the Moog ladder filter based
on Volterra series has been derived. In practice, basic Matlab
codes runs at about ten times the real-time and a third-order version of Fig. 8 implemented on MaxMSP (thanks to R. Muller
and J. Lochard) uses about 3.3% of the CPU consumption on a
Mac Book (2.5 GHz). The stability (proved for fixed parameters) is preserved for slowly-varying , .
The limitations due to the saturation phenomena have been
analyzed. Methods dedicated to increase the validity range have
been proposed and studied on a single-stage filter. Using state
and the input
, a system which manages
predictors
has been built, with multiple input
the correction signal
Volterra series. For Lipschitz input signals, the principal input
of is much lower than the input of the original

with
For an ideally sampled input
exact reconstruction is

.
, the ShannonNyquist
where
, so that the computation of
involves a non causal infinite digital filter. Using
leads
the linear interpolation
,
to the approximation
with
, for
which the pole mapping, the phase and free regimes
are all exact. The amplitudes are attenuated by the gain
(see
to
Table I for performances) which decreases from 1 at
at
(worst case). The corresponding relative

HLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS

TABLE I
MAXIMAL AMPLITUDE MODIFICATIONS (GAIN

error
to

at

G, RELATIVE ERROR )

increases from 0 at
(maximal deviation).

(no deviation)

ACKNOWLEDGMENT
The author would like to thank D. Ralley for proofreading.
Sound examples are available at http://recherche.ircam.fr/
equipes/analyse-synthese/helie/T-ASL-02317-2009/index.
html.
REFERENCES
[1] R. A. Moog, A voltage-controlled low-pass high-pass filter for audio
signal processing, in Proc. 17th AES Conv., New York, 1965, pp. 112.
[2] T. Stilson and J. Smith, Analyzing the Moog VCF with considerations
for digital implementation, in Proc. Int. Compute. Music Conf., Hong
Kong, China, 1996, pp. 398401.
[3] A. Huovilainen, Non-linear digital implementation of the Moog
ladder filter, in Proc. Int. Conf. Digital Audio Effects, Naples, Italy,
2004, pp. 6164.
[4] T. E. Stinchcombe, Derivation of the transfer function of the Moog
ladder filter 2005 [Online]. Available: http://mysite.wanadoo-members.co.uk/tstinchcombe/synth/Moog_ladder_tf.pdf, Tech. Rep.
[5] J. Smith, Virtual acoustic musical instruments: Review of models and
selected research, in Proc. Workshop Applicat. Signal Process. Audio
Acoust. (WASPAA), 2005.
[6] V. Valimaki and A. Huovilainen, Oscillator and filter algorithms for
virtual analog synthesis, Comput. Music J., vol. 30, no. 2, pp. 1931,
2006.
[7] T. Hlie, On the use of Volterra series for real-time simulations of
weakly nonlinear analog audio devices: Application to the Moog ladder
filter, in Proc. Int. Conf. Digital Audio Effects, Montral, QC, Canada,
2006, vol. 9, pp. 712.
[8] V. Volterra, Theory of Functionnals and of Integral and Integro-Differential Equations. New York: Dover, 1959.
[9] S. Boyd, L. O. Chua, and C. A. Desoer, Analytical foundations of
Volterra series, IMA J. Math. Control Inf., vol. 1, pp. 243282, 1984.
[10] T. Hlie and M. Hasler, Volterra series for solving weakly non-linear
partial differential equations: Application to a dissipative Burgers
equation, Int. J. Control, vol. 77, pp. 10711082, 2004.
[11] T. Hlie and D. Roze, Sound synthesis of a nonlinear string using
Volterra series, J. Sound Vibr., vol. 314, pp. 275306, 2008.
[12] T. Hlie and V. Smet, Simulation of the weakly nonlinear propagation in a straight pipe: Application to a real-time brassy audio effect,
in Proc. IEEE Mediterranean Conf. Control Autom., Ajaccio, Corsica,
France, 2008, vol. 16, pp. 15801585.
[13] J. Pakarinen and D. T. Yeh, A review of digital techniques for modeling vacuum-tube guitar amplifiers, Comput. Music J., vol. 33, no. 2,
pp. 85100, 2009.

759

[14] W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling,


Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd
ed. Cambridge, U.K.: Cambridge Univ. Press, 1992.
[15] G. Borin, G. D. Poli, and D. Rocchesso, Elimination of delay-free
loops in discrete-time models of nonlinear acoustic systems, in Proc.
IEEE Workshop Applicat. Signal Process. Audio Acoust., 1997, pp.
14.
[16] F. Avanzini, F. Fontana, and D. Rocchesso, Efficient computation
of nonlinear filter networks with delay-free loops and applications to
physically-based sound models, in Proc. 4th Int. Workshop Multidimensional Syst., Wuppertal, Germany, 2005, pp. 110115.
[17] F. Fontana and F. Avanzini, Computation of delay-free nonlinear digital filter networks. Application to chaotic circuits and intracellular
signal transduction, IEEE Trans. Signal Process., vol. 56, no. 10, pp.
47034715, Oct. 2008.
[18] G. A. Baker and P. Graves-Morris, Pad Approximants. New York:
Cambridge Univ. Press, 1996.
[19] G. H. Hardy, Divergent Series, 2nd ed. Providence, RI: Amer. Math.
Soc., 2000.
[20] F. Lamnabhi-Lagarrigue, Analyse des systmes non linaires. Oslo,
Norway: Herms, 1994.
[21] A. Isidori, Nonlinear Control Systems, 3rd ed. New York: Springer
Verlag, 1995.
[22] R. W. Brockett, Volterra series and geometric control theory, Automatica, vol. 12, pp. 167176, 1976.
[23] E. G. Gilbert, Functional expansions for the response of nonlinear
differential systems, IEEE Trans. Autom. Control, vol. AC-22, no. 6,
pp. 909921, Dec. 1977.
[24] W. J. Rugh, Nonlinear System Theory, The Volterra/Wiener Approach. Baltimore, MD: Johns Hopkins Univ. Press, 1981.
[25] M. Fliess, M. Lamnabhi, and F. Lamnabhi-Lagarrigue, An algebraic
approach to nonlinear functional expansions, IEEE Trans. Circuits
Syst., vol. CAS-30, no. 8, pp. 554570, Aug. 1983.
[26] S. P. Boyd, Volterra series: Engineering fundamentals, Ph.D. dissertation, Harvard Univ., Cambridge, U.K., 1985.
[27] P. E. Crouch and P. C. Collingwood, The observation space and realizations of finite Volterra series, SIAM J. Control Optimiz., vol. 25,
no. 2, pp. 316333, 1987.
[28] M. Schetzen, The Volterra and Wiener Theories of Nonlinear Systems. New York: Wiley-Interscience, 1989.
[29] T. Hlie and B. Laroche, Computation of convergence radius and error
bounds of volterra series for single input systems with a polynomial
nonlinearity, in Proc. IEEE Conf. Decision Control, Shangai, China,
2009, vol. 48.
[30] M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions. New York: Dover, 1970.
Thomas Hlie received the Dipl. Ing. degree from the
Ecole Nationale Suprieure des Tlcommunications
de Bretagne, Bretagne, France, in 1997, the M.S. degree in acoustics, signal processing, and informatics
applied to music, Universit Paris 6, Paris, France, in
1999, the M.S. degree in automatic and signal processing from the University Paris-Sud, in 1999, and
the Ph.D. degree in automatic and signal processing
from University Paris-Sud in 2002.
After postdoctoral research in the Laboratory of
Nonlinear System at the Swiss Federal Institute of
Lausanne, Lausanne, Switzerland, in 2003 and a Lecturer position at the University Paris-Sud in 2004, he has been, since 2004, Researcher at the National
Research Council, Analysis/Synthesis Team, IRCAM-CNRS UMR 9912, Paris.
His research topics include physics of musical instruments, physical modeling,
nonlinear dynamical systems, and inversion processes.

You might also like