Las otras respuestas son buenas, pero pensé que trataría de dar una respuesta más intuitiva / visual ya que soy un tipo intuitivo / visual.
La siguiente imagen es la trama de dos tonos que son casi la misma frecuencia. Un tono se traza en rojo y el otro en azul.
Generé la imagen en Matlab con el siguiente código:
tone1 = sin(2*pi*.05 * (0:99));
tone2 = sin(2*pi*.0501 * (0:99));
plot(tone1)
hold on
plot(tone2, 'r')
Como puede ver tanto en la imagen como en el código, los dos tonos tienen una frecuencia muy cercana. Están comenzando a separarse un poco hacia el final de esta breve ventana, pero siguen siendo muy similares, hasta el punto en que un DFT no podría distinguirlos.
Si creo los mismos tonos con las mismas frecuencias, solo hago que la ventana sea más larga (5000 muestras esta vez en lugar de 100) obtenemos una imagen muy diferente. Obviamente habrá más ciclos en cada tono ...
... pero esa no es la parte interesante. Vemos la parte interesante cuando hacemos zoom al final de la ventana.
Vemos que los dos tonos están desfasados 180 grados al final de la ventana, lo que los hace muy fáciles de distinguir. Entonces, ¿cómo supe elegir 5000 muestras? La diferencia en los dos tonos es.0002 πr a di a n ss a m p l e, entonces 5000 muestras ∗ .0002 πr a di a n ss a m p l e= π radianes
Como se mencionó en otra respuesta, la resolución del DFT es la frecuencia de la muestra dividida por el número de muestras (es decir, la longitud de la ventana). Implícitamente hice la frecuencia de muestra 1, así que si dividimos 1 por 5000 (el número de muestras), obtenemos que la resolución es .0002 Hz. Nuestros tonos en realidad difieren en .0001 Hz, lo que significa que el tono2 tendrá energía tanto en el contenedor del tono1 como en el contenedor al lado (y un poco en todos los demás también, pero esa es una historia diferente).