# Patent

## Title
Calculating intermodulation products and intercept points for circuit distortion analysis

## Abstract

A pertubative approach based on the Born approximation resolves weakly nonlinear circuit models without requiring explicit high-order device derivatives. Convergence properties and the relation to Volterra series are discussed. According to the disclosed methods, second and third order intermodulation products (IM2, IM3) and intercept points (IP2, IP3) can be calculated by second and third order Born approximations under weakly nonlinear conditions. A diagrammatic representation of nonlinear interactions is presented. Using this diagrammatic technique, both Volterra series and Born approximations can be constructed in a systematic way. The method is generalized to calculate other high-order nonlinear effects such as IMn (nth order intermodulation product) and IPn (nth order intermodulation intercept point). In general, the equations are developed in harmonic form and can be implemented in both time and frequency domains for analog and RF circuits.

## Background
BACKGROUND OF THE INVENTION
The present invention relates to the analysis of circuits generally and more particularly to the distortion analysis of analog and RF (Radio Frequency) circuits by calculating intermodulation products and intercept points.
Second and third order intermodulation intercept points (IP2 and IP3) are critical design specifications for circuit nonlinearity and distortion. A rapid yet accurate method to compute IP2/IP3 is of great importance in complex RF and analog designs. Conventional computer-aided-design solutions for measuring IP2/IP3 are typically based on multi-tone simulations. For a circuit with a DC (Direct Current) operating point such as a LNA (Low Noise Amplifier), a two-tone simulation is performed at two RF input frequencies ω1 and ω2 (usually closely spaced). When the RF power level is low enough, signals at frequencies ω1−ω2 and 2ω1−ω2 are dominated by second and third order nonlinear effects respectively, and higher order contributions are negligible compared to the leading-order terms. Thus, solutions at ω1−ω2 and 2ω1−ω2 can be used as second and third order intermodulation products (IM2 and IM3) to extrapolate intercept points for IP2 and IP3. For a circuit with a periodic time-varying operating point such as a mixer or a switch capacitor filter, a three-tone simulation at ω1, ω2 and the LO (local oscillator) or clock frequency ωc can be conducted and IM3 can be measured at frequency 2ω1−ω2−ωc [8, 13, 3, 4].
Because of the low RF power setting, very high accuracy is typically required in order to obtain reliable intermodulation results. Particularly in three-tone cases, the numerical dynamic range has to accommodate the large LO signal, the small RF signals, and the nonlinear distortions. Furthermore, a multi-tone simulation is generally inefficient for IP2/IP3 measurements because, in addition to IM2 and IM3 harmonics, this approach also resolves other irrelevant frequencies to all nonlinear orders. This additional overhead can be very expensive in large designs with thousands of transistors.
Essentially, IP2/IP3 calculation is a weakly nonlinear problem. It is substantially concerned with only the leading second or third order effects. The fully converged multi-tone solution that contains every order of nonlinearity is generally unnecessary. A more efficient way is to treat both RF inputs as perturbation to the operating point solution and apply 2nd or 3rd order perturbation theory to calculate IM2 or IM3 at the relevant frequency directly. In this way, the dynamic range is reduced to cover just the RF excitations. The most commonly used perturbative method for distortion analysis is the Volterra series [12, 2, 7, 1, 11, 5, 16, 17]. However, this approach requires second and higher order derivatives of nonlinear devices. In the cases of IP2 and IP3, up to 2nd and 3rd order derivatives are needed respectively. This limits the application of Volterra series in many circuit simulations since most device models don't provide derivatives higher than first order. Also, as the order of Volterra series increases, the complexity of tracking the polynomials grows substantially, and the implementation becomes more and more complicated.
Thus, there is a need for improved calculation of intermodulation intercept points and other characteristics of circuit distortion analysis.
SUMMARY OF THE INVENTION
In one embodiment of the present invention, a method of analyzing distortion in a circuit includes: determining an operating point for the circuit, where the circuit has a linear offset and a nonlinear offset at the operating point; determining a first-order solution from the linear offset and an input having a first input frequency and a second input frequency; determining a harmonic component of the nonlinear offset at a difference between the first input frequency and the second input frequency; and determining a second-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency. The second-order solution provides an estimate for a second-order intermodulation product for the circuit.
According to one aspect of this embodiment, the method may further include determining an estimate for a second-order intercept point for the circuit from the second-order solution and the first-order solution. Determining the estimate for the second-order intercept point may further include calculating an intersection between a linear representation of the second-order solution and a linear representation of the first-order solution, where the linear representation of the second-order solution has a slope of about 2 dB/dB and the linear representation of the first-order solution has a slope of about 1 dB/dB. (Ideally these slopes are exactly 2 dB/dB and 1 dB/dB respectively.) Determining the linear representation of the first-order solution may further include extracting a component from the first-order-solution corresponding to one of the first frequency and the second frequency.
According to another aspect, the operating point may be a DC (direct current) operating point or a periodic operating point. According to another aspect, determining the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency may includes: calculating a DFT (Discrete Fourier Transform) of the nonlinear offset; and selecting a component of the DFT at the difference between the first input frequency and the second input frequency. According to another aspect the circuit may be an analog or RF circuit.
In another embodiment of the present invention, a method of analyzing distortion in a circuit, includes: determining an operating point for the circuit, where the circuit has a linear offset and a nonlinear offset at the operating point; determining a first-order solution from the linear offset and an input having a first input frequency and a second input frequency; determining a harmonic component of the nonlinear offset at a difference between the first input frequency and the second input frequency; determining a harmonic component of the nonlinear offset at twice the first input frequency; determining a second-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency; determining a second-order solution from the linear offset and the harmonic component of the nonlinear offset at twice the first input frequency; determining a harmonic component of the nonlinear offset at a difference between twice the first input frequency and the second input frequency; and determining a third-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between twice the first input-frequency and the second input frequency. The third-order solution provides an estimate for a third-order intermodulation product for the circuit.
This embodiment may include aspects described above. According to another aspect, the method may further include: determining an estimate for a third-order intercept point for the circuit from the third-order solution and the first-order solution. Determining the estimate for the third-order intercept point may further include calculating an intersection between a linear representation of the third-order solution and a linear representation of the first-order solution, where the linear representation of the third-order solution has a slope of about 3 dB/dB and the linear representation of the first-order solution has a slope of about 1 dB/dB. (Ideally these slopes are exactly 3 dB/dB and 1 dB/dB respectively.) Determining the linear representation of the first-order solution may further include extracting a component from the first-order-solution corresponding to one of the first frequency and the second frequency.
Additional embodiments relate to an apparatus that includes a computer with instructions for carrying out any one of the above-described methods and a computer-readable medium that stores (e.g., tangibly embodies) a computer program for carrying out any one of the above-described methods.
In this way the present invention enables improved calculation of intermodulation intercept points (e.g., IP2, IP3) and other characteristics of circuit distortion analysis (e.g., IM2, IM3).



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows an exemplary method for calculating second-order intermodulation products and intercept points according to an embodiment of the present invention.
FIG. 2 shows an exemplary method for calculating third-order intermodulation products and intercept points according to an embodiment of the present invention.
FIG. 3 shows a diagram of 2nd order intermodulation interactions at RF harmonic ω1−ω2.
FIG. 4 shows a diagram of 3rd order intermodulation interaction at RF harmonic 2ω1−ω2.
FIG. 5 shows a diagram of 4th order intermodulation interactions at RF harmonic ω1−ω2.
FIGS. 6, 7, 8, 9, and 10 show features of simulations related to the embodiments shown in FIGS. 1 and 2.



DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
1 Introduction
This description presents embodiments of the present invention directed towards the distortion analysis of circuits. A pertubative approach based on the Born approximation resolves weakly nonlinear circuit models without requiring explicit high-order device derivatives. Convergence properties and the relation to Volterra series are discussed. According to the disclosed methods, IP2 and IP3 can be calculated by 2nd and 3rd order Born approximations under weakly nonlinear conditions. A diagrammatic representation of nonlinear interactions is presented. Using this diagrammatic technique, both Volterra series and Born approximations can be constructed in a systematic way. The method is generalized to calculate other high-order nonlinear effects such as IMn (nth order intermodulation product) and IPn (nth order intermodulation intercept point). In general, the equations are developed in harmonic form and can be implemented in both time and frequency domains for analog and RF circuits.
First, analytical details for the Born approximation in weakly nonlinear circuits are discussed. Next methods for calculating IP2 and IP3 are presented. Next diagrammatic representations are discussed. Next computational results are discussed. In the conclusion additional embodiments are discussed.
2 The Born Approximation in Weakly Nonlinear Circuits
Consider nonlinear circuit equation




  
    
      
        
          
            
              d
              
                d
                t
              
            
            ⁢
            
              q
              ⁡
              
                (
                
                  V
                  ⁡
                  
                    (
                    t
                    )
                  
                
                )
              
            
          
          +
          
            i
            ⁡
            
              (
              
                V
                ⁡
                
                  (
                  t
                  )
                
              
              )
            
          
        
        =
        
          
            
              B
              ⁡
              
                (
                t
                )
              
            
            +
          
          ∈
          
            ·
            
              s
              ⁡
              
                (
                t
                )
              
            
          
        
      
    
    
      
        (
        1
        )
      
    
  




where B is the operating point source (e.g., LO or clock signal) and s is the RF input source. Typically, the input s represents a single frequency source (e.g., sin(ω1t)) or a sum of frequency sources (e.g., sin(ω1t)+sin(ω2t)). The parameter ε is introduced to keep track of the order of perturbation expansion and is set equal to 1 at the end of the calculations. For simplicity, we use F(v) to denote LHS (left hand side) in equation (1). Assume V0 is the operating point at zero RF input so that V0 satisfies the equation

F(V0)=B.  (2)

For a LNA (low noise amplifier), V0 is the DC solution. For a mixer or switch capacitor filter, V0 is the periodic steady-state solution under B, and its fundamental frequency is the LO or clock frequency ωc. Expanding equation (1) around V0, we have

F(V0)+L·v+FNL(V0,v)=B+ε·s  (3)

where v is the circuit response to RF signal s. Operator L is the linearization of the LHS in equation (1) and is defined as





  
    
      
        
          L
          ·
          v
        
        =
        
          
            
              d
              
                d
                t
              
            
            ⁢
            
              (
              
                
                  ∂
                  
                    ∂
                    V
                  
                
                ⁢
                
                  
                    q
                    ⁡
                    
                      (
                      
                        V
                        0
                      
                      )
                    
                  
                  ·
                  v
                
              
              )
            
          
          +
          
            
              ∂
              
                ∂
                V
              
            
            ⁢
            
              
                i
                ⁡
                
                  (
                  
                    V
                    0
                  
                  )
                
              
              ·
              
                v
                .
              
            
          
        
      
    
    
      
        (
        4
        )
      
    
  




For periodic V0(t), L is also periodic and has the same fundamental frequency as V0 at ωc. FNL in equation (3) is defined as

FNL(V0, v)=F(V0+v)−F(V0)−L·v.  (5)

That is, FNL is the sum of all nonlinear terms of the circuit. Combining equations (2) and (3), we have the equation for v:

L·v+FNL(V0,v)=ε·s.  (6)

In most analog designs, the circuit functions in a nearly linear region. In particular, IP2/IP3 measurements requires very low RF power level so only the leading order terms are involved. Under such a weakly-nonlinear condition, the nonlinear term FNL is small compared to the linear term L·v. We can treat FNL as a perturbation and solve v iteratively:

u(n)=v(1)−L−1·FNL(u(n−1)).  (7)

Here, u(n) is the approximation of v at the nth iteration. And v(1) is the small signal solution of order O(ε) obtained from AC (alternating current) or periodic AC analysis:

L·v(1)=ε·s.  (8)

Then in equation (7), u(n) is defined for n≧2 where u(1) is defined as v(1). Equation (7) is called the Born approximation or Picard iteration [14, 9, 10]. It is equivalent to successive AC calculations with FNL(u(n—1)) being the small signal. As shown in equation (5), the evaluation of FNL is based on the nonlinear device function F and its first derivative. No higher order derivative is needed. This allows us to carry out any order of perturbation without modifications in current device models. Also, the dynamic range of u(n) depends only on RF signals. This gives the perturbative approach advantages in terms of accuracy.

To estimate the error of u(n), subtract equation (6) from equation (7) and linearize around v:




  
    
      
        
          
            u
            
              (
              n
              )
            
          
          -
          v
        
        =
        
          
            
              -
              
                L
                
                  -
                  1
                
              
            
            ·
            
              [
              
                
                  ∂
                  
                    ∂
                    v
                  
                
                ⁢
                
                  
                    
                      F
                      NL
                    
                    ⁡
                    
                      (
                      v
                      )
                    
                  
                  ·
                  
                    (
                    
                      
                        u
                        
                          (
                          
                            n
                            -
                            1
                          
                          )
                        
                      
                      -
                      v
                    
                    )
                  
                
              
              ]
            
          
          +
          ...
        
      
    
    
      
        (
        9
        )
      
    
  




Recall FNL is a nonlinear function of v. Its lowest order is O(v2). Therefore, we have:

∥u(n)−v∥∝ε·∥un−1)−v∥.  (10)

Since ∥v(1)−v∥∝O(ε2), we have:

∥u(n)−v∥∝O(εn+1)  (11)

and

∥u(n)−u(n−1)∥∝O(εn).  (12)

Equations (11) and (12) indicate that u(n) is accurate to the order of O(εn) and the Born approximation converges by O(εn).

In the situation where LO and RF frequencies are incommensurate with each other for a particular harmonic Σiki·ωi+m·ωc (ωi is the frequency of an RF signal), its leading order is O(εΣi|ki|) and the next leading order is O(ε2+Σi|ki|). As a result, when n is even, the error in u(n) is of order O(εn+2) for even harmonics (Σki is even) and of order O(εn+1) for odd harmonics (Σki is odd), and vice versa when n is odd. (That is, when n is odd the error is of order O(εn+2) for odd harmonics and of order O(εn+1) for even harmonics.)
The Born approximation is closely related to Volterra series. The connection between them was pointed out by Leon and Schaefer [9] and by Li and Pileggi [10]. In the Volterra series, the nth term v(n) is the exact Taylor expansion of v in terms of parameter ε and v(n) ∝εn. Because the nth order Born approximation is accurate to O(εn) as shown in equation (11), u(n) is equal to the sum of Volterra series up to v(n) plus higher order terms:

u(n)=v(1)+v(2)+ . . . +v(n)+O(ε(n+1)).  (13)

Furthermore, for incommensurate frequencies, when n is even, the difference between the Born approximation and the Volterra series is of order O(ε(n+2)) at even harmonics and of order O(εn+1)) at odd harmonics, and vice versa when n is odd. (That is, when n is odd the error is of order O(εn+2) for odd harmonics and of order O(εn+1) for even harmonics.)
Equation (7) can be simplified in the form of RF harmonics. Expanding v with Fourier coefficients v(ω,m) gives:




  
    
      
        
          v
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            ∑
            ω
          
          ⁢
          
            
              ∑
              m
            
            ⁢
            
              
                v
                ⁡
                
                  (
                  
                    ω
                    ,
                    m
                  
                  )
                
              
              ⁢
              
                e
                
                  
                    j
                    ⁡
                    
                      (
                      
                        ω
                        +
                        
                          m
                          ⁢
                          
                            
                          
                          ⁢
                          
                            ω
                            c
                          
                        
                      
                      )
                    
                  
                  ⁢
                  t
                
              
            
          
        
      
    
    
      
        (
        14
        )
      
    
  




where ω=Σiki·ωi is the RF harmonic frequency. Here we consider the DC operating point as a special case with ωc=0. We define RF harmonic vω(t) as





  
    
      
        
          
            
              v
              ω
            
            ⁡
            
              (
              t
              )
            
          
          =
          
            
              ∑
              m
            
            ⁢
            
              
                v
                ⁡
                
                  (
                  
                    ω
                    ,
                    m
                  
                  )
                
              
              ⁢
              
                e
                
                  
                    j
                    ⁡
                    
                      (
                      
                        ω
                        +
                        
                          m
                          ⁢
                          
                            
                          
                          ⁢
                          
                            ω
                            c
                          
                        
                      
                      )
                    
                  
                  ⁢
                  t
                
              
            
          
        
        ,
      
    
    
      
        (
        15
        )
      
    
  




and equation (14) becomes





  
    
      
        
          v
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            ∑
            ω
          
          ⁢
          
            
              
                v
                ω
              
              ⁡
              
                (
                t
                )
              
            
            .
          
        
      
    
    
      
        (
        16
        )
      
    
  




It should be emphasized that vω is not the Fourier transform of v because it's still a function of time. It's the harmonic component of frequency ω in v. As shown in equation (15), vω carries frequency ω and all the sidebands of ωc. Note that operator L has only ωc harmonics. When frequencies ωi are incommensurate with ωc, RF harmonics are orthogonal to each other in equation (7) and uω can be solved independently

uω(n)=vω(1)−L−1·FNL,ω(u(n−1)).  (17)

To calculate harmonics of FNL, we label uω and FNL,ω with index vector {right arrow over (k)}=(k1, k2, . . . ) as u{right arrow over (k)} and FNL,{right arrow over (k)}. For incommensurate ωi and ωc, {right arrow over (k)} is uniquely determined by ω. The following scaling law holds for algebraic functions q(V) and i(V):




  
    
      
        
          
            F
            NL
          
          (
          
            
              ∑
              
                
                  k
                  →
                
                ′
              
            
            ⁢
            
              
                e
                
                  j
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      
                        k
                        →
                      
                      ′
                    
                    ·
                    
                      θ
                      →
                    
                  
                
              
              ⁢
              
                
                  u
                  
                    
                      k
                      →
                    
                    ′
                  
                
                ⁡
                
                  (
                  t
                  )
                
              
            
          
          )
        
        =
        
          
            ∑
            
              k
              →
            
          
          ⁢
          
            
              e
              
                j
                ⁢
                
                  
                
                ⁢
                
                  
                    k
                    →
                  
                  ·
                  
                    θ
                    →
                  
                
              
            
            ·
            
              
                
                  F
                  
                    NL
                    ,
                    
                      k
                      →
                    
                  
                
                ⁡
                
                  (
                  
                    u
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                  )
                
              
              .
            
          
        
      
    
    
      
        (
        18
        )
      
    
  




Equation (18) demonstrates that if we multiply every u{right arrow over (k)} with a factor ej{right arrow over (k)}·{right arrow over (θ)} and compute FNL, then FNL,{right arrow over (k)} is the Fourier transform of FNL as a function of {right arrow over (θ)}. Using multidimensional DFT (Discrete Fourier Transform), we calculate FNL,{right arrow over (k)} as





  
    
      
        
          
            F
            
              NL
              ,
              
                k
                →
              
            
          
          ⁡
          
            (
            
              u
              ⁡
              
                (
                t
                )
              
            
            )
          
        
        =
        
          
            ∑
            
              θ
              →
            
          
          ⁢
          
            
              Γ
              ⁡
              
                (
                
                  
                    k
                    →
                  
                  ,
                  
                    θ
                    →
                  
                
                )
              
            
            ·
            
              
                
                  F
                  NL
                
                (
                
                  
                    ∑
                    
                      
                        k
                        →
                      
                      ′
                    
                  
                  ⁢
                  
                    
                      e
                      
                        j
                        ⁢
                        
                          
                        
                        ⁢
                        
                          
                            k
                            →
                          
                          ·
                          
                            θ
                            →
                          
                        
                      
                    
                    ⁢
                    
                      
                        u
                        
                          k
                          →
                        
                      
                      ⁡
                      
                        (
                        t
                        )
                      
                    
                  
                
                )
              
              .
            
          
        
      
    
    
      
        (
        19
        )
      
    
  




where Γ({right arrow over (k)},{right arrow over (θ)}) is the DFT matrix and {right arrow over (θ)} is uniformly distributed in (−π, π) for each θi. Equation (19) has also been used in harmonic balance for frequency domain function evaluation [3]. It is equivalent to calculating derivatives of F(V) numerically. Therefore, although high-order device derivatives are absent from equation (17), accurate nonlinear calculations still require smooth I/V or Q/V characteristics over the range of voltages or currents in which the circuit operates.

Equation (17) can be implemented in both time and frequency domains [15]. In a frequency representation, uω and FNL,ω are expanded with ωc harmonics as in equation (15).
3 IP2 and IP3 Calculations
In the 2nd order Born approximation, uω1−ω2(2) is accurate to the leading order O(ε2). The next-order terms are of order O(ε4), and they are negligible compared to O(ε2) terms when RF input signals are weak. Therefore, we can use uω1−ω2(2) at a low RF power level as an estimate for IM2 to calculate IP2. We can solve for uω1−ω2(2) from the linear solution u(1):

uω1−ω2(2)=−L−1·FNL,ω1−ω2(u(1))  (20)

This computation takes one DC or periodic steady-state calculation at zero RF input and three AC or periodic AC solutions (two for u(1) and one for u(2)). Unlike multi-tone simulations, where the size of the Jacobian matrix is proportional to the number of harmonics used, the size of L in the perturbation is independent of harmonic number, which affects only function evaluation in equation (19).

This process is summarized in FIG. 1. A method 102 for calculating IM2/IP2 begins with determining 104 an operating point for the circuit. The operating point can be a single point (e.g., a DC operating point) or an interval (e.g., a periodic operating point). Once an operating point is set, a linear offset (e.g., L in eq. (4)) and a nonlinear offset (e.g., FNL in eq. (5)) can be determined for perturbation analysis about the operating point. Next, a first-order solution (e.g., u(1)=v(1) in eq. (8)) can be determined 106 from the linear offset and an input (e.g., s in eq. (8)) having a first input frequency (e.g., ω1) and a second input frequency (e.g., ω2). For example, we can take s=s1+s2 where s1=sin(ω1t) and s2=sin(ω2t), and where the solutions can be obtained separately for each frequency and summed because of the linearity of equation (8). These two frequencies are typically close in value (e.g., ω1≈ω2).
Next a harmonic component of the nonlinear offset can be determined 108 at a difference between the first input frequency and the second input frequency (e.g., FNL at ω1−ω2 in eq. (20)). Next a second-order solution (e.g., u(2) at ω1−ω2 in eq. (20)) can be determined 110 from the linear offset and the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency. As discussed above, this second-order solution provides an estimate for the second-order intermodulation product (IM2) for the circuit.
The method 102 can be extended by determining 112 an estimate for a second-order intercept point (e.g., IP2) for the circuit from the second-order solution and the first-order solution. Typically, this includes calculating an intersection on a log-log scale between a linear representation of the second-order solution and a linear representation of the first-order solution. Ideally, the linear representation of the second-order solution has a slope of 2 dB/dB and the linear representation of the first-order solution has a slope of 1 dB/dB. Typically, only one frequency is used for the characterization of the first-order solution so that a component corresponding to either the first frequency (e.g., ω1) or the second frequency (e.g., ω2) is extracted from the first-order solution. Details for calculating intermodulation intercept points from intermodulation products (e.g, calculating IP2 from IM2 and IP3 from IM3) are well-known in the art of circuit analysis (e.g., [8] at p. 298, [13] at p. 18).
Similarly, for the IP3 calculation we can use the 3rd order Born approximation u2ω1−ω2(3) at low power level as an estimate for IM3. It is accurate to the leading order O(ε3) and next order terms are of O(ε5). We solve for u2ω1−ω2(3) from the 2nd order solution u(2):

u2ω1−ω2(3)=−L−1·FNL,2ω1−ω2(u(2)).  (21)

Note that the ε3 terms in u2ω1−ω2(3) arise from second and third order polynomials in FNL. Only a handful of RF harmonics in u(2) are involved in FNL,2ω1−ω2 at order O(ε3). We demonstrate this by expanding FNL in equation (21) with polynomials:





  
    
      
        
          u
          
            
              2
              ⁢
              
                ω
                1
              
            
            -
            
              ω
              2
            
          
          
            (
            3
            )
          
        
        =
        
          
            -
            
              L
              
                -
                1
              
            
          
          ·
          
            
              {
              
                
                  
                    F
                    2
                  
                  ·
                  
                    [
                    
                      
                        
                          u
                          
                            -
                            
                              ω
                              2
                            
                          
                          
                            (
                            1
                            )
                          
                        
                        ·
                        
                          u
                          
                            2
                            ⁢
                            
                              ω
                              1
                            
                          
                          
                            (
                            2
                            )
                          
                        
                      
                      +
                      
                        
                          u
                          
                            ω
                            1
                          
                          
                            (
                            1
                            )
                          
                        
                        ·
                        
                          u
                          
                            
                              ω
                              1
                            
                            -
                            
                              ω
                              2
                            
                          
                          
                            (
                            2
                            )
                          
                        
                      
                    
                    ]
                  
                
                +
                
                  
                    1
                    2
                  
                  ⁢
                  
                    
                      F
                      3
                    
                    ·
                    
                      u
                      
                        ω
                        1
                      
                      
                        (
                        1
                        )
                      
                    
                    ·
                    
                      u
                      
                        ω
                        1
                      
                      
                        (
                        1
                        )
                      
                    
                    ·
                    
                      u
                      
                        -
                        
                          ω
                          2
                        
                      
                      
                        (
                        1
                        )
                      
                    
                  
                
                +
                
                  O
                  ⁡
                  
                    (
                    
                      ɛ
                      5
                    
                    )
                  
                
              
              }
            
            .
          
        
      
    
    
      
        (
        22
        )
      
    
  




In equation (22), the linear operator Fn is the nth derivative of F with respect to V at V0 and is given by




  
    
      
        
          F
          n
        
        =
        
          
            
              d
              
                d
                t
              
            
            ⁢
            
              (
              
                
                  
                    ∂
                    n
                  
                  
                    ∂
                    
                      V
                      n
                    
                  
                
                ⁢
                
                  q
                  ⁡
                  
                    (
                    
                      V
                      0
                    
                    )
                  
                
              
              )
            
          
          +
          
            
              
                ∂
                n
              
              
                ∂
                
                  V
                  n
                
              
            
            ⁢
            
              
                q
                ⁡
                
                  (
                  
                    V
                    0
                  
                  )
                
              
              ·
              
                d
                
                  d
                  t
                
              
            
          
          +
          
            
              
                ∂
                n
              
              
                ∂
                
                  V
                  n
                
              
            
            ⁢
            
              
                i
                ⁡
                
                  (
                  
                    V
                    0
                  
                  )
                
              
              .
            
          
        
      
    
    
      
        (
        23
        )
      
    
  




Without losing accuracy we can write equation (22) as





  
    
      
        
          u
          
            
              2
              ⁢
              
                ω
                1
              
            
            -
            
              ω
              2
            
          
          
            (
            3
            )
          
        
        =
        
          
            
              -
              
                L
                
                  -
                  1
                
              
            
            ·
            
              
                F
                
                  NL
                  ,
                  
                    
                      2
                      ⁢
                      
                        ω
                        1
                      
                    
                    -
                    
                      ω
                      2
                    
                  
                
              
              ⁡
              
                [
                
                  
                    u
                    
                      ω
                      1
                    
                    
                      (
                      1
                      )
                    
                  
                  +
                  
                    u
                    
                      -
                      
                        ω
                        2
                      
                    
                    
                      (
                      1
                      )
                    
                  
                  +
                  
                    u
                    
                      2
                      ⁢
                      
                        ω
                        1
                      
                    
                    
                      (
                      2
                      )
                    
                  
                  +
                  
                    u
                    
                      
                        ω
                        1
                      
                      -
                      
                        ω
                        2
                      
                    
                    
                      (
                      2
                      )
                    
                  
                
                ]
              
            
          
          +
          
            
              O
              ⁡
              
                (
                
                  ɛ
                  5
                
                )
              
            
            .
          
        
      
    
    
      
        (
        24
        )
      
    
  




Equation (24) shows that to solve u2ω1−ω2(3) to O(ε3) accuracy, we only need u2ω1(2) and uω1−ω2(2) from the second order approximation, for which we have

u2ω1(2)=−L−1·FNL,2ω1(u(1))  (25)

and

uω1−ω2(2)=−L−1·FNL,ω1−ω2(u(1)).  (26)

Other harmonics contribute to higher order terms, and therefore can be ignored. The computation takes one DC or periodic steady-state calculation at zero RF input and five AC or periodic AC solutions (two for u(1), two for u(2), and one for u(3)). Note that equation (26) is identical to equation (20) so that an estimate for IM2 is also available.

This process is summarized in FIG. 2, and the details are similar to the description of FIG. 1 above. A method 202 for calculating IM3/IP3 begins with determining 204 an operating point (e.g., DC or periodic) for the circuit. Once an operating point is set, a linear offset (e.g., L in eq. (4)) and a nonlinear offset (e.g., FNL in eq. (5)) can be determined for perturbation analysis about the operating point. Next, a first-order solution (e.g., u(1)=v(1) in eq. (8)) can be determined 206 from the linear offset and an input (e.g., s in eq. (8)) having a first input frequency (e.g., ω1) and a second input frequency (e.g., ω2).
Next a harmonic component of the nonlinear offset can be determined 208 at a difference between the first input frequency and the second input frequency (e.g., FNL at ω1−ω2 in eq. (26)), and a harmonic component of the nonlinear offset can be determined 208 at twice the first input frequency (e.g., FNL at 2ω1 in eq. (25)). Next a second-order solution (e.g., u(2) at ω1−ω2 in eq. (26)) can be determined 210 from the linear offset and the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency, and a second-order solution (e.g., u(2) at 2ω1 in eq. (25)) can be determined 210 from the linear offset and the harmonic component of the nonlinear offset at twice the first input frequency. Next, a harmonic component of the nonlinear offset (e.g., FNL at 2ω1−ω2 in eq. (24)), can be determined 212 at a difference between twice the first input frequency and the second input frequency. Next a third-order solution (e.g., u(3) at 2ω1−ω2 in eq. (24)) can be determined 214 from the linear offset and the harmonic component of the nonlinear offset at the difference between twice the first input frequency and the second input frequency. As discussed above, this third-order solution provides an estimate for the third-order intermodulation product (IM3) for the circuit.
The method 202 can be extended by determining 216 an estimate for a third-order intercept point (e.g., IP3) for the circuit from the second-order solution and the first-order solution. Typically, this includes calculating an intersection on a log-log scale between a linear representation of the third-order solution and a linear representation of the first-order solution. Ideally, the linear representation of the third-order solution has a slope of 3 dB/dB and the linear representation of the first-order solution has a slope of 1 dB/dB. Details are standard and similar to the above discussion with respect to FIG. 1.
As a heuristic, one can compare the Born approximation with the Volterra series, where IM2 is calculated by

vω1−ω2(2)=−L−1·[F2·vω1(1)·v−ω2(1)]  (27)

and IM3 is calculated by





  
    
      
        
          v
          
            
              2
              ⁢
              
                ω
                1
              
            
            -
            
              ω
              2
            
          
          
            (
            3
            )
          
        
        =
        
          
            -
            
              L
              
                -
                1
              
            
          
          ·
          
            {
            
              
                
                  F
                  2
                
                ·
                
                  [
                  
                    
                      
                        v
                        
                          -
                          
                            ω
                            2
                          
                        
                        
                          (
                          1
                          )
                        
                      
                      ·
                      
                        v
                        
                          2
                          ⁢
                          
                            ω
                            1
                          
                        
                        
                          (
                          2
                          )
                        
                      
                    
                    +
                    
                      
                        v
                        
                          ω
                          1
                        
                        
                          (
                          1
                          )
                        
                      
                      ·
                      
                        v
                        
                          
                            ω
                            1
                          
                          -
                          
                            ω
                            2
                          
                        
                        
                          (
                          2
                          )
                        
                      
                    
                  
                  ]
                
              
              +
              
                
                  1
                  2
                
                ⁢
                
                  
                    F
                    3
                  
                  ·
                  
                    v
                    
                      ω
                      1
                    
                    
                      (
                      1
                      )
                    
                  
                  ·
                  
                    v
                    
                      ω
                      1
                    
                    
                      (
                      1
                      )
                    
                  
                  ·
                  
                    v
                    
                      -
                      
                        ω
                        2
                      
                    
                    
                      (
                      1
                      )
                    
                  
                
              
            
            }
          
        
      
    
    
      
        (
        28
        )
      
    
  
  
    
      
        
          
            v
            
              2
              ⁢
              
                ω
                1
              
            
            
              (
              2
              )
            
          
          =
          
            
              -
              
                L
                
                  -
                  1
                
              
            
            ·
            
              [
              
                
                  1
                  
                    2
                    !
                  
                
                ⁢
                
                  
                    F
                    2
                  
                  ·
                  
                    v
                    
                      ω
                      1
                    
                    
                      (
                      1
                      )
                    
                  
                  ·
                  
                    v
                    
                      ω
                      1
                    
                    
                      (
                      1
                      )
                    
                  
                
              
              ]
            
          
        
        ⁢
        
          

        
        ⁢
        and
      
    
    
      
        (
        29
        )
      
    
  
  
    
      
        
          v
          
            
              ω
              1
            
            -
            
              ω
              2
            
          
          
            (
            2
            )
          
        
        =
        
          
            -
            
              L
              
                -
                1
              
            
          
          ·
          
            
              [
              
                
                  F
                  2
                
                ·
                
                  v
                  
                    ω
                    1
                  
                  
                    (
                    1
                    )
                  
                
                ·
                
                  v
                  
                    -
                    
                      ω
                      2
                    
                  
                  
                    (
                    1
                    )
                  
                
              
              ]
            
            .
          
        
      
    
    
      
        (
        30
        )
      
    
  




Equations (20) and (24)-(26) can be considered as approximation of equations (27)-(30) by replacing all the v(n) with u(n) and the polynomials with FNL. The actual polynomial multiplication happens implicitly when evaluating nonlinear function FNL in the Born approximation. The deviation introduced is of order O(ε4) for IM2 and O(ε5) for IM3. Its effects on IP2/IP3 can be estimated by checking the scaling of IM2/IM3 results at different RF power levels. Compared to equations (27)-(30), not only are equations (20) and (24)-(26) free of F2 and F3, but they are also much simpler to implement.
4 Diagrammatic Representation
Equations (27)-(30) are leading order terms in RF harmonics ω1−ω2 and 2ω1−ω2. We illustrate them in FIG. 3 and FIG. 4 using diagrams analogous to the well-known Feynman diagrams in quantum field theory [6].
In FIGS. 3 and 4, each vertex represents a polynomial in FNL. A vertex has one outgoing line and at least two incoming lines. Lines coming into the vertex are lower order solutions involved in the polynomial. The outgoing line is the solution at the current order. The RF frequency at the outgoing line is equal to the sum of the RF frequencies at the incoming lines. The three diagrams in FIG. 4 correspond to three nonlinear terms in the RHS (right-hand side) of equation (28). Using the diagrammatic technique, it's convenient to identify intermediate harmonics we need-to solve in lower-order perturbations.
In general, to count all diagrams for a given RF frequency at nth order, one can start with the diagram for the vn term of the Taylor expansion about the operating point, which is the highest-order polynomial that needs to be considered. All its incoming lines are of first order. With the same outgoing frequency, diagrams of vn−1 terms can be constructed by merging a pair of incoming lines in the vn diagram into a single line. The frequency at the new line is equal to the sum of frequencies at the two merged lines. Similarly, diagrams of other polynomials are obtained by merging more lines. Note that the order of a new line is the sum of orders of lines being merged.
As an example, we draw diagrams of intermodulation ω1−ω2 at 4th order in FIG. 5. All lines are of leading order except for two F2 diagrams that have incoming line vω1(3) or v−ω2(3). (See FIG. 5, third row, first and fourth diagrams from the left.) They are identical to the 2nd order diagram shown in FIG. 3 except that the incoming lines in FIG. 3 are vω1(1) and v−ω2(1). To distinguish them from the 2nd order diagram, ω1 or −ω2 is explicitly marked as 3rd order. FIG. 5 shows that the 4th order calculation of ω1−ω2 takes harmonics 2ω1−ω2, ω1−2ω2, ω1 and −ω2 from the 3rd order solution and harmonics ω1−ω2, ω1+ω2, −ω1−ω2, 2 ω1, −2ω1 and 0 from the 2nd order. Employing the technique recursively to lower-order lines, we obtain the list of harmonics need to be solved at each order of the perturbation. The error term in final solution is of order O(ε6).
In addition, We define the following rules to carry out perturbation calculations directly from the diagrams. For Volterra series we have:
1. To each incoming external line, assign vω(n) where ω is the RF frequency of the line.
2. To each internal line, assign operator L−1, which represents the Green's function or propagator of linear equation (8). For a line at frequency ω, L−1 has the form of Gω(t, t′) in time domain and G(ω+mωc, ω+m′ωc) in frequency domain.
3. To each vertex, assign operator −Fn/n! and operate it on the product of incoming lines with a permutation factor to compute the corresponding polynomial.
4. To the outgoing external line, assign L−1 for the final AC or periodic AC calculation.
These rules are analogous to the Feynman rules [6]. Applying these rules for the Volterra series (or the Volterra approximation) to the diagrams in FIGS. 3 and 4 results in:




  
    
      
        
          
            v
            
              
                ω
                1
              
              -
              
                ω
                2
              
            
            
              (
              2
              )
            
          
          =
          
            
              -
              
                1
                L
              
            
            ·
            
              F
              2
            
            ·
            
              v
              
                ω
                1
              
              
                (
                1
                )
              
            
            ·
            
              v
              
                -
                
                  ω
                  2
                
              
              
                (
                1
                )
              
            
          
        
        ⁢
        
          

        
        ⁢
        and
      
    
    
      
        (
        31
        )
      
    
  
  
    
      
        
          v
          
            
              2
              ⁢
              
                ω
                1
              
            
            -
            
              ω
              2
            
          
          
            (
            3
            )
          
        
        =
        
          
            
              1
              L
            
            ·
            
              F
              2
            
            ·
            
              v
              
                -
                
                  ω
                  2
                
              
              
                (
                1
                )
              
            
            ·
            
              (
              
                
                  
                    1
                    L
                  
                  ·
                  
                    1
                    
                      2
                      !
                    
                  
                
                ⁢
                
                  
                    F
                    2
                  
                  ·
                  
                    v
                    
                      ω
                      1
                    
                    
                      (
                      1
                      )
                    
                  
                  ·
                  
                    v
                    
                      ω
                      1
                    
                    
                      (
                      1
                      )
                    
                  
                
              
              )
            
          
          +
          
            
              1
              L
            
            ·
            
              F
              2
            
            ·
            
              v
              
                ω
                1
              
              
                (
                1
                )
              
            
            ·
            
              (
              
                
                  1
                  L
                
                ·
                
                  F
                  2
                
                ·
                
                  v
                  
                    ω
                    1
                  
                  
                    (
                    1
                    )
                  
                
                ·
                
                  v
                  
                    -
                    
                      ω
                      2
                    
                  
                  
                    (
                    1
                    )
                  
                
              
              )
            
          
          -
          
            
              1
              L
            
            ·
            
              1
              2
            
            ·
            
              F
              3
            
            ·
            
              v
              
                ω
                1
              
              
                (
                1
                )
              
            
            ·
            
              v
              
                ω
                1
              
              
                (
                1
                )
              
            
            ·
            
              
                v
                
                  -
                  
                    ω
                    2
                  
                
                
                  (
                  1
                  )
                
              
              .
            
          
        
      
    
    
      
        (
        32
        )
      
    
  




Equations (31) and (32) are equivalent to equations (27)-(30). Replacing v(1) with L−1·s in equation (31) and equation (32) yields the 2nd and 3rd order Volterra kernels for ω1−ω2 and 2ω1−ω2 respectively.

Similarly, for the Born approximation we have:
1. To each incoming external line, assign uω1(n) where ω is the RF frequency of the line.
2. To each internal line, assign operator −L−1 
3. To each vertex, assign nonlinear function −FNL,ω(·), where ω is the RF frequency of the outgoing line of the vertex. The input variable to the function −FNL,ω(·) is the sum of incoming lines with distinct frequencies. If a vertex has multiple incoming lines at an identical frequency, only the one with highest order is included in the input to −FNL,ω(·) because it already contains all previous orders.
4. To the outgoing external line, assign −L−1 for the final AC or period AC calculation.
Applying these rules for the Born approximation to the diagrams in FIGS. 3 and 4 results in:




  
    
      
        
          
            u
            
              
                ω
                1
              
              -
              
                ω
                2
              
            
            
              (
              2
              )
            
          
          =
          
            
              -
              
                1
                L
              
            
            ⁢
            
              
                
                  F
                  
                    NL
                    ,
                    
                      
                        ω
                        1
                      
                      -
                      
                        ω
                        2
                      
                    
                  
                
                ⁡
                
                  (
                  ·
                  )
                
              
              ⁡
              
                [
                
                  
                    u
                    
                      ω
                      1
                    
                    
                      (
                      1
                      )
                    
                  
                  +
                  
                    u
                    
                      -
                      
                        ω
                        2
                      
                    
                    
                      (
                      1
                      )
                    
                  
                
                ]
              
            
          
        
        ⁢
        
          

        
        ⁢
        and
      
    
    
      
        (
        33
        )
      
    
  
  
    
      
        
          u
          
            
              2
              ⁢
              
                ω
                1
              
            
            -
            
              ω
              2
            
          
          
            (
            3
            )
          
        
        =
        
          
            
              -
              
                1
                L
              
            
            ⁢
            
              
                
                  F
                  
                    NL
                    ,
                    
                      
                        2
                        ⁢
                        
                          ω
                          1
                        
                      
                      -
                      
                        ω
                        2
                      
                    
                  
                
                ⁡
                
                  (
                  ·
                  )
                
              
              ⁡
              
                [
                
                  
                    u
                    
                      -
                      
                        ω
                        2
                      
                    
                    
                      (
                      1
                      )
                    
                  
                  -
                  
                    
                      1
                      L
                    
                    ⁢
                    
                      
                        F
                        
                          NL
                          ,
                          
                            2
                            ⁢
                            
                              ω
                              1
                            
                          
                        
                      
                      ⁡
                      
                        (
                        ·
                        )
                      
                    
                    ⁢
                    
                      u
                      
                        ω
                        1
                      
                      
                        (
                        1
                        )
                      
                    
                  
                
                ]
              
            
          
          -
          
            
              1
              L
            
            ⁢
            
              
                
                  F
                  
                    NL
                    ,
                    
                      
                        2
                        ⁢
                        
                          ω
                          1
                        
                      
                      -
                      
                        ω
                        2
                      
                    
                  
                
                ⁡
                
                  (
                  ·
                  )
                
              
              ⁡
              
                [
                
                  
                    u
                    
                      ω
                      1
                    
                    
                      (
                      1
                      )
                    
                  
                  -
                  
                    
                      1
                      L
                    
                    ⁢
                    
                      
                        F
                        
                          NL
                          ,
                          
                            
                              ω
                              1
                            
                            -
                            
                              ω
                              2
                            
                          
                        
                      
                      ⁡
                      
                        (
                        ·
                        )
                      
                    
                    ⁢
                    
                      (
                      
                        
                          u
                          
                            ω
                            1
                          
                          
                            (
                            1
                            )
                          
                        
                        +
                        
                          u
                          
                            -
                            
                              ω
                              2
                            
                          
                          
                            (
                            1
                            )
                          
                        
                      
                      )
                    
                  
                
                ]
              
            
          
          -
          
            
              1
              L
            
            ⁢
            
              
                
                  
                    F
                    
                      NL
                      ,
                      
                        
                          2
                          ⁢
                          
                            ω
                            1
                          
                        
                        -
                        
                          ω
                          2
                        
                      
                    
                  
                  ⁡
                  
                    (
                    ·
                    )
                  
                
                ⁡
                
                  [
                  
                    
                      u
                      
                        ω
                        1
                      
                      
                        (
                        1
                        )
                      
                    
                    +
                    
                      u
                      
                        -
                        
                          ω
                          2
                        
                      
                      
                        (
                        1
                        )
                      
                    
                  
                  ]
                
              
              .
            
          
        
      
    
    
      
        (
        34
        )
      
    
  




Note that in the first and third terms of equation (34) we use one uω1(1) to represent the two ω1 incoming lines at vertices FNL,2ω2 and FNL,2ω1−ω2. Equations (24)-(26) can be obtained from equation (34) by combining the three terms with FNL,2ω2−ω2(·) into one and eliminating identical terms in equation (34). (FIGS. 3 and 4 correspond to FIGS. 1 and 2 respectively.) Using the diagrammatic method, we can systematically construct Born approximations or Volterra series for calculating (or representing) any high-order perturbation. That is, the rules described above can be implemented as methods for calculating perturbations to any order using the Born approximation or the Volterra series. Alternatively, perturbations can be calculated at higher orders by automated software for symbolic manipulation of polynomial and multinomial functions.
5 Computational Results
Tests were performed on five circuits including an LNA and a mixer. FIG. 6 shows basic circuit information (e.g., number of active and passive elements and number of nodes), and FIG. 7 shows the relevant operating parameters (i.e., RF frequencies ω1, ω2 and LO frequencies ωc).
Intermodulation products were calculated using the Born approximation in frequency domain (e.g, as in FIGS. 1 and 2), and the results (or representations) were compared with 2-tone (for the LNA) and 3-tone (for the mixer) harmonic balance (HB) simulations [3]. FIG. 8 shows the calculated IM2 at two different RF power levels in Mixer1 and Mixer2 at 0.88 MHz and 0.2 MHz, respectively (i.e., as values for ω1−ω2). FIG. 9 shows the calculated IM3 in LNA, Mixer2, Mixer3 and Mixer4 at 2.452 GHz, 2.2 MHz, 30 MHz and 80 KHz, respectively (i.e., as values for 2ω1−ω2 for the LNA and for 2ω1−ω2−ωc for the mixers). (Here the Born approximation is denoted as a “perturbation” in the figures. Note that the ω1-component of the input was used to determine the RF power.) These perturbation results are in excellent agreement with multi-tone simulations. It is worthwhile to point out that standard device models such as BSIM3 and BJT are used in the simulations. As noted above, Volterra series calculations are generally not possible without modifying the models to compute 2nd and 3rd order derivatives.
To verify the scaling behavior of IM2/IM43 at different RF signal levels, we computed the slope of IM2/IM3 power as a function of RF input power using the results shown in FIGS. 8 and 9. The IM2 slopes were estimated to be 2.00006 dB/dB in Mixer1 and 2.0083 dB/dB in Mixer2. The IM3 slopes in LNA, Mixer2, Mixer3 and Mixer4 were estimated to be 3.0039 dB/dB, 2.9976 dB/dB, 3.0097 dB/dB and 2.99998 dB/dB, respectively. These results, which are very close to the theoretical values of 2 dB/dB and 3 dB/dB, demonstrate that at the specified power level nonlinear distortion is dominated by leading order effects and higher order contributions are insignificant in these circuits. Therefore, IP2 and IP3 can be accurately extracted from the calculations.
FIG. 10 shows a speed comparison between the Born approximation and multi-tone simulation. Here the computation time used to solve DC or periodic operating point was included for the Born approximation (i.e., perturbation method). According to these results, performance is improved by three to six time using the perturbative method.
6 Conclusion
As demonstrated above by embodiments of the present invention, IP2 and IP3 can be calculated by using 2nd and 3rd order Born approximations under weakly nonlinear condition. The approach does not require high-order device derivatives and, in general, can be implemented without modification of device models. The approach is formulated as successive small signal calculations. Since RF signals are treated as perturbation to the operating point, the dynamic range only needs to cover RF excitations. In general, the computation takes one DC or periodic steady-state calculation at zero RF input and three (for IP2) or five (for IP3) AC or periodic AC solutions, regardless of the number of harmonics used. As demonstrated by the calculation shown above, this approach gives results that are consistent with the conventional multi-tone simulation methods for calculating IP2 and IP3. However this approach is typically much more efficient compared to the conventional simulations.
A diagrammatic representation was introduced to analyze nonlinear interactions at a given order. Relevant intermediate harmonics in lower-order approximations are identified using this diagrammatic technique. Perturbations can be constructed directly from diagrams in a systematic way. The approach can be applied to calculating other high-order distortions such as arbitrary intermodulation products (IMn), and these distortions can be used to calculate corresponding intermodulation intercept points (IPn)
Additional embodiments relate to an apparatus that includes a computer with instructions for carrying out any one of the above-described methods. In this context the computer may be a general-purpose computer including, for example, a central processing unit, memory, storage and Input/Output devices. However, the computer may include a specialized microprocessor or other hardware for carrying out some or all aspects of the methods. Additional embodiments also include a computer-readable medium that stores (e.g., tangibly embodies) a computer program for carrying out any one of the above-described methods by means of a computer.
Although only certain exemplary embodiments of this invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. For example, aspects of embodiments disclosed above can be combined in other combinations to form additional embodiments. Accordingly, all such modifications are intended to be included within the scope of this invention.
7 References
The following references are related to the disclosed subject matter:

    [1] J. Bussgang, L. Ehrman, and J. Graham. Analysis of nonlinear systems with multiple inputs. Proc. IEEE, 62:1088-1119, August 1974.
    [2] S. Chisholm and L. Nagel. Efficient computer simulation of distortion in electronic circuits. IEEE Trans. on Circuits and Systems, 20(6):742-745, November 1973.
    [3] P. Feldmann, B. Melville, and D. Long. Efficient frequency domain analysis of large nonlinear analog circuits. Proc. Custom Integrated Circuits Conf., pages 461-464, 1996.
    [4] D. Feng, J. Phillips, K. Nabors, K. Kundert, and J. White. Efficient computation of quasi-periodic circuit operating conditions via a mixed frequency/time approach. Proc. of 36th DAC pages 635-640, June 99.
    [5] J. Haywood and Y. L. Chow. Intermodulation distortion analysis using a frequency-domain harmonic balance technique. IEEE Trans. on Microwave Theory and Techniques, 36(8):1251-1257, August 1988.
    [6] C. Itzykson and J. Zuber. Quantum Field Theory. McGraw-Hill Inc., 1980.
    [7] Y. Kuo. Distortion analysis of bipolar transistor circuits. IEEE Trans. on Circuits and Systems, 20(6):709-716, November 1973.
    [8] T. Lee. The Design of CMOS Radio-Frequency Integrated Circuits. Cambridge University Press, Cambridge, UK, 1998.
    [9] B. Leon and D. Schaefer. Volterra series and picard iteration for nonlinear circuits and systems. IEEE Trans. on Circuits and Systems, 25(9):789-793, September 1978.
    [10] P. Li and L. Pileggi. Efficient per-nonlinearity distortion analysis for analog and rf circuits. IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, 22(10):1297-1309, October 2003.
    [11] S. Maas. Nonlinear Microwave Circuits. Artech House, Norwood, Mass., 1988.
    [12] S. Narayanan. Application of volterra series to intermodulation distortion analysis of transistor feedback amplifiers. IEEE Trans. on Circuits and Systems, 17(4):518-527, November 1970.
    [13] B. Razavi. RF Microelectronics. Prentice Hall, Upper Saddle River, N.J., 1998.
    [14] J. Sakurai. Modern Quantum Mechanics. The Benjamin/Cummings Publishing Company, Inc., Menlo Park, Calif., 1985.
    [15] R. Telichevesky, K. Kundert, and J. White. Efficient ac and noise analysis of two-tone rf circuits. Proc. of 33th DAC pages 292-297, June 96.
    [16] P. Wambacq, G. Gielen, P. Kinget, and W. Sansen. High-frequency distortion analysis of analog integrated circuits. IEEE Trans. on Circuits and Systems II, 46(3):335-345, March 1999.
    [17] F. Yuan and A. Opal. Distortion analysis of periodically switched nonlinear circuits using time-varying volterra series. IEEE Trans. on Circuits and Systems I, 48(6):726-738, June 2001.

## Claims

1. A method of analyzing distortion in a circuit, comprising:
determining an operating point for the circuit, the circuit having a linear offset and a nonlinear offset at the operating point;
determining a first-order solution from the linear offset and an input having a first input frequency and a second input frequency;
determining a harmonic component of the nonlinear offset at a difference between the first input frequency and the second input frequency; and
determining a second-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency, wherein the second-order solution provides an estimate for a second-order intermodulation product for the circuit.

2. A method according to claim 1, further comprising:
determining an estimate for a second-order intercept point for the circuit from the second-order solution and the first-order solution.

3. A method according to claim 2, wherein determining the estimate for the second-order intercept point includes:
calculating an intersection between a linear representation of the second-order solution and a linear representation of the first-order solution, wherein the linear representation of the second-order solution has a slope of about 2 dB/dB and the linear representation of the first-order solution has a slope of about 1 dB/dB.

4. A method according to claim 3, wherein determining the linear representation of the first-order solution includes extracting a component from the first-order solution corresponding to one of the first frequency and the second frequency.

5. A method according to claim 1, wherein the operating point is a DC (direct current) operating point or a periodic operating point.

6. A method according to claim 1, further comprising: calculating a DFT (Discrete Fourier Transform) of the nonlinear offset; wherein
determining the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency includes selecting a component of the DFT at the difference between the first input frequency and the second input frequency.

7. A method according to claim 1, wherein determining the second-order solution includes: solving a system defined by the linear offset with an input defined by the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency.

8. A method according to claim 1, wherein the linear offset characterizes a linearized response to input signals at the operating point, and the nonlinear offset characterizes an additional response to input signals at the operating point.

9. A method of analyzing distortion in a circuit, comprising:
determining an operating point for the circuit, the circuit having a linear offset and a nonlinear offset at the operating point;
determining a first-order solution from the linear offset and an input having a first input frequency and a second input frequency;
determining a harmonic component of the nonlinear offset at a difference between the first input frequency and the second input frequency;
determining a harmonic component of the nonlinear offset at twice the first input frequency;
determining a second-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency;
determining a second-order solution from the linear offset and the harmonic component of the nonlinear offset at twice the first input frequency;
determining a harmonic component of the nonlinear offset at a difference between twice the first input frequency and the second input frequency; and
determining a third-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between twice the first input frequency and the second input frequency, wherein the third-order solution provides an estimate for a third-order intermodulation product for the circuit.

10. A method according to claim 9, further comprising:
determining an estimate for a third-order intercept point for the circuit from the third-order solution and the and the first-order solution.

11. A method according to claim 10, wherein determining the estimate for the third-order intercept point includes:
calculating an intersection between a linear representation of the third-order solution and a linear representation of the first-order solution, wherein the linear representation of the third-order solution has a slope of about 3 dB/dB and the linear representation of the first-order solution has a slope of about 1 dB/dB.

12. A method according to claim 11, wherein determining the linear representation of the first-order solution includes extracting a component from the first-order solution corresponding to one of the first frequency and the second frequency.

13. A method according to claim 9, further comprising: calculating a DFT of the nonlinear offset; wherein
determining the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency includes selecting a component of the DFT at the difference between the first input frequency and the second input frequency,
determining the harmonic component of the nonlinear offset at twice the first input frequency includes selecting a component of the DFT at twice the first input frequency; and
determining the harmonic component of the nonlinear offset at the difference between twice the first input frequency and the second input frequency includes selecting a component of the DFT at the difference between twice the first input frequency and the second input frequency.

14. A method of analyzing distortion in a circuit, comprising:
a step for representing an operating point for the circuit, the circuit having a linear offset and a nonlinear offset at the operating point;
a step for representing a first-order solution from the linear offset and an input having a first input frequency and a second input frequency;
a step for representing a harmonic component of the nonlinear offset at a difference between the first input frequency and the second input frequency; and
a step for representing a second-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency, wherein the second-order solution provides an estimate for a second-order intermodulation product for the circuit.

15. A method according to claim 14, further comprising:
a step for representing a second-order intercept point for the circuit from the second-order solution and the first-order solution.

16. A method according to claim 14, further comprising:
a step for representing a harmonic component of the nonlinear offset at twice the first input frequency;
a step for representing a second-order solution from the linear offset and the harmonic component of the nonlinear offset at twice the first input frequency;
a step for representing a harmonic component of the nonlinear offset at a difference between twice the first input frequency and the second input frequency; and
a step for representing a third-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between twice the first input frequency and the second input frequency, wherein the third-order solution provides an estimate for a third-order intermodulation product for the circuit.

17. A method according to claim 16, further comprising:
a step for representing a third-order intercept point for the circuit from the third-order solution and the and the first-order solution.

18. An apparatus for analyzing distortion in a circuit, the apparatus comprising a computer for executing computer instructions, wherein the computer includes computer instructions for:
determining an operating point for the circuit, the circuit having a linear offset and a nonlinear offset at the operating point;
determining a first-order solution from the linear offset and an input having a first input frequency and a second input frequency;
determining a harmonic component of the nonlinear offset at a difference between the first input frequency and the second input frequency; and
determining a second-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency, wherein the second-order solution provides an estimate for a second-order intermodulation product for the circuit.

19. An apparatus according to claim 18, wherein the computer further includes computer instructions for:
determining an estimate for a second-order intercept point for the circuit from the second-order solution and the first-order solution.

20. An apparatus according to claim 19, wherein determining the estimate for the second-order intercept point includes:
calculating an intersection between a linear representation of the second-order solution and a linear representation of the first-order solution, wherein the linear representation of the second-order solution has a slope of about 2 dB/dB and the linear representation of the first-order solution has a slope of about 1 dB/dB.

21. An apparatus according to claim 18, wherein
the computer further includes computer instructions for calculating a DFT of the nonlinear offset, and
determining the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency includes selecting a component of the DFT at the difference between the first input frequency and the second input frequency.

22. An apparatus according to claim 18, wherein the computer further includes computer instructions for
determining a harmonic component of the nonlinear offset at twice the first input frequency;
determining a second-order solution from the linear offset and the harmonic component of the nonlinear offset at twice the first input frequency;
determining a harmonic component of the nonlinear offset at a difference between twice the first input frequency and the second input frequency; and
determining a third-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between twice the first input frequency and the second input frequency, wherein the third-order solution provides an estimate for a third-order intermodulation product for the circuit.

23. An apparatus according to claim 22, wherein the computer further includes computer instructions for:
determining an estimate for a third-order intercept point for the circuit from the third-order solution and the and the first-order solution.

24. An apparatus according to claim 23, wherein determining the estimate for the third-order intercept point includes:
calculating an intersection between a linear representation of the third-order solution and a linear representation of the first-order solution, wherein the linear representation of the third-order solution has a slope of about 3 dB/dB and the linear representation of the first-order solution has a slope of about 1 dB/dB.

25. An apparatus according to claim 22, wherein
the computer further includes computer instructions for calculating a DFT of the nonlinear offset,
determining the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency includes selecting a component of the DFT at the difference between the first input frequency and the second input frequency,
determining the harmonic component of the nonlinear offset at twice the first input frequency includes selecting a component of the DFT at twice the first input frequency, and
determining the harmonic component of the nonlinear offset at the difference between twice the first input frequency and the second input frequency includes selecting a component of the DFT at the difference between twice the first input frequency and the second input frequency.

26. An apparatus according to claim 18, wherein determining the second-order solution includes: solving a system defined by the linear offset with an input defined by the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency.

27. An apparatus according to claim 18, wherein the linear offset characterizes a linearized response to input signals at the operating point, and the nonlinear offset characterizes an additional response to input signals at the operating point.

28. A computer-readable medium that stores a computer program for analyzing distortion in a circuit, the computer program comprising instructions for:
determining an operating point for the circuit, the circuit having a linear offset and a nonlinear offset at the operating point;
determining a first-order solution from the linear offset and an input having a first input frequency and a second input frequency;
determining a harmonic component of the nonlinear offset at a difference between the first input frequency and the second input frequency; and
determining a second-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency, wherein the second-order solution provides an estimate for a second-order intermodulation product for the circuit.

29. A computer-readable medium according to claim 28, wherein the computer program further includes instructions for:
determining an estimate for a second-order intercept point for the circuit from the second-order solution and the first-order solution.

30. A computer-readable medium according to claim 29, wherein determining the estimate for the second-order intercept point includes:
calculating an intersection between a linear representation of the second-order solution and a linear representation of the first-order solution, wherein the linear representation of the second-order solution has a slope of about 2 dB/dB and the linear representation of the first-order solution has a slope of about 1 dB/dB.

31. A computer-readable medium according to claim 28, wherein
the computer program further includes instructions for calculating a DFT of the nonlinear offset, and
determining the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency includes selecting a component of the DFT at the difference between the first input frequency and the second input frequency,.

32. A computer-readable medium according to claim 28, wherein the computer program further includes instructions for:
determining a harmonic component of the nonlinear offset at twice the first input frequency;
determining a second-order solution from the linear offset and the harmonic component of the nonlinear offset at twice the first input frequency;
determining a harmonic component of the nonlinear offset at a difference between twice the first input frequency and the second input frequency; and
determining a third-order solution from the linear offset and the harmonic component of the nonlinear offset at the difference between twice the first input frequency and the second input frequency, wherein the third-order solution provides an estimate for a third-order intermodulation product for the circuit.

33. A computer-readable medium according to claim 32, wherein the computer program further includes instructions for:
determining an estimate for a third-order intercept point for the circuit from the third-order solution and the and the first-order solution.

34. A computer-readable medium according to claim 33, wherein determining the estimate for the third-order intercept point includes:
calculating an intersection between a linear representation of the third-order solution and a linear representation of the first-order solution, wherein the linear representation of the third-order solution has a slope of about 3 dB/dB and the linear representation of the first-order solution has a slope of about 1 dB/dB.

35. A computer-readable medium according to claim 32, wherein
the computer program further includes instructions for calculating a DFT of the nonlinear offset,
determining the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency includes selecting a component of the DFT at the difference between the first input frequency and the second input frequency,
determining the harmonic component of the nonlinear offset at twice the first input frequency includes selecting a component of the DFT at twice the first input frequency, and
determining the harmonic component of the nonlinear offset at the difference between twice the first input frequency and the second input frequency includes selecting a component of the DFT at the difference between twice the first input frequency and the second input frequency.

36. A computer-readable medium according to claim 28, wherein determining the second-order solution includes: solving a system defined by the linear offset with an input defined by the harmonic component of the nonlinear offset at the difference between the first input frequency and the second input frequency.

37. A computer-readable medium according to claim 28, wherein the linear offset characterizes a linearized response to input signals at the operating point, and the nonlinear offset characterizes an additional response to input signals at the operating point.