Hi,
since i have some cpu-cycles left, i want to add a nice fft-display (with ILI9341) to my project.
In the SpectrumAnalyzerBasic example is following "table":
I want to use fft256, but i'm not still sure how many "levels" (see code) i want, so my Question is:
How do you calc the values for L[x]=fft256.read(n,m) for a number "y" of "levels", resp. what's the formula/algorithm ?
since i have some cpu-cycles left, i want to add a nice fft-display (with ILI9341) to my project.
In the SpectrumAnalyzerBasic example is following "table":
Code:
// read the 512 FFT frequencies into 16 levels
// music is heard in octaves, but the FFT data
// is linear, so for the higher octaves, read
// many FFT bins together.
level[0] = fft1024.read(0);
level[1] = fft1024.read(1);
level[2] = fft1024.read(2, 3);
level[3] = fft1024.read(4, 6);
level[4] = fft1024.read(7, 10);
level[5] = fft1024.read(11, 15);
level[6] = fft1024.read(16, 22);
level[7] = fft1024.read(23, 32);
level[8] = fft1024.read(33, 46);
level[9] = fft1024.read(47, 66);
level[10] = fft1024.read(67, 93);
level[11] = fft1024.read(94, 131);
level[12] = fft1024.read(132, 184);
level[13] = fft1024.read(185, 257);
level[14] = fft1024.read(258, 359);
level[15] = fft1024.read(360, 511);
I want to use fft256, but i'm not still sure how many "levels" (see code) i want, so my Question is:
How do you calc the values for L[x]=fft256.read(n,m) for a number "y" of "levels", resp. what's the formula/algorithm ?