このpdfはどうですか? http://miracle.otago.ac.nz/tartini/papers/A_Smarter_Way_to_Find_Pitch.pdf
FFT の問題は、256 サンプルの FFT を実行すると、256 の出力しか得られないことです。基本的に、これが意味することは、無限の数の周波数がある周波数空間を、限られた一連の周波数に分割することです。
これは、256 サンプル (256 は FFT に使用されるサンプル数 N に置き換えることができます) のみをチェックすると、256 の倍数で関連付けられた周波数はすべて同じに見えるためです。
つまり、時間 0、1/256、2/256、3/256、... 255/256 で取得された 256 の等間隔のサンプルをチェックすると、次に、周波数が 80 サイクル/秒の sin(2 pi 80 x) と、周波数が (80+9*256) の sin(2 pi (80 + 9*256) x) の 2 つの信号は、同じサンプル。
ここで、9 は、使用する倍数である k に置き換えることができます。9 を 1、2、3、4、5 などに置き換えることができます。256 (N) を任意の値に置き換えることもできます。
例として、サンプルの 1 つである 200/256 で両方をサンプリングすると、sin(2 pi (80 + 9*256) (200/256)) = sin(2 pi 80 (200/256) + 2 pi になります。 * 9 * 200)
2 pi の倍数は sin に影響しないため、これは sin(2 pi 80 (200/256)) と同じです。
より一般的には、sin(2 pi (M + k*N) j/N) = sin (2 pi M (j/N) + 2 pi k*j) = sin (2 pi M (j/N) ) です。 j は任意の整数 0、...、N - 1、N はサンプル数、(j/N) はサンプルする時間、M は 1 秒あたりのサイクル数、k は任意の整数 ... -2 、-1、0、1、2 ...
ナイキスト サンプリングから、1 秒あたり -128、-127、-126、-125、...、125、126、127 サイクルを区別する場合は、256 サンプル/秒を取得します。256 サンプル/秒は、256 の周波数を区別することを意味します。ただし、0 サイクル/秒、256 サイクル/秒、512 サイクル/秒、1024 サイクル/秒はすべて同じように見えます。