Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations

download Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations

of 13

Transcript of Helie, Tomas - Volterra Series and State Transformation for Real-time Simulations

  • 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.