I created short audio files with a sine wave (tone) having a set frequency, and added varying white noise to it generated by a random number generator. I wanted to code and test the simple algorithm described in IEEE-STD-1057 & 1241 to calculate the frequency in the time domain by measuring the times the amplitudes flip sign. This works well when white noise has been added, but is less accurate when white noise is absent. What's the reason why the added white noise improves accuracy?
Just guessing; might this have something to do with dithering? The difference between a smooth (analog) sine wave and the digitized one is a sawtooth with varying amplitudes - the quantization error. Dithering is the addition of noise in order to smooth the digitized recording. Digitizing an analog source causes quantization errors, and dithering compensates for that in some way.