A Procedure for Obtaining Multi Input Multi Output Volterra Models ...

0 downloads 0 Views 142KB Size Report
lution technique for multi-input, multi-output (MIMO) nonlinear ODEs is a complicated issue due to the difficulty of analytically determining. MIMO Volterra kernels ...
A Procedure for Obtaining Multi Input Multi Output Volterra Models From Port-Based Nonlinear Differential Equations Elliot Motato and Clark J, Radcliffe, ASME Fellow

Abstract— Physical nonlinear dynamic systems have traditionally been modeled using nonlinear ordinary differential equations (ODEs). One solution technique for single-input, single-output (SISO) nonlinear ODEs is obtained through a Volterra transfer function. Applying this solution technique for multi-input, multi-output (MIMO) nonlinear ODEs is a complicated issue due to the difficulty of analytically determining MIMO Volterra kernels. In this work a systematic procedure to obtain frequency domain MIMO Volterra models from external port-based nonlinear ODEs is presented. In a port-based model the number of system inputs is equal to the number of system outputs. Port-based model are important because any physical system can be modeled using ports. An example of a two-port nonlinear ODE is presented and different truncated MIMO Volterra transfer function models are obtained. The ODE and Volterra model responses are compared using Simulink

I. INTRODUCTION Volterra transfer functions are input-output representations used to describe nonlinear behavior. A Volterra model is nonlinear with respect to its inputs but linear with respect to its parameters [1]. Volterra models have been used to obtain solutions for SISO nonlinear systems in areas such as offshore structures [2], power amplifier behavior [3], rheology [4], nonlinear model reduction [5] and others. Sub-harmonic nonlinear behavior [6] and noise characterization [7] can also be described using Volterra models Although a analytical procedure to obtain Volterra transfer functions for external SISO nonlinear ODEs is available [8], [9], no general analytical procedure to obtain a MIMO Volterra transfer functions from a nonlinear ODEs has been published. This is a complicated issue when the number of system’s inputs and system’s outputs are not equal. Some works in MIMO Volterra models experimentally identify the model kernels [10], to approximate weakly nonlinear MIMO systems [11]. Other works and to determine error bounds [12]. This work obtains an analytical solution for smooth nonlinear MIMO ODEs using Volterra models. The Volterra series is an infinite power series with memory and suffers from the problem of a limited zone of convergence. For the Volterra representation to properly describe a subsystem system model, the Volterra series must converge over the input/output variable range used in the assembled system. This issue is recognized in multiple works: Frank [13], Brilliant [14], Christensen [15], Boyd [16], Czarniak [17], Tomilson [18], Chatterjee, [19] and others. The series convergence depends on system parameters [19], BIBO stability [15], amplitude of the input applied [16], truncation point of the series and other factors. One necessary condition for existence of the series and its convergence is that the linear term cannot be zero [13]. Boyd [16] showed that the radius of convergence of E. Motato is a Ph.D candidate with the Department of Mechanical Engineering, Michigan State University, East Lansing, Michigan, USA

[email protected] C. Radcliffe is a Professor at the Department of Mechanical Engineering, Michigan State University, East Lansing, Michigan, USA

[email protected]

a Volterra series is directly related to the amplitude of the input applied. This radius of convergence can be presented in the form |u(t)| < ρ, where u(t) is the input vector applied to the system and ρ is the radius of convergence. Sandberg [20] has also shown that a truncated Volterra series provides a uniform approximation to the in finite Volterra series on a ball of bounded inputs for a large class of systems. SISO Volterra series have been recognized as a useful approach to engineering modeling. This work deals only with the modeling of physical systems but does not present any approximation of the radio of convergence of the obtaining models. Future work will address this issue. Port-based ODEs are an important class of nonlinear ODE. In a port-based ODE model, the number of inputs is equal to the number of outputs. Port-based models are very useful because physical systems can be modeled using ports [21]. A port is an input-output pair through which a physical system interchanges energy with the environment. Port-based nonlinear ODE models have an equal number of input and outputs because each port contributes an inputoutput variable pair. [22]. These pairs facilitate the generation of MIMO Volterra models. A procedure to analytically obtain Volterra models from portbased nonlinear ODEs is derived. This procedure provides a solution to this class of MIMO nonlinear ODEs. First, the standard nonlinear port-based ODEs used in this procedure are described. Second, the Volterra MIMO models are presented. Third, a nonlinear operator required to obtain the MIMO Volterra models is defined. Fourth, the procedure to obtain MIMO Volterra model expansions from port-based nonlinear ODEs is presented. Fifth, an example of a two-port nonlinear ODE is shown. The Volterra model response is compared to the nonlinear ODE model response using a Simulink simulation. II. PORT BASED NONLINEAR ODE MODELS Port-based models are important because they can be used to model physical systems. A physical system is an entity separated from the environment that interchanges energy through a boundary [21]. Physical systems are composed of interacting components that perform in a synchronized way to generate an energy flow. This energy flow is transferred through physical connections consisting of input-output pairs called ports [23]. The product between the input and the output variables of a port defines the energy flow through the port. Positive energy flow through a port is defined as the work done on the system. The total energy flow is the sum of all the energy flows through each of its ports. A port-based nonlinear ODE model has equal number of inputs and outputs because an input-output pair constitutes each port. This work considers nonlinear port-based models in the form,   m m f1 y1 , y˙1 , . . . ddt ym1 , . . . , yr , y˙r , . . . ddt myr = u1 .. (1) .   d m yr d m y1 fr y1 , y˙1 , . . . dt m , . . . , yr , y˙r , . . . dt m = ur

where the number of ports 1 ≤ i ≤ r; fi (·) is the ith port’s nonlinear operator; ui is the ith input and yi is the ith output of the system. Many physical models of nonlinear engineering systems take this form when modeled using the energy-based Lagrange approach [23]. An example is a two-port system (Fig. 1) composed of two masses, one nonlinear spring, one linear spring and one linear damper. The mass m1 is connected to a fixed point through the 3 nonlinear spring with force fNL = k1 (y1 + y1 ). The mass m2 is connected to the mass m1 with a linear damper having damping coefficient b1 and a linear spring with constant k2 . The first port uses the input-output pair (u1 , y1 ) where u1 is the input force applied to the mass and y1 is its output displacement. The second port uses the input-output pair (u2 , y2 ) where u2 is the input force applied to the mass m2 and y2 is its output displacement.

Fig. 1.

Double-Mass Spring Damper-Nonlinear System

The nonlinear, port-based, ODE model for the system (Fig. 1) in the required format (1) is m1 y¨1 + b1 (y˙1 − y˙2 ) + k1 y1 + k1 y13 + k2 (y1 − y2 ) = u1 m2 y¨2 + b1 (y˙2 − y˙1 ) + k2 (y2 − y1 ) = u2

(2)

III. VOLTERRA MODELS A Volterra model is an extension of the linear convolution integral approach for time-invariant systems. Any nonlinear time-invariant system can be represented as an infinite sum of multidimensional convolution integrals of increasing order [8]. For a SISO system this is y(t) =

g (τ1 )u(t − τ1 )dτ1 +

0 1

R ∞R ∞R ∞

g (τ1,τ2,τ3 )u(t−τ1 )u(t−τ2 )u(t−τ3 )dτ1dτ2dτ3 + · · · .. .

(3)

where y(t) represents the nonlinear system output, u(t − τi ) is the input associated to the ith dimensional convolution integral, and gi (τ1 , . . . , τi ) is the ith kernel of the system. All the higher order kernels can be analytically derived from the first order linear kernel g1 (τ1 ) . This kernel is the traditional linear unit impulse response of the system. The second order kernel, g2 (τ1 , τ2 ), is a two-dimensional function of time and is the response of the system to two independent unit impulses applied at two different points in time. The kernel g2 (τ1 , τ2 ) is a function of both time and one time lag (τ1 − τ2 ) . The kernel g3 (τ1 , τ2 , τ3 ) is a threedimensional function of time and is the response of the system to three independent unit impulses applied at three different points in time. The kernel g3 (τ1 , τ2 , τ3 ) is a function of both time and the two time lags (τ1 − τ2 ) and (τ2 − τ3 )[16]. The ith integral in (3) is called a ”degree-i homogeneous system” and its respective output Z



Z

o

0

0

0

g2 (τ1 , τ2 )u(t − τ1 )u(t − τ2 )dτ1 dτ2

R ∞R ∞R ∞

y3 =

g3 (τ1,τ2,τ3 )u(t−τ1 )u(t−τ2 )u(t−τ3 )dτ1 dτ2 dτ3 .. . where gi (τ1 , · · · τi ) is the ith kernel. 0

0

0

The Laplace transform of a multi-time variable system is an extension of the single-time Laplace transform. Given an ith dimensional function of time gi (τ1 , · · · τi ) that is one-sided in each variable (0 ≤ t ≤ ∞) , its Laplace transform is defined as [9] Gi (s1 ,· · · ,si ) =

R ∞R ∞ 0

0

gi (τ1 ,· · · ,τi )e−s1 τ1 ,· · · ,e−si τi dτ1 , · · · ,dτi

Y1 (s1 ) = G1 (s1 )U(s1 ) Y2 (s1 , s2 ) = G2 (s1 , s2 )U(s1 )U(s2 ) Y3 (s1 , s2 , s3 ) = G3 (s1 , s2 , s3 )U(s1 )U(s2 )U(s3 ) .. .

(7)

where U(si ) is the Laplace transform of the input u(ti ) and Gn (s1 ,· · · ,sn ) is the multi-complex variable Laplace transform of the nth order kernel. The SISO Volterra transfer function is obtained by summing all the rows in (7) Y (s1 , s2 , · · · ) = G1 (s1 )U(s1 ) + G2 (s1 , s2 )U(s1 )U(s2 ) +G3 (s1 , s2 , s3 )U(s1 )U(s2 )U(s3 ) + · · ·

(8)

The model representation (8) is used to simulate the response of SISO nonlinear systems [9].

Y2 (s1 , s2 ) = G2 (U(s1 )U(s2 ))

h iT Y1 (s1 , · · · , si ) = Yi,1 (s1 , · · · , si ), · · · ,Yi,r (s1 , · · · , si )

(5)

(10)

The Volterra transfer function for a port-based system with r ports is an extension of (8) and is obtained by adding all the Gi in (9). The response is a vector in the form, Y(s1 , · · · ) = G1 (U(s1 ))+G2 (U(s1 )U(s2 )) +G3 (U(s1 )U(s2 )U(s3 )) + · · ·

(11)

where U(s1 ), U(s2 ), · · · are (r × 1) input vectors and Y(s1 , s2 , · · · ) is the (r × 1) output vector. The MIMO the notation can be simplified if the following input argument list format is defined, U1 , U(s1 ) U2 , U(s1 )U(s2 )

o

(9)

Each element Gi (•) in (9) is a functional that operates on a set of (r × 1) input vectors, yielding ∀ ≤ i ≤ ∞ the (r × 1) ”degree-i homogeneous output” vector

(4)

is called the ”degree-i homogeneous output” (4). Notice that if a new input αu where α is a scalar, is applied, the resultant output is y˜i = α n yi [9]. The SISO response y(t) in (3) is then a sum of partial outputs provided by different ”degree-i homogeneous systems”, y(t) = y1 (t1 ) + y2 (t1 ,t2 ) + y3 (t1 ,t2 ,t3 ) + · · ·

(6)

where the complex variable sk = σk + ωk j . Applying the Laplace transform to (5) yields,



gi (τ1 , · · · , τi )u(t − τ1 ) · · · u(t − τi )dτ1 · · · dτi

g1 (τ1 )u(t − τ1 )dτ1

Y3 (s1 , s2 , s3 ) = U3 (U(s1 )U(s2 )U(s3 )) .. .

0 0 0 3

yi = · · ·

y2 =

R ∞R ∞

R∞

Y1 (s1 ) = G1 (U(s1 ))

R ∞R ∞

g (τ1 , τ2 )u(t − τ1 )u(t − τ2 )dτ1 dτ2 +

y1 =

The MIMO extension of (7) for a system with r ports is,

R∞

0 0 2

where,

U3 , U(s1 )U(s2 )U(s3 ) .. .

(12)

Using (12) into (11) yields, Y(s1 , s2 , · · · ) = G1 (U1 ) + G2 (U2 ) + G3 (U3 ) + · · ·

(13)

In the same form, to simplify the output notation in (9), the following definitions are introduced,

˜ (2) , can be Using (18), Volterra functionals (14) that includes Y written as a function of the system external inputs. In the second example, the (r × 1) vector

Y(1) , Y(s1 ) = G1 (U1 )

˜ (1,1) = ψ(Y(1) , Y(2) ) = [(Y(1),1 ) · (Y(2),1 ), · · · , (Y(1),r ) · (Y(2),r )]T Y

Y(2) , Y(s1 , s2 ) = G2 (U2 ) Y(3) , Y(s1 , s2 , s3 ) = G3 (U3 ) .. .

(14)

IV. THE NONLINEAR MULTIPLICATIVE OPERATOR A nonlinear operator ψ(•) is used to build the Volterra functionals in (13). This operator uses as argument an arbitrary set of vectors (r × 1) in the form,         u1 v1 w1 z1   .   .   .   .  R = u = .  , v = .  w = .  , · · · , z = .  . . . . ur vr wr zr 

(15)

is the result of operating on a combination of one degree-1 homogeneous (r ×1) vector, Y(1) = [(Y(1),1 ), · · · , (Y(1),r )]T with one degree2 homogeneous (r ×1) vector, Y(2) = [(Y(2),1 ), · · · , (Y(2),r )]T ] . Each ˜ (1,1) is obtained by performing (∀ 1≤ i ≤ r) element of the vector Y ˜ (1,1) indicates the operation (Y(1),i )·(Y(2),i ). The sub-index (1,1) in Y that it is the result of operating on one degree-1 homogeneous vector and one degree-2 homogeneous vector. Because no additional indices are included beyond the first two, no higher degree arguments are present. Fig. 3.

to perform the operation ψ(R) that yields the (r × 1) vector 



  p˜ = ψ(R) = u =

 (u1 ) · (v1 ) · (w1 ) · · · · (z1 )  ..  .

(16)

(ur ) · (vr ) · (wr ) · · · · (zr )

Each element in the vector p˜ is a scalar formed by the product of corresponding elements of the argument vectors u, v, w, · · · , z. Restated, the ith element of the vector p˜ results of multiplying the ith elements of the vectors u, v, w, · · · , z , that is p˜i = (ui ) · (vi ) · (wi ) · · · (vi ). The result of operating on a set of (r × 1) degree-i homogeneous output vectors Yi by the multiplicative operator ψ(•) is defined to have the standard notation Y˜(a,b,··· ,n) . This process also satisfies (16), but the resultant vector notation includes the additional subindex (a, b, · · · , n). This sub-index is used to identify the number of argument vectors with equal degree-i homogeneous outputs. In the notation, a is the number of degree-1 homogeneous output argument vectors, b is the number of degree-2 homogeneous output argument vectors and so on. Finally n is the number of argument vectors having the maximum homogeneous degree. Two examples are presented to illustrate the multiplicative operator ψ(•) notation. In the first example ψ(•) operates on the combination of two (r × 1) degree-1 homogeneous output vectors. In the second example ψ(•) operates on the combination of a (r × 1) degree-1 homogeneous output vector and a (r × 1) degree-2 homogeneous output vector. These examples will illustrate the use of the required sub-index when different combination of degree are present in the operator’s argument list. In the first example, the (r × 1) vector ˜ (2) = ψ(Y(1) , Y(1) ) = [(Y(1),1 ) · (Y(1),1 ), · · · , (Y(1),r ) · (Y(1),r )]T Y

(17)

is the result of operating two degree-1 homogeneous (r × 1) vectors ˜ 2 is Y(1) = [(Y(1),1 ), · · · , (Y(1),r )]T ]. Each element of the vector Y obtained by performing (∀ 1 ≤ i ≤ r) the operation (Y(1),i ) · (Y(1),i ). ˜ 2 indicates that it is the result of operating The sub-index (2) in Y on (2) degree-1 homogeneous output vectors. Because the indices in parentheses end after the first entry, no higher degree terms ˜ 2 can be also presented as are indicated. The resultant output Y Fig. 2.

Block Diagram Representing the Operator ψ(Y(1) , Y(2) )

˜ (1,1) can be also presented as a function The resultant output Y of the external input U1 and the input set U2 by substituting the first two rows of equation (14) into (19) to yield, ˜ (1,1) = ψ G(1) (U(1) ), G(2) (U(2) Y



(20)

˜ (1,1) can be written Using (18) and (20), Volterra models including Y as a function of the system external inputs. This capability is important because the Volterra models obtained from MIMO portbased ODEs will include (17), (18) and other similar higher order terms. V. G ENERATING VOLTERRA M ODELS F ROM P ORT-BASED ODE S The Volterra model of a port-based MIMO nonlinear ODE model in the form (1), is obtained in this section. Assuming that this system is operating around an equilibrium point (op) located at the origin (y0 , u0 ) = (0, 0), a Taylor series expansion applied around this equilibrium point yields, ∞

Σn=1

  1 n!

n

d fi n dy j

 n       n   n n n d f d f |op y + d y˙ ni |op y˙ + d y¨ ni |op y¨ +· · · = u j

(21)

j

where (∀1 ≤ i, j ≤ r) and (∀1 ≤ k ≤ m), (m is the maximum time derivative of the outputs), each term "

n

∂ f h  i i| op n ∂ d k yj /dt k

!#   = bi, j (n,k)

(22)

is a (r × r) matrix of constants. For an specific k and n, each constant bi, j is the nth partial derivative of the scalar function n fi (y, y˙ , · · · ) respect the variable [d k yj /dt k ] evaluated at (op). The vector notation h n i n T an = a1 , · · · , ar (23) has also been used to simplify the result (21). Using a constant α, a new input in the form u˜ = αu = α [u1 (t1 ), · · · , ur (t1 )]T

(24)

is defined. If this new input is applied to (22), the resultant output y˜ is an extended format of the SISO form shown in [8], y˜ = αy1 (t1 ) + α 2 y2 (t1 ,t2 ) + α 3 y3 (t1 ,t2 ,t3 ) + · · ·

Block Diagram Representing the Operator ψ(Y(1) , Y(1) )

(19)

(25)

a function of the external input U1 . Substituting the first row of equation (14) into (17) yields,

Equation (25) is a direct result of the ”degree-i homogeneous system” properties (5) and is extended here to the vector case. Defining y(i) = yi (t1 , · · · ,ti ), (25) can be written in the form,

˜ 2 = ψ G(1) (U(1) ), G(1) (U(1) Y

y˜ = αy(1) + α 2 y(2) + α 3 y(3) + · · ·



(18)

(26)

Substituting (24) and (26) (∀1 ≤ i, j ≤ r) into (21) yields, h

i

bi, j

(1,0)

h

1 2!

 h i αy(1)+α 2 y(2)+ · · · + bi, j

bi, j

p2 (x) =

(1,1)

 2 h i αy(1)+α 2 y(2)+· · · + 2!1 bi, j

i

(2,0)

 2 α y˙(1)+ α 2 y˙(2)+ · · · + · · · +

(2,1)

 3 h i αy(1)+α 2 y(2)+ · · · + 3!1 bi, j

h i bi, j

1 3!

where the second order functional

  α y˙(1) + α 2 y˙(2)+ · · · + · · · +

(3,0)

 3 α y˙(1)+ α 3 y˙(2)+ · · · + · · · = u

The terms multiplied by a particular α i , (∀ 1 ≤ i ≤ ∞) in (27), are independent from all others because α is an arbitrary constant. This property is used by Schetzen [8] to determine all the SISO Volterra transfer functions in (8). Extending this procedure to the MIMO case, the Volterra operator Gi (•) in (11) (∀ 1≤ i ≤ ∞) can be derived directly from the terms that are multiplied by the constant α i . The first term in the expansion (11) is the linear Volterra operator G1 (•). It is derived from the terms multiplied by α 1 , bi, j

i (1,0)

bi, j

i (2,0)

h i y(1)+ bi, j

(1,1)

h

p1 (x) = bi, j

h i y˙(1)+ bi, j

dm y

h i y¨(1)+ · · · + bi, j

(1,2)

(1)

(1,m)

dt m

=u

(28)

i (1,0)

h i x + bi, j

(1,1)

h i x˙ + bi, j

h i x¨ + · · · + bi, j

(1,2)

(1,m)

dm x dt m

(29)

p1 (y(1) ) = u

P1,(1) Y(1) = U(1)

(31)

where Y(1) and U(1) are respectively the Laplace transform of the time variables y(1) and u and,         P1,(1) = bi, j (1,m) sm + · · · + bi, j (1,2) s21 + bi, j (1,1) s1 + bi, j (1,0) 1 is a (r × r) dynamic matrix of polynomials in the complex variable s1 . The elements between parenthesis in the sub-index of the matrix P1,(1) indicates that this matrix is function of one independent complex variable. All the above elements of P1,(1) definition in brackets are (r × r) matrices of constants. Inverting P1,(1) yields, Y(1) = G1,(1) U(1)

(32)

where hh i G1,(1) = bi, j

(1,m)

h i sm + · · · + bi, j 1

(1,2)

h i s21 + bi, j

(1,1)

h i s1 + bi, j

i−1

(1,0)

(1,0)

h

1 2!

h i y(2)+ bi, j

bi, j

(1,1)

i

2

h i y˙(2)+ · · · + bi, j

h

y + 2!1 bi, j

(2,0) (1)

(1,m)

i

2

+

h

i

y˙ + · · · + 2!1 bi, j

(2,1) (1)

(2,m)

(34)

dm y 2 (1)

dt m

=0

y˜ (2) = y(1)

(35)

The definition (29) of operator p1 (•) and (35) are applied to (34) to yields,     p1 y(2) + p2 y˜ (2) = 0

(39)

Solving for the (r × 1) vector Y(2) by inverting P1,(2) ,   Y(2) = −G1,(2) P2,(2) ψ Y(1) , Y(1)

where G1,(2)

(40)

i−1 = P1,(2) . Finally substituting (32) into (40)yields, h

  Y(2) = −G1,(2) P2,(2) ψ G1,(1) U(1) , G1,(1) U(1) = G2 (U2 )

(36)

(41)

The output vector Y(2) is obtained (Fig.4) by multiplying each of the two inputs U1 vectors by the G1,(1) matrices. The two Y(1) resultant ˜ . This outputs, are operated on by ψ(•) to yield the vector Y (2) vector is then multiplied by the matrix P2,(2) . The resultant output is finally multiplied by the matrix −G1,(2) . Nonlinear Operator G2 U(2)

Fig. 4.



The third term in the expansion (11) is the nonlinear operator 3 G3 (U3 ). This term is found by equating the coefficients of α in both sides of (27), h

h i dm y (3) y(3)+· · · + bi, j m + (1,0) (1,m) dt     y y y(1),1 y(2),1 2 h i  (1),1 (2),1 h i m  .. .. d   +· · · + 1 b  + 2!1 bi, j 2! i, j (2,m) dt m    . . (2,0) y(1),r y(2),r y(1),r y(2),r

bi, j

i

h

1 3!

bi, j

i

h i 3 y +· · · + 3!1 bi, j

(3,0) (1)

with the vectors y˜ (1,1)

(3,m)

(42)

dm y 3 dt

(1) m

=0

  y(1),1 y(2),1   ..  =   . y(1),r y(2),r

(43)

y˜(3) = y(1)3

(44)

Using the functional (29) and substituting (43) and (44) into (42) yields,       p1 y(3) + p2 y˜ (1,1) + p3 y˜ (3) = 0

Using the vector notation (23) and the operator (16), the (r × 1) vector 2

(38)

  P1,(2) Y(2) + P2,(2) ψ Y(1) , Y(1) = 0

dm y

(2) dt m

(37)

˜ in (38) is defined in (18). Substituting this result The vector Y (2) into (38) yields

The second term in the expansion (11) is the nonlinear functional G2 (U2 ). The second term is found by equating the coefficient of 2 α in both sides of (27), i

d x m dt

      1 1 1 P2,(2)= 2! bi, j (2,m)(s1+s2 )m+ · · · + 2! bi, j (2,1)(s1+s2 )+ 2! bi, j (2,0)

(33)

is the transfer function matrix. This term is equivalent to the linearized model of the nonlinear system (22).

(2,m)

where the (r × r) matrices       P1,(2) = bi, j (1,m)(s1+s2 )m+ · · · + bi, j (1,1)(s1+s2 ) + bi, j (1,0)

(30)

The sub-index of the operator p1 implies that it operates on the vector y(1) . Applying the Laplace transform to (30) with respect to one independent time variable yields,

m 2

h i 2 x˙ + · · · + 2!1 bi, j

˜ =0 P1,(2) Y(2) + P2,(2) Y (2)

where x is an arbitrary (r × 1) vector, to write (28) in the form,

bi, j

(2,1)

Applying the Laplace transform to (36) with respect to two independent time variables and using the Theorem 2.3 in Rough [9] yields,

where n is the maximum output derivative. Define the time dependent 1st order vector operator,

h

h i 2 x + 2!1 bi, j

(3,1)

(27)

h

h

1 2!

(45)

where the functional p3 (x) =

h

1 3!

bi, j

i (3,0)

h i x3 +3!1 bi, j

(3,1)

h i x˙ 3 + · · · +3!1 bi, j

(3,m)

m

d x3 m dt

(46)

Applying the multivariable Laplace transform to (45) with respect three independent time variables yields, ˜ ˜ =0 P1,(3) Y(3) + P2,(3) Y + P3,(3) Y (1,1) (3)

(47)

where the (r × r) matrices,

VI. EXAMPLE

   m       P1,(3) = bi, j (1,m) s(3) + · · · + bi, j (1,1) s(3) + bi, j (1,0)    m     1  1 1 P2,(3)= 2! bi, j (2,m) s(3) + · · · + 2! bi, j (2,1) s(3) + 2! bi, j (2,0)   m       1  1 1 P3,(3)= 3! bi, j (3,m) s(3) + · · · + 3! bi, j (3,1) s(3) + 3! bi, j (3,0) and s(3) = s1 +s2 +s3 . The nonlinear operator (16) is used to evaluate the vector,  ˜ = ψ G(1) (U(1) ), G(1) (U(1) ), G(1) (U(1) ) Y 3

The Volterra transfer function for the nonlinear ODE model of a mass-spring system (Fig. 1) is obtained in this section. The two masses m1 and m2 , are given different values to introduce asymmetry in the output responses y1 and y2 . Because the nonlinear 3 spring force dominates the linear spring force when kk1(y1 +y1 )k ≥k k2 (y2 − y1 ) k, the spring parameters are selected as k1 = 8 and k2 = 4 to make the nonlinear spring dominate the system response. The damping parameter is selected as b1 = 2 to increase energy dissipation rate and decrease settling time. Substituting these parameters in (2) yields, 2y¨1 + 2y˙1 − 2y˙2 + 8y1 + 8y13 + 4y1 − 4y2 = u1 y¨2 + 2y˙2 − 2y˙1 + 4y2 − 4y1 = u2

(48)

Substituting (48) and (20) into (47) yields,

Following the procedure (24) through (27) yields,

 P1,(3) Y(3) + P2,(3) ψ G(1) (U(1) ), G(2) (U(2) ) +



 P3,(3) ψ G(1) (U(1) ), G(1) (U(1) ), G(1) (U(1) ) = 0

(49)

Solving for the vector Y(3) by inverting the matrix P1,(3) yields,  Y(3) =−G1,(3) P3,(3) ψ G(1) (U(1) ), G(1) (U(1) ), G(1) (U(1) ) −  G1,(3) P2,(3) ψ G(1) (U(1) ), G(2) (U(2) )

(50)

     2 0 2 −2 α y¨(1)+α 2 y¨(2)+ · · · + α y˙(1)+α 2 y˙(2)+ · · · + 0 1 −2 2      3 12 −4 8 0 αy(1)+α 2 y(2)+ · · · + αy(1)+α 2 y(2)+ · · · =αu −4 4 0 0

where G1,(3) = P1,(3) (50) yields,

i−1

. Finally by substituting (41) and (32) into

2 0

     12 −4 2 −2 0 y˙(1)+ y =u y¨(1) + −4 4 (1) −2 2 1

p1 (x) = (51)

The addition of two 3rd order components (Fig.5) is required to compute the output vector Y(3) . Using a similar procedure, the ith

(56)

Defining the operator 

  Y(3)= G3 (U3 ) = −G1,(3) P3,(3) ψ G1,(1) U(1) , G1,(1) U(1) , G1,(1) U(1) −    G1,(3) P2,(3) ψ G1,(1)U(1) , G1,(2)P2,(2) ψ G1,(1)U(1) , G1,(1)U(1)

(55)

The linearized transfer function matrix G1,(1) is found by equating the elements multiplied by α 1 in (55), 

h

(54)

     12 −4 2 −2 0 x˙+ x x¨ + −4 4 −2 2 1

2 0

(57)

where x is an arbitrary (2 × 1) vector, the equation (56) can be written as, p1 (y(1) ) = u

(58)

Applying the Laplace transform with respect to one time independent variable yields and zero initial conditions yields, P1,(1) Y(1) = U(1)

Fig. 5.

Nonlinear Operator G3 U(3)

Volterra functional Gi (Ui ) can also be calculated. This Volterra functional requires the matrices G1,(i) , P1,(i) , P2,(i) , · · · , P j,(k) , and the matrix Pu,(v) =

h

1 u!

bi, j

i

 m h i s(v) + · · · + u!1 bi, j

(u,m)

  h i s(v) + u!1 bi, j

(u,1)

(u,0)

(52)

where Y(1) and U(1) are the Laplace transform respect t1 of the vectors y(1) and u and the dynamic matrix  2  2s1 + 2s1 + 12 −2s1 − 4 P1,(1) = 2 −2s1 − 4

s1 + 2s1 + 4

Solving for Y(1) yields, Y(1) = G1,(1) U(1)

where s(v) = (s1 + · · · + sv ).

(60)

where

The Volterra functional in (13) requires an infinite number of expansions. A realizable Volterra functional uses only a finite number of expansion terms and is a truncated version of the general Volterra model (13). For example, a Volterra functional truncated at the 3rd expansion is obtained by adding the Volterra models (32), (41) and (51) Y1−3 = G1 (U1 ) + G2 (U2 ) + G3 (U3 )

(59)



(53)

To obtain a truncated time solution of (53), the inverse Laplace transform is applied sequentially with respect to t1 ,t2 and then t3 . The result is the multi-time variable truncated solution y1−3 (t1 ,t2 ,t3 ). Finally the condition t = t1 = t2 = t3 is applied to obtain the single variable solution y1−3 (t). This process is described in detail in Schetzen [8] and Rough [9].

  G1,(1) =  

2

s1 +2s1 +4

2s1 +4

2s41 +6s31 +20s21 +16s1 +32

2s41 +6s31 +20s21 +16s1 +32

2s1 +4

2s1 +2s1 +12

2s41 +6s31 +20s21 +16s1 +32

2

   

2s41 +6s31 +20s21 +16s1 +32

is the linearized matrix transfer function and is equal to the inverse of the linearized dynamic matrix P1,(1) . The term G2 (U2 ), is found by equating the elements multiplied 2 by the coefficient α in (55), 

2 0

     0 2 −2 12 −4 y¨(2) + y˙(2)+ y =0 1 −2 2 −4 4 (2)

(61)

Using the functional (57), equation (61) can be written in the form,   p1 y(2) = 0

(62)

Taking the laplace transform of (62) for zero initial conditions yields, P1,(2) Y(2) = 0

The term G5 (U5 ), is found by equating the elements multiplied 5 by the coefficient α in (55),

(63)



For nonsingular P1,(2) , Y(2) = 0. This result, Y(2) = 0, is expected because the nonlinear system is an odd function. This result shows the second Volterra operator, G2 (U(2) ) = Y(2) = 0

(64)

2 0

      0 2 −2 12 −4 8 y¨(3) + y˙(3)+ y(3) + 1 −2 2 −4 4 0

 0 3 y =0 0 (3)

(65)

   0 2 −2 y¨(5) + y˙ + 1 −2 2 (5) !     2 12 −4 8 0 3(y(1),1 ) y(3),1 y(5) + =0 2 −4 4 0 0 3(y(1),2 ) y(3),2

 y˜ (2,0,1) =



  8 p1 y(3) = − 0

0 y˜ 0 (3)

(66)

Applying the Laplace transform to (66) with respect to three time independent variable yields, 

 0 ˜ Y 0 (3)

8 P1,(3) Y(3) = − 0

(67)

y(1),1 y(1),1 y(3),1 y(1),2 y(1),2 y(3),2

   24 p1 y(5) = − 0

 where P3,(0) =

8 0

P1,(3) =

where

 =

P1,(5)

˜ Y = (2,0,1)

 0 y˜ 0 (2,0,1)

(77)

(78)

2s(5) + 2s(5) + 12

−2s(5) − 4



−2s(5) − 4

s(5) + 2s(5) + 4



2

2

(79)



(Y(1),1 )(Y(1),1 )(Y(3),1 ) (Y(1),2 )(Y(1),2 )(Y(3),2 )

 = ψ(Y(1) , Y(1) , Y(3) )

(80)

and inverting the matrix P1,(5) into (78) yields,

2s(3) + 2s(3) + 12

−2s(3) − 4

−2s(3) − 4

s(3) + 2s(3) + 4

# Y(5) = −3G1,(5) P3,(0) ψ(Y(1) , Y(1) , Y(3) )

2

  Y(3)= −G1,(3) P3,(0) ψ G1,(1) U(1) , G1,(1) U(1) , G1,(1) U(1) −1

(76)

Substituting the vector

h

Solving for Y(3) by inverting P1,(3) and substituting (60) in (68) yields,

h

!

˜ P1,(5) Y(5) = −3P3,(0) Y (2,0,1)

(68)



0 and 0 " 2

=

Applying the Laplace Transform to (77) respect five independent time variables yields,

Substituting the multiplicative operator (48) into (67),  P1,(3) Y(3) = −P3,(0) ψ G(1) (U(1) ), G(1) (U(1) ), G(1) (U(1) )

(y(1),1 )2 y(3),1 (y(1),2 )2 y(3),2



Substituting (76) into (75) and using the operator in (57) yields,

Using the functional (57) and substituting (44) into (65) yields, 

(75)

Defining the vector,

The term G3 (U3 ), is found by equating the elements multiplied 3 by the coefficient α in (55), 

2 0

(69)

i

where G1,(3) = P1,(3) . Equation (69) is the third term in the Volterra model. The Volterra model truncated at the 3rd expansion includes equations (60) and (69) (Fig. 6),

−1

(81)

i

where G1,(3) = P1,(3) and previous results (60), and (69) yield,   Y(1) = G1,(1) U(1) Y(3)= −G1,(3) P3,(0) ψ G1,(1) U(1) , G1,(1) U(1) , G1,(1) U(1) all terms of the 5th order expansion can now be computed from the linearized transfer function Gi(i) h i−1 G1,(5) = P1,(5) # G1,(1) U1 , G1,(1) U1 ,   Y(5)= 3G1,(5) P3,(0) ψ G1,(3) P3,(0) ψ G1,(1)U(1) , G1,(1)U(1) , G1,(1)U(1) "

Y1−3 = G1 (U1 ) + G3 (U3 )

(70)

The term G4 (U4 ), is found by equating the elements multiplied by 4 the coefficient α in (55), 

2 0

   0 2 −2 y˙ + y¨(4) + −2 2 (4) 1 !     2 12 −4 8 0 3(y(1),1 ) y(2),1 y + =0 −4 4 (4) 0 0 3(y(1),2 )2 y(2),2

0 0



)2 y

3(y(1),1 (2),1 3(y(1),2 )2 y(2),2

Y1−5 = G1 (U1 ) + G3 (U3 ) + G5 (U5 )

!

y(2)

y(2),1 y(2),2

 =0

(73)

into (72),   p1 y(4) = 0 =⇒ G4 (U4 ) = 0

(83)

Fig. 7. Simulink Diagram for the Volterra Model Including the First and the Third Expansions

(72)

Using (64) 

The Volterra model truncated at the 5th expansion, includes equations (61), (71) and (82) (Fig. 7)

(71)

Using the operator (58), equation (71) can be written in the form,    8 p1 y(4) = − 0

(82)

(74)

Result (74) is expected because the nonlinearity is an odd function.

Fig. 6. Simulink Diagram for the Volterra Model Including the First and the Third Expansions

The time responses of the truncated Volterra models in (61), (72) and (82) are compared to the response of the nonlinear ODE model (54). The two inputs used to excite the system are sine waves with amplitudes -0.3 and -0.15 at frequencies of 2.27 rad/sec and 1.5 rad/sec respectively. These frequencies are the two natural frequencies of the linearized system and are determined by calculating the roots of the characteristic equation of G1,(1) in (61). The linearized model exhibits the greatest error between all the three responses. The error shown by the truncated Volterra model that includes the linearized and the third expansion terms is substantially smaller than the error exhibit by the linearized system (Fig. 8 and 9). The error exhibit by the truncated Volterra model that

includes the linearized, the third and the fifth order expansion term is the smallest of all the three responses. For a specific bound at the input, the more expansion the Volterra model includes, the smaller is its error. Theoretically the error between the Volterra model and the nonlinear ODE will tend to zero when an infinite number of expansions is used. Fig. 8. Response of the Output Y1 for the nonlinear ODE compared with Different Truncated Volterra Models

Fig. 9. Response of the Output Y2 for the nonlinear ODE compared with Different Truncated Volterra Models

VII. CONCLUSIONS In this work a procedure to analytically obtain multi-input, multi-output Volterra models from port-based nonlinear ODEs was proposed. Port-based nonlinear ODE models have an equal number of input and outputs. This input-output characteristic facilitates the development of a standard procedure to obtain Port-based Volterra models. Since Volterra models are linear respect to their parameters but nonlinear respect to their inputs, they are capable of describing MIMO nonlinear behavior using an explicit input-output format. The procedure shown in this work is an extension of the classical Taylor series approach used in linearization. In the process, each higher-order term is transformed to the multi-complex Laplace domain to produce a multi-complex variable matrix of transfer functions. The procedure can be substantially simplified because all higher order multi-complex Volterra functionals can be obtained from the linearized Laplace transfer function matrix by defining a nonlinear operator. This operator consists in a multiplicative operation into the outputs of standard Volterra models. An example of a two port nonlinear mechanical system with two degrees of freedom was presented to illustrate the procedure. The Volterra model includes the first five expansions. Different truncated MIMO Volterra models where simulated using Simulink and their responses were compared with the nonlinear ODE. The response result shows increasing simulation accuracy as the number of expansions included in the Volterra model is increased. Experience with these simulations models shows convergence requires bound on input amplitudes. Convergence radii are available for SISO Volterra models. Future work will be needed to find these limits for the MIMO models derived here. R EFERENCES [1] Favier, G., Kibangou, A., and Y., Khouaja, 2004, ”Nonlinear System Modelling by Means of Volterra Models. Aproaches for Parametric Complexity Reduction”, Simposium Techniques Avancees et Strategies Innovantes en Modelisation et Commandes Robustes des Processus Industriels, Martigues, September 21-22. [2] Bikerlund, Y., and Hanssen, A., 2003, ”On the Estimation of Nonlinear Volterra Models in Offshore Engineering”, International Journal of Offshore and Polar Engineering, Vol. 13(1). [3] Wang, T., and Brazil, Thomas., 2000, ”The Estimation of Volterra Transfer Functions With Applications to RF Power Amplifier Behavior Evaluation for CDMA Digital Communication, IEEE Microwave Symposium Digest., Vol. 1, June 2000 11-16, pp 425 - 428. [4] Draganescu, E., and Ercuta A., 2003, ”Identification of Nonlinearities in Anaelastic Polycrystalline Material Using Volterra-Fourier Transform”, Journal of Optoelectronics and Advanced Materials, Vol. 5(1), pp. 301-304. [5] Li P., and Pileggi T. L., 2003, ”NORM: Compact Model Order Reduction of Weakly Nonlinear Systems”, DAC 2003, Anaheim, California, June 2-6.

[6] Boaghe, O., and Billings S., 2003, ”Sub-harmonic Oscillation Modeling and MISO Volterra Series”, IEEE Transactions on Circuits and Systems, Vol. 50(7), pp 877-884. [7] Storrs, Samuel M., 1999, ”Noise Chacterization of devices for Optical Computing”, Ph.D. thesis, Texast Techn. University. [8] Schetzen, M., 1980, The Volterra and Wiener Theories of Nonlinear Systems, John Wiley Sons [9] Rugh, W., 1981, Nonlinear System Theory, The Johns Hopkins University Press. [10] Yangwang F., and Jiao, L, 2001, ”MIMO Volterra Filter Equalization Using Pth-Order Inverse Approach” Proc. of the IEEE International Conference on Acoustics, Speech and Signal Processing, Vol. 1, pp 177-180. [11] Dobrowiecki, T., P., and Schoukens, J., 2004, ”Linear Approximation of Weakly Nonlinear MIMO Systems”, Proc. IMTC 2004, Como, Italy, May 18-20. [12] Yangwang F., and Jiao, L, Ruixuan, W., Pan. J. 2000, ”Identification of MIMO Nonlinear Systems Based on Volterra Kernel Matrices” Proceedings. of the 3rd World Congress on Intelligent Control and Automation, June 28-July 2, Hefei, P.R. China. [13] Frank P, and McFEE, June 1963, ”Determining Input-Output Relationship of Nonlinear Systems by Inversions” IEEE Transactions on Circuit Theory, pp 169-180. [14] Brilliant M, March 1958, ”Theory of the Analysis of Nonlinear Systems”, Technical report 345, Massachussetts Institute of Technology, Research Laboratory of Electronics. [15] Christensen G, December 1969, ”On the convergence of Volterra Series” IEEE transactions on Automatic Control, 13, 736-737. [16] Boyd, S. and Chua L, November 1985, ”Fading Memory and The problem of Approximating Nonlinear Operators with Volterra Series”, IEEE Transactions on Circutis and Systems, Vol cas-32, No 11. [17] Czarniak A and Kudrewicz, August 1984, ”The Convergence of Nonlinear Series for Nonlinear Networks” IEEE transactions on Circuit and Systems, 31, 751-752. [18] Tomilson G. R. and Manson G., February 1996, ”A simple Criterion for Establishing an Upper Limit to the Harmonic Excitation Level of the Duffing Oscillator Using the Volterra Series”, Journal of Sound and Vibrations. 190(2), pp 751-762 [19] Chatterjee A., and Vyas N., February 2000, ”Convergence analysis of Volterra Series Response of Nonlinear Systems Subjected to Harmonic Exitation”, Journal of Sound and Vibrations. 236(2), pp 339-358 [20] Sandberg W. I, June 1983, ”Series Expansions for Nonlinear Systems” Circuits, Systems, and Signal Processing, vol. 2, no. 1, pp. 77-87. [21] Karnopp, Dean C., Margolis, D., and Rosenberg, R., 2000, System Dynamics: Modeling and Simulation of Mechatronic Systems , John Wiley Sons, Inc., New York. [22] Takahashi Y., Rabins, M., and Auslander D., 1970, Control and Dynamic Systems, Addison-Wesley Publishing Company. [23] Greenwood, D, 2003, Advanced Dynamics, Cambridge University Press. [24] Nam, C., 2006, Aeroelastic Analysis Using Matlab, at http://ctas.poly.asu.edu/chnam/ASE Book/ [25] J.G.F. Francis, The QR Transformation I, Comput. J., vol. 4, 1961, pp 265-271. [26] H. Kwakernaak and R. Sivan, Modern Signals and Systems, Prentice Hall, Englewood Cliffs, NJ; 1991. [27] D. Boley and R. Maier, ”A Parallel QR Algorithm for the NonSymmetric Eigenvalue Algorithm”, in Third SIAM Conference on Applied Linear Algebra, Madison, WI, 1988, pp. A20.

Suggest Documents