Professional Documents
Culture Documents
4, MAY 2010
747
I. INTRODUCTION
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
748
IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010
so that
tion between (base) and
[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.
(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
749
(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.
(Multilinear combination) If
is a multilinear function, then for all
and
(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
is such that
with
and
otherwise.
, if
),
. Vice
), then
(13)
Remark 7: If the first system is linear (
then (13) reduces to
D. Multiple-Input Case (
)
, if
),
.
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)
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
(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)
751
with
(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
,
. For
=5
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
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)
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
(23)
From (22), isolating
[index
in (23)] yields
(24)
(25)
where
for
if
and
For
753
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
for r
0), r
= 0 (
,r
= 0 3 ( )
3,
= 0 6 ( )
754
IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010
and
where
Toeplitz matrix defined by
..
..
..
..
..
..
..
..
..
with
= 05
[0 0 08 ]
[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
=
= 1 (48000 2 32)
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
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.
Truncated Taylor series expansions are optimal approximations around a given point. Orthogonal projections
tanh ()
= 0 (+)
2 (05 5) (4)
= 1 (5)
756
IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010
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
.
=dz
) tanh
z for n =0, 1, 2, 3, 4.
(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
,
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
1 4 16 )
= 4, T = 1=f
(to be compared
= 4, T = 1=f
(to be compared
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
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