3
\$\begingroup\$

I need to take the ratio of two filter outputs as part of a project. I converted them to DC voltage values using a rectifier and a smoothing capacitor thinking that this would make division easier. But I'm stuck for what to do now.

A guitar signal will eventually be used as the input of the system as this is intended to be a guitar tuning tool. So the frequencies used will be in the range of 30-600Hz. The input signal is fed into two filters, one high pass filter and one low pass filter. These both encompass the 30-600Hz frequency range. I want to perform division of VoutHPF/VoutLPF and feed the resultant voltage into a flash ADC and drive a strip of LEDs, ie. higher frequency means higher voltage.

Also, both voltages (VoutHPF and VoutLPF) should never equal 0. They will lie within the range of (0.5-2.5V). Any help would be greatly appreciated.

\$\endgroup\$
7
  • \$\begingroup\$ It would be straight forward to find the difference between the signals. Can you explain how the rest of your circuit looks? Perhaps there's another way it can be done. Otherwise I'd suggest using a microcontroller with an ADC. Alternatively, maybe a logarithmic amplifier. \$\endgroup\$
    – CL22
    Apr 12 '15 at 8:50
  • 3
    \$\begingroup\$ What do you want to happen when V2 is zero? \$\endgroup\$
    – Andy aka
    Apr 12 '15 at 8:54
  • \$\begingroup\$ Check this out: analog.com/media/en/training-seminars/tutorials/MT-077.pdf it says the AD538 can divide \$\endgroup\$
    – CL22
    Apr 12 '15 at 8:55
  • \$\begingroup\$ The input signal is fed into two filters, one high pass filter and one low pass filter. These both encompass the 30-600Hz frequency range. I want to perform division of VoutHPF/VoutLPF and feed the resultant voltage into a flash ADC and drive a strip of LED's. ie. higher frequency means higher voltage and so an LED at the top of the strip lights. \$\endgroup\$ Apr 12 '15 at 9:23
  • \$\begingroup\$ Also, both voltages (VoutHPF and VoutLPF) should never equal 0. They will lie within the range of (0.5-2.5V). \$\endgroup\$ Apr 12 '15 at 9:28
5
\$\begingroup\$

I'm going to copy my answer to an old question here, because the title of this question makes it much more likely to be found in the future. This answer was originally meant to answer part of this question.

Is analog signal division possible (as FPU multiplication often takes one CPU cycle anyway)?

If you have an analog multiplier, an analog divider is "easy" to make:

schematic

Assuming X1 and X2 are positive, this solves Y = X1 / X2.

Analog multipliers do exist, so this circuit is possible in principle. Unfortunately most analog multipliers have a fairly limited range of allowed input values.

Another approach would be to first use log amplifiers to get the logarithm of X1 and X2, subtract, and then exponentiate.

Would it be theoretically possible to speed up modern processors if one would use analog signal arithmetic (at the cost of precision) instead of digital FPUs (CPU -> ADC -> analog FPU -> DAC -> CPU)?

At heart it's a question of technology---so much has been invested in R&D to make digital operations faster, that analog technology would have a long way to go to catch up at this point. But there's no way to say it's absolutely impossible.

On the other hand, I wouldn't expect my crude divider circuit above to work above maybe 10 MHz without having to do some very careful work and maybe deep dive research to get it to go faster.

Also, you say we should neglect precision, but a circuit like I drew is probably only accurate to 1% or so without tuning and probably only to 0.1% without inventing new technology. And the dynamic range of the inputs that can be usefully calculated on is similarly limited. So not only is it probably 100 to 1000 times slower than available digital circuits, its dynamic range is probably about 10300 times worse as well (comparing to IEEE 64-bit floating point).

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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