- При использовании кода примера FFT из документации Apple, что на самом деле означает N, log2n, n и nOver2?
- N относится к размеру окна fft или всего количества выборок в данном аудио, и
- как рассчитать N из аудиофайла?
- Как они связаны с частотой дискретизации аудио, то есть 44,1 кГц?
- Каким будет размер рамки FFT в этом коде?
Код:Что на самом деле имеет размер FFT
/* Set the size of FFT. */
log2n = N;
n = 1 << log2n;
stride = 1;
nOver2 = n/2;
printf("1D real FFT of length log2 (%d) = %d\n\n", n, log2n);
/* Allocate memory for the input operands and check its availability,
* use the vector version to get 16-byte alignment. */
A.realp = (float *) malloc(nOver2 * sizeof(float));
A.imagp = (float *) malloc(nOver2 * sizeof(float));
originalReal = (float *) malloc(n * sizeof(float));
obtainedReal = (float *) malloc(n * sizeof(float));
Учитывая, что рассматриваемый код содержит 'log2n = N', в этом случае' log2N' не является логарифмом 'N'. –
@EricPostpischil: взгляните на следующую строку: сдвиг на N соответствует мощности 2, т. Е. N - двойной логарифм n. – Matthias
Текст в вашем ответе гласит: «N» - это количество образцов ». В коде в вопросе 'n' - количество выборок, но' N' не является, а также 'log2N' логарифмом' N', а также 'nOver2' половиной' N'.Я понимаю, что обычное использование в другом коде состоит в том, что 'N' - количество выборок, но это просто не так в коде в вопросе, что означает, что этот ответ содержит неправильные утверждения. –