0
\$\begingroup\$

Based on this multiplication relationship table.

VIN_A VIN_B VOUT
-1 -1 1
-1 -0.5 0.5
-1 0 0
-1 1 -1
-0.5 -1 0.5
-0.5 -0.5 0.25
-0.5 0 0
-0.5 1 -0.5
0 -1 0
0 -0.5 0
0 0 0
0 1 0
1 -1 -1
1 -0.5 -0.5
1 0 0
1 1 1

The question is, how the circuit looks like to achieve relationship between VIN_A, VIN_B, and VOUT?

Note: Using passive circuit only will be best solution.

\$\endgroup\$
10
  • \$\begingroup\$ I suspect most readers have skimmed or ignored your table -- it is quite long to look through, and I think wasn't necessary or relevant to answer your previous question. If I may, I would suggest compacting it into a simple formula, then asking about that. Also if you're asking about VIN_A, VIN_B and VOUT, what are the other columns for? Are they pertinent to the question or can they be ignored? A good question is concise and easy to answer. \$\endgroup\$ Commented May 18 at 4:52
  • \$\begingroup\$ @TimWIlliams I have edited it, tell me if it's oversimplified. \$\endgroup\$ Commented May 18 at 4:57
  • \$\begingroup\$ AFAICS, your table reduces to Vout = VA x VB, for VA and VB between -1 V and 1 V (ignoring the V units, or normalizing everything to volts). Wouldn't that be easier for everybody to grasp? \$\endgroup\$
    – Neil_UK
    Commented May 18 at 5:25
  • \$\begingroup\$ You tag DC: what is DC about this? \$\endgroup\$
    – greybeard
    Commented May 18 at 7:00
  • \$\begingroup\$ @Neil_UK yes, that's what I mean. \$\endgroup\$ Commented May 18 at 7:11

1 Answer 1

4
\$\begingroup\$

This time you are trying to perform \$V_{OUT} = V_A \times V_B\$. This is significantly more difficult to perform than simple addition, since multiplication is not a "feature" of superposition, as I described in my other answer.

The behaviours described by KCL and KVL are purely additive, and can't be employed directly to perform multiplication of arbitrary values, values that can both change over time. In the op-amp solutions to "summing" I described, there were many coefficients that "multiply", but you'll notice that they are all constants defined by ratios of resistances, as opposed to arbitrary, variable voltages.

Multiplying two (or more) arbitrary potentials is significantly more difficult, requiring different "tricks". The easiest is to employ ADCs and a DAC to convert between analogue and digital domains, and to compute the product digitally.

That is not the answer to your question, though, as you wish to know how such a function can be performed in the analogue domain. There are several techniques, but the most common (as far as I can tell) is to take advantage of the following algebraic relationship:

$$ \begin{aligned} V_{OUT} &= V_A \times V_B \\ \\ ln(V_{OUT}) &= ln(V_A \times V_B) \\ \\ &= ln(V_A) + ln(V_B) \\ \\ V_{OUT} &= e^\left[ ln(V_A) + ln(V_B) \right] \end{aligned} $$

That requires both log and antilog operations, which can be performed using log and anti-log amplifiers:

schematic

simulate this circuit – Schematic created using CircuitLab

These circuits have quirks which complicate matters:

  • The relationship between IN and OUT is not a simple ln(). The actual relationship contains offsets which must be accounted for.

  • The design assumes that both diodes are identical in every respect. That's very hard to achieve.

  • Diode characteristics change with temperature, which means that you must ensure that all diodes in the entire multiplier system must always have the same temperature.

  • These only work with positive inputs. The solution I show below has this constraint. If you wish to multiply potentials of all combinations of signs (so called "four-quadrant" multiplication), the task becomes more complicated still, but it can be done.

Here's a system that will multiply:

enter image description here

I borrowed it from this answer, in which it is fully explained. The diodes are replaced by transistors configured to behave like diodes, but is otherwise equivalent. The circuit is just a combination of summing, log and anti-log amplifiers, the three operations that are present in:

$$ V_{OUT} = e^\left[ ln(V_A) + ln(V_B) \right] $$

\$\endgroup\$
7
  • \$\begingroup\$ It seems, it doesn't support negative voltage input. But it's okay as long as I can map between physical value with absolute value (0V until 1V) to the logical value (real number between -128 to 128). Do you think it's possible that I can achieve that map (physical value-logical value) same like addition mapping before? I mean both multiplier operands voltage and its voltage result are limited range by 0V until 1V. There is no potentially ending up divergently to the high voltage. \$\endgroup\$ Commented May 18 at 7:10
  • \$\begingroup\$ @MuhammadIkhwanPerwira I never understood that part of your question, I don't know what you are asking. What is a "logical value"? Do you mean digital? \$\endgroup\$ Commented May 18 at 7:26
  • \$\begingroup\$ Sorry for confusion, the logical value is what am I defined by my self. It's similar like ADC/DAC the digital value. But, instead of working on binary digit. Logical value is just mapping value between physical value to the logical value using feature scaling (min-max normalization) en.wikipedia.org/wiki/Feature_scaling. For example if we define the min of logical value to -100 and the max value to 100. Then the map of physical value (0V will be equivalent to -100) and (1V will be equivalent to 100). Logical take advantage of limitation physical to prevent high volt. \$\endgroup\$ Commented May 18 at 23:23
  • \$\begingroup\$ @MuhammadIkhwanPerwira Which high voltage are you trying to avoid? For example. which node in the last schematic are you worried will have a high voltage? Are you trying to limit the voltage applied to an ADC? There are dozens of ways to "clamp" a signal so that it's voltage can't go beyond some limit, is that what you want? \$\endgroup\$ Commented May 19 at 2:35
  • \$\begingroup\$ nevermind, it was computer engineering question scope. \$\endgroup\$ Commented May 19 at 16:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.