What are some methods for detecting a sinusoid in noise? I'm looking for a broad classification on the kinds of techniques available. Something I can use to begin a literature survey.

Some details:


should be feasible for real-time implementation.
Binary decision, I should be able to input the signal continuously, and the algo has to detect the start and stop times of the sinusoid in the waveform.
There is no other signal, i.e. if the sinusoid is not present, then there will only be noise
the input is band-limited, and the sinusoid, if present, is assured to be within that band.
Tradeoffs are between speed (how soon after the appearance of the sinusoid can the algo detect its presence) and false positives (should be minimal)
I can't provide any exact numbers about acceptable performance measures, because I'm not sure myself. I intend to implement all your suggestions for my application and find out myself. I'm just looking for the "standard" techniques for tackling this problem.


Further details:


The input is the output of a band pass filter, so the noise is
also significant only in the pass band.
There is no surety when
the sinusoid may appear. The duration of the sinusoid is in the
range of 50-100 ms. The amplitudes of the sinusoid will fluctuate.
Depending on the frequency of sampling, a FFT (Fast Fourier Transform) will work. For example, if your sampling rate is only once every 20 ms, you'll only get a few samples of the sinusoid, but if you're sampling every 0.5 ms then you'd get a lot more samples. FFTs usually work best with a large number of samples to average over. In that case even if your signal is the sum of a few sinusoids, they can be accurately determined.

Alternatively, you could have a look at the MUSIC algorithm. I'm not too sure about the details of how it is implemented, but it has been implemented in several real-time detection scenarios. An alternative to MUSIC is the Esprit algorithm. 

Still, if your sample size is large enough and the noise doesn't swamp the signal entirely, then an FFT will be (on average) the fastest option.