Восстанавливаю амплитуду, фазу и частоту по формулам:
А = 1/N(sqrt(Re^2+Im^2)
phase = arctg(Rr/Im)
Формулы вроде бы правильные (хотя фазу надо бы как
arctan2(im, re)). Видимо, вы неправильно извлекаете компоненты комплексных чисел из массива, который выдаёт БПФ. Посмотрите справку по этой функции — там должно быть описано, что она как возвращает.
Хотя действительно забыл то, что выше написали: проверьте, не генерируете ли вы там гармоники с частотой выше частоты Найквиста.
P. S.
получается 512 комплексных пар
Обычно всё же 513 комплексных чисел, два из которых вещественны. Если функция, которой вы пользуетесь, возвращает 512, она что-то скрывает.