1 Introduction

The development cost of devices containing electronic circuits is directly linked to the number of prototyping cycles. A means of reducing the number of prototype cycles is the use of electric circuit analysis tools, such as Spice, that help predict the behavior of the circuits without the need to create any hardware. For time-harmonic systems, the analysis can be performed either in time or frequency domain. Transient circuit analysis treats nonlinear devices by linearizing their behavior at every time step. In frequency domain, nonlinear devices cause a mutual dependence of different spectral components. Thus, a naive approach for frequency domain analyses of nonlinear circuits is not generally possible [1, 2]. Nonetheless, a nonlinear circuit problem can be solved in frequency domain using the harmonic balance (HB) method [1]. The HB method approximates the solution of the steady state for a finite number of harmonics with Newton iteration [3]. The HB method avoids the issue of long transients in time domain simulations. However one also has to consider the drawbacks of HB. The more harmonics that are necessary to approximate the nonlinear device behavior, the more degrees of freedom (DoF) the equation system has. Moreover, the convergence of the Newton procedure is suffering in strongly nonlinear systems [3, 4].

A systematic approach for circuit analysis is the employment of sensitivity analysis, which aims to reduce optimization cycles in the early stages of development by systematically optimizing certain design parameters [5]. A common global sensitivity analysis is performed by computing Sobol indices from a polynomial chaos expansion (PCE) surrogate model [6]. However, PCE and similar methods are limited by the number of design parameters due to the curse of dimensionality [7] that makes this type of analysis unfeasible for large parameter spaces. Another category of sensitivity analysis techniques involves computing the gradient of the Quantity of Interest (QoI) w.r.t. one or more design parameters. Gradient-based methods are also referred to as local sensitivity analysis [7].

A more global sensitivity analysis can be carried out by a higher order adjoint sensitivity method [8, 9]. This is particularly advantageous when large parameter variations are considered, but a global sensitivity analysis is too costly [9]. A higher order adjoint sensitivity analysis requires the solution of multiple adjoint problems, resulting in a higher numerical cost when compared to first order adjoint sensitivity analysis. For the class of problems considered in this paper, which only exhibit small parameter variations, a first order sensitivity analysis is sufficient.

Adjoint sensitivity analysis is the method of choice for a setting with many design parameters [5, 10]. Transient adjoint sensitivity analysis [10, 11] as well as sensitivity analysis based on HB solvers [12, 13] have been published and used before. In more recent publications, transient adjoint sensitivity analyses have been applied for a larger variety of nonlinear problems such as electromagnetics, electroquasistatics or nonlinear damped mechanical systems [14,15,16]. Transient adjoint sensitivity analysis is an efficient approach for the analysis of strongly nonlinear systems. However, when dealing with time-dependent sensitivities, the inherent part of solving multiple adjoint problems creates a computational bottleneck [5]. This issue does not exist for HB-based sensitivity analysis. Combining the advantages of transient analysis and HB-based adjoint sensitivity analysis, it is possible to utilize an HB-based adjoint sensitivity analysis while at the same time avoiding convergence problems and many necessary Newton iterations.

This paper proposes the transient forward adjoint harmonic sensitivity analysis (TFHA) as a combination of a nonlinear transient forward analysis with a harmonic adjoint sensitivity analysis. The TFHA is an efficient and robust method for sensitivity analysis in power-electronics applications as demonstrated in practical examples in Sect. 5.

This paper is structured as follows: Sect. 2 gives a brief introduction to the used circuit analysis methods and necessary considerations for the analysis of nonlinear circuits. Section 3 gives an overview over the mentioned sensitivity analysis methods. Section 4 introduces the TFHA as a novel sensitivity analysis method. After that, TFHA is applied to several model problems in Sect. 5. Conclusions on the applicability of the TFHA are drawn in Sect. 6.

2 Nonlinear circuit analysis

To perform the sensitivity analysis, a simulation framework for the considered nonlinear circuits must be introduced first. All presented methods are based on the modified nodal analysis (MNA), which will be introduced first.

2.1 Modified nodal analysis

MNA has been the method of choice for most circuit problems since its introduction in 1975 [17]. MNA extends nodal analysis to accommodate impedance devices such as inductances or voltage sources in addition to the admittance devices.

MNA can be utilized for a transient circuit analysis. The transient MNA is given as a differential algebraic equation (DAE) system

$$\begin{aligned} \varvec{F}(\varvec{x},\dot{\varvec{x}},t) \!=\! \varvec{A}_\textrm{C} \dot{\varvec{x}}(t) + \varvec{A}_\textrm{G} \varvec{x}(t) - \varvec{i}_\textrm{s}(t) = 0, \mathrm {~~~} \varvec{x}(t=0) = 0, \end{aligned}$$
(1)

where \(\varvec{A}_\textrm{C}\) contains capacitor and inductor contributions, \(\varvec{A}_\textrm{G}\) contains conductance contributions, and \(\varvec{i}_\textrm{s}\) contains the independent sources. If the circuit contains nonlinear devices, a linearization of the system is required. This is done by using the Newton method [18] and the introduction of the Jacobian matrix \(\varvec{J}\)

$$\begin{aligned} \varvec{J}_\textrm{G}(\varvec{x}, t) = \varvec{A}_\textrm{G} - \frac{\partial \varvec{i}_\textrm{nl}(\varvec{x}(t), t)}{\partial \varvec{x}(t)}, \end{aligned}$$
(2)

where \(\varvec{i}_\textrm{nl}\) denotes the vector of voltage dependent currents for nonlinear admittance devices. For impedance and energy storage devices, the linearization is performed analogously. For transient analyses, the linearization is performed for each time step t.

2.2 Harmonic balance method

A linear system can directly be transferred to frequency domain [5]:

$$\begin{aligned} \underline{\varvec{F}}(\underline{\varvec{x}},\omega ) = \textrm{j}\omega \varvec{A}_\textrm{C} \underline{\varvec{x}}(\omega ) + \varvec{A}_\textrm{G} \underline{\varvec{x}}(\omega ) - \underline{\varvec{i}}_\textrm{s}(\omega ) = 0, \end{aligned}$$
(3)

where the underlining indicates the phasors of the corresponding quantities and \(\omega \) is the circular frequency. The resulting system matrices are combined into a single matrix \(\underline{\varvec{A}} = \textrm{j}\omega \varvec{A}_\textrm{C} + \varvec{A}_\textrm{G} \) which gives the constitutive equation for the default MNA in frequency domain:

$$\begin{aligned} \underline{\varvec{F}}(\underline{\varvec{x}}) = \underline{\varvec{A}} \underline{\varvec{x}} - \underline{\varvec{i}}_\textrm{s} = 0. \end{aligned}$$
(4)

The HB method is a formalism to approximate the solution of a nonlinear system iteratively with a Newton iteration in frequency domain [1]. The Jacobian (5) is defined at multiple frequencies in order to represent the nonlinear behavior

$$\begin{aligned} \underline{\varvec{J}}(\varvec{x}, \varvec{\omega }) = \underline{\varvec{A}}(\varvec{\omega }) - \frac{\partial \underline{\varvec{i}}_\textrm{nl}(\underline{\varvec{x}}, \varvec{\omega })}{\partial \underline{\varvec{x}}}, \end{aligned}$$
(5)

where \(\varvec{\omega }\) is the vector of all considered frequencies in the system. Approximation with multiple harmonic frequencies increases the number of degrees of freedom (DoF) the stronger the nonlinearities [3]. Resultingly, the HB method is very performant in weakly nonlinear systems that exhibit long transient times. This advantage is particularly pronounced in systems where the transient effects feature time constants that are by orders of magnitude larger than the periods of steady state operation, resulting in the HB Newton iteration to converge faster than the transient simulation takes. This performance advantage is diminished for strongly nonlinear systems due to the exploding number of DoFs.

The holomorphy of the function vector (4) needs to be ensured in the computational domain to define the Jacobian matrix. The Paley–Wiener theorem [19] states that the Fourier transform of a bounded function \(F\in L^2\) is holomorphic if the function variable is in the upper half plane, i.e., when t is restricted to \(\Re _+\), which can be assumed in real-world applications without the loss of generality.

3 Sensitivity analysis

This section summarizes known methods to obtain the sensitivity for a QoI U w.r.t. one or multiple design parameters p. The QoI can be any quantity within the circuit such as an edge voltage or current. Design parameters in our application are devices within the circuit, such as inductances, capacitances or resistances.

3.1 Transient direct sensitivity analysis

\(U(\varvec{x})\) depends on the circuit solution, and hence, indirectly on time. Therefore, the calculation of the sensitivity [10]:

$$\begin{aligned} \frac{\textrm{d} U}{\textrm{d} p} = \frac{\partial U}{\partial \varvec{x}} \frac{\textrm{d} \varvec{x}}{\textrm{d} p} \end{aligned}$$
(6)

involves the calculation of the derivative \(\textrm{d} \varvec{x}/\textrm{d} p\) of the circuit solution \(\varvec{x}\) w.r.t. the parameter p. \(\partial U/\partial \varvec{x}\) is a mapping operator that obtains the sensitivity for the QoI from the derivative \(\frac{\textrm{d} \varvec{x}}{\textrm{d} p}\). \(\frac{\textrm{d} \varvec{x}}{\textrm{d} p}\) is obtained by taking the derivative of (1) w.r.t. p.

$$\begin{aligned} \frac{\textrm{d} \varvec{F}}{\textrm{d} p} = \varvec{A}_\textrm{C} \frac{\textrm{d} \dot{\varvec{x}}}{\textrm{d} p} + \varvec{J}_\textrm{G} \frac{\textrm{d} \varvec{x}}{\textrm{d} p} + \left( \frac{\textrm{d} \varvec{A}_\textrm{C}}{\textrm{d} p}\dot{\varvec{x}} + \frac{\textrm{d} \varvec{A}_\textrm{G}}{\textrm{d} p}\varvec{x}\right) = 0. \end{aligned}$$
(7)

This approach is referred to as direct sensitivity analysis (DSA) [5]. Equation (7) needs to be solved individually for every design parameter. As a result, DSA is expensive for the sensitivity analysis w.r.t. many design parameters.

Fig. 4
figure 1

Workflow for the harmonic balance-based adjoint sensitivity analysis and the TFHA

3.2 Transient adjoint sensitivity analysis

Transient adjoint sensitivity analysis determines sensitivities based on the system solution \(\varvec{x}\) and a test function \(\varvec{\lambda }\), which are both continuously differentiable. To obtain the adjoint sensitivity analysis, differential equation (7) is multiplied with \(\lambda \) as a test function and integrated over time:

$$\begin{aligned}{} & {} \int _0^{t_\textrm{m}} \lambda ^\textsf{T} (t, t_\textrm{m}) \left( \varvec{A}_\textrm{C} \frac{\textrm{d} \dot{\varvec{x}}}{\textrm{d} p} + \varvec{J}_\textrm{G} \frac{\textrm{d} \varvec{x}}{\textrm{d} p}\right) ~\textrm{d} t \nonumber \\{} & {} = - \int _0^{t_\textrm{m}} \lambda ^\textsf{T}(t, t_\textrm{m}) \left( \frac{\textrm{d} \varvec{A}_\textrm{C}}{\textrm{d} p}\dot{\varvec{x}} + \frac{\textrm{d} \varvec{A}_\textrm{G}}{\textrm{d} p}\varvec{x}\right) ~\textrm{d} t. \end{aligned}$$
(8)

Integration by parts eliminates the time derivative of \(\textrm{d} \varvec{x}/\textrm{d} p\) [5]:

$$\begin{aligned}{} & {} \int _0^{t_\textrm{m}} \left( - \dot{\lambda }^\textsf{T} \varvec{A}_\textrm{C} + \lambda ^\textsf{T}(t, t_\textrm{m}) \varvec{J}_\textrm{G} \right) \frac{\textrm{d} \varvec{x}}{\textrm{d} p} ~\textrm{d} t \nonumber \\{} & {} = - \int _0^{t_\textrm{m}} \lambda ^\textsf{T}(t, t_\textrm{m}) \left( \frac{\textrm{d} \varvec{A}_\textrm{C}}{\textrm{d} p}\dot{\varvec{x}} + \frac{\textrm{d} \varvec{A}_\textrm{G}}{\textrm{d} p}\varvec{x}\right) ~\textrm{d} t \nonumber \\{} & {} \quad - \left[ \lambda ^\textsf{T}(t, t_\textrm{m}) \varvec{A}_\textrm{C} \frac{\textrm{d} \varvec{x}}{\textrm{d} p} \right] _0^{t_\textrm{m}}. \end{aligned}$$
(9)

Without loss of generality \(\lambda \) is chosen as the solution of the adjoint system, to eliminate the boundary terms and accommodate the left hand side term:

$$\begin{aligned} \varvec{A}_\textrm{C}^\textsf{T} \dot{\lambda } - \varvec{J}_\textrm{G}^\textsf{T} \lambda = \frac{\partial U}{\partial \varvec{x}}, \qquad \lambda (t=t_\textrm{m}, t_\textrm{m}) = 0. \end{aligned}$$
(10)

The adjoint solution is calculated backward in time to ensure the reverse initial condition \(\lambda (t=t_\textrm{m}, t_\textrm{m}) = 0\) for arbitrary \(t_\textrm{m}\) [10]. The term at \(t=0\) is eliminated due to the initial condition \(\varvec{x}(t=0) = 0\) in Eq. (1). Substituting Eq. (10) into Eq. (9) and multiplication by -1 yields the integration for the sensitivity of the QoI U.

$$\begin{aligned} \int _0^{t_\textrm{m}} \frac{\textrm{d} U}{\textrm{d} p} ~\textrm{d} t = \int _0^{t_\textrm{m}} \lambda ^\textsf{T}(t, t_\textrm{m}) \left( \frac{\textrm{d} \varvec{A}_\textrm{C}}{\textrm{d} p}\dot{\varvec{x}} + \frac{\textrm{d} \varvec{A}_\textrm{G}}{\textrm{d} p}\varvec{x}\right) ~\textrm{d} t \end{aligned}$$
(11)

The generalized version of Leibniz integral rule is applied to the right hand side term [20], to obtain the sensitivity for the QoI at a specific time instant \(t_\textrm{m}\):

$$\begin{aligned} \frac{\textrm{d} U}{\textrm{d} p} (t_\textrm{m}) = \int _0^{t_\textrm{m}} \frac{\partial }{\partial t_\textrm{m}} \lambda ^\textsf{T}(t, t_\textrm{m}) \left( \frac{\textrm{d} \varvec{A}_\textrm{C}}{\textrm{d} p}\dot{\varvec{x}} + \frac{\textrm{d} \varvec{A}_\textrm{G}}{\textrm{d} p}\varvec{x}\right) ~\textrm{d}t. \end{aligned}$$
(12)

There is an adjoint solution for each time instant \(t_\textrm{m}\), as computed by solving equation (10). Thus, the task of computing the solution to Eq. (10) has to be redone for each instant in time where the sensitivity is to be considered.

3.3 Harmonic balance-based direct sensitivity analysis

Analogously to the transient case, DSA is derived by symbolic differentiation of the reverse initial condition from Eq. (4) for the HB method.

$$\begin{aligned} \frac{\textrm{d}\underline{\varvec{F}} (\underline{\varvec{x}})}{\textrm{d} p} = \frac{\textrm{d}\underline{\varvec{A}}}{\textrm{d} p} \underline{\varvec{x}} + \left( \underline{\varvec{A}} - \frac{\partial \underline{\varvec{i}}_\textrm{nl}}{\partial \underline{\varvec{x}}}\right) \frac{\textrm{d}\underline{\varvec{x}}}{\textrm{d} p} = \frac{\textrm{d}\underline{\varvec{A}}}{\textrm{d} p} \underline{\varvec{x}} + \underline{\varvec{J}} \frac{\textrm{d}\underline{\varvec{x}}}{\textrm{d} p} = 0 \end{aligned}$$
(13)

From Eq. (13), we can solve the system for the sensitivity \(\textrm{d}\underline{\varvec{x}}/\textrm{d}p\):

$$\begin{aligned} \frac{\textrm{d}\underline{\varvec{A}}}{\textrm{d} p} \underline{\varvec{x}} + \underline{\varvec{J}} \frac{\textrm{d}\underline{\varvec{x}}}{\textrm{d} p} = 0 ~~~~~\Rightarrow ~~~~~ \frac{\textrm{d}\underline{\varvec{x}}}{\textrm{d} p} = - \underline{\varvec{J}}^{-1} \frac{\textrm{d}\underline{\varvec{A}}}{\textrm{d} p} \underline{\varvec{x}} \end{aligned}$$
(14)

The Jacobian is determined in each Newton iteration when used for the harmonic balance solver. If the goal is to perform sensitivity analysis based on an existing circuit solution, the Jacobian is given as the converged solution from the nonlinear problem [12].

If many design parameters p are analyzed, the numerical efficiency of HB-based direct sensitivity decreases, because Eq. (14) contains a matrix multiplication with the dense matrix \(\underline{\varvec{J}}^{-1}\). This dense matrix multiplication can be avoided by introducing an HB-based adjoint sensitivity analysis.

3.4 Harmonic balance-based adjoint sensitivity analysis

The adjoint system for the harmonic balance case (13) is given as

$$\begin{aligned} \underline{\varvec{J}}^\textsf{H} \varvec{\underline{\lambda }} = \frac{\partial \underline{U}}{\partial \underline{\varvec{x}}}. \end{aligned}$$
(15)

As the Jacobian does not depend on the adjoint solution \(\varvec{\lambda }\), the adjoint problem is linear. The sensitivity of the QoI \(\underline{U}(p)\) w.r.t. the design parameter p follows as:

$$\begin{aligned} \frac{\textrm{d} \underline{U}(p)}{\textrm{d} p} = -\left( \frac{\partial \underline{U}}{\partial \underline{\varvec{x}}}\right) ^\textsf{H} \underline{\varvec{J}}^{-1} \frac{\textrm{d}\underline{\varvec{A}}}{\textrm{d} p} \underline{\varvec{x}} = - \varvec{\underline{\lambda }}^\textsf{H} \frac{\textrm{d}\underline{\varvec{A}}}{\textrm{d} p} \underline{\varvec{x}}. \end{aligned}$$
(16)

In frequency domain, the adjoint solution can be reused for all considered frequencies, which eliminates the issues of the transient analysis but increases the number of DoFs for large frequency spaces. Compared to the HB-based direct sensitivity analysis, HB-based adjoint sensitivity analysis does not contain any dense matrix multiplications, improving performance. The procedure is outlined as the green dashed box in Fig. 1.

The issue that remains is the bad performance for strongly nonlinear systems. This is particularly problematic when the Jacobian has to be approximated along many convergence steps of the HB iteration (Eq. (4)). A hybrid time–frequency domain method, that eliminates the issue of many Newton iteration steps, is proposed in the following section.

4 Transient forward harmonic adjoint sensitivity analysis

The HB method is well suited for simulating steady-state operation. If strong nonlinearities occur, the harmonics become coupled across a wide range of frequencies. Especially in the context of power electronics, short rise and fall times are present, which requires us to consider a large number of harmonics [3].

A procedure consisting of a forward HB solve combined with a harmonic adjoint method for calculating the sensitivities was proposed in [12] and has been recapitulated in Sect. 3.3. Obtaining the forward solution for \(\varvec{x}\) with the harmonic balance method is not compulsory for the sensitivity analysis. This motivates the following procedure. The circuit solution is calculated by a transient circuit solver. The adjoint solution is obtained by a harmonic analysis. This procedure extends the HB-based adjoint sensitivity analysis (in green) as depicted by the red dotted box in Fig. 1.

The TFHA obtains the circuit solution \(\varvec{x}\) through the utilization of an efficient transient solver of choice. Once an approximation to the steady state is found, the Fourier transform \(\varvec{\underline{x}}\) of one period of \(\varvec{x}\) is used to calculate the Jacobian \(\varvec{\underline{J}}\). The approximated Jacobian matrix is then used to obtain the adjoint solution in frequency domain, analogously to the way presented in Sect. 3.4. Subsequently, the adjoint solution is combined with the symbolic derivative of system matrix \(\textrm{d}\underline{\varvec{A}}/\textrm{d} p\) to calculate the sensitivities. The harmonic adjoint simulation is implemented in Python using the SciPy sparse solver. Depending on the application, the sensitivity can be illustrated as a frequency spectrum or be transformed back to time.

The TFHA is exposed to information loss which results in a residual error, due to a finite number of harmonics. The Euclidean distance of the solution with fewer harmonics against the solution with more harmonics quantifies the residual. This is based on the idea of the Zienkiewicz-Zhu error estimator [21]. The relative error is approximated by the quotient of the absolute error divided by the norm of the fine solution:

$$\begin{aligned} \mathcal {E}_\textrm{rel} \approx \frac{\left\| \left( \frac{\textrm{d} \underline{U}}{\textrm{d} p}\right) _\textrm{fine} - \left( \frac{\textrm{d} \underline{U}}{\textrm{d} p}\right) _\textrm{coarse} \right\| _{2}}{\left\| \left( \frac{\textrm{d} \underline{U}}{\textrm{d} p}\right) _\textrm{fine}\right\| _{2}}. \end{aligned}$$
(17)

Without prior considerations of the spectral circuit behavior, the sensitivity is determined by iteratively increasing the number of harmonics. The quantification of the error (Eq. (17)) is finally used as a termination condition to assess the converged solution.

Fig. 5
figure 2

Schematic of a functional half-wave rectifying circuit

Fig. 6
figure 3

Sensitivity of the output voltage w.r.t. the resistance R for the half-wave rectifying circuit in time and frequency domain. The termination frequency is indicated by the green vertical line at 35 harmonics for a residual of under \({1\,\mathrm{\%}}\)

5 Results

The TFHA is illustrated for three different examples: A half-wave rectifier as a nonlinear, academic example and two different power electronics circuits serving as industrial examples.

5.1 Half-wave rectifier

A half-wave rectifier (Fig. 2) consists of only one nonlinear and two linear components. The nominal device values of the half-wave rectifier are:

  • \(V_\textrm{in} = {5\,\mathrm{\text {V}}} \sin (\omega t)\)

  • \(R = {20\,\mathrm{{\Omega }}}\)

  • \(C = {200\,\mathrm{\text {n}\text {F}}}\)

Figure 3 displays both the time domain and the frequency domain sensitivity of the output voltage w.r.t. the resistance R.

Due to the weak nonlinearities within the circuit, the sensitivity solution converges fastly even for a small number of harmonics.

5.2 Boost converter

A boost converter is a type of DC-DC converter circuit which is used in many power electronic applications. In a circuit model, parasitic effects can be modeled as lumped circuit elements such as resistances, inductances and capacitances. The circuit with parasitic lumped elements is shown in Fig. 4. The boost converter is simulated with the device values given in Table 1.

Table 1 Device values used for the simulation of the boost converter circuit

The sensitivity of the drain voltage \(V_\textrm{drain}\) w.r.t. the output resistance \(R_1\) is shown in Fig. 5.

A significant overshoot is observed for the sensitivity and the drain voltage throughout the switching process. This is attributed to the broadband nature of the system. The overshoot can heavily influence the sensitivities especially close to the switching of the transistor. Hence, this is a relevant test for accuracy and performance of the algorithm. The results in Fig. 5 show that the algorithm correctly approximates the overshoot while limiting the Gibbs ripples when a frequency domain solution with an insufficient number of harmonics is calculated. The spectral TFHA solution gives a good indication of this behavior (Fig. 6).

The spectrum does not decrease steadily for higher harmonics, but rather shows a side lobe, with higher peaks at around \({0.8\,\mathrm{\text {M}\text {Hz}}}\).

5.3 Active filter circuit

An active filter circuit that injects a reversed polarity noise signal serves as an example with a larger number of elements. This circuit is nonlinear. Figure 7 shows a reduced schematic of the entire active filter setup as used in the analysis. The complete circuit consists of 240 linear and nonlinear elements and has 152 degrees of freedom. The circuit contains several specific transistor and diode models. The Xyce [22] circuit simulator is used to assemble the Jacobian in frequency domain.

Fig. 7
figure 4

Boost converter circuit model with parasitics. The elements \(L_{1}\), \(R_{1}\), C and M model the functional behavior of the boost converter, the elements \(R_{2}\), \(L_{2}\), \(R_{3}\), \(L_{3}\), \(R_{4}\) and \(L_{4}\) are parasitic elements which model the EMC effects on the circuit board

The sensitivity of several QoIs is analyzed for several design parameters of the circuit. The first QoI is the output potential of the OPAMP V(OP\(_\textrm{out})\). Due to the filter properties of the circuit, the quantity OP\(_\textrm{out}\) is smoother than other quantities in the circuit (Fig. 7). The sensitivity results for the QoI V(OP\(_\textrm{out}\)) w.r.t. the capacitances \(C_1\) and \(C_2\) as well as the resistances \(R_1\) and \(R_2\) are shown in Fig. 8.

The capacitances show a large influence on the amplitude of V(\(\textrm{OP}_\textrm{out}\)). The resistances strongly influence the pre-filter properties on the input of the OPAMP. As a result, variations of the resistances lead to sensitivities which vary quickly in time. It is conclusive that the resistances have the most influence on the flank steepness of the OPAMP output.

The sensitivity analysis is executed for all design parameters in the circuit to benchmark the performance of the TFHA. The circuit solution is found with the Xyce transient circuit solver in around 12 s. In comparison, a full HB iteration would take over 4 h in Xyce with direct solver and for 50 harmonics that are necessary to achieve the required accuracy of \(10^{-2}\). The adjoint solution is calculated in 20 s using the implementation of Eq. (15) in Python. The evaluation of the sensitivity with Eq. (16) takes less than 2 s for each design parameter. This is a significant speedup compared to existing methods for the given example. Direct sensitivity analysis with Xyce takes 12 s for each design parameter. Performing the simulation with first order finite differences equally takes around 12 s for each design parameter. As a result, a speedup of \({85\,\mathrm{\%}}\) can be observed for the considered number of design parameters compared to the finite difference method. The sensitivities for the ten most influential design parameters are listed in Table 2. Note here that the design parameters not visible in Fig. 7 are part of the load impedance \(Z_\textrm{load}\).

Fig. 8
figure 5

Time-resolved sensitivity of the gate voltage \(V_\textrm{drain}\) w.r.t. the resistance \(R_1\) related to the drain and gate voltages of the boost converter MOSFET

Fig. 9
figure 6

Sensitivity spectrum \(\textrm{d} V_\textrm{drain} / \textrm{d} R_1\) of the boost converter circuit showing a significant spectral content at around \({0.8\,\mathrm{\text {M}\text {Hz}}}\) that must not be neglected. The termination frequency is indicated by the green vertical line at 225 harmonics for a residual of under \({1\,\mathrm{\%}}\)

Fig. 10
figure 7

Functional schematic for the nonlinear active filter circuit

Fig. 11
figure 8

Sensitivity results for V(OP\(_\textrm{out}\)) of the nonlinear active filter circuit w.r.t. capacitor \(C_2\). Results compared to Xyce DSA reference

Table 2 List of the ten most influential design parameters (not normalized)
Fig. 12
figure 9

Sensitivity \(\textrm{d}V(\textrm{OP}_\textrm{in})/\textrm{d}C_2\) of the filter circuit computed by the TFHA compared to the transient direct Xyce [23] sensitivity solution. Values normalized to nominal device value of capacitor \(C_2\)

The input node of the active filter has more oscillations at high frequencies. As Fig. 9 shows, the V(\(\textrm{OP}_\textrm{in}\)) sensitivity w.r.t. \(C_2\) requires more spectral components for a high frequency approximation. To illustrate this, the sensitivity of V(\(\textrm{OP}_\textrm{in}\)) w.r.t. element \(C_2\) is calculated with the TFHA and compared to the sensitivity solution of the direct sensitivity solver of Xyce [23]. The comparison is shown in Fig. 9. As expected, TFHA can accurately determine the sensitivity in smooth intervals but is unable to resolve sharp peaks.

6 Conclusions

This paper recapitulated transient adjoint sensitivity analysis methods as well as HB-based adjoint sensitivity analysis for nonlinear circuits. Transient forward harmonic adjoint sensitivity analysis (TFHA) which combines transient solvers with harmonic adjoint sensitivity analysis was introduced as a novel method that improves the efficiency of sensitivity computation with regard to a large number of parameters. Results calculated by the TFHA have been presented and compared to results calculated by transient or harmonic adjoint sensitivity analysis.

TFHA is advantageous in applications where purely transient sensitivity analysis is costly, but the HB method itself might need many Newton iterations to converge. This can be the case in fastly oscillating or strongly nonlinear systems [3], such as power electronic applications. The TFHA requires one steady-state time domain solution obtained by a solver of choice and only one solution for the adjoint system and therefore one inversion of the Jacobian matrix. The TFHA performs well in weakly nonlinear systems where many design parameters are considered. Additionally, TFHA is particularly performant for sensitivity analysis on time-dependent QoIs, since it requires only one adjoint solution in such scenarios.