Navigation Bar

Calculators: Temperature Coefficient

Back to Calculator Index

This calculation arises when you need a part of a certain temperature coefficient, but you only have a limited selection of coefficients and values. A typical example would be, a radio tuning coil exhibits a +100 ppm/°C coefficient, thus requiring a -100 ppm/°C capacitor. But you only have on hand (or can order) N750 type capacitors of select values (22 pF, 47 pF, etc.). Intuitively, you can reduce the tempco by swamping it with series (reduces total capacitance) or parallel (increases total capacitance) connections with other values. But it's messy. This performs the exact calculation to find the required series and parallel values. More details in Discussion.

Enter new numbers and see the remaining output value change. Floating point format ("1.1E-6") works; engineering units ("1.1u", etc.) do not.

Note that the units are simply ratios, so their actual units do not matter (as long as the same units are used for all steps). They're labeled in pF, Ω and °C for convenience.

This equation will break for unreasonable values (you can't get a positive tempco from an NTC!), and give negative outputs for silly inputs (like asking for a higher-than-given tempco, or simply more tempco than the ratio of thermistor to total value can offer), which if you think about it, is perfectly reasonable; just, have fun finding a negative capacitor or resistor.

Update 2021/05/04: Corrected a numerical error; results should be correct now. Also checks for divide-by-zero; try C1 = 100, K1 = 100, Ceff = 200 and Keff = 50 for instance. Note that "NaN" (or a very large number) for C2 either means a short circuit (reasonable values), or a complex result (mixed signs under the square root).



Capacitor is separate, because capacitors behaves reciprocally compared to resistors or inductors. C1 is the temperature-dependent element (use low-tempco C0G for C2 and C3). Hmm, there's not really a conventional symbol for an, err, thermacitor...

Tempco Network C1 = pF
K1 = ppm/°C
Ceff = pF
Keff = ppm/°C
Series Capacitor C2 =
Parallel Capacitor C3 =



The resistor/thermistor case. R1 is the temperature-dependent element (use low tempco parts for R2 and R3). This also works with inductors, or any general impedance that happens to have a consistent, selectable tempco. Though it's not as useful for inductors, because they generally have a tempco of "whatever you get".

(And yes, the formulas are exactly the same—this section is provided for clarity, with the circuit shown. See below for why this works.)

Tempco Network R1 = Ω
dR1/dT = ppm/°C
Reff = Ω
dReff/dT = ppm/°C
Parallel Resistor R2 =
Series Resistor R3 =



This discussion is also available in LaTeX printed form.

This is an application of calculus in Electrical Engineering. (Hah, and you thought you would go and completely forget about calculus after college!) What is tempco? It's the incremental change in value for a change in temperature, in other words, the derivative. So, all we need to do is evaluate the total/effective value of the network, differentiate with respect to C1 or R1, and solve backwards for C2 and C3 (or R..).

We shall begin with the capacitor form, and apply the process later to resistors and other components.

To be precise, tempco is the ratio of change versus the nominal value of the component, or the derivative divided by the capacitance. Let the tempco be,

K_1 = \frac{1}{C_1} \frac{dC_1}{dT}

We'll also be working with the tempco of the network, which will be

K_\textit{eff} = \frac{1}{C_\textit{eff}} \frac{dC_\textit{eff}}{dT}

By inspection, the capacitance is:

C_\textit{eff} = \frac{C_1 C_2}{C_1 + C_2} + C_3

The derivative with respect to C1 is,

\frac{dC_\textit{eff}}{dC_1} = \frac{{C_2}^2}{\left(C_1 + C_2\right)^2}

Substituting in K1 completes the chain rule; dividing by Ceff we get the tempco,

\frac{1}{C_\textit{eff}} \frac{dC_\textit{eff}}{dT} = K_\textit{eff} = \frac{K_1 C_1 {C_2}^2}{\left( C_1 + C_2 \right) \left( C_1 C_2 + C_1 C_3 + C_2 C_3 \right)}

Now we have two simultaneous equations, that for the value of Ceff and that for Keff. Putting these together and solving for C2 and C3 gives the quadratic,

{C_2}^2 \left( C_\textit{eff} K_\textit{eff} - C_1 K_1 \right) + C_2 \left( 2 C_1 C_\textit{eff} K_\textit{eff} \right) + \left( {C_1}^2 C_\textit{eff} K_\textit{eff} \right) = 0

with the solution

C_2 = C_1 \frac{C_\textit{eff} K_\textit{eff} \pm \sqrt{C_1 C_\textit{eff} K_1 K_\textit{eff}} }{C_\textit{eff} K_\textit{eff} - C_1 K_1}

which is a nice example of a problem with a too-difficult-to-guess answer, but one that thankfully has a nice, closed quadratic form.

Quite easily, electronics-related problems invoke high order polynomials, nonlinear differential equations or exponentials. The solutions quickly become unworkable, with transcendentals, or no analytic closed form solutions. Which might be an embarrassment to the mathematician, but to the engineer, that's the signal to whip out the spreadsheets and algorithms, and compute approximate solutions. Because hey, if it's close enough, who cares?


Resistors and Others?

Resistors and inductors (and any general impedance component) behave differently from capacitors. Capacitor values are proportional to their admittance, while resistor and inductor values are proportional to their impedance. How does this affect the solution?

With careful choice of the circuit, it doesn't.

Notice that the analysis does not require any assumptions about what the variables are. The only input that requires circuit knowledge is the equation for the total network value itself.

If we arranged resistors in the same way as the capacitors, we would get the resistance,

R_\textit{eff} = (R_1 + R_2) \parallel R_3 = \frac{(R_1 + R_2) R_3}{R_1 + R_2 + R_3}

which would change the analysis (we'd have to do everything over again). Instead, by making a series-parallel transformation, we can keep the same equation, which means all the analysis, and all the values, remain perfectly the same, and valid. This is quite simple to do, and is shown in the resistor calculator section above. As can be seen by inspection, it has the resistance,

R_\textit{eff} = \frac{R_1 R_2}{R_1 + R_2} + R_3



The biggest limitation to this calculation is that it is only correct locally, that is, for small changes in temperature and value. The equations are nonlinear with respect to C1 / R1. Taking the derivative is equivalent to assuming a small enough change that all the equations can be approximated by a line tangent to their curves at that point.

We happen to know the type of nonlinearity—it's a low-order rational equation, so, just guessing offhandedly, the error probably won't be worse than on-the-order-of the ratio of difference to starting value. That is, for a given value of C1 = 100 pF, a change of 1 pF (1%, or 10,000 ppm, or 13.3°C change for an N750 type capacitor) will probably be correct to within 1% of Ceff as well.

Likely far more gross is the limitation of tempco itself. Most components simply aren't rated for tempco (at least not very precisely), and the few that are, don't usually specify what range it's valid for, or what the representative curve is. The harsh reality is, there are many materials out there with goofy, extremely nonlinear responses. On the plus side, there are still a lot of well-specified parts out there: thankfully, precision resistors (metal film, etc.) and capacitors (C0G, etc.) are cheap and plentiful, and have very low coefficients over a wide range. And the precision-temperature-sensitive types (metal film RTDs, etc.; N750 and etc. capacitors) have a stable slope over a wide range, giving this calculation the best chance at success.

The most nonlinear parts will be the least suitable. They will still be locally valid, but the "local range" will be inconveniently small: perhaps just a few °C. Some examples include: any type 2 dielectric (X7R, etc.), any NTC type thermistor, or inductors with high permeability cores both near saturation and Curie temperature.

It's not to say that highly nonlinear components aren't useful—they damn well are—but don't expect to use a simple calculation like this to get there. It might be a good starting point, but if you want to have it work over any wide range, I would suggest simply throwing everything into SPICE and puttering around with values until the temperature sweep looks correct. (Yes, this can be difficult because there's no straightforward "hey LTSpice, vary this parameter and measure my capacitance for me" option—you often have to create your own 'test equipment' to perform measurements like these in the simulator.)


Back to Calculator Index


Copyright Notice