United States Patent Application20050021319
Kind CodeA1
Li, Peng ; et al.January 27, 2005

Methods, systems, and computer program products for modeling nonlinear systems
Abstract
According to some embodiments of the present invention, a nonlinear system may be modeled by obtaining a transfer function for the nonlinear system and generating a Taylor series expansion of the transfer function. The Taylor series expansion includes a plurality of moments respectively corresponding to a plurality of coefficients of the Taylor series terms. At least one Krylov subspace is derived that matches at least one of the plurality of moments. The nonlinear system is modeled using the at least one Krylov subspace.

Inventors:Li; Peng (Pittsburgh, PA), Pileggi; Lawrence T.  (Pittsburgh, PA)
Correspondence Name and Address:PO BOX 37428
MYERS BIGEL SIBLEY & SAJOVEC
RALEIGH
NC
27627
US
Series Code:859621
Filed:June 3, 2004
U.S. Current Class:703/002
U.S. Class at Publication:703/002
Intern'l Class:G06F 017/10

Claims


That which is claimed:
1. A method of modeling a nonlinear system, comprising: obtaining a transfer function for the nonlinear system; generating a Taylor series expansion of the transfer function, the Taylor series expansion comprising a plurality of moments respectively corresponding to a plurality of coefficients of the Taylor series terms; deriving at least one Krylov subspace that matches at least one of the plurality of moments; and modeling the nonlinear system using the at least one Krylov subspace.

2. The method of claim 1, wherein deriving the at least one Krylov subspace comprises: selecting an order k of the plurality of moments to be matched; and deriving at least one Krylov subspace that matches at least one of the kth order moments of the plurality of moments.

3. The method of claim 2, further comprising: selecting a plurality of sample points; generating the k+1th order Transfer function at each of the plurality of sample points; determining contributions of non-linear elements in the k+1th order Transfer function generated at each of the plurality of sample points; discarding selected non-linear elements from the k+1th order Transfer function generated at each of the plurality of sample points to obtain a pruned system that approximates k+1th order Transfer function; and wherein modeling the nonlinear system comprises: modeling the nonlinear system using the at least one Krylov subspace and the pruned system that approximates k+1th order Transfer function.

4. The method of claim 2, wherein generating the Taylor series expansion comprises: generating a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points, each of the plurality of Taylor series expansions comprising a plurality of moments; and wherein deriving the at least one Krylov subspace comprises: selecting an order k of the plurality of moments to be matched based on a number of the plurality of expansion points; and deriving at least one Krylov subspace that matches at least one of the kth order moments of respective ones of the plurality of moments for the plurality of expansion points.

5. The method of claim 1, wherein generating the Taylor series expansion comprises: generating a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points, each of the plurality of Taylor series expansions comprising a plurality of moments; and wherein deriving the at least one Krylov subspace comprises: deriving at least one Krylov subspace that matches at least one of the plurality of moments for the plurality of expansion points.

6. The method of claim 1, wherein the transfer function comprises a single variable transfer function component and a multi-variable transfer function component.

7. The method of claim 1, wherein respective ones of the plurality of moments are matrices.

8. A method for modeling a nonlinear system, comprising: obtaining a transfer function for the nonlinear system; generating a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points, each of the plurality of Taylor series expansions comprising a plurality of moments respectively corresponding to a plurality of coefficients of the Taylor series terms; selecting an order k of the plurality of moments to be matched based on a number of the plurality of expansion points; deriving at least one Krylov subspace that matches at least one of the kth order moments of respective ones of the plurality of moments for the plurality of expansion points; and modeling the nonlinear system using the at least one Krylov subspace.

9. A system for modeling a nonlinear system, comprising: means for obtaining a transfer function for the nonlinear system; means for generating a Taylor series expansion of the transfer function, the Taylor series expansion comprising a plurality of moments respectively corresponding to a plurality of coefficients of the Taylor series terms; means for deriving at least one Krylov subspace that matches at least one of the plurality of moments; and means for modeling the nonlinear system using the at least one Krylov subspace.

10. The system of claim 9, wherein the means for deriving the at least one Krylov subspace comprises: means for selecting an order k of the plurality of moments to be matched; and means for deriving at least one Krylov subspace that matches at least one of the kth order moments of the plurality of moments.

11. The system of claim 10, further comprising: means for selecting a plurality of sample points; means for generating the k+1th order Transfer function at each of the plurality of sample points; means for determining contributions of non-linear elements in the k+1th order Transfer function generated at each of the plurality of sample points; means for discarding selected non-linear elements from the k+1th order Transfer function generated at each of the plurality of sample points to obtain a pruned system that approximates k+1th order Transfer function; and wherein the means for modeling the nonlinear system comprises: means for modeling the nonlinear system using the at least one Krylov subspace and the pruned system that approximates the k+1th order Transfer function.

12. The system of claim 10, wherein the means for generating the Taylor series expansion comprises: means for generating a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points, each of the plurality of Taylor series expansions comprising a plurality of moments; and wherein the means for deriving the at least one Krylov subspace comprises: means for selecting an order k of the plurality of moments to be matched based on a number of the plurality of expansion points; and means for deriving at least one Krylov subspace that matches at least one of the kth order moments of respective ones of the plurality of moments for the plurality of expansion points.

13. The system of claim 9, wherein the means for generating the Taylor series expansion comprises: means for generating a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points, each of the plurality of Taylor series expansions comprising a plurality of moments; and wherein the means for deriving the at least one Krylov subspace comprises: means for deriving at least one Krylov subspace that matches at least one of the plurality of moments for the plurality of expansion points.

14. The system of claim 9, wherein the transfer function comprises a single variable transfer function component and a multi-variable transfer function component.

15. The system of claim 9, wherein respective ones of the plurality of moments are matrices.

16. A system for modeling a nonlinear system, comprising: means for obtaining a transfer function for the nonlinear system; means for generating a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points, each of the plurality of Taylor series expansions comprising a plurality of moments respectively corresponding to a plurality of coefficients of the Taylor series terms; means for selecting an order k of the plurality of moments to be matched based on a number of the plurality of expansion points; means for deriving at least one Krylov subspace that matches at least one of the kth order moments of respective ones of the plurality of moments for the plurality of expansion points; and means for modeling the nonlinear system using the at least one Krylov subspace.

17. A computer program product for modeling a nonlinear system, comprising: a computer readable storage medium having computer readable program code embodied therein, the computer readable program code comprising: computer readable program code configured to obtain a transfer function for the nonlinear system; computer readable program code configured to generate a Taylor series expansion of the transfer function, the Taylor series expansion comprising a plurality of moments respectively corresponding to a plurality of coefficients of the Taylor series terms; computer readable program code configured to derive at least one Krylov subspace that matches at least one of the plurality of moments; and computer readable program code configured to model the nonlinear system using the at least one Krylov subspace.

18. The computer program product of claim 17, wherein the computer readable program code configured to derive the at least one Krylov subspace comprises: computer readable program code configured to select an order k of the plurality of moments to be matched; and computer readable program code configured to derive at least one Krylov subspace that matches at least one of the kth order moments of the plurality of moments.

19. The computer program product of claim 18, further comprising: computer readable program code configured to select a plurality of sample points; computer readable program code configured to generate the k+1th order Transfer function at each of the plurality of sample points; computer readable program code configured to determine contributions of non-linear elements in the k+1th order Transfer function generated at each of the plurality of sample points; computer readable program code configured to discard selected non-linear elements from the k+1th order Transfer function generated at each of the plurality of sample points to obtain a pruned system that approximates the k+1th order Transfer function; and wherein the computer readable program code configured to model the nonlinear system comprises: computer readable program code configured to model the nonlinear system using the at least one Krylov subspace and the pruned system that approximates the k+1th order Transfer function.

20. The computer program product of claim 18, wherein the computer readable program code configured to generate the Taylor series expansion comprises: computer readable program code configured to generate a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points, each of the plurality of Taylor series expansions comprising a plurality of moments; and wherein the computer readable program code configured to derive the at least one Krylov subspace comprises: computer readable program code configured to select an order k of the plurality of moments to be matched based on a number of the plurality of expansion points; and computer readable program code configured to derive at least one Krylov subspace that matches at least one of the kth order moments of respective ones of the plurality of moments for the plurality of expansion points.

21. The computer program product of claim 17, wherein the computer readable program code configured to generate the Taylor series expansion comprises: computer readable program code configured to generate a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points, each of the plurality of Taylor series expansions comprising a plurality of moments; and wherein the computer readable program code configured to derive the at least one Krylov subspace comprises: computer readable program code configured to derive at least one Krylov subspace that matches at least one of the plurality of moments for the plurality of expansion points.

22. The computer program product of claim 17, wherein the transfer function comprises a single variable transfer function component and a multi-variable transfer function component.

23. The computer program product of claim 17, wherein respective ones of the plurality of moments are matrices.

24. A computer program product for modeling a nonlinear system, comprising: a computer readable storage medium having computer readable program code embodied therein, the computer readable program code comprising: computer readable program code configured to obtain a transfer function for the nonlinear system; computer readable program code configured to generate a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points, each of the plurality of Taylor series expansions comprising a plurality of moments respectively corresponding to a plurality of coefficients of the Taylor series terms; computer readable program code configured to select an order k of the plurality of moments to be matched based on a number of the plurality of expansion points; computer readable program code configured to derive at least one Krylov subspace that matches at least one of the kth order moments of respective ones of the plurality of moments for the plurality of expansion points; and computer readable program code configured to model the nonlinear system using the at least one Krylov subspace.

Description



RELATED APPLICATIONS

[0001] This application claims the benefit of and priority to U.S. Provisional Patent Application No. 60/475,392, filed Jun. 3, 2003, the disclosure of which is hereby incorporated herein by reference as if set forth in its entirety.

FIELD OF THE INVENTION

[0002] The present invention relates to methods, systems, and computer program products for modeling circuits and/or systems, and, more particularly, to systems, methods, and computer products for modeling time-invariant and time-varying nonlinear circuits and/or systems.

BACKGROUND OF THE INVENTION

[0003] Over the past decade a relatively large body of work on model order reduction of IC interconnects has emerged from the design automation community. One purpose of model reduction is to generate models that are orders of magnitude smaller than the original system while more accurately approximating the input/output relationships. Compared to the success of model order reduction for linear time invariant (LTI) RLC networks, the problem of reducing nonlinear systems has generally been less understood and explored. There are numerous applications, however, where abstracting transistor-level circuit details that include important weakly nonlinear effects into a compact macromodel may be important. For instance, in RF communication IC design there is a growing interest in extracting efficient circuit-level models that are capable of capturing system nonlinear distortion. While circuit blocks in these applications may exhibit weak nonlinearities, the design specification for linearity may be important and/or stringent. As depicted in FIG. 1, building compact blackbox type macromodels that accurately capture nonlinear input-output correspondence may facilitate efficient repetitive simulations of the circuit component being modeled, and may also enable entire-system verification and design trade-off analyses that may be impossible otherwise.

[0004] A piecewise-linear approximation based nonlinear systems reduction has been proposed where a set of linearizations about the state trajectory due to a training input is used to model a nonlinear system and each linearization is reduced using Krylov projection. While having the potential capability of handling large nonlinearities, such as may happen in a micromachined device, a potential limitation of this approach is its training input dependency.

[0005] A different model reduction direction has been taken based on the Volterra functional series that have been used as a means for analyzing weakly nonlinear systems. The application of the Volterra series may make it possible to solve the circuit response of a weakly nonlinear system from low orders to high orders via a recursive procedure, commonly referred to as nonlinear current method. Frequency domain characterizations based on Volterra kernels or nonlinear transfer functions describe input-independent system nonlinear properties in a manner analogous to the use of linear transfer functions for linear system properties. Projection based nonlinear model order reduction frameworks have been proposed for making automated nonlinear system reduction possible by extending the popular implicit moment-matching projection techniques used for interconnects. Some approaches use the Taylor series expansion of nonlinear state equations to represent a weakly nonlinear system. Then the nonlinear system model inherited from the recursive nonlinear current method is used to view a weakly nonlinear system as a set of interconnected linear networks. A benefit of this perspective is that it may allow the use of existing linear system reduction techniques to serve as blackbox tools to reduce each individual linear network for achieving the goal of overall nonlinear system reduction. Converting a nonlinear reduction problem to several linear reduction problems, however, may leave some issues unaddressed. For example, how does the quality of each linear reduction problem impact the accuracy of the overall nonlinear model? What is the best strategy in carrying out each linear reduction for achieving good nonlinear model accuracy?

[0006] Another approach that may provide a theoretical foundation uses the bilinear form of a nonlinear system and explicitly matches the moments of nonlinear transfer functions analogously to Pad approximations of LTI systems. The use of bilinear form may allow the nonlinear transfer function moments to be expressed in a structured fashion such that a projection based moment-matching reduction scheme can be derived. By converting a standard state-equation form to its bilinear counterpart, however, a relatively large number of additional state-variables may be introduced. For example, the bilinear form of a system including up to the third order nonlinear coefficient matrices has O(N.sub.3) state variables, where N is the number of state variables in the original state equation form.

[0007] Under this framework of nonlinear model order reduction, the reduced model compactness facilitates effective model reduction. As the order of moment matching increases, the size of the reduced order model increases more rapidly. At the same time, as the size of the reduced model grows, it may become more costly to explicitly form the resulting high order system matrices of the reduced order model, thereby reducing the possible benefits of model reduction.

[0008] Background of Volterra Series

[0009] Time invariant Volterra series, which may be used for time-invariant systems will now be briefly discussed. For simplicity, consider a single-input multi-output system described by the following Modified Nodal Analysis (MNA) formulation: 1 f ( x ( r ) ) + i q ( x ( t ) ) = bu ( t ) , y ( t ) = d T x ( t ) ( 1 )

[0010] where x is the vector of node voltages and branch currents, u is the input to the system,f() and q() are nonlinear functions relating currents of nonlinear resistors and nonlinear charges/fluxes with x; y is the vector of the output; and b and d are the input and output matrices respectively. When the input is small, only weakly nonlinear behavior is excited in the system. Assume the system is perturbated about the DC bias condition due to a small-signal input. Using a Taylor series to expand f() and q() at the bias point x.sub.0, and considering only small-signal quantities, we obtain 2 t ( C 1 x + C 2 ( x x ) + C 3 ( x x x ) + ) + G 1 x + G 2
( x x ) + G 3 ( x x x ) + = bu ( t ) ( 2 )

[0011] where {circle over (x)} is the Kronecker product operator, x(t) and u(t) are the small signal response and the input to the system, and 3 G 1 = 1 i ! t f x t | x = x 1 R n .times. n 1 C t = 1 i ! t q x t | x = x 0 R n .times. R t

[0012] are the ith order conductance and capacitance matrices, respectively.

[0013] A nonlinear system can be analyzed using Volterra functional series under weakly nonlinear conditions. In a Volterra series, the response x(t) can be expressed as a sum of responses at different orders 4 x ( t ) = = 1 .infin. x n ( t ) , ( 3 )

[0014] where, x.sub.n is the n-th order response. The order of a response component specifies the cumulative number of multiplications of the input signal for generating the corresponding response. A converging Volterra series according to (3) may be truncated to a finite number of terms and each order of response may be solved recursively. The first order or linear response of the weakly nonlinear system in (2) may be obtained by retaining only first-order terms in (2). 5 t ( C 1
x 1 ( t ) ) + G 1 x 1 ( t ) = bu ( t ) , ( 4 )

[0015] Equation (4) represents a linear time-invariant (LTI) system. Higher order responses may be computed by solving the linearized system with different inputs. The second and the third order responses are given by the following two equations using vector Kronecker products of x: 6
t ( C 1 x 2 ) + G 1 x 2 = - t ( C 2 ( x 1 x 1 ) ) - G 2 ( x 1 x 1 ) ( 5 ) t ( C 1 x 3 ) + G 1 x 3
= - G 3 ( x 1 x 1 x 1 ) - 2 G 2 ( x 1
x 2 _ ) - t ( C 3 ( x 1 x 1 x 1 ) + 2 C 2 ( x 1 x 2 _ ) ) . ( 6 )

[0016] In Equations (5) and (6), G.sub.i and C.sub.i are the ith order conductance and capacitance matrices respectively, and 7 ( x 1 x 2 _ ) = 1 ( ( x 1 x 2 ) + ( x 2 x 1 ) ) .

[0017] Systems specified by Equations (4), (5), and (6) may be referred to as the linearized (first order), second order, and third order systems for Equation (2), respectively.

[0018] Alternatively, a weakly nonlinear system can be analyzed in the frequency domain, which is generally more suitable for a spectrum analysis. As an extension to the impulse response function of a LTI (linear time invariant) system, an nth order response can be related to a Volterra kernel of order nh.sub.n(.tau..sub.1, . . . , .tau..sub.2) 8
x ( t ) = - .infin. .infin. - .infin. .infin. h g ( 1 , , g ) u ( t - 1 ) u ( t - g ) g . ( 7 )

[0019] h.sub.n(.tau..sub.1, . . . , .tau..sub.n) can also be transformed into the frequency domain via a Laplace transform 9 H n ( s 1
s n ) = - .infin. .infin. - .infin. .infin. h n ( 1 , , n ) - ( s 1 1 + + s n n ) 1 n ( 8 )

[0020] and referred to as the nonlinear transfer function of order N. The nth order response, y.sub.n, can be related to the input as 10 x n ( t ) = - .infin. .infin. - .infin. .infin. ( H n ( s 1 , , s n ) t = 1 n u ( s i ) s 1 t ) s 1 s n . ( 9 )

[0021] Based on Equations (7) and (9), it can be seen that Volterra kernels and nonlinear transfer functions specify the system response due to an arbitrary input. Thus, they are input-independent properties of the system, and may fully describe the nonlinear system behaviors. As such, if the original nonlinear transfer functions are approximated in a reduced order model using a method such as moment matching, then the reduced model may accurately model the original nonlinear system properties.

[0022] Existing Reduction Techniques

[0023] A projection based nonlinear model order reduction approach has been proposed in J. Roychowdhury, "Reduced-order modeling of time-varying systems," IEEE Trans. Circuits and Systems II: Analog and Digital Signal Processing, vol. 46, no. 10,October, 1999 (hereinafter "Roychowdhury"), and J. Phillips, "Automated extraction of nonlinear circuit macromodels," Proc. of CICC, 2000 (hereinafter "Phillips"), the disclosures of which are hereby incorporated herein by reference, where reduction techniques for LTI systems are extended to take the weakly nonlinear aspects of a system into consideration. For simplicity of description, consider the expanded state-space model of the nonlinear system in Equation (1) 11
x t = A 1 x + A 2 ( x x ) + A 3 ( x x x ) + + bu . ( 10 )

[0024] Similar to Equations (4) through (6), consider the first order through the third order nonlinear responses 12 x . 1 = A 1
x 1 + bu ( 11 ) x . 2 = A 1 x 2 + A 2 ( x 1 x 1 ) ( 12 ) x . 3 = A 1 x 3 + 2 A 2
( x 1 x 2 _ ) + A 3 ( x 1 x 1 x 1 ) . ( 13 )

[0025] Equations (11) through (13) represent three LTI systems with inputs formed by ux.sub.1{circle over (x)}x.sub.1 and 13 ( x 1 x 2
_ ) T , ( x 1 x 1 x 1 ) T T ,

[0026] respectively. Each of these LTI systems may be reduced to a smaller system using various projection methods. If the system of Equation (11) with n states is reduced to a system with q.sub.1 states through a Krylov subspace projection x.sub.1=V.sub.q1{overscore (x)}.sub.1, then the inputs to Equation (12) can be approximated by Equation 14 below: 14
x 1 x 1 = ( V q1 x _ 1 ) ( V q1 x _ 1 ) = ( V q1 V q1 ) ( x _ 1 x _ 1 ) ( 14 )

[0027] This suggests that Equation (12) now can be viewed as having q.sub.1.sup.2 inputs instead of n.sup.2 inputs, and can be reduced by a Krylov projection x.sub.2=V.sub.q2.multidot.{overscore (x)}.sub.2 to a smaller system with q.sub.2 states. Now the number of inputs to (13) is reduced from n.sup.2+n.sup.3 to q.sub.1.sup.3+q.sub.1q.sub.2. Equation (13) can be reduced to a smaller LTI system with q.sub.3 states via projection x.sub.3=V.sub.q3.multidot.{overscore (x)}.sub.3. The final reduced nonlinear model can either be in the form of a collection of reduced linear systems, or be described by a smaller set of nonlinear equations using variable embedding x=V.multidot.{overscore (x)} where V is an orthonormal basis of [V.sub.q1,V.sub.q2,V.sub.q3]. For the latter case, the third order matrix can be reduced to a matrix of a smaller dimension, such as {overscore (A)}.sub.3=VA.sub.3(V{circle over (x)}V{circle over (x)}V). However, the reduced third order matrix is usually dense and has O(q.sup.4) entries, where q is the number of states of the reduced model. Therefore, achieving model compactness may be effective for model reduction.

[0028] An advantage of the above approach is that existing LTI techniques may be applied directly as a black-box tool. There are three major problems that may be associated with this direct extension to LTI based reductions. First, this approach may reduce a weakly nonlinear system by approximating underlying linear subsystems. The assumption is that overall nonlinear behavior of the original system will be closely replicated in the reduced system if the corresponding linear circuits are well approximated. Nevertheless, it may be difficult to assess the quality of the nonlinear system reduction. As a consequence, it remains unclear how the qualities of reduced linear subsystems interact with overall quality of the reduced nonlinear model. Furthermore, there may be a lack of guidance on how to optimize nonlinear model quality by choosing appropriate orders for the reduced linear blocks. Second, it can be seen that this method models a nonlinear system, potentially with a small number of inputs, as several linear systems with many more inputs. Intuitively, this increase in the degree of freedom may lead to unnecessarily large reduced models. Finally, as an extension to LTI based reduction, this approach may not explore flexible selections of expansion points for approximating nonlinear transfer functions. For instance, to capture accurately the third order intermodulation around the center frequency f.sub.0 of a narrow-band amplifier, it may be desirable to expand the third transfer function H(s.sub.1,s.sub.2,s.sub.3), at an expansion point (j2.pi.f.sub.0,j2.pi.f.sub.0,-j2.pi.f.sub.0). This choice of expansion point is relatively difficult to incorporate in the aforementioned reduction approach.

SUMMARY

[0029] According to some embodiments of the present invention, a nonlinear system may be modeled by obtaining a transfer function for the nonlinear system and generating a Taylor series expansion of the transfer function. The Taylor series expansion comprises a plurality of moments respectively corresponding to a plurality of coefficients of the Taylor series terms. At least one Krylov subspace is derived that matches at least one of the plurality of moments. The nonlinear system is modeled using the at least one Krylov subspace.

[0030] In other embodiments of the present invention, derivnig the at least one Krylov subspace comprises selecting an order k of the plurality of moments to be matched and deriving at least one Krylov subspace that matches at least one of the kth order moments of the plurality of moments.

[0031] In still other embodiments of the present invention, a plurality of sample points is selected and the k+1th order Transfer function is generated at each of the plurality of sample points. The contributions of non-linear elements in the k+1th order Transfer function generated at each of the plurality of sample points are determined. Selected non-linear elements from the k+1th order Transfer function that have lower contributions to the k+1th order Transfer function, for example, are discarded to obtain a pruned system that approximates the k+1th order Transfer function. The nonlinear system is modeled using the at least one Krylov subspace and the pruned system that approximates the k+1th order Transfer function.

[0032] In still other embodiments of the present invention, the Taylor series expansion is genearted by generating a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points. Each of the plurality of Taylor series expansions comprises a plurality of moments. An order k of the plurality of moments to be matched is selected based on a number of the plurality of expansion points. At least one Krylov subspace is derived that matches at least one of the kth order moments of respective ones of the plurality of moments for the plurality of expansion points.

[0033] In still further embodiments of the present invention, the Taylor series expansion is generated by generating a plurality of Taylor series expansions of the Transfer function about a plurality of expansion points. Each of the plurality of Taylor series expansions comprising a plurality of moments. At least one Krylov subspace is derived that matches at least one of the plurality of moments for the plurality of expansion points.

[0034] In still further embodiments of the present invention, the transfer function comprises a single variable transfer function component and a multi-variable transfer function component.

[0035] In still furthe embodiments of the present invention, respective ones of the plurality of moments are matrices.

BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Other features of the present invention will be more readily understood from the following detailed description of specific embodiments thereof when read in conjunction with the accompanying drawings, in which:

[0037] FIG. 1 is a block diagram of a nonlinear system that may be modeled in accordance with some embodiments of the present invention;

[0038] FIG. 2 is a block diagram of a data processing system that may be used to model nonlinear systems in accordance with some embodiments of the present invention;

[0039] FIG. 3 is a flowchart that illustrates exemplary operations for modeling nonlinear systems in accordance with some embodiments of the present invention;

[0040] FIG. 4 is a table that illustrates exemplary operations for modeling nonlinear systems in accordance with some embodiments of the present invention;

[0041] FIG. 5 is a diode circuit that is modeled in accordance with some embodiments of the present invention;

[0042] FIGS. 6A-6D are graphs that illustrate modeling results using various modeling techniques for the diode circuit of FIG. 5;

[0043] FIG. 7 is a mixer circuit that is modeled in accordance with some embodiments of the present invention;

[0044] FIGS. 8A-8D are graphs that illustrate modeling results using various modeling techniques for the mixer circuit of FIG. 7;

[0045] FIGS. 9A and 9B are simulation results for the mixer circuit of FIG. 7;

[0046] FIG. 10 is a directconversion mixer circuit that is modeled in accordance with some embodiments of the present invention;

[0047] FIGS. 11A-11D are graphs that illustrate modeling results using various modeling techniques for the directconversion mixer circuit of FIG. 10;

[0048] FIG. 12 is a switched capacitor filter that is modeled in accordance with some embodiments of the present invention;

[0049] FIGS. 13A-13B are graphs that illustrate modeling results using various modeling techniques for the switched capacitor filter circuit of FIG. 12; and

[0050] FIG. 14 is a simulation result for the switched capacitor filter circuit of FIG. 12.

DETAILED DESCRIPTION OF EMBODIMENTS

[0051] While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the claims. Like numbers refer to like elements throughout the description of the figures. It should be further understood that the terms "comprises" and/or "comprising" when used in this specification is taken to specify the presence of stated features, integers, steps, operations, elements, and/or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.

[0052] While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the claims. Like reference numbers signify like elements throughout the description of the figures.

[0053] The present invention may be embodied as methods, data processing systems, and/or computer program products. Accordingly, the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). Furthermore, the present invention may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.

[0054] The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CD-ROM). Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.

[0055] Referring now to FIG. 2, an exemplary data processing system 100
that may be used to model nonlinear systems, in accordance with some embodiments of the present invention, comprises input device(s) 102, such as a keyboard or keypad, a display 104, and a memory 106 that communicate with a processor 108. The data processing system 100 may further include a storage system 110, a speaker 112, and an input/output (I/O) data port(s) 114 that also communicate with the processor 108. The storage system 110 may include removable and/or fixed media, such as floppy disks, ZIP drives, hard disks, or the like, as well as virtual storage, such as a RAMDISK. The I/O data port(s) 114 may be used to transfer information between the data processing system 100 and another computer system or a network (e.g., the Internet). These components may be conventional components such as those used in many conventional computing devices and/or systems, which may be configured to operate as described herein.

[0056] The processor 108 communicates with the memory 106 via an address/data bus. The processor 108 may be, for example, a commercially available or custom microprocessor. The memory 106 is representative of the overall hierarchy of memory devices containing the software and data used to model inductive effects in a circuit, in accordance with embodiments of the present invention. The memory 106 may include, but is not limited to, the following types of devices: cache, ROM, PROM, EPROM, EEPROM, flash, SRAM, and DRAM.

[0057] As shown in FIG. 2, the memory 106 may contain up to two or more major categories of software and/or data: the operating system 116 and the nonlinear system modeling module 118. The operating system 116
controls the operation of the computer system. In particular, the operating system 116 may manage the computer system's resources and may coordinate execution of programs by the processor 108. The nonlinear system modeling module 118 may be configured to model a nonlinear circuit or system by generating a Taylor-series expansion of the transfer function of the nonlinear circuit or system. The coefficients of the Taylor series expansion may be referred to as moments with each coefficient typically being a matrix. The nonlinear system modeling module 118 may be further configured to derive one or more Krylov subspaces, which are described in detail below, that match one or more of the moments of the transfer function of the nonlinear circuit or system. The Krylov subspaces that match one or more of the transfer function moments may be used to model or simulate the nonlinear system or circuit. Advantageously, by using Krylov subspaces to match a subset of moments from the transfer function, the nonlinear system or circuit may be modeled with relatively high accuracy. Moreover, the size of the model is generally much smaller than a model based on larger subsets of the moments associated with the nonlinear system or circuit. Indeed, large and/or complex nonlinear systems may have numerous moments when their transfer functions are expanded. Moreover, a transfer function for a nonlinear system may include both a single variable transfer function component and a muti-variable transfer function component, which adds to the number of moments in the expansion of the transfer function.

[0058] Although FIG. 2 illustrates an exemplary software architecture that may be used for modeling nonlinear systems or circuits, in accordance with some embodiments of the present invention, it will be understood that the present invention is not limited to such a configuration but is intended to encompass any configuration capable of carrying out the operations described herein.

[0059] Computer program code for carrying out operations of the present invention may be written in an object-oriented programming language, such as Java, Smalltalk, or C++. Computer program code for carrying out operations of the present invention may also, however, be written in conventional procedural programming languages, such as the C programming language or compiled Basic (CBASIC). Furthermore, some modules or routines may be written in assembly language or even micro-code to enhance performance and/or memory usage. It will be further appreciated that the functionality of any or all of the program modules may also be implemented using discrete hardware components, a single application specific integrated circuit (ASIC), or a programmed digital signal processor or microcontroller.

[0060] The present invention is described hereinafter with reference to flowchart and/or block diagram illustrations of methods, systems, and computer program products in accordance with exemplary embodiments of the invention. It will be understood that each block of the flowchart and/or block diagram illustrations, and combinations of blocks in the flowchart and/or block diagram illustrations, may be implemented by computer program instructions and/or hardware operations. These computer program instructions may be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart and/or block diagram block or blocks.

[0061] These computer program instructions may also be stored in a computer usable or computer-readable memory that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer usable or computer-readable memory produce an article of manufacture including instructions that implement the function specified in the flowchart and/or block diagram block or blocks.

[0062] The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart and/or block diagram block or blocks.

[0063] With reference to the flowchart of FIG. 3, exemplary operations of methods, systems, and/or computer program products for modeling nonlinear circuits and/or systems, in accordance with embodiments of the present invention, will be described hereafter. Referring now to FIG. 3, operations begin at block 200 where the nonlinear systems modeling module 118 obtains a transfer function for a nonlinear system and/or circuit to be simulated. A user, for example, may input the transfer function to the data processing system 100 using the input device(s) 102. The nonlinear systems modeling module 118 generates a Taylor series expansion of the transfer function at block 205. The Taylor series expansion of the transfer function includes a plurality of moments that correspond to the coefficients of the Taylor series terms. In accordance with various embodiments of the present invention, the Taylor series expansion may be generated for a single expansion point or for multiple expansion points. For example, for some transfer functions, it may be more accurate to model the transfer function based on moments obtained from multiple expansion points rather than using more moments from a single expansion point.

[0064] Returning to FIG. 3, the nonlinear systems modeling module 118
derives one or more Krylov subspaces that match one or more of the transfer function moments at block 210. In accordance with some embodiments of the present invention, an order k of the plurality of moments to be matched may be selected and the Krylov subspaces may be derived to match at least one of the kth order moments. The order k may be selected, for example, in conjunction with the number of expansion points. That is, a greater number of expansion points may be used and a lower value for k may be selected or, alternatively, fewer expansion points may be used and a higher value for k may be selected. The nonlinear system modeling module 118 may use the Krylov subspaces derived at block 210 to model the nonlinear system at block 215.

[0065] The flowchart of FIG. 3 illustrates the architecture, functionality, and operations of possible embodiments of the data processing system 100 of FIG. 2. In this regard, each block may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative embodiments, the functions noted in the blocks may occur out of the order noted in FIG. 3. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending on the functionality involved.

[0066] A detailed mathematical analysis of methods, systems, and/or computer program products for modeling nonlinear systems and/or circuits, in accordance with some embodiments of the present invention, will now be provided.

[0067] Matrix-Form Nonlinear Transfer Functions and Moments

[0068] To derive the general matrix-form nonlinear transfer functions suitable for model order reduction, without loss of generality we consider Modified Nodal Analysis (MNA) formulation for a single input multiple output (SIMO) based weakly nonlinear system in Equation (1) and its expanded form in Equation (2). The nonlinear transfer functions presented here are the corresponding matrix-form expressions of the analytical nonlinear current method used for computing Volterra kernels. Before proceeding we first introduce the notations used throughout this detailed description.

[0069] For matrices in Equation (2) we define 15 A = - G 1 - 1
C 1 , r 1 = G - 1 b , r 2 = r 1 r 1 , r 3 = r 1 r 1 r 1 . ( 15 )

[0070] and for an arbitrary matrix F define 16 F l m n = F l F m F n , F l m _ = 1 2 ( F l m + F m l ) F l m n = 1 6 ( F l m n + F l n m + F m l n + F m n l + F n l m + F n m l ) ( 16 )

[0071] We also define the Krylov subspace K.sub.1(A,p) corresponding to matrix A and vector (matrix) p as the space spanned by vectors {p, Ap, . . . A.sup.1p}.

[0072] For the systems in Equations (1) and (2), the first order transfer function for state-variables x is simply the transfer function of the linearized system

(G.sub.1+sC.sub.1)H.sub.1(s)-b, or H.sub.1(s)-(G.sub.1+sC.sub.1).sup.-1b. (17)

[0073] Defining {overscore (s)}-s.sub.1+s.sub.2, it can be shown that the second transfer function is determined by 17 G 1 + sC 1
H 2 ( s 1 s 2 ) -- G 2 + s _ C 2 H 1
( s 1 ) H 1 ( s 2 ) _ , ( 18 )

[0074] where 18 H 1 ( s 1 ) H 1 ( s 2 ) _ = 1 2
( H 1 ( s 1 ) H 1 ( s 2 ) + H 1 ( s 2 ) H 1 ( s 1 ) ) .

[0075] We similarly define 19 H 1 ( s 1 ) H 1 ( s 2 ) h 1 ( s 3 )

[0076] as the arithmetic average of terms of all possible permutations of frequency variables in the Kronecker product. Define {grave over (s)}-s.sub.1+s.sub.2+s.sub.3, then the third order nonlinear transfer function is given by the following equations 20 G 1 + s C 1 H 3 ( s 1 , s 2 , s 3 ) = - G 3 + s C 3 H 1 ( s 1 ) H 1 ( s 2 ) H 1
( s 3 ) _ - 2 G 2 + s C 2 H 1 ( s 1 ) H 2 ( s 2 , s 3 ) _ ( 19 ) H 1 ( s 1 ) H 2 ( s 2 , s 3 ) _ = 1 6 ( H 1 ( s 1 ) H 2 ( s 2 , s 3 ) + H 1 ( s 2 ) H 2 ( s 1 , s 3 ) + H 1 ( s 3 ) H 2 ( s 1 , s 2 ) + H 2 ( s 1 , s 2 ) H 1 ( s 3 ) + H 2 ( s 1 , s 3 ) H 1 ( s 2
) + H 2 ( s 2 , s 3 ) H 1 ( s 1 ) ) ( 20 )

[0077] Without loss of generality, expand Equation (17) at the origin as a Mclaurin series 21 H 1 ( s ) - k = 0 - s k A k r 1 - k = 0 - s k M 1 , k , ( 21 )

[0078] where M.sub.1,k-A.sup.kr.sub.1 is the kth order moment of the first order transfer function. Expand H.sub.2(s.sub.1,s.sub.1) at the origin (0,0), we have 22 H 2 ( s 1 , s 2 ) - k = 0 - l = 0 k s 1 l s 2 k - l M 2 , k , l , ( 22 )

[0079] where M.sub.2,k,1 is the kth order moment for the second order transfer function. To derive the expressions for the moments of H.sub.2(s.sub.1,s.sub.2), substituting Equation (21) into Equation (18) and expanding w.r.t. {overscore (s)}-s.sub.1+s.sub.2 yields 23 H 2 ( s 1 , s 2 ) = - [ G 1 + s _ C 1 ] - 1 [ G 2 + s _ C 2 ] H 1 ( s 1 ) H 1 ( s 2 ) _ = - m = 0 - s _ m A m G 1 - 1 [ G 2 + s C 2 ] ( k = 0 - s 1 k M 1 , k ) ( l = 0 - s 2 l M 1 , l ) _ = - m = 0 - k = 0 - l = 0 - s _ m s 1 k s 2 l A m G 1 - 1 ( G 2 + s _ C 2 ) A k l _ r 2 ( 23 )

[0080] Comparing (22) with (23), we can express the moments of H.sub.2(S.sub.1,s.sub.2) as 24 M 2 , k , l = - p = 1 k A p - 1 q = 0 , q l , p - q k - 1 p ( p q ) G 1 - 1 C 2 A ( l - q ) ( k - l - p - q ) _ r 2 - p = 0 k A p q = 0 , q l , p - q k - 1 p ( p q ) G 1 - 1 G 2
A ( l - q ) ( k - l - p - q ) _ r 2 ' ( 24 )

[0081] Similarly, the third order transfer function can be expanded at the origin (0,0,0) as 25 H 3 ( s 1 , s 2 , s 3 ) = k = 0 - l = 0 k m = 0 k - l s 1 l s 2
m s 3 k - l - m M 3 , k , l , m . ( 25 )

[0082] where M.sub.3,k,1,m is a kth order moment given by 26 M 3
, k , l , m = - p = 1 k A p - 1 q = 0 , q l , p - q k - 1 p ( p q ) t = 0 , t m , p - t - q k - l - m p - q ( p - q t ) G 1 - 1 [ C 3 A ( l - q ) ( m - t ) ( k - l - m - p + q + t ) _ r 3 + C 2 F ] - - p = 0 k A p q = 0 , q l , p - q k - 1
p ( p q ) t = 0 , t m , p - t - q k - l - m p - q ( p - q t ) G 1 - 1
[ G 3 A ( l - q ) ( m - t ) ( k - l - m - p + q + t ) _ r 3 + G 2 F ] ( 26 )

[0083] with 27 F = 1 3 [ ( A l - q r ) M 2 , k - l - p + q , m - t + ( A m - t r ) M 2 , k - m - p + t , l - q + ( A k - l - m - p + q + t r ) M 2 , l + m - q - t , l - q + M 2 , k - l - p + q , m - t ( A l - q r ) + M 2 , k - m - p + t , l - q ( A m - t r ) + M 2 , l + m - q - t , l - q ( A k - l - m - p + q + t r ) ] ( 27 )

[0084] As an example, the first few moments of H.sub.2(s.sub.1,s.sub.2) are shown in Table 1. It can be clearly seen that significantly more moments have to be considered to match a nonlinear transfer function than a linear one while the order of moment matching is kept the same. This means nonlinear model order reduction may be intrinsically more complex and costly than that of LTI systems. Also note that in Equations (18) and (19), symmetric nonlinear transfer functions (symmetric w.r.t frequency variable permutations) are used, which is generally advantageous for model reduction as it reduces the number of moments that may need to be matched for H.sub.2 and H.sub.3 approximately by a factor of 2 and 6
respectively, when expanding them at a point with equal coordinates such as the origin.

1TABLE 1
Moments of H.sub.2(s.sub.1, s.sub.1) Order Moment 0th order 28 - G 1 - 1 G 2
r 2
1st order (s.sub.1, s.sub.sterms) 29 - G 1 - 1
C 2 r 2 - AG 1 - 1 G 2 r 2 - 1 2 G 1 - 1
G 2 A l + l A ] r 2
30 2 nd order ( s 1 2 , s 2 2 terms ) 31 - AG 1 - 1
C 2 r 2 - G 1 - 1 C 2 A 1 0 _ r 2 - A 2
G 1 - 1 G 2 r 2 - AG 1 - 1 G 2 A 1 0 _ r 2
- G 1 - 1 G 2 A 2 0 _ r 2
2nd order (s.sub.1s.sub.2 term) 32 - G 1 - 1 C 2 A 1 0 _ r 2
- G 1 - 1 G 2 A 1 1 r 2 - AG 1 - 1 G 2 A 1
0 _ r 2

[0085] NORM

[0086] In this section we present some embodiments of the invention, also referred to herein as NORM, but limit our discussion to SIMO time-invariant weakly nonlinear systems. Up to the third order nonlinear transfer functions are considered in the reduction. Extension to more general time-varying systems can be easily derived using time-varying Volterra series as a system description. To assess the model order reduction quality from a moment matching perspective, we first have the following definition:

[0087] Definition 1. A nonlinear reduced order model is a kth order model in H.sub.1(s) (H.sub.2(s.sub.1,s.sub.2) or H.sub.3(s.sub.1,s.sub.2,s.sub.- 3)) if an only if up to kth order moments M.sub.1,l , 0
.ltoreq.l.ltoreq.k, (M.sub.2,l,m, 0.ltoreq.l.ltoreq.k, 0.ltoreq.m.ltoreq.l or M.sub.3,l,m,n, 0.ltoreq.l.ltoreq.k, 0.ltoreq.m.ltoreq.l, 0.ltoreq.n.ltoreq.l-m) of the first (second or third) order transfer function of the original system defined in Equations (21) ((22) or (25)) are preserved in the reduced model.

[0088] According to definition 1, a 2nd order reduced model in H.sub.2
preserves moments of H.sub.2 corresponding to the coefficients of terms s.sub.1.sup.0(s.sub.2.sup.0),s.sub.1,s.sub.2,s.sub.1s.sub.2, s.sub.1.sup.2 and s.sub.2.sup.2 in the expansion.

[0089] A. Single-Point Expansion

[0090] To derive a set of minimum Krylov subspaces for the most compact order reduction, understanding the interaction between the moments of nonlinear transfer functions at different orders may be beneficial. For the moment matching of H.sub.2(s.sub.1,s.sub.2), this interaction is manifested in Equation (23). A particular term corresponding to s.sub.1.sup.ps.sub.2.sup.q in the expansion of H.sub.2, where p, q are integers, is a consequence of the two power series expansions: expansion of H.sub.1 in (17) and the expansion w.r.t. {overscore (s)}=s.sub.1+s.sub.2 of Equation (18). For instance, the kth order moment of H.sub.2 depends on moments of H.sub.1 with an order less than or equal to k. As such, the final expression for M.sub.2,l,m is in the form as shown in Equation (24). The expression for M.sub.3,l,m,n is derived similarly in a more complex form in Equation (25).

[0091] If we were to use a projection for order reduction, one issue is to find certain Krylov subspaces that contain the directions of all the moments to be matched. To minimize the number of projection vectors needed, nonlinear transfer function moments are considered explicitly. A close inspection of Equation (24) reveals that the Krylov subspaces of matrix A given in Table 2 are the desired Krylov subspaces of the minimum total dimension for constructing a kth order model in H.sub.2. For the last row, m=.left brkt-bot.k/2.right brkt-bot., n=k-.left brkt-bot.k/2.right brkt-bot., p=.left brkt-bot.(k-1)/2.right brkt-bot., and q=k-1-(k-1)/2. We denote the union of Krylov subspaces in Table 2 as 33 K2 ( k ) = i K m t ( A , v i ) ,

[0092] where k in the parenthesis indicates the order of H.sub.2 moments up to which contained in the subspaces.

2TABLE 2
Krylov subspaces spanned by moments of H.sub.2
Subspace Subspace Starting vector v.sub.i Dim m.sub.i, Starting vector v.sub.i Dim m.sub.i 34
G 1 - 1 G 2 A 0 0 _ r 2 G 1 - 1 G 2
A 1 0 _ r 2 G 1 - 1 G 2 A k 0 _ r 2
35 k + 1 k 1 36 G 1 - 1 C 2 A 0
0 _ r 2 G 1 - 1 C 2 A 1 0 _ r 2
G 1 - 1 C 2 A ( k - 1 ) 0 _ r 2 37 k k - 1 1
38 G 1 - 1 G 2 A 1 1
_ r 2 G 1 - 1 G 2 A 2 0 _ r 2 G 1 - 1 G 2 A ( k - 1 ) 1 _ r 2 39 k - 1
k - 2 1 40 G 1 - 1 C 2 A 1 1 _ r 2
G 1 - 1 C 2 A 2 1 _ r 2 G 1 - 1 C 2 A ( k - 2 ) 1 _ r 2 41 k - 2 k - 3
1
. . . . . . . . . . . . 42 G 1
- 1 G 2 A m n _ r 2 1 43 G 1 - 1 C 2 A q p _ r 2 1

[0093] In an analogous and somewhat more involved way, a set of minimum Krylov subspaces K3(k) for moment-matching of H.sub.3 up to the kth order can also be derived. More specifically, Equations 26 and 27 show that the subspace 44 K3 ( k ) = i K m t ( A , v i )

[0094] consists of a collection of Krylov subspaces of A, where the starting vector v.sub.i takes one of the following forms set forth below in Equations (28) and (29):

[0095] with 45 G 1 - 1 G 3 A l m n r 3 , G 1
- 1 C 3 A l m n _ r 3 , G 1 - 1 G 2 ( A 1 r 1 ) M 2 ( m , n ) _ , or G 1 - 1 C 2 ( A 1 r 1 ) M 2 ( m , n ) _ . ( 28 ) 46 ( A l r ) M 2 ( m , n ) _ = 1 3 ( ( A l r 1 ) M 2 , m + n , n + ( A m r 1 ) M 2 , l + n , n + ( A n r 1 ) M 2 , l + n , l + M 2 , m + n , n ( A l r 1 ) + M 2 , l + n , n ( A m r 1 ) + M 2 , l + n , l ( A m r 1 ) ) ( 29 )

[0096] Using these subspaces, Theorem 1 may be proved below as follows:

[0097] Theorem 1: if V=qr([k.sub.k.sub..sub.1.sub.+1(A,r.sub.1), K2(k.sub.2), K3(k.sub.3)]) where k.sub.1.gtoreq.k.sub.2.gtoreq.k.sub.3, is orthonormal basis for the union of subspaces K.sub.k.sub..sub.3.sub.+1- (A,r.sub.1),K2(k.sub.2) and K3(k.sub.3), then for Equation (1) or Equation (2), the reduced order model specified by the following system matrices 47 G