Electronic – Will a low-pass filter make zero-crossing detection less precise

low passzero crossing

In my application I need to sample a number of bipolar signals coming from piezo sensors, and detect their relative time difference (for multilateration based on difference time of arrival).

I expect the signals themselves have a fairly low bandwidth, around 10kHz, but I'd like to determine (among others) when their zero-crossings happen with an accuracy of 1-2μs.

I'm considering the ADS8661 as the ADC: its sampling rate of 1.2MSPS seems accurate enough, and the presence of a built-in analog frontend would make my schematic simpler.

I see that the frontend has a low-pass filter with a cutoff frequency of 15kHz. Given that it will remove all higher frequencies, is there a risk that it will make zero-crossing detection less precise?

Best Answer

Zero-crossing is the wrong way to do this, as it only uses two samples on the period (ignoring the rest) and is thus very sensitive to noise.

If your signal is a sine of constant amplitude (at least over a few periods) then the best way is to acquire the signal, and multiply it in the digital domain with sine and cosine waveforms. This IQ demodulatoin gives you a complex number, whose angle allows measuring the phase shift with extreme precision.

For example, it is possible to measure nanosecond phase shifts between two sine waves using a simple PC soundcard, as long as SNR is adequate.

This is equivalent to computing only one bin on a FFT.