Networks, and how a solve is checked

The shape a tolerance does not print

A resistor marked 1% promises only that its value lies within one per cent. How the values fill that band is not printed, and it decides almost everything a design does with the part. Four populations that all honour ±1% — spread evenly, Gaussian with the band at three standard deviations, screened from a wider population, and sorted with the best parts removed — give a four-resistor divider spreads of 0.289, 0.168, 0.267 and 0.378 per cent, a factor of 2.26 under one label. Specify the divider at ±0.5 per cent and the yield is 91.4, 99.8, 93.7 and 85.3 per cent. The shape's signature fades as one over the number of parts, so it bites hardest in the circuits with fewest.

Assumes: The tolerance that is not on any part · The divider, and the thing it does not know about

The tolerance that is not on any part built a divider from four one per cent resistors three thousand times and found three different numbers where a design guide offers two: a worst case of one per cent, a measured spread of 0.29 per cent, and a root-sum-square bound of half a per cent that is offered everywhere as though it were a standard deviation. Every part in that essay was drawn uniformly across its band — any value between 0.99 and 1.01 of nominal equally likely.

That was a choice, and the part’s marking does not make it. A tolerance is a promise about the edges of a distribution and nothing else. Parts made by a well-controlled process cluster near their nominal value and fill their band sparsely at the edges; parts screened out of a looser process fill it almost evenly; and parts sold as 1% after the best of them have been sorted into a 0.5% bin fill it with a hole in the middle. All three are honestly 1%. This essay builds the same divider from each and measures what the printed number leaves unsaid.

Four 1% parts spread evenly across their band: the divider's error has a spread of 0.289%, and 8.6% of builds are beyond ±0.5%computed by solving, not by drawing: a divider of four equal 10 kΩ resistors tapped at the middle, built 6000 times from seeded parts uniform across ±1%, each copy's output error taken from the ratio in closed form and the first four hundred also solved on the netlist, agreeing to 7e-16. The inset is the parts' own distribution; the histogram is the divider's error. Its standard deviation is 0.2894%, half the parts' 0.5780%, because each part moves the output by a quarter of its own error and four quarters add in quadrature to a half. 8.60% of builds fall beyond ±0.5%, which is half the worst case the printed tolerance allows.−1.0%−0.5%0.0%0.5%1.0%the divider's output error, 6,000 buildseach part, as sold−1%+1%divider spread (σ)0.289%parts' spread (σ)0.578%beyond ±0.5%8.60%worst case±1%solved, then checked — 6000 buildsσ 0.289% from 1% parts
Fig. 1 A divider of four equal 10 kΩ resistors tapped at the middle, built six thousand times from seeded 1% parts. The inset is the parts as sold; the histogram is the divider’s output error, with ±0.5% marked. The slider chooses how the parts fill their band.

Four populations, one label

The four are chosen to span what a buyer can actually receive.

Uniform across ±1% is the earlier essay’s assumption and the maximum-entropy one: nothing known, so everything equally likely. Its standard deviation is the band’s half-width over 3\sqrt3, 0.577 per cent.

Gaussian, with 1% at three standard deviations, truncated at the band’s edge, is what a process in control produces when the tolerance is set generously against it. Its standard deviation is 0.33 per cent, and almost no part sits near the edge.

Screened from a population whose standard deviation is 1%, with everything outside ±1% rejected, is what a looser process sold under a tighter label looks like: a Gaussian so wide that its centre third is nearly flat, cut off at the band. Its standard deviation is 0.54 per cent, close to the uniform case.

Sorted, with the 0.5% parts removed, is the case the marking most conceals. A manufacturer that tests every part and sells the ones within half a per cent as a premium grade sells the remainder as 1%, and those have no value within half a per cent of nominal at all: every part is between 0.5 and 1 per cent off, on one side or the other. Its standard deviation is 0.76 per cent, and the inset’s histogram has a gap in the middle where the best parts used to be.

The divider is the earlier essay’s: four equal resistors in a chain, tapped at the middle, so that the output is half the input and each part moves it by a quarter of its own fractional error. Six thousand builds are drawn from each population on a seeded generator; every copy’s output is computed as the ratio of the lower pair to the whole, and the first four hundred are also solved on the netlist, agreeing to seven parts in 101610^{16}.

The spread is half the parts’, whatever the parts are

The first result is reassuring and it holds for all four.

Four parts all sold as 1%: the divider's spread runs from 0.168% to 0.378%, a factor of 2.26, with the same number printed on every one. computed by solving, not by drawing, over 6000 seeded builds each: the standard deviation of a four-resistor divider's output error for four distributions of part that all satisfy ±1%. uniform across ±1%: 0.289% (parts 0.578%); Gaussian, 1% at three σ: 0.168% (parts 0.332%); screened from a 1σ = 1% population: 0.267% (parts 0.540%); sorted: the 0.5% parts removed: 0.378% (parts 0.762%). Each is half its parts' own spread, as the four sensitivities of a quarter require, so the tolerance printed on a part sets the worst case and says nothing about the spread: that is set by how the parts fill their band.
Fig. 2 The standard deviation of the divider’s output error for the four populations of 1% part: 0.289% uniform, 0.168% Gaussian, 0.267% screened and 0.378% sorted. Each is half its parts’ own.

In every population the divider’s spread is half its parts’ spread, to three per cent: 0.289 per cent from uniform parts, 0.168 from Gaussian ones, 0.267 from screened ones and 0.378 from sorted ones. That half is the sensitivity argument: four parts, each moving the output by a quarter of its error, independently, add in quadrature to a half. It does not care what the parts’ distribution is, only what its standard deviation is.

Which is the problem. The standard deviation is exactly what the marking does not give. The same “1%” produces a divider whose spread varies by a factor of 2.26 between the best-behaved population and the worst, and a designer who computed the spread from the tolerance — dividing by three, or by 3\sqrt3, or not at all — has chosen one of the four without knowing it. The earlier essay’s 0.29 per cent was the uniform answer. It is neither the optimistic one nor the pessimistic one.

The tails differ by decades

A spread is an average over the whole population. A specification is about the fraction outside a limit, and that is a tail.

Beyond 0.6% of error: 3.52%, 0.03%, 2.15%, 12.35% of builds — the tails differ by far more than the spreads do. computed by solving, not by drawing, over 40,000 seeded builds of the four-resistor divider for each kind of 1% part: the fraction of builds whose output error exceeds a threshold, from 0.05% to 0.95%. At 0.6%: 3.517% (uniform across ±1%), 0.025% (Gaussian, 1% at three σ), 2.145% (screened from a 1σ = 1% population), 12.345% (sorted: the 0.5% parts removed). Near the worst case the Gaussian parts put essentially nothing, and the sorted ones — whose every part sits at least halfway to the edge of its band — put builds right up to ±1%. A yield is a tail, and a tail is where the shape inside the tolerance decides everything.
Fig. 3 The fraction of 40,000 builds whose divider error exceeds a threshold, from 0.05% to 0.95%, for the four populations. Beyond 0.6%: 3.52%, 0.03%, 2.15% and 12.35%.

Beyond 0.6 per cent of error — sixty per cent of the way to the worst case — the uniform parts put 3.52 per cent of builds, the screened parts 2.15, the Gaussian parts 0.025 and the sorted parts 12.35. The spreads differed by a factor of 2.26; this tail differs by a factor of five hundred. Near the worst case the Gaussian population puts essentially nothing, because four parts all near the same edge of a narrow bell is a coincidence of vanishing probability; the sorted population puts builds right up to ±1 per cent, because every one of its parts is at least halfway to an edge already and four of them agreeing on a side is one chance in eight.

So the worst case, which the tolerance that is not on any part found so remote from the measured spread, is remote only for some populations. For a sorted population it is merely unlikely, and a production run of a hundred thousand boards will find it.

The yield is a bet on the shape

The fraction of builds inside a specification is the tail read the other way, and it is the number a production engineer lives with.

Specify the divider at ±0.5% and the yield is 91.4%, 99.8%, 93.7%, 85.3% — from parts that all say 1%. computed by solving, not by drawing, over 40,000 seeded builds each: the fraction of four-resistor dividers inside a specification on their output error, from ±0.1% to ±0.8%, for the four distributions of 1% part. At ±0.5%: 91.45% (uniform across ±1%), 99.80% (Gaussian, 1% at three σ), 93.69% (screened from a 1σ = 1% population), 85.28% (sorted: the 0.5% parts removed). At ±0.3%: 68.7%, 93.2%, 72.8%, 44.9%. A specification tighter than the worst case is a bet on the shape inside the tolerance, and the part's own number does not say which bet is being made.
Fig. 4 The fraction of 40,000 four-resistor dividers inside a specification on their output, from ±0.1% to ±0.8%, for the four populations of 1% part. At ±0.5%: 91.4%, 99.8%, 93.7% and 85.3%.

Specify the divider at ±0.5 per cent — half the worst case, a reasonable-looking statistical design — and the yield is 91.45 per cent from uniform parts, 99.80 from Gaussian ones, 93.69 from screened ones and 85.28 from sorted ones. Tighten the specification to ±0.3 per cent and the four become 68.7, 93.2, 72.8 and 44.9: from the sorted parts, more boards fail than pass.

A specification tighter than the worst case is a bet on the shape inside the tolerance. The same schematic, the same bill of materials and the same printed tolerance yield between 45 and 93 per cent at ±0.3, depending on something the purchasing system does not record. The honest options are to design to the worst case, which removes the bet; to buy parts whose distribution is specified, which some manufacturers will state as a process capability; or to measure the incoming population, which is what a high-volume line does once it has been surprised.

The shape fades as parts are added

The shape’s influence has a law, and the law says where it matters.

The shape inside the tolerance fades as parts are added: the sorted parts' excess kurtosis is -1.86, and a divider of N of them carries -1.86/N — -0.927, -0.477, -0.263, -0.080, -0.091 for 2 to 32. computed by solving, not by drawing, over 20,000 seeded builds each: the excess kurtosis of the error of dividers of 2 to 32 equal resistors — a normal distribution's is zero, a flat one's is negative — for sorted, uniform and Gaussian 1% parts, beside the part's own divided by the count (dashed). Parts: sorted -1.861, uniform -1.195, gauss -0.175. Dividers: sorted -0.927, -0.477, -0.263, -0.080, -0.091; uniform -0.596, -0.302, -0.121, -0.035, -0.035; gauss -0.079, -0.048, -0.010, -0.035, 0.010. The shape's signature falls as one over the number of parts, so it matters most in circuits of few parts — and a two-resistor divider is the least forgiving circuit there is.
Fig. 5 The excess kurtosis of the error of dividers of 2 to 32 equal resistors — zero for a normal distribution, negative for a flat one — for sorted, uniform and Gaussian 1% parts, beside each part’s own divided by the count. The sorted parts’ −1.86 becomes −0.93 in a two-resistor divider and fades as 1/N.

The measure of shape used here is the excess kurtosis: zero for a normal distribution, negative for one flatter than normal, and most negative for one with its mass pushed to the edges. The sorted parts’ is −1.86, the uniform parts’ −1.20, the truncated Gaussian’s −0.18. For a sum of equally weighted independent errors the excess kurtosis is the parts’ divided by their number, and the dividers follow it to within the scatter of twenty thousand builds: the sorted population’s divider carries −0.93 with two resistors, −0.48 with four, −0.26 with eight, and is indistinguishable from normal by thirty-two.

So the central limit theorem does its work, and it does it slowly at the start. A circuit whose answer depends on many parts — a long divider chain, a filter with a dozen components — hides the shape and presents a nearly normal spread whatever the parts are. A circuit whose answer depends on two — a gain set by two resistors, a reference divided by two, a bridge’s two arms — passes the parts’ shape straight through, halved in width and barely changed in form. The circuits most often called precision are the ones with the fewest parts, and so the ones in which the unprinted shape matters most.

Two resistors, and a resistor ladder of many

The two ends of the parts-count law have familiar circuits at them.

At the short end is the two-resistor divider — or, the same thing to a tolerance, a non-inverting stage whose gain is set by one resistor over another. Each part moves the ratio by half its own error, so the ratio’s spread is the part’s divided by 2\sqrt2: 0.41 per cent from uniform 1% parts, 0.24 from Gaussian ones and 0.54 from sorted ones, and its excess kurtosis is half the part’s, −0.93 for the sorted population. That output is still visibly bimodal. Two sorted parts that err in opposite directions — one time in two — give a ratio at least half a per cent off, and two that err the same way give one within a quarter of a per cent; nothing lands between the two populations’ edges except by the pairs’ spread within them. The branch the other resistance decides is the same two-part arithmetic for a current divider, and the same shapes pass through it.

At the long end is the resistor ladder that the tolerance that is not on any part used to draw a boundary in tolerance: an R–2R converter is monotone at twelve bits only while half a batch of its resistors are inside 0.141 per cent. Its failure is decided at a major carry, whose step sums the errors of many resistors, and a sum of many errors is nearly normal whatever the parts’ shape. So there the shape drops out and the standard deviation is all that is left — which means the boundary, stated as a tolerance, depends on the population through its standard deviation alone. The earlier essay drew uniform parts, whose standard deviation is the tolerance over 3\sqrt3. The same median failure, from parts whose standard deviation is a third of their tolerance, would allow a tolerance 1.73 times wider, 0.24 per cent; from sorted parts, whose standard deviation is 0.76 of theirs, it would need 0.107 per cent. The twelve-bit boundary is a tolerance only once the shape is named, and it moves by a factor of 2.3 between the two.

The practical reading is the one the ladder built for the rest of itself suggests for a chain of resistor dividers: a resistor ladder’s accuracy lives in its first stages, where few parts decide the answer, and so its most significant arms are where a buyer should know the shape. The rest of the resistor ladder averages it away.

Where sorting comes from

The sorted population is not a thought experiment, and it is worth being plain about how a buyer comes to hold one. A manufacturer whose process produces parts with a spread comparable to the tighter of two grades it sells has every incentive to test and bin: the parts within the tight grade sell for more, and the remainder satisfy the looser one. Whether that happens depends on the manufacturer, the product line and the year, and a buyer purchasing by tolerance class from several sources receives a mixture.

The consequence for a design is not that sorting is universal. It is that the uniform assumption, which the earlier essay made and most Monte Carlo tools make by default, is not the pessimistic one. A design verified by simulation with uniform parts is verified against a population that is narrower than one it may actually receive. The tolerance that can only take away found a ladder filter whose response every tolerance lowered; the population the tolerances are drawn from decides how far, and a bimodal population lowers it further than a uniform one of the same label.

And the same instrument that measured the four populations says what to do about a mixture: the divider’s spread is half the parts’ standard deviation, and its tail is set by the parts’ kurtosis over the count. A designer who knows those two numbers for the parts on hand knows the divider’s spread and roughly its tail, without a single simulation. The direction a response is most sensitive to supplies the sensitivities for a network less symmetric than this one; the arithmetic that combines them with the parts’ moments is the same.

How the numbers were obtained

Each population is drawn from a seeded generator: uniform on ±1%; a Gaussian of standard deviation one-third of a per cent, redrawn whenever a value falls outside ±1%; a Gaussian of standard deviation one per cent, redrawn likewise; and a value uniform in magnitude between 0.5 and 1 per cent with a random sign. Each copy draws four parts, computes the divider’s output as the lower two resistances over the four, and expresses it as a fractional error from one half; the first four hundred builds are also solved as a netlist with a unit source, and must agree with the ratio to rounding. The spreads, tails and yields are counted over six thousand builds for the histograms and forty thousand for the tails and yields; the kurtosis over twenty thousand builds for each count of parts. The law the spread follows, half the parts’ standard deviation, is required of every population.

What the numbers are worth

Each of the counts above is a sample, and it is worth saying how good. Six thousand builds give a standard deviation to about one per cent of itself, which is why the spreads are quoted to three figures and why the half-the-parts law is held to three per cent. Forty thousand builds give a tail fraction of three per cent to about a twentieth of itself, and a tail of 0.025 per cent — ten builds — to about a third; the Gaussian population’s tail at 0.6 per cent is therefore known to be tiny and not known to be exactly 0.025. The kurtosis is the least certain of the measures, since it weights the rarest builds most, and twenty thousand builds give it to a few hundredths: enough to see it fade as one over the count, and not enough to distinguish −0.08 from −0.12 at sixteen parts.

The generator is seeded, so every figure draws the same parts every time it is built. A different seed moves the third figure of each spread and the second of each small tail, and moves none of the orderings or the ratios the essay is argued on.

What it leaves out

Correlation between the parts. Every part is drawn independently. Parts from one reel, one wafer or one batch share part of their error, and a ratio of two correlated parts cancels what they share — which changes the divider’s spread far more than any of the shapes here.

Drift. The distribution is of initial values. Temperature and age move every part afterwards, mostly together, and a population that was Gaussian when bought is not Gaussian after a thousand hours at a hot corner of a board.

Unequal sensitivities. Every part here moves the output by the same quarter. In a network where one part dominates, the output’s shape is that part’s shape and the central limit theorem has nothing to average. Every derivative, and the one that is zero computes all the sensitivities of a network at once, and the weights it returns are the ones the parts’ moments would have to be combined with.

Still open: parts that move together, the part that dominates, and the incoming inspection

Correlated parts. A ratio of two parts that share a fraction of their error sees only the part they do not share, so correlation should narrow a divider’s spread as the square root of one minus the shared fraction — and widen a sum’s, since what is shared adds there. Temperature is the extreme case, shared almost completely. Whether a divider’s spread from correlated 1% parts matches that law, and what it makes of a resistor array’s ratio tolerance, is the next thing to measure.

One part in charge. A divider with a large and a small resistor is sensitive almost entirely to the small one’s shape, and the output’s distribution is that part’s own. How unequal sensitivities trade shape for spread is a sweep over the ratio of the two resistors.

Measuring the shape. A few hundred incoming parts measured to a hundredth of their tolerance give their standard deviation to a few per cent and their kurtosis roughly. How many are needed before the yield predicted from them is trustworthy at a specification near the worst case is a question about the tails, and about how few samples ever land in one.

Part 2 on component tolerance

One argument about Component tolerance, and one of 4 essays on it so far, each part numbered by how much of the idea it assumes. What sits either side of it:

What links here

Essays that reach for this one mid-argument — the half of a link its own author cannot write down.

The objects named here

The third axis, after the field and the idea: the things themselves, and every essay that touches each one.

Component sensitivityComponent toleranceDesign tradeoffMonte carloSeeded generatorVoltage divider