Post on 06-Jul-2018
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
1/13
IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010 747
Volterra Series and State Transformation forReal-Time Simulations of Audio Circuits IncludingSaturations: Application to the Moog Ladder Filter
Thomas Hélie
Abstract—Volterra series are known to be efficient to representweakly nonlinear systems and the first distortions. Their truncatedversions allow one to derive realizations (in the sense of systemtheory) leading to networks composed of linear filters, sums, andinstantaneous products of signals, without instantaneous feedbackloops. Nevertheless, if saturation phenomena arise, truncating theseries at low order is not sufficient and the convergence can also belost. In this paper, the case of the Moog ladder filter is investigated.Low-cost simulations based on realizations of Volterra series aregiven. Their limitations with respect to the amplitude of inputsignals are exhibited. Methods to increase the validity range andto improve the efficiency of Volterra series expansions are detailedon a single stage of the filter. In particular, changes of statesbased 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 propertiesmentioned above. It includes two delay lines (where the delaycan be chosen to be one sample) and nonlinear static functionsgiven by the method.
Index Terms—Analog audio circuit, nonlinear systems, satura-tion, simulation, Volterra series.
I. INTRODUCTION
MANY software versions of analog audio circuits usedin 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 ratherthan their digital versions. One reason is that analog circuits in-volve nonlinearities, responsible for perceptible characteristicdistortions. Even for weak nonlinearities, the distortion is pro-gressively activated with respect to the signal amplitude so thatplaying 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 aliasinghas been proposed, based on Volterra series of input–output sys-tems. This formalism proves to be relevant to solve weakly non-linear problems [8], [9]: it defines exact representations of such
Manuscript receivedApril 02,2009; revisedSeptember 13,2009. Current ver-sion published April 14, 2010. This work was supported in part by the NationalResearch Agency and in part by the CONSONNES Project ANR-05-BLAN-0097-01. The associate editor coordinating the review of this manuscript andapproving it for publication was Prof. Vesa Välimäki.
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 digitalsimulations for real-time audio applications. The simulationsdeduced from Volterra kernels involve linear filters, sums, andinstantaneous products of signals, without instantaneous feed-back loops (see, e.g. [10]–[13] for other sound applications).The latter property is particularly interesting in coping with net-works of nonlinear systems which include instantaneous (thatis, delay-free) connections. Nevertheless, when the nonlineari-
ties are not reduced to slight or moderately audible distortions,Volterra series are no longer efficient. This is the case when sat-uration phenomena arise, as in the case of the Moog filter.
Standard methods such as those of Euler or Runge–Kuttaare usually used to simulate nonlinear differential systems [14].In the case of networks of nonlinear systems (with instanta-neous connections), they are usually complemented by iterativeNewton–Raphson methods to solve the implicit equations dueto the connections. A method dedicated to solving this globalproblem has also been proposed in [15]–[17].
In this paper, a solution based on Volterra series, which is ableto cope with saturation phenomena, is proposed and detailed on
the Moog ladder Filter. To enhance the validity range of Volterraseries, a solution would consist of accelerating the convergenceby using modified expansion processes (as continued fractionsor Padé approximants [18], divergent series and their transfor-mations [19], compared to standard Taylor series expansions).An alternative solution is proposed here: a change of variablebased on state predictors and such that the Volterra series hasonly to manage the correction signal is considered. This changeof variable is parameterized by a function of and (de-layed versions of the state and the input ). It is built suchthat: 1) the validity of the weakly nonlinear hypothesis is sig-nificantly increased; 2) the reciprocal change of variable doesnot involve instantaneous feedback loops and yields low cost
computations; 3) the time-varying parameters can beeasily managed and considered as additional inputs of a Volterraseries.
The paper is organized into sevensections. Section II presentsthe circuit of the Moog ladder filter and the associated equa-tions. Section III introduces the Volterra series and some of theirfundamental properties. In Section IV, Volterra kernels and fi-nite-order realizations are derived for a single stage, and thenfor the complete Moog filter. In Section V, numerical simu-lations are performed and the limitations of this solution areanalyzed. In Section VI, two strategies to increase the validityrange are studied and applied to a single-stage filter. First, op-
timal polynomial approximations of the saturating function are1558-7916/$26.00 © 2010 IEEE
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
2/13
748 IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010
Fig. 1. Circuits: (a) NPN transistor; (b) single-stage filter with polarizationvoltage ; (c) driver; (d) four-stages Moog ladder filter without loop; and(e) complete Moog ladder filter including a feedback loop gain 0 .
used in place of Taylor series expansions. Second, state trans-formations based on state predictors are considered to increasethe weakly nonlinear hypothesis required by Volterra series. Fi-nally, Section VII gives some conclusions.
II. MOOG LADDER FILTER CIRCUIT
The Moog ladder filter is a circuit composed of a driver anda cascade of four filters involving capacitors and differen-tial pairs of NPN-transistors (see Fig. 1). Following [1], tran-sistors are LM3046 or BC109a,b,c, polarization voltages are
V, V, V, V,V corresponding to ,
, . Capacitances are nF for the MoogProdigy and nF for the MiniMoog synthesizer. More-over, is a voltage-controlled current which tunes a cut-off fre-quency (see below for typical values) and [in Fig. 1(e)] is a thevoltage-controlled gain which monitors a resonance, also calledthe “corner peaking” (no resonance if , resonance withinfinite -factor (self-oscillations) if , see, e.g. [2]).
A. Transistors, Driver, and Filters
The NPN-transistors [see Fig. 1(a)] are configured such thatthe base currents can be neglected. Indeed, with
so that . Moreover, the PN-junc-tion between (base) and (emitter) is governed by
(1)
where the thermal voltage is and
the saturation current is A for the temperatureK, and where J/K is the Boltzmann
constant and is the electron charge.From (1), the ratio is [see
Fig. 1(c)]. Moreover, and
(2)
Now, for and still from (1), [seeFig. 1(b)]. Moreover, and , thesum of which yields
so that
(3)
and the difference of which yield. Finally, rewriting the terms of the latter equation for
using (2), (3) and the capacitor lawleads to
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]. Thisfeedback is written , where is the inputand tunes the feedback gain [see Fig. 1(e)].
B. Dimensionless Model and Typical Values
Defining the dimensionless voltages ,, a dimensionless version of the problem is given by
for (4)
with (5)
where the two parameters of the filter are the cut-off angular fre-quency and the feedback gain . Typical valuesused 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 slowlycompared to the oscillations of the input signal . This hypoth-esis is quite realistic and will allow the use of time-invariant ver-sions of Volterra series in the solution. Nevertheless, in the final
realizations (e.g., in Figs. 6, 8 and 17), the parameters of filterscan be (slowly) varied. Moreover, the method presented below
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
3/13
HÉLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS 749
Fig. 2. System represented by a Volterra series .
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 mul-tiple-input Volterra series and some useful interconnectionlaws. The results given in this section are gathered from [8],[9], [20]–[28].
A. Notations
Let and be vector spaces with di-mensions and equipped with norms denoted
and , respectively.Moreover, for all matrix with and
, the coefficient at row and column is denoted or .The th row of is denoted , its th column is , and theconcise notations , stand for
(6)
When is reduced to a row or a columnvector, its th element is simply denoted or .
Finally, denotes the Kronecker symbol which equals 1 if and 0 otherwise.
B. Single Input Volterra Series ( , , )
A single-input system is described by a Volterra series of ker-nels (see Fig. 2) for inputs such thatif the output is given by the sum of multiple
convolutions
(7)
recalling that is th element of the vector , whereis 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.For a causal system, kernels are zero for . For
a causal stable system, their multivariate Laplace transforms
(8)
are analytic on where. Functions are called the transfer kernels of order .
Remark 3: Volterra series embed systems described by: 1)linear filters ( for ); 2) instantaneous nonlinearfunctions with which admits a series ex-
pansion ; 3) their various combinations(linear, multilinear and cascade, see Section III-C). For the case
Fig. 3. Linear or multilinear combination of Volterra systems.
2), kernels are given by inthe time domain ( is the Dirac distribution) and by the constantfunctions in the Laplace domain.
C. Interconnection Laws for Single Input Systems
For , , let be the transferkernels of causal stable systems with input , output
and with convergence radius .Then, the convergence radius of the global system described inFig. 3 satisfies and the transfer kernels
are such that (see, e.g. [24]),• ( Linear combination) If where is a matrix,
then for all ,
(9)
• ( Multilinear combination) If is a multilinear function, then for all and
(10)
where , and, the selection function
is defined by.
Remark 4: and if , then. Moreover, for , , and ,
(10) becomes the “product combination” given by
• (Cascade) Let and be the transferkernels of two causal stable systems with inputand , respectively, and with output and
, respectively. The cascadein Fig. 4 defines a system with transfer kernelsgiven by
(11)
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
4/13
750 IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010
Fig. 4. Cascade of two Volterra systems.
The convergence radius is such that with
if and
otherwise.
Remark 5: If the first system is linear ( , if ),then (11) reduces to . Viceversa, if the second one is linear ( , if ), then
D. Multiple-Input Case ( , , ,
)
Define the set of multiple-orders .Then, the generalized version of (7) for multiple inputs
is given by
(12)
where the input index is defined by , ,
The kernel with multiple-order represents the ho-mogeneous multinomial contribution of input at order ,
at order at order so that its global non-linear order is . The convergence condition is characterizedby where is the con-vergence domain of . The
extension of (8) is obtained substituting , ,
and by , , , and , respectively.
The linear and multilinear combination laws (9), (10) are stillvalid with , , and ,
andand definedfor by the following sequence of indexes
:
...
with .
Remark 6: This sequence is not empty . Its th rowis empty if . Moreover, if .
Finally, for with input , output
, and with input ,output , the cascade in Fig. 4 definesa system with transfer kernels given by
(13)
Remark 7: If the first system is linear ( , if ),then (13) reduces to
in which the ’s index first order kernels . Viceversa, 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)
IV. VOLTERRA KERNELS OF THE MOOG FILTER ANDFINITE-ORDER REALIZATIONS
This section is devoted to the derivation of the Volterra ker-nels of the Moog Filter, and to the finding of a realization (in thesense of system theory). The method is first detailed on a singlestage of the Moog filter. Second, results are given for the com-plete Moog ladder filter. These results extend those presented in[7]: higher order expansions are given and the method proposedhere shows how to derive straightforwardly the Volterra kernelsfrom the state-space representation.
A. Case of a Single Stage
1) Model: A single stage of the Moog ladder filter is de-scribed by the one dimensional differential system
for (15)
with , and where the input and theoutput corresponds to dimensionless voltages , (seeSection II-B).
This causal, time-invariant system can be represented by aVolterra series, since admits a power series expansionaround the equilibrium point for , namely,
(16)
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
5/13
HÉLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS 751
Fig. 5. Canceling system (dashed block diagram) associated with .
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,
the symbolic coefficients , (etc.) will not be replaced bytheir numerical values in the following derivations.
2) Transfer Kernels: Denote the transfer kernels of with input and output . A convenient way to deriveconsists of two steps: first, introduce a canceling system , thatis, a system the output of which vanishes if its input is pre-cisely chosen as ; second, use the interconnectionlaws to link to the (known) Volterra kernels involved in
.According to remark 3 (case b), are the transfer ker-
nels of . The linear operator corresponds toa 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 zeroso that the corresponding Volterra kernels are all zero.
Then, using interconnectionlaws given in Section III-C yields
(17)
The first term in (17) represents the cascade . Itis derived from (11) in which only the term with is notzero (see also remark 5). The second term represents the cas-cade . Note that the index is associatedwith 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 allzero. Isolating in (17) leads to the recursive algebraic equa-tions, ,
(18)
(19)
In (18), the right-hand side is a finite sum composed of kernelswith . The transfer kernels are zero for ,
Fig. 6. Realization of the outputs associated with transfer kernels of order 1, 3, 5, using filters with transfer function , sums, and productsin the time domain. Notice that for (dark gray part), the factor 3 in is due to the three contributions of terms 3, 4, 5 in .
. For 1, 3, 5, they are given by
first-order low-pass filter
3) Finite Order Realization: Consider the system de-scribed in Fig. 3 with and
, concatenated with a linearsystem with transfer function . Moreover, assume that, for
all , the system described by has zerotransfer kernels except that of order . Then, frominterconnection laws (see (10) and remark 5), the transferkernels of the global system prove to be all zero exceptthat of order where , which is
given by,
(20)Thus, can be decomposed into a sum of two such homoge-neous systems with , , ,and , yielding the realization given in the secondstage (middle gray part) of Fig. 6: the first term correspondsto (three identity systems) and thesecond one to . Similarly, thefive terms which compose can be translated into the realiz-able systems detailed in the third stage (dark gray part) of Fig. 6,noticing thatthe terms 3, 4,and 5 in correspond to three com-muted 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) withinput and output are derived as follows: first, four singlestages are concatenated and their transfer kernels are computedusing interconnection laws; second, a canceling system which
links the latter kernels with those of the complete filter (with thefeedback loop) is used to compute the final kernels. The method
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
6/13
752 IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010
proposed below, which yields equivalent input-output realiza-tions, is more generic and naturally preserves the “topology” of the original state-space representation,
1) Model: From (4), (5), the dimensionless model of theMoog ladder filter is described by the differential system withsingle input , with state
, given by
for
(21)
with (initial conditions), (angular cut-off fre-quency) and (tuning of the “corner peaking”).
Remark 8: The usual output of the Moog filter is
with , but other observedoutputs could be considered, with , as e.g.in the Oberheim Xpander VCF. The transfer kernels of such aninput-output system are where are the kernels of the system with output , that is, the input-to-state transferkernels.
2) Transfer Kernels of a State-Space Representation: Amethod to derive the input-to-state transfer kernels (here,
) of regular systems described by a state-space repre-sentation such that can besummarized as follows.
1) Compute the multivariate series expansion of around theequilibrium point , which yields (recallingthat is defined in Section III-D)
where the multilinear functions aregiven by andis the differential operator of order with respect to thvariable (see, e.g. [23]).
2) Build the canceling system associated with the original dif-ferential system, by summing: i) the cascade
; ii) the infinite sum of multilinearcombinations due to the multilinear functions , that is,considering Fig. 3 in which , transfer kernels
are (related to ) and the nextkernels are (related to ).
3) Use the interconnection laws given in Section III-C to de-rive the equations satisfied by the kernels. This yields (re-moving the null terms)
4) Isolate the term involving (first term and )and solve these equations (recursively w.r.t. ).
Remark 9: More generally, some feedback loops or connec-tions of systems can involve implicit (non differential) equa-tions. For such algebraic differential systems represented by
for and
for , the method is similar to that pro-posed above except that, in point 3, must be replaced by
where is the -identity ma-
trix.3) Transfer Kernels of the Moog Ladder Filter: The method
proposed above is quite general and most of symbolic solversare able to solve these equations. Nevertheless, computing themultilinear functions is usually tedious when . Formany systems, introducing intermediate (usually physicallymeaningful) variables can help to reduce the complexity.
Here, consider the system with input , outputwhere
so that (21) rewrites for. From the linear interconnection law, the transfer
kernels of this system are given by
(22)
Using these kernels and similarly to Fig. 5, the canceling system
of the Moog filter can be described by Fig. 7. This cancelingsystem leads to
(23)
From (22), isolating [index in (23)] yields
(24)
(25)
where is the identity matrix, if and
for , otherwise. For all , .
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
7/13
HÉLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS 753
Fig. 7. Canceling system (dashed block diagram) associated with
for with ( as in Fig. 5).
For 1, 3, 5, transfer kernels are given by
with ,, , and where denotes the
array multiply (if and are vectors, then ).
4) Realization: All the expressions given above havethe form (20). Hence, a realization can be processed as inSection IV-A3. For orders 1, 3, 5, this leads to the diagramgiven in Fig. 8. Note that in this figure, the realization of eachkernel is presented in separated blocks and the connectionsbetween the outputs of a block and the inputs of ablock are not drawn. Moreover, the state approximated usingthe five first Volterra kernels is sothat, 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 and8, dynamical parts are linear filters with transfer functionsand , respectively. They admit a linear state-space represen-tation where , for[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 di-mension of . Here, has only one real-valuedroot (cut-off angular frequency corresponding to apure exponential damping in the time domain). The four roots
of are, and their complex
Fig. 8. Realization of and associatedwith the transfer kernels and , respectively ( 1, 3, 5). Operators ( 2, 3, 5) denote array powers (if is a vector, ).
Fig. 9. Bode diagrams of for 0 , , 3 ,and .
conjugated , ( denotes the standard imaginary complexnumber). For , these poles all equal (pure damping).For , there is less damping for (no damping when
) and more damping for . Because of their imaginaryparts and their small damping, and are responsible for theresonance (or the “corner peaking”).
Remark 10: The transfer function of the linearized version of the Moog filter with output is (see Fig. 9).Since its poles , , , are proportional to , moving
acts on the denominator of like a change of the
frequency scale. This preserves the resonance quality. It makesthe control of the filter very intuitive, as stated in [2].Numerical simulations of and can be derived
using standard methods such as the Euler backward dif-ferences ( , denoting thedelay operator where is the sampling period) whichover-stabilize the original filter, the bilinear transform(M1: ) which exactly pre-serves the stability domain, etc. Applying the bilineartransform (M1) to the state-space representation yields
where, , and
. For a single-stage filter,
and with. For the complete filter,
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
8/13
754 IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010
and where is the (non symmetrical)Toeplitz matrix defined by
. . . . . .
. . .. . .
. . . . . .
. . . . . . . . .
with
A detailed study of the pole deviations and their correctionscan be found in [2]. An alternative method (M2) is proposed inAppendix A, which naturally preserves the exact pole mapping(and so the stability) but requires the computation of a (quiteexpensive) exponential of matrix .
The strict stability of simulations based on truncated Volterraseries is equivalent to that of the linear filters involved in therealizations. 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 variationsof parameters and do not disturb the stability, but, fromthe computational point of view, adapting the matrices involvedby the numerical methods is quite expensive: (M1) is a betteralternative than (M2) for real-time applications, unless usinglarge tables of precomputed exponentials of matrices.
2) Nonlinear Parts and Anti-Aliasing: In Figs. 6 and 8, thenonlinearities are instantaneous products (or powers) of signalsin the time domain. Now, if the frequency range of a signal is
, and is for , then it isfor the product in the time domain.
As a consequence, if the frequency range of the input isin Figs. 6 and 8, that of
is . Hence, if is the Shannon–Nyquistfrequency, using an oversampling with factor 5 will ensure thatno aliasing (due to the nonlinearities) will be generated.
In practice,another technique to avoid high oversampling fac-tors consists of using a factor 2 (at least), decomposing productsof signals into a binary tree of products of (2) signals and in-cluding a low-pass filter with cutoff frequency after eachbinary product.
3) Results for Weakly Nonlinear Behaviors: Truncating theVolterra series at low order is sufficient to capture the very firstdistortions which become audible when . Simula-tions are based on the bilinear transform (method M1) for time-
varying filters and on the method (M2) proposed in Appendix Afor time-invariant filters.Fig. 10 presents results for a single-stage filter based on Fig. 6
and (M2) with , kHz,(linear sweep on ) with
Hz, kHz, s sampled atkHz, and an amplitude (quasi-linear regime). As
expected, the spectrograms show the generation of harmonics 3on and of harmonics 3 and 5 on (with no aliasing since
).Fig. 11 presents the output of a complete filter based on
Fig. 8 and (M1), excited by the sum of white Gaussian noisewith variance 0.01 and two detuned square waves (437 and
443 Hz, respectively) with a linear attack (0.5 s), a sustain(0.7 s, maximal amplitude ) and a linear decay (0.3 s).
Fig. 10. Simulation of Fig. 6 with (M2) for : signals , , , , for s and spectrograms for s .
Fig. 11. Simulation of Fig. 8 with (M1) (complete Moog ladder filter): spec-trograms and signals of with (case a: no resonance) and (case b: slight resonance).
Parameters are kHz, (case a) or (case b)and linearly increases from 20 Hz to 10 kHz. Thesquare waves are built with a Fourier series (truncated at 9177and 9303 Hz , respectively) to avoid aliasing.
B. Validity Range and Limitations
Simulations for higher amplitudes in Fig. 12 il-
lustrate a well-known result: truncated Volterra series are not ef-ficient to capture saturation phenomena. Contrarily to the cases
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
9/13
HÉLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS 755
Fig. 12. Simulation of Fig. 6 with (M2) for 1, 2, 4 (to be compared toFig. 10). The reference signals have been computed with the Matlab functionode45 and the time step 2 .
Fig. 13. Function and various polynomial approximations at order 1,3, 5, 7. The polynomials coefficients are obtained from: the Taylor expansionaround ; a least square optimization on the range 0 ;the same optimization constrained by the equality .
with low amplitudes , simulations for and gen-erate unrealistic large signals and . Thus, for , themagnitude of , and areabout 1, 10, and50, respectively.This numerical analysis reveals that the Volterra series does notconverge anymore so that the truncation of the series is not eventhe only problem. This is a consequence of the convergence ra-
dius of (16) (see Fig. 13, ).
VI. INCREASING THE VALIDITY RANGE
In this section, two strategies to increase the validity rangeare studied. The first one is based on polynomial approxima-tions of the saturating function which are optimal on a targetamplitude range. The second one is based on changes of statesinvolving predictors, in order to locally weaken the nonlinearityand increase the efficiency of Volterra series. These methods areapplied to the single-stage filter.
A. Polynomial Approximations of the Saturating Function
Truncated Taylor series expansions are optimal approx-imations around a given point. Orthogonal projections
Fig. 14. Numerical simulations for , 0 2 and 2 (see Fig. 13, order 5, ) to be compared to Fig. 12.
of on polynomial bases give polynomial approx-imations which are optimal with respect to a scalarproduct : the minimizederror is distributed rather than mea-sured at one point. Standard bases of polynomials are thoseof Hermite , Laguerre ,Chebyshev , Legendre
, etc. Approximations which are uni-formly optimal on centered ranges are obtained using stretchedversions of Legendre polynomials [see Fig. 13 for the
range ( 5, 5)].Such polynomial approximations yield coefficients
( 1, 3, 5, etc) with new values which can be straightfor-wardly used in Figs. 6 and 8. Nevertheless, preserving the rightlinear behavior requires constraining the polynomial coefficientof degree 1 (see Fig. 13, ), and so on for higher degrees topreserve the quality of the first distortions. Further, preservingthe right behavior in the low frequency range requires that theapproximation of is strictly increasing. In this case, theequilibrium state for a constant input isfor a single-stage filter and for thecomplete filter. Hence, gaining the validity over a large range
with the right behavior at low amplitudes requires optimizationsunder constraints of polynomials with sufficiently high degreesand is not so straightforward.
This is confirmed by simulations in Fig. 14 which are basedon , and , cor-responding to Fig. 13 (order 5, constrained optimization, ).Compared to Fig. 12, these simulations do not lead to unrealisticlarge signals, as expected, but the waveforms are still not real-istic, especially in the low frequency range (first oscillations of the sweep). Such modifications of the Taylor coefficients seemsto yield poor improvements at low orders.
B. Introducing Changes of States
An alternative solution consists of using a state predictor andbuild the correction with a Volterra series such that: 1) the non-
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
10/13
756 IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010
Fig. 15. Transformation of the original system into .
linearity is weaker for the corrector than for the original system;2) the predictor is a function of delayed variables and does notintroduce instantaneous feedback loops (so that the final simu-lations do not involve implicit equations).
Denoting for a fixed (typically, oneor a few sample periods in the final simulations), basic predic-tors are , (etc.) where
. Adopting a similar decompositionwith yields the block diagram depicted in Fig. 15,in which only involves delayed vari-
ables.1) Method and Main Steps for , : Fora regular nonlinear system represented bywhere , and and with transferkernels , consider the following steps.
a) Derive the state-space representation of defined bywhere , ,
, withinitialization , , .
b) Choose and, since is assumed to be small,approximate by its th order multi-variate Taylor series expansion around
where.
c) Separate the contributions as-sociated with the equilibrium point from their comple-mentary (time-varying) parts
.d) Build the system described by
where
where and where is an (e.g.,lexicographically) ordered version of
for .e) Compute the first transfer kernels ( , see
Section III-D) of the time-invariant system with mul-tiple input (typically, for andwith ).
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 functiongiven by the collection of functions .
Remark 11: In step (d) and adapting the following steps, itis possible to reduce considering only the linearly-in-dependent components of the vector space spanned by
. This will be actually the case inSection VI-B2 for which if .
Some interesting properties are:
1) if is -Lipschtizian, then so that tuningallows one to tune the quasi-linearity of with respectto and to improve the approximation quality of
by a truncated Volterra series. In this case, can bechosen quite small;
2) if and if ;
3) The transfer kernels do not depend on .Because of 2), is a principal input of and
are auxiliary with respect to in the sense of the followingdefinition.
Definition 1 (Principal and Auxiliary Inputs): Consider aVolterra system with transfer kernels and .
Let be non empty. Then, the input indexed byis said to be to auxiliary with respect to inputs
, if for all such that ,then . Moreover, ifan input isnot auxiliarywithrespectto any subset of other inputs, this input is said to be a principalinput of the system.
Thus, an auxiliary input is hierarchically weaker thaninthe sense that does notinfluence the systemwhenis 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 ef-ficiency of its representation by Volterra series like a “turbo
effect” for several reasons: tunable improvement of truncatedVolterra series approximations, the transfer kernels of in-volving the principal input alone are those of the originalsystem , the feedback in Fig. 15 includes a delay and controlsauxiliary inputs which have an influence only if is activated.Thanks to this method, the monitoring of the nonlinear behaviorof is significantly transferred onto the auxiliary input andthe predictors.
2) Application: (Steps a–d) For a single-stage filter, thestate-space representation can be written
with ( is fac-torized and gathered with time-derivative to simplifyderivations). Then, ,
for and otherwise, where,
and , .Indeed, and
(see Fig. 16). Then, for ,, , and
( , are zero otherwise).Choosing , this yields and
(26)
with , , .
(Step e) The system is described by. Considering the corresponding canceling system,
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
11/13
HÉLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS 757
Fig. 16. Functions for 0, 1, 2, 3, 4.
using multiple input interconnection laws (Section III-D),recalling notations (Section III-A) and denoting ,the transfer kernels of are such that, ,
(27)
where , , . Notingthat the transfer kernels define the (linear)system which isolates in , the five terms in (27) correspondsto: 1) the cascade ; 2) ; 3)
; 4) is the bilinear connection of kernels
and through ; 5) idem forand . Then, the transfer kernels are given
by ,
(28)
where is given by (19). Thus, the kernels of ordercorrespond 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 forreplacing by , and recalling from(20) that, for the transferkernel , the Laplace variables arelinked to the input , to , and the lastones to . All the expressions given above for have
the form (20) and lead to the realization given in Fig. 17. Forinstance, corresponds to (20) with ,
Fig. 17. Realization of the outputs for , associated with (nonzero)transfer kernels of order , using filters with transfer function ,sums and instantaneous products (in the time domain). Inputs are , , and 0 .
, accounting for a filter
applied to , accounting for the identity system
(a wire) and accounting for the lastfilter which deliver in the second row of Fig. 17.
Remark 12: In Fig. 17, all the paths (and outputs) involvingor include a product with a signal “multiplicatively” (here,
linearly) dependent on : this means that and are auxil-iary with respect to . On the contrary, has a direct actionon : this means that is principal for .
3) Results: Simulations have been performed as in Section Vwith kHz and using: 1) in Fig. 17, four products, foursums (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) inFig. 15, two delay lines, two sums, and the (static) functionwhich involves two
evaluations of (or, e.g., Padé approximants) and twoproducts. Finally, products,sums, two delay lines, and two functions .
Results are similar to those of Section V for . Signals, and
are given in Fig. 18 for and several delays . It canbe observed that, as expected: 1) increases withso that the quasi-linear behavior of (with respect to ) isbetter for than for and ; 2)
the independence of the solution with respect to holds (atleast for sufficiently small ). Finally, all signals are detailed inFig.19for and : themainnonlinearc ontributioncomes from meaning has a weaker influence thanon the system. These results are better than in Section VI-A.But, compared to the reference (see Fig. 14), the quality mustbe increased.
4) Improvements Obtained With Predictors , :
Adapting the method given in Section VI-B1 to predic-tors , yields better results. In thiscase,
.A first-order expansion with respect to ex-
actly leads to (26) with ,, . Hence, for , the
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
12/13
758 IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 18, NO. 4, MAY 2010
Fig. 18. Signals , , for , , , kHz, .
Fig.19. Numerical simulations for , , , (to be compared
to Fig. 12).
realization is still that given in Fig. 17. A simulation with thesame parameters as in Fig. 19 and using the approximation
in the predictoryield the results given in Fig. 20, which are satisfying com-
pared to the reference. Notice that the correction monitoredby the Volterra series is much lower for predictors , thanfor , .
VII. CONCLUSION AND PERSPECTIVES
A low-cost digital simulation of the Moog ladder filter basedon Volterra series has been derived. In practice, basic Matlabcodes runs at about ten times the real-time and a third-order ver-sion of Fig. 8 implemented on MaxMSP (thanks to R. Mullerand J. Lochard) uses about 3.3% of the CPU consumption on aMac Book (2.5 GHz). The stability (proved for fixed parame-ters) is preserved for slowly-varying , .
The limitations due to the saturation phenomena have beenanalyzed. Methods dedicated to increase the validity range havebeen proposed and studied on a single-stage filter. Using statepredictors and the input , a system which managesthe correction signal hasbeenbuilt,withmultipleinput
Volterra series. For Lipschitz input signals, the principal inputof is much lower than the input of the original
Fig.20. Numericalsimulationsfor , , , (to be comparedto Fig. 19).
system . The Volterra kernels exclusively fed by are exactlythose of . Simulations results are satisfying for first-order pre-dictors. The Volterra kernels do not depend on the delay of thepredictors and, for sufficiently small results are robust with re-spect to .
Future works will consist of characterizing the efficiency of the method, the convergence speed and the stability conditionof the finite order realizations. Moreover, further work could beperformed to weaken the aliasing introduced by the nonlinearpredictors. Finally, it could be interesting to study other familiesof predictors and to adapt the method to other systems such as
nonlinear partial differential equations modeling e.g. acousticpipes, strings, plates or shells.
APPENDIX ANUMERICAL SCHEME (M2) USED IN THIS PAPER
Consider the system with input , state, defined by the state-space representa-
tion withand . The solution is
. Then, denoting thesampling period and
with .For an ideally sampled input , the Shannon–Nyquist
exact reconstruction is where, so that the computa-
tion of involves a non causal infinite digital filter. Usingthe linear interpolation leadsto the approximation ,with , forwhich the pole mapping, the phase and free regimesare all exact. The amplitudes are attenuated by the gain
(see
Table I for performances) which decreases from 1 at toat (worst case). The corresponding relative
8/17/2019 Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations
13/13
HÉLIE: VOLTERRA SERIES AND STATE TRANSFORMATION FOR REAL-TIME SIMULATIONS 759
TABLE IMAXIMAL AMPLITUDE MODIFICATIONS (GAIN , RELATIVE ERROR )
error increases from 0 at (no deviation)to at (maximal 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 audiosignal processing,” in Proc. 17thAES Conv., New York, 1965, pp. 1–12.
[2] T. Stilson andJ. Smith,“Analyzing theMoogVCF with considerationsfor digital implementation,” in Proc. Int. Compute. Music Conf., HongKong, China, 1996, pp. 398–401.
[3] A. Huovilainen, “Non-linear digital implementation of the Moogladder filter,” in Proc. Int. Conf. Digital Audio Effects, Naples, Italy,2004, pp. 61–64.
[4] T. E. Stinchcombe, Derivation of the transfer function of the Moogladder filter 2005 [Online]. Available: http://mysite.wanadoo-mem-bers.co.uk/tstinchcombe/synth/Moog_ladder_tf.pdf, Tech. Rep.
[5] J. Smith, “Virtual acoustic musical instruments: Review of models andselected 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. 19–31,2006.[7] T. Hélie, “On the use of Volterra series for real-time simulations of
weakly nonlinear analog audiodevices: Application to the Moog ladderfilter,” in Proc. Int. Conf. Digital Audio Effects, Montréal, QC, Canada,2006, vol. 9, pp. 7–12.
[8] V. Volterra , Theory of Functionnals and of Integral and Integro-Differ-ential 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. 243–282, 1984.
[10] T. Hélie and M. Hasler, “Volterra series for solving weakly non-linearpartial differential equations: Application to a dissipative Burgers’equation,” Int. J. Control, vol. 77, pp. 1071–1082, 2004.
[11] T. Hélie and D. Roze, “Sound synthesis of a nonlinear string usingVolterra series,” J. Sound Vibr., vol. 314, pp. 275–306, 2008.
[12] T. Hélie and V. Smet, “Simulation of the weakly nonlinear propaga-tion 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. 1580–1585.
[13] J. Pakarinen and D. T. Yeh, “A review of digital techniques for mod-eling vacuum-tube guitar amplifiers,” Comput. Music J., vol. 33, no. 2,pp. 85–100, 2009.
[14] W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling , Numerical Recipes in FORTRAN: The Art of Scientific Computing,2nded. Cambridge, U.K.: Cambridge Univ. Press, 1992.
[15] G. Borin, G. D. Poli, and D. Rocchesso, “Elimination of delay-freeloops in discrete-time models of nonlinear acoustic systems,” in Proc.
IEEE Workshop Applicat. Signal Process. Audio Acoust., 1997, pp.1–4.
[16] F. Avanzini, F. Fontana, and D. Rocchesso, “Efficient computation
of nonlinear filter networks with delay-free loops and applications tophysically-based sound models,” in Proc. 4th Int. Workshop Multidi-mensional Syst., Wuppertal, Germany, 2005, pp. 110–115.
[17] F. Fontana and F. Avanzini, “Computation of delay-free nonlinear dig-ital filter networks. Application to chaotic circuits and intracellularsignal transduction,” IEEE Trans. Signal Process., vol. 56, no. 10, pp.4703–4715, 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 systèmes non linéaires. Oslo,Norway: Hermès, 1994.
[21] A. Isidori , Nonlinear Control Systems, 3rd ed. New York: SpringerVerlag, 1995.
[22] R. W. Brockett, “Volterra series and geometric control theory,” Auto-matica, vol. 12, pp. 167–176, 1976.
[23] E. G. Gilbert, “Functional expansions for the response of nonlineardifferential systems,” IEEE Trans. Autom. Control, vol. AC-22, no. 6,pp. 909–921, Dec. 1977.
[24] W. J. Rugh , Nonlinear System Theory, The Volterra/Wiener Ap- proach. Baltimore, MD: Johns Hopkins Univ. Press, 1981.
[25] M. Fliess, M. Lamnabhi, and F. Lamnabhi-Lagarrigue, “An algebraicapproach to nonlinear functional expansions,” IEEE Trans. CircuitsSyst., vol. CAS-30, no. 8, pp. 554–570, Aug. 1983.
[26] S. P. Boyd, “Volterra series: Engineering fundamentals,” Ph.D. disser-tation, Harvard Univ., Cambridge, U.K., 1985.
[27] P. E. Crouch and P. C. Collingwood, “The observation space and re-alizations of finite Volterra series,” SIAM J. Control Optimiz., vol. 25,no. 2, pp. 316–333, 1987.
[28] M. Schetzen , The Volterra and Wiener Theories of Nonlinear Sys-tems. New York: Wiley-Interscience, 1989.
[29] T. Hélieand B. Laroche, “Computation of convergence radius and errorbounds of volterra series for single input systems with a polynomialnonlinearity,” in Proc. IEEE Conf. Decision Control, Shangai, China,2009, vol. 48.
[30] M. Abramowitz and I. A. Stegun , Handbook of Mathematical Func-tions. New York: Dover, 1970.
Thomas HéliereceivedtheDipl.Ing.degreefromtheEcoleNationale Supérieure des Télécommunicationsde Bretagne, Bretagne, France, in 1997, the M.S. de-gree in acoustics, signal processing, and informaticsapplied to music, Université Paris 6, Paris, France, in1999, the M.S. degree in automatic and signal pro-cessing from the University Paris-Sud, in 1999, andthe Ph.D. degree in automatic and signal processingfrom 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 Uni-versity Paris-Sud in 2004, he has been, since 2004, Researcher at the NationalResearch Council,Analysis/SynthesisTeam, IRCAM-CNRSUMR 9912, Paris.His research topics include physics of musical instruments, physical modeling,nonlinear dynamical systems, and inversion processes.