I think that what you are hinting at is the concept of resolution of the Discrete Fourier Transform. This will determine how much SNR will drop in-band.
The standard DFT will break some $x[n]$ down to a complex sum of sinusoids. But if you notice, the variable changes from $n$ to $k$, with $k$ being the index to $X$. As an index, it cannot be a Real number. It has to be an integer. You probably have heard $k$ being referred to as the "bin".
Again, if you notice that formula, knowing that $k,n \in \mathbb{Z}$, you will see that $x[n]$ is broken down to a set of sinusoids whose (physical) frequencies depend on $N$.
The mapping between physical frequencies and "bins" is straightforward:
$f_k = k \cdot \frac{Fs}{N}$
So, if you obtained a 128 point DFT of the output of a CD player, the distance between bins would be $\frac{44100}{128} = 343.75$ Hz.
BUT, in reality, this is like setting up a filter bank of band pass filters (or, resonators) every $\frac{Fs}{N}$ Hz. The "bin" resonator will peak at the centre and fall off gradually around it. Consequently, how much noise will be in-band to the resonator, depends on its "width".
Now:
Will have a fantastic snr a well defined peak at 1KHz.
$\frac{1000000}{1024}=976.525$ Hz. Your spectrum will be divided in 1024 bins of 976.525 Hz each. Your first two bins will be higher than zero. The first bin considerably more than the second. In the absence of any further information about the SNR and assuming that the noise affects all bands equally, the first bin will receive $\frac{1}{1024}$th of the SNR.
Same as 1. The snr will not reduce substantially.
If the SNR was the same as #1 then reducing your integration time they will scale proportionally (remember that power is energy over time).
No peak can be observed since the signal didn’t even cycle one round in time domain, even though the sampling rate is well above the required minimum resolution. (Nyquist)
It depends on the SNR. If signal power is below noise power then all 1024 windows will be "dancing" randomly as each band will be receiving some random portion of the total noise power. If the signal power is above the noise power then your lower windows will still register higher sums because multiplied with the 1kHz sinusoid will still generate larger sums than multiplying them with the 900kHz sinusoids.
Same as 3.
Worse than three. Your separation now is $\frac{10000000}{1024}=9765.625$ Hz of which 1kHz is approximately 1 tenth of. The rest is "measuring" (or summing) noise.
Hope this helps.
EDIT:
... If you do observe only a fraction of a period of a given signal. In this case a sine. Does it still show up in fft ?
Yes.
import scipy
import matplotlib.pyplot as plt
signalDuration = 1 #In Seconds
Fs = 100 #In Hz
f = 0.2 #Sinusoid frequency, in Hz
t = scipy.linspace(0,signalDuration, signalDuration * Fs) #Time vector
p = 2.0*scipy.pi*t #Phase vector.
s = scipy.sin(f*p)
plt.plot(s);plt.show()
The signal (s
):

S = scipy.fft(s)
plt.semilogy(abs(S))
Its spectrum:

Three things:
Vary the 'f' around 1.0
to observe the "shape" of the first bandpass filter. You will notice that the amplitude peaks at 1.0
but decreases in between the bins.
To understand why the sums work out:
abs(complex(scipy.sum(s*scipy.cos(1*p)), -scipy.sum(s*scipy.sin(1*p))))
evaluates to 9.351789426245258
abs(complex(scipy.sum(s*scipy.cos(30*p)), -scipy.sum(s*scipy.sin(30*p))))
evaluates to 0.36042210522410306
The first case is for k=1
the second is for k=30
.
- Whether you are going to observe a robust value or not is up to the SNR. You are right to observe the "fraction" but a fraction with respect to what? So what if the input signal is a fraction of a full period? A full period will give you a sum of $A$, a fraction of the period will give you a fraction of $A$. Now if this fraction of $A$ happens to be below SNR, you still get a sum but with very high variability over time that it makes it unreliable.