As outras respostas são boas, mas achei que tentaria dar uma resposta mais intuitiva / visual, já que sou um cara intuitivo / visual.
A imagem abaixo é a plotagem de dois tons com quase a mesma frequência. Um tom é plotado em vermelho e o outro em azul.
Gerei a imagem no Matlab com o seguinte código:
tone1 = sin(2*pi*.05 * (0:99));
tone2 = sin(2*pi*.0501 * (0:99));
plot(tone1)
hold on
plot(tone2, 'r')
Como você pode ver na imagem e no código, os dois tons têm uma frequência muito próxima. Eles estão começando a se separar um pouco no final desta janela curta, mas ainda são muito parecidos, a ponto de um DFT não poder diferenciá-los.
Se eu criar os mesmos tons com as mesmas frequências, apenas para aumentar a janela (5000 amostras desta vez em vez de 100), obtemos uma imagem muito diferente. Obviamente, haverá mais ciclos em cada tom ...
... mas essa não é a parte interessante. Vemos a parte interessante quando aumentamos o zoom no final da janela.
Vemos que os dois tons estão 180 graus fora de fase no final da janela, o que os torna muito fáceis de distinguir. Então, como eu soube escolher 5000 amostras? A diferença nos dois tons é.0002 πr a di a n ss a m p l e, tão 5000 amostras ∗ .0002 πr a deu umn ss a m p l e= π radianos.
Como outra resposta mencionada, a resolução da DFT é a frequência da amostra dividida pelo número de amostras (ou seja, o comprimento da janela). Eu implicitamente criei a frequência de amostra 1; portanto, se dividirmos 1 por 5000 (o número de amostras), obtemos que a resolução é 0,0002 Hz. Na verdade, nossos tons diferem de 0,0001 Hz, o que significa que o tone2 terá energia no compartimento do tone1 e no compartimento ao lado (e um pouco em todos os outros também, mas essa é uma história diferente).