Using zero crossing to determine full frequency spectrum?

Thread Starter


Joined Sep 26, 2013

I am analyzing a signal with a fundamental frequency of 60 Hz. From this, I can infer that a sign change will occur every 8.3 ms. Since the signal is not a pure sinusoid, the time between sign changes (i.e. zero crossings) varies throughout the data. Is there any way to use the time between zero crossings to determine the full frequency spectrum if the fundamental frequency is known? An exact solution is not required, just a reasonable approximation.

I understand a Fourier transform will accomplish this task. My question is not how to determine the frequency spectrum, it is how to use the time between zero crossings to determine the frequency spectrum. I am under the impression this is not possible, but my knowledge on the subject is limited. Any insight is greatly appreciated.


Joined Mar 14, 2008
At first blush I agree, I don't see how you can determine the spectrum from just the zero crossing times, and certainly not the amplitude of the spectrum components.


Joined Nov 30, 2010
Take your typical vacuum tube distortion of a sine wave. The tops and bottoms of the wave are folded back on themselves. This is obviously a harmonic content, but it has no effect on the zero-crossing behavior of the wave. (That means, "no".)


Joined Jan 17, 2007
I know very little about the subject. But I'm under the impression that the only thing that a zero cross detector could do for you is to trigger and clock the reading of a sample that you could later digitize (for example) for further examination.


Joined Sep 17, 2013
It won't work. Consider the extreme case of a sine wave and a square wave of the same (fundamental) frequency. Same zero-crossing points but totally different spectral content.