This is Volume 2 of Building Blocks. Click for more ideas! A true Analog Multiplier & what to use it for
Designed and written by David H. Christensen
Want to know when a new volume is posted? Subscribe to the RSS feed

Why the hell would you want an analog multiplier? Well... Quite a lot of practical things involve the multiplication of two voltages. It's quite easy to add or subtract voltages from each other using an op amp and a few resistors, and you can also set an op amp to provide a fixed gain and thus "multiply" one signal with a fixed value.

But what if this value isn't fixed? You could add a potentiometer to the op amp's feedback loop, but what if the signal changes too quickly and too precisely for your fingers to follow? You might throw in a digi-pot instead; one of those clever devices that provide a programmable resistance. Unfortunately, they are somewhat expensive, and are typically only 7-bit or 8-bit devices; i.e., you'll only get 128 or 256 resistance steps. That probably isn't enough—and besides; what if you wanted to square a value? You'd now have to add a digital-to-analog converter (DAC) and a microcontroller (like on an Arduino board, or an ESP8266), which'd have to track whatever that value you wanted to square was. Ultimately, then, you could do it all digitally. But good DACs and ADCs are expensive, especially if you want your signal to have a bandwidth much beyond audio frequencies.

That's where the analog multiplier enters the picture. With it, you can do a slew of things:

As you can see, the analog multiplier is a quite versatile beast. There's just one absolutely HUGE drawback: they are bloody expensive!

A bottom-end model (the otherwise excellent AD633 by Analog Devices) will easily stand you $8 a piece. That's quite a price. The improved AD734 is a whopping $20 per part, which leaves it an absolute niché item.

There is, of course, a reason for this: Precision. The AD parts are individually laser-trimmed for very high precision (and low error). They use a circuit topology called the Gilbert cell which requires exceptional matching between transistors, as well as the voltage-to-current converting resistors that are integrated on the die. Even small mis-matches absolutely ruin the performance; so even at the price of $8, the AD633 is specified at 2% full-scale error.

The degree of matching required is, in fact, so extreme that it would be largely futile to attempt anything approaching a practical and reasonably precise analog multiplier using the Gilbert cell. Instead, let's think outside the box, and start with what we really require of our multiplier part...

With exceptions, most marketed analog multipliers are so-called four-quadrant multipliers. This comes from the fact that they have two multiplying inputs—X and Y (plus an optional set of auxiliary, non-multiplying inputs typically termed Z, W etc.)—and these inputs can both be either negative or positive, independent of each other.

To understand this, let's look at the analog multiplier. The circuit schematic symbol for an analog multiplier is not fully standardized, but this one is fairly common and is the one we'll use:


For the two inputs, X and Y, our four quadrants are defined as the following combination of voltages:

Y < 0VY > 0V
X > 0VQuadrant IIIQuadrant I
X < 0VQuadrant IVQuadrant II

You determine the quadrant, the multiplier is operating in by finding the row and column that matches the voltage polarity of the inputs. For instance, a situation where X = 1.5V and Y = 2.3V means we're in quadrant I; and a situation where X = -2V and Y = 3.3V, we're in quadrant II.

Thus, a four-quadrant multiplier can handle bipolar (±) X and bipolar Y inputs. But for a lot of applications, do we really need that? For instance, if we're constructing a voltage-controlled audio amplifier, do we ever need the volume to go negative? Not really. If we want phase inversion, we can do it by other means (an inverting op-amp configuration is a popular way to acheive this).

In fact, for a lot of applications, we can sacrifice the two quadrants, where the Y input is negative, that is, quadrants III and IV, leaving us with a two-quadrant analog multiplier, operating solely in quadrants I and II, and thus with the following constraints on the inputs:

Narrowing our requirement to two-quadrant operation means we can easily ditch the sensitive Gilbert cell layout, and go with something entirely more realizable on a breadboard or PCB. So with no further ado, let's jump to the schematic!

Pro tip: The BB#2 Analog Multiplier requires both a positive and negative supply rail, as well as 0V ground. If you've only got a single +6V supply, you can use the BB#1 Negative Rail Converter to get a negative rail to work with. Remember to follow the instructions in the ADVANCED NOTE of the schematic, since the BB#1 will present a slightly less negative voltage than a full -6V.


CLICK TO MAGNIFY

The parts list is quite short. The only thing you may find somewhat unusual is the presence of JFETs in the circuit. Unfortunately, since the circuit uses a particular property of the JFET, other transistor types, including the MOSFET, cannot be used instead. The BF256B is a relatively common and easily sourcable part, but you may use others as described in the parts discussion if you can't get BF256Bs nearby, or have other JFETs in your armamentarium.

Editorial note: This circuit is, despite looking deceptively simple, quite complex in its working. Despite the fact I'll try to explain it as best I can, I've constructed an online simulation for you in Paul Falstad's excellent circuitjs simulator, and I suggest you check it out and poke around at the voltages and currents.

Simulate the circuit online

The core of this circuit is the fact, that a JFET can operate as a voltage-controlled resistor. At certain gate-source (VGS) and drain-source voltage (VDS) combinations, the JFET acts as a quite linear, controllable resistor, controllable by VGS through setting the voltage at the gate—something called the ohmic mode of operation of the JFET. Beyond this region, the drain current no longer increases with the drain-source voltage, and the JFET is in its saturation mode - which we want to avoid.

Unfortunately, as you can see, the range of this operation is quite narrow, and continuously variable with the voltage at the source. Therefore, it's quite impossible to realistically control the gate voltage directly.

Remember how I mentioned earlier that it's possible to multiply a number with a fixed ratio with an op amp, by setting the gain? Well, that's exactly what goes on here—except our ratio is set by Q1 acting as a voltage-controlled resistor. In this way, we've transformed the fixed ratio into a continuously variable multiplication ratio; and since our op amp configuration is the inverting configuration with our input at the – terminal of A1a, our gain goes all the way down to 0. If we had used a non-inverting op amp configuration, with the input at the + terminal of A1a, our gain (= multiplier) could not have less than 1, limiting the operation severely!

Thus, the trick now is to control the gate voltage of Q1, so as to acheive linear multiplication. And that's where the bottom half of the circuit—the bit involving the A1b op amp— comes in. A1b controls the gate voltages of both Q1 and Q2 partly (the other half contributed by the voltage of the JFET), and since Q1 and Q2 are matched parts (more on that in the Parts Discussion), A1b "servos" its output so there is an infinitesimally small difference between the voltage at its + and - terminal. This means, that as the Y input changes, so must the gate voltage of Q2. As Y increases, the resistance across Q2 must decrease, which means the gate voltage must increase, and this increase carries over exactly to Q1 as well.

Again, due to the matching, and the fact that the proportion of drain voltage and A1b output voltage at each gate is identical, the resistance of Q1 decreases in lock-step with that of Q2. And since the R7, the input resistor of the Y input, is identical in size to R6, the feedback resistor of A1a, this resistance proportionality results in a precise multiplication of the X input voltage, with the Y input voltage, divided by a constant, which in this case is 10!

Since A1a is an inverting op amp, X is inverted too, so the output is actually -X × Y/10V). The division constant of 10V acts to increase the effective input range—otherwise we'd quickly run out of voltage range—and the division can easily be recovered with a fixed-gain op amp with a gain of 10! Similarly, it is possible to "de-invert" X by simply putting the multiplier output through an inverting op-amp; when the whole result is multiplied with -1, the output becomes X × Y/10V.

Phew.... That was a mouthful. Again, I'd really recommend you check out the online simulation above. At least for me, poking around and changing things is one of the primary ways to learn. And it's okay not to grasp everything in one bite. However, the key concepts that come together to make this circuit work are:

  1. JFETs can act as voltage-controlled resistors in a range of gate-to-source voltage
  2. Because of the very high gain of op amps, they "force" the voltages of their inputs to be as close to each other as possible. This is the "servo" action of an op amp circuit like this.

The critical parts in this circuit are the JFETs and the op amp chosen.

JFET choice and matching

There are much fewer JFET types around at a reasonable cost than just a decade ago. Therefore, the choice is rather limited to a few good options. The important thing is you get JFETs suited for amplification and not just switching or "chopper amplifier applications". These JFETs sacrifice linear performance for really fast switching of analog signals.

Some good JFETs that are usable in this circuit are:

These parts share a number of characteristics, including 1) a forward conductance (gfs) of between 1 and 10 mmho (mS, or milli-Siemens); 2) relatively low input and output capacitances (in the picofarads rather than tens or hundreds) and 3) bandwidths ≥ 300 MHz. If you're checking other JFETs out, look for these parameters.

Unfortunately, this analog multiplier depends on matching the JFETs. This is relatively straightforward if you've got one of the many super-low cost component testers available. Just pop them in, one after the other, and find two that match in drain current and VGS as shown on the display. If you haven't got a component matcher, you can use a multimeter in diode mode. Measure the diode drop between the gate (red lead) and the drain (black lead). Since this voltage depends greatly on the JFET temperature, you shouldn't be holding the device with your fingers. Rather, leave it on the table, and use some gripping multimeter probes to measure it without heating up.

The more precise you want your multiplier to be, the better the matching should be. However, if you're mostly going to be using it for audio applications, the matching needn't be extreme. Still, it's a good idea to have a bunch of JFETs around—20 or more—so you can find some that match well. It's an investment, but I do promise that I'll be using the JFET plenty in future Building Blocks projects. JFET circuits are a bit of a passion of mine (...I'm such a dork!), and I hope you'll follow me down this rabbit hole.

Op amp choice

The following parameters matter greatly to the analog multiplier:

I've decided to list op amps that work well with the BB#2 analog multiplier (apart from the LMC6482) —but as with anything in electronics, there's a tradeoff. So there's two lists - a high speed and a precision list.

High speed op amps

  1. TLV971 (single)/972 (dual)/974 (quad) Very low distortion part with a high bandwidth (~16MHz) and a rail-to-rail output.
  2. LM6142 (dual)/6144 (quad). Very high bandwidth (≥ 17MHz) rail-to-rail input and output, with a very wide voltage range supported (1.8V to 24V between V- and V+).
  3. NE5532 Classic audio op amp, with very low noise and a bandwidth of 10MHz. Unfortunately, the output voltage range is significantly reduced
  4. OPA350 (single)/2350 (dual). Burr-Brown designed precision op amp with a bandwidth of 38MHz(!) and very low distortion and an input voltage of <1mV

Precision op amps

  1. OP27. Expensive part from Analog Devices, but with an offset voltage in the microvolts. Simultaneously a high bandwidth of 8 MHz.
  2. OPA350 (single)/2350 (dual). Burr-Brown designed precision op amp with a bandwidth of 38MHz(!) and very low distortion and an input voltage of <1mV
  3. TLC2272 (dual)/2274 (quad). Low offset voltage and a decent bandwidth of 2.2MHz, as well as a relatively low cost, makes this a compelling option for moderate-high precision

Honorable mentions

  1. MC33201/33202/33204. A rail to rail input and output amplifier implemented with bipolar transistors, resulting in high speed and low noise compared to similarly priced CMOS offerings.
  2. TLV2372 (dual)/2374 (quad). A rail to rail input and output amplifier, implemented in CMOS. Very low cost, and with a decent bandwidth of 3 MHz. The offset voltage and noise aren't superb, though...

This prototype is constructed on a simple, through-hole protoboard of my own design. It has two sections laid out as a solderless breadboard to allow for convenient use of DIP integrated circuits, and allows for two voltage rails in the space between them, as well as two outer busses (which are our 0V ground in this case, shoirted together with the brown lead at the extreme right of picture). And there's more than enough room for the old-school embossed labels courtesy of a DYMO Labelmaker!

This prototype is configured for a ±6.8V supply; hence, the supply-dependent resistors are 6K8 and 68K
Additionally, resistors are individually measured for optimal precision

Traces captured with a Rigol DS1102E directly to a USB flash drive. Test signals, both AC and DC, were generated with a FeelTech FY3200S low-cost 24MHz dual arbitrary waveform generator. Its sine waveform output is surprisingly low noise and distortion, and so were more than sufficient to test the performance of the BB#2.

Trace 1 Trace 2 Trace 3
A 500Hz sine wave multiplied by a 1 KHz sine wave

X: 1KHz sine wave
Y: 500Hz sine wave
A 100Hz sine wave multiplied by a 500Hz sine wave

X: 100Hz sine wave
Y: 500Hz sine wave
Analog arithmetic (-3V × 1V/10V = 0.3V)

X = -3.0V
Y = +1.0V
Trace 4 Trace 5 Trace 6
Distortion at moderate gains disappear into the noise floor

X: 1 KHz sine wave, 2.0 VP-P
Y: 2.0 V
Even at extreme low gains, output distortion is still >40dB below the fundamental, and largely limited to 2nd harmonic
X: 10 KHz sine wave, 2.0 VP-P
Y: 0.5 V
At gains beyond the specified range, distortion is still very low, with the 3rd harmonic predominating
X: 10KHz sine wave, 2.0 VP-P
Y: 10.0 V

A stereo volume control is easily implemented with two multipliers, and an extra dual op-amp configured with a gain very close to 10, so we get rid of the division factor imposed by the multiplier. A way to reduce the footprint of the two multipliers is to use a single quad op amp for the two multipliers. A quad op amp takes significantly less space than two duals, and typically costs less than the cost of two dual op amps as well!

The basic concept of this volume control can also be extended and put to great use in audio effects. For instance, the control voltage signal at the Y input might as well be a slow triangle wave—and you've got a tremolo effect. Or you might increase the frequency of this control waveform and get ring modulation. Or just phase offset the triangle wave, and use it for a lush, stereo tremolo effect. With the BB#2, these effects which are usually implemented with expensive ICs (multipliers or dedicated VCA chips) are easy to acheive.



In this simple AM radio transmitter, a 74HC-series Schmitt-trigger inverter is used to generate the carrier wave. The carrier wave is multiplied with the audio input (termed the modulator), and the output is presented to a transistor emitter follower (also called a buffer, or a common collector amplifier), which drives an antenna through an AC coupling capacitor. The harmonics of the square wave carrier are supressed by the limited bandwidth of the multiplier op amp (if an LMC6482 is used).

With a simple antenna wound on a piece of cardboard and glued in place, a range of 10 meters was easily acheivable, at a quality just about as good as AM radio allows. Of course, you could also choose to transmit digital control signals instead—for simple, wireless projects without resorting to Bluetooth or WiFi modules!

I'm considering making reference PCB module designs for each building block available. Each block would be a tiny board with pin headers, one in THT and another surface mount, ready to plug into your circuit example. However, I also don't want to take the joy (and sometimes, pain) of creating something yourself away.

So, I am open to suggestions! Would you like such a thing made available&mdash?probably as Gerber files so everybody can see and use them? Or would it just be a huge waste of time on my part? I'm not going to be selling or making money off of them, and you'd still need to buy parts and get the boards fabbed, so... does it make sense for you guys?

Drop me a line at me [at] davidh.info. I would truly love to hear from you!

David Christensen is an electronics engineering enthusiast. New Building Blocks will be added weekly at ee.david.promo.



David with his cat, Charlie