Several months ago, I got a strange call from a "customer" (I get a lot of strange phone calls). He said he needed a multiplier circuit to do some simple multiplying, such as 5 V x 8 V, and he needed 0.02% precision. He said he had already talked to several companies that make multipliers, and they didn't have any circuits with precision nearly that good. Then he asked if we had any ideas. I gathered that he was kind of desperate, and that he had called us even though he knew that National doesn't make any multipliers.
I asked, "Oh, what is the range of each of your signals?" He said, "Oh, one input goes from 5 V to 9 V, and the other input goes from 4 volts to 8 volts." I replied, well, if you want 0.02% accuracy, that's a piece of cake. I could hear his jaw dropping. "How do you plan to do that?" Ah, I replied, it's really quite easy. Your dynamic range is narrow enough, so we can do an expanded-scale amplification of your signals and feed them into a decent multiplier. Then take the output voltage from the multiplier and combine it with some constant offsets and some linear-gain signals, and add them all up with some precision resistors, and there's your output.
He said, "Precision resistors - aren't they the ones that cost $10 each?" I said, "Heavens no, a couple bucks gets you some good ones." So the first thing I sent him was a description of how easy it is to buy precision wire-wound resistors (copy available on request with a SASE). I explained that the delivery can be quite good, because there are several competing companies (some of them are right down the road from each other, in southern New Hampshire) that can sell you resistors with excellent accuracy, 0.01% or better, and at reasonable prices. Delivery is also excellent, if you want to pay a little surcharge for that. When I need good resistors, I usually look in the EEM or the Gold Book, and shop around at two or three of the vendors to do a sanity check and make sure I have not over-specified or under-specified the resistors I need. I sent him a copy of that page in the EEM, "Precision Wire-wound resistors," so he had his choice of a dozen good suppliers.
Then I sent him a schematic similar to the one below. I told him I've done something like this before, and you can't go wrong.
See associated Figure 1 and 2.
I never heard from him again. So I like to think that it worked okay for him. Then, as I began thinking of good topics and good ideas to write a column about, I remembered this problem. I fished a couple inches down in the file of papers on my desk and dug up the problem and the solution. Now, I had told this guy, "This is a guaranteed design. No problem." But, I'm not going to feed you any paper designs that have not been built and tested. I dropped by Haltek in Mountain View and bought a few of the resistors that I needed. Then I gave the whole batch to my technician and told him that it had to work. I said to come back when the output error is less than 2 mV.
Note, I don't usually tell my technicians that, because I'm perfectly capable of making mistakes, every kind of mistake. I usually tell the tech, "Leave extra room in case we have to change some things in the input area ..." or whatever. But in this case, I just told him to leave the leads of the resistors at full length, as a sort of a strain-relief loop, so when they're soldered, it doesn't heat up the body of the resistor.
How does this circuit work? It works beautifully (no, that's not what I meant). It works by taking advantage of the full dynamic range of the multiplier. If you merely feed in a signal in the range of (+5 V to +9 V) to the terminals of the multiplier, you're using only 1/5 of the usable range or span of the multiplier. So, let's take the signal input, subtract 7 V, and amplify it by a gain of -5. That signal, which we feed to the input of the multiplier, now has a range of +/- 10 volts. Therefore, we're exercising the multiplier over its entire rated operating range. We do likewise for the other input. Now to get the signal at the output of the multiplier combined into the output, a gain of 1/25 is needed. The errors of the multiplier are also attenuated by this factor of 25 - that's the key to getting the accuracy you want. Most of the signal goes through the linear gain stages, and only a little of the output comes through the multiplier.
A reasonably-priced ($40) multiplier, such as Burr Brown's 534KD (see, I told you National doesn't make any multipliers) with an accuracy spec of 0.5%, can provide a performance of 0.02% in this circuit. Now, the amplifiers are pretty inexpensive (National's LM607BN with VOS
Paul built up the circuit, and tested it at several values of VIN. I must admit, he had to change one resistor value provided a 2k resistor to feed the LM369, and Paul figured out quickly that it should be 1k to provide 5 mA. The -10-V bus refused to regulate because the loads on that node drew more than the 2.5 mA I was providing through the 2k.
Referring to the box of data, you can see that the worst output error was about 0.7 mV or 0.007%, about 9 times better than the accuracy of the multiplier used by itself. It's always nice to know that when you tell a guy, "This circuit can't go wrong," it really does work the way you said it would.
Comments invited! / RAP
Robert A. Pease / Engineer
P.S. I was talking about this circuit with some friends, and they agreed you could do this with digital multipliers, but that would not be cheap nor easy, either. But then I countered, how about one ADC and an MDAC? (multiplying DAC) - those things can be inexpensive and quite accurate. I'll build one of those and see if it's worth writing about.
Originally published in Electronic Design, August 8, 1991.
RAP Update: I've been intending for five years to build the new Multiplier with the ADC and MDAC, and I finally got it working. You'll see this column in Electronic Design in a few months.