3
\$\begingroup\$

Is there any classical analog circuit to measure the phase difference between two analog signals ( especially sinusoidal signals )?

I want to measure the phase difference between two sinusoid signals with different amplitudes and same frequency. The frequency range of the signal is from 50kHz to 200 kHz. The purpose of my circuit is to measure the phase component of bio electrical impedance of human body. So one of my input signals will be that from a function generator with fixed amplitude and the other signal will be the voltage developed across the electrodes connected to the body.

\$\endgroup\$

3 Answers 3

5
\$\begingroup\$

The classical circuit is a multiplier, which will output a voltage whose DC mean is proportional to the sine of the phase between the signals.

Depending on the frequency of the signals, the multiplier could be something like an AD835, or an RF mixer. You could even make something with a comparator and a DT switch or XOR gate.

A single mixer will not measure unambiguously 0-360. For that you use two mixers in quadrature, whose outputs are then the sine and cosine of the phase angle, from which you can deduce the phase correctly.

For your specific application, where the amplitudes are variable, an analogue multiplier is not a good idea, as the gain will need normalising. It's probably best to use a fast (enough) comparator on each signal, and run the two logic signals into an XOR gate. In this case, the output will not be the sine of the phase difference, but directly proportional to it.

If you want a full 360 degrees measurement, then the best overall solution is to use the signal generator to deliver 4x your target frequency, divide it by 4 into two quadrature waveforms, and use two XOR gates, one for each channel. Your 4:1 frequency range is small enough to have a practical number of low pass filters reshaping the square wave from the divider back to something like sinusoidal. As you're going into a comparator, the harmonics will make a difference to phase accuracy. The needed accuracy will determine how close you need to be to sine.

Of course, this takes your requirement for analogue measurement at face value. It's far better to do it digitally. Capture the waveforms, process the signals in your language of choice. Assuming your likely minimum hardware, you can do that with little additional hardware by down-mixing your excitation and your measured signal to an audio IF (intermediate frequency), of say 10kHz. Put these two signals into the line input of your PC, capture (I use portAudio), and process (I use python+numpy). Worth a thought, you can recover the amplitudes as well, automatically log results, all sorts of good things.

\$\endgroup\$
6
  • 1
    \$\begingroup\$ Might want to mention that you need a low-pass filter after the multiplier- you get sum and difference frequencies out of the multiplier - where the difference signal is the DC you want, since both frequencies are the same. \$\endgroup\$ Commented Jan 15, 2019 at 16:23
  • \$\begingroup\$ @SpehroPefhany good catch, answer updated \$\endgroup\$
    – Neil_UK
    Commented Jan 15, 2019 at 17:44
  • \$\begingroup\$ Thanks for the reply. Can you provide me a link for the above circuit. I am seeing a large number of circuits which make me confused. Thanks in advance \$\endgroup\$
    – Anand
    Commented Jan 16, 2019 at 13:12
  • \$\begingroup\$ @Anand for the single mixer phase detector or for the two in quadrature. You are probably finding a large number of circuits because there are many subtleties depending on exactly what you want to do and why, at what frequency, to what accuracy. What exactly are you building, and what do you want out of it, then I will be able to narrow down my answer, and give you relevant links. \$\endgroup\$
    – Neil_UK
    Commented Jan 16, 2019 at 14:05
  • \$\begingroup\$ I want to measure the phase difference between two sinusoid signals with different amplitudes and same frequency. The frequency range of the signal is from 50kHz to 200 kHz. The purpose of my circuit is to measure the phase component of bio electrical impedance of human body. So one of my input signals will be that from a function generator with fixed amplitude and the other signal will be the voltage developed across the electrodes connected to the body. Thanks in advance \$\endgroup\$
    – Anand
    Commented Jan 16, 2019 at 14:45
0
\$\begingroup\$

Convert those two sinusoids into square waves, then feed the square waves into an EXOR gate. You can use a scope on the output, to see the dutycycle changing as you alter the delay. Or add a RC low-pass-filter, with F3dB perhaps 1% of the sinusoid frequency, and use a DVM.

\$\endgroup\$
0
\$\begingroup\$

NOTE: I would never use the output of a signal generator directly on a human without some type of fail safe circuit - see IEC-6601 .

For whatever reason nobody mentioned the AD5933. It is a decent Impedance to Digital converter made by Analog Devices. If you go looking for them, you can find many reviewed papers where the AD5933 is used in body impedance measurements(even if a fair amount those are behind paywalls, there is still plenty of free ones available).

While it's rated coverage area is 1 - 100Khz, the secret to using it above 100Khz and below about 300Khz is to use only small frequncy ranges (2 or 3K) with re-calibration at each new range. This is easily done under micro control with a DPDT relay and a human body equivalent calibration load. For use below 1Khz, the App Notes tell you how.

Yes, I know it's an older question.

\$\endgroup\$

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.