I am receiving a signal from two antennas, and I wish to compare phase in order to extract angle. I know that you would usually use a phase comparator. I was wondering whether this would work only with pure single tone signals or with more wideband signals as well. My signals have a bandwidth of about 2KHz (not so wide, but does it make a difference?).

I understand now that I am actually not looking for the phase difference but rather time difference. Wondering whether this could be done in analog.


  • \$\begingroup\$ What is the distance between the antenna? \$\endgroup\$
    – MathieuL
    Jun 2, 2016 at 13:20

2 Answers 2


Assuming you receive the same signal via two antennas, you can apply convolution to detect the delay between the two signals:

enter image description here

The peak of the convolution corresponds to the delay between the two signals (on the picture above, both signals are identical so the convolution peak lands on zero). You can transform that delay into a phase shift for a given frequency.

Convolutions are hard to do using analog circuits, so I suggest you reconsider your constraints to see if you can fit a DSP in your design. However, there are special cases where convolution can be realized in analog circuits rather easily. For example, if the signal you're receiving has a fixed profile, and you can figure out an LTE system those impulse response matches your signal profile, then applying convolution is as easy as feeding the signal to that LTE system. This rarely helps in practice though.

  • \$\begingroup\$ For time delay, you use a correlation, not a convolution. \$\endgroup\$
    – MathieuL
    Jun 2, 2016 at 13:24

It's a hard problem. You can FFT the signals, compute the phase and amplitude of all components, and (except for an arbitrary integer times 2pi) find a weighted average phase for each, and take the difference. There's gonna be more than one component, though, so the 'phase difference' isn't a constant, it's a component-by-component listing.

If you consider only one component, you've filtered the signal under consideration by making that choice, and the bandwidth is different from the original signal.

  • \$\begingroup\$ From your answer, I realize now that I am not actually looking for phase difference, but rather time difference. I know it is possible to do it in the digital realm ( I would probably not fft, but simply look for correlation by doing a time series multiplication), but interested whether something like this can be done in analog \$\endgroup\$
    – Ilan lewin
    Jun 2, 2016 at 8:51
  • \$\begingroup\$ Don't attempt analog for that sort of thing, unless you like building a relay computer or painting with your feet (that is doing things the hard way) for the heck of it. \$\endgroup\$
    – Neil_UK
    Jun 2, 2016 at 8:52
  • \$\begingroup\$ Digital determination of time delay can be done by sampling and FFT'ing, then fitting a line to phase difference. The slope of the line is the time shift. You can also use a CCD shift register with a variable clock to time-shift two signals until correlation peaks (i.e. there IS an analog way to do it). This can be done on a mixed-down signal, it doesn't have to be at some hard-to-handle RF frequency. \$\endgroup\$
    – Whit3rd
    Jun 2, 2016 at 9:10

Your Answer

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

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