# Using Sensitivity Analysis to Improve Your Circuit Designs

September 4, 2019

You can determine how this circuit behaves with sensitivity analysis

Despite what we might like to believe, the world is not perfectly predictable. Engineers, experimentalists, and mathematicians know that, in any physical system, variations in the system inputs will produce some change in the system outputs. The key task for designers, whether they are building bridges or building circuits, is to identify which inputs in a system produce the greatest changes in the system outputs.

If you have a closed-form function for a system that relates an input variable and the system’s output, then it becomes easy to identify how change propagates through a system. Real systems consist of a large number of interconnected, correlated components, making sensitivity analysis techniques indispensable when designing circuits.

## Addressing Component Variations with Sensitivity Analysis

Real components do not have fixed values for output current, resistance, capacitance, etc. In reality, they can only be designed to within some tolerance interval. Component ratings are defined in terms of an average value with some variation. This variation can be defined as a percentage (for example, with resistors) or as a magnitude (usually seen in IC datasheets).

In some cases, you may want to include a potentiometer or variable/trimmer capacitor in your circuit, or you may want to include an IC with adjustable output parameters that are defined by some user input. Variations in these manually adjustable components will also affect the output from the circuit.

This then raises an important question: how can you examine the effect of these variations in component values on the behavior of a given circuit? This is where sensitivity analysis comes into play. This type of analysis is really a functional analysis; it allows you to determine how changes in a set of input variables are related to the change in some target variable or function. The goal is to identify which input variations produce the largest variation in the circuit’s output.

Physically, variations in the behavior of various components in a circuit could arise from a number of phenomena. What is important is addressing how these variations affect a circuit’s behavior. When determining the extent of a redesign, a designer needs to know a priori which sources of variation in a circuit (e.g., manufacturing tolerances, temperature changes, EMI, or noise sources in ICs) will be present.

Unfortunately, sensitivity analysis alone does not immediately link the sensitivity you observe in a circuit’s output to a specific source of variance in a circuit. However, when coupled with some other analysis techniques, you can make concrete statements regarding how specific physical phenomena in a circuit will affect its behavior.

Each of these components has some variation around its rated value

## Sensitivity Analysis Techniques

The mathematical tools for sensitivity analysis are well-known and can generally be divided into two classes: deterministic and probabilistic. Despite the fact that we are talking about random variations, deterministic techniques only consider a specific value of variation and calculate the system’s output. You can then determine the system’s range of response throughout the entire range of variation in the input parameter. As an example, you might like to consider how a high pass filter that uses a 10 Ohm resistor. If the resistor has a rated variation of 5%, then you can examine how the 3 dB point, time constant, or any other aspect of the circuit changes as the resistor value is varied from 9.5 to 10.5 Ohms.

Local and variogram methods are two popular deterministic methods that are useful when the output from the system and its inputs are described using a single closed-form function. These two methods simply rely on taking partial derivatives of the output with respect to each of the inputs. You can then easily calculate the relative sensitivity of the output (the output over the component variation range divided by the output at the rated value) to variations in each input. This is simple enough that you can do this by hand.

As a circuit becomes more complex, a single closed-form solution may not be easy to obtain directly from Kirchoff’s laws and Ohm’s law. This is especially problematic in circuits that contain odd arrangements of nonlinear elements that must be analyzed in terms of their small-signal response. This is where a screening method is used. This class of methods is also-derivative based, but derivatives are evaluated numerically about some sampling points (i.e., each component’s rated value). You would then take the average and variance of your numerical data to get an idea of the sensitivity in the output from the circuit.

Example output from a circuit in terms of variations in two input values using the elementary effects method

Variations in input parameters are normally treated as being completely uncorrelated (i.e., independent). In a real system, this may not be the case, such as in systems with feedback. While variations in component values can be treated as being independent, a more complicated circuit with feedback or nonlinearity can create a situation where correlated variance leads to instability in the system. An easy way to analyze systems in this case is to use numerical probabilistic methods, such as Monte Carlo simulations.

In a Monte Carlo simulation, a large number of random variables are generated using a random number generator, which are then converted to a specific distribution using a transform (e.g., Box-Muller transform). This requires an assumption of the underlying probability distribution that governs each component’s variation. Correlations can also be considered by using a Cholesky decomposition or similar technique.

After simulating a large number of random variations in component values, the mean and variance in the simulation output can be calculated. This is preferable to calculating the probability distribution that governs the output and trying to calculate mean and variance by hand.

Your output may not be normally distributed. This is where numerical sensitivity analysis can be useful.

## Sensitivity Analysis in SPICE-based Simulators

Working with a numerical simulator expedites more complicated sensitivity analysis, particularly in complex circuits than cannot be easily reduced to simpler equivalent circuits. One simple example is in bridge circuits, which cannot be reduced to simpler circuits using series and parallel circuit rules. More complicated examples include circuits that mix passive and active components, linear and nonlinear components, and DC and AC signals.

Taking a numerical approach allows you to analyze the sensitivity in a standard simulation output, such as DC sweep, AC sweep, temperature variation, transfer function, filter or amplifier 3 dB point, or other analysis as component values are varied. It’s not that a complicated circuit cannot be analyzed using the closed-form functions that describe different components. Rather, determining the link between one of the aforementioned simulation outputs and variations in component values becomes intractable in very complex circuits.

Taking a numerical approach, either using a probabilistic or deterministic method, allows you to easily identify the components that produce the greatest variation in the output from a circuit. You can then take steps to reduce this variation by selecting higher quality components, or by redesigning the circuit such that the effect of variations on the circuit output are suppressed.

If you are unsure how critical aspects of your circuit will respond to variations in component values, then you need to use the sensitivity analysis features in PSpice Simulator for OrCAD. This helps you determine the link between critical performance aspects and component variations as your designs become more complex. This unique tool takes data directly from your schematic and helps automate a range of analyses.