Полная версия этой страницы:
опять про FFT
Подскажите как правильно масштабировать выходные данные FFT(библиотека от чана) под графический дисплей, к примеру высота 64 пикселя ,ADC max 0x03FF . Процес FFT я представляю, знаю что выход представлен как корень квадратный из сумы квадратов действительной и мнимой части, но у меня такие числа получаются на выходе FFT....
64 это 26, значит амплитуда увеличится в 6 раз. Теоретически достижимый максимум = 6 * 0x03FF = 6138 (десятичных).
Это, конечно, в том случае, если вам алгоритм не содержал никаких нормировок. А дальше нормируйте сами под свой дисплей, т.к мне отсюда не видно сколько в нем точек по высоте.
А есть и такая идея - каждый раз находить максимум и нормировать на него - это если амплитуда не сильно интересует, а интересуют частоты.
Подскажите как правильно масштабировать выходные данные FFT(библиотека от чана) под графический дисплей, к примеру высота 64 пикселя ,ADC max 0x03FF ,а то у меня еа выходе такие числа получются..., для входа я к примеру сгенерировал 128 значений n=511+511*sin(2*pi)
Там(у чана) они сами (насколько помню) масштабируются на каждом проходе... Масштабируют их в
FFT для
уменьшения округления в аккумуляторе (или там регистре - смотря на чем и как считают). А на экран - как угодно.
Числа Вы не привели - потому тяжело судить...
добавил:Вернее предотвращения переполнения.
Старею, мля... 
P.S.: а Вы не в логарифмическом масштабе разве выводите физический спектр? Так что там масштабировать?
Цитата(rubic @ Jan 6 2010, 18:45)

Подскажите как правильно масштабировать выходные данные под графический дисплей, к примеру высота 64 пикселя
Посчитать амплитуду всех спектральных линий, найти максимум, пронормировать, т.е. поделить все амплитуды на максимум, оставить старшие 6 разрядов и вывести. Как-то так.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.