Пытаюсь понять как работает библиотека STM DSP (STM32F10xxx DSP library firmware), а конктретно FFT. ЧТо 64 что 256 - непонятен результат на выходе функции. Подробно в листинге:
Код
#define NPT 64
#define PI2 6.28318530717959
.....
long lBUFIN[NPT]; /* Complex input vector */
long lBUFOUT[NPT]; /* Complex output vector */
......
for(i=0;i<NPT;i++) lBUFIN[i] = 500+500*sin(PI2*i/NPT);
cr4_fft_64_stm32(lBUFOUT, lBUFIN, NPT);
#define PI2 6.28318530717959
.....
long lBUFIN[NPT]; /* Complex input vector */
long lBUFOUT[NPT]; /* Complex output vector */
......
for(i=0;i<NPT;i++) lBUFIN[i] = 500+500*sin(PI2*i/NPT);
cr4_fft_64_stm32(lBUFOUT, lBUFIN, NPT);
по сути я нарисовал синус с амплитудой в диапазоне 0...1000 что по сути будет соответствовать оцифровке с 10-12 битного АЦП.
Далее само преобразование. Смотрел в отладчике - там в результате в массиве lBUFOUT какая-то белиберда. В pdf на библиотеку формата выходных данных не нашел. Про входные данные понял так: младшие 2 байта - действительная часть сигнала, старшие 2 - мнимые. В примерах посмотрел на функцию MygSin - почему-то они в отчеты синуса запихивают в старшие разряды. Непонятно.

В общем прошу помощи у тех кто в сове время разобрался - как правильно упаковывать в lBUFIN и как декодировать lBUFOUT.
Заранее спасибо!
Ссылки:
Описание библиотеки
Библиотека