Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: опять про FFT
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
rubic
Подскажите как правильно масштабировать выходные данные FFT(библиотека от чана) под графический дисплей, к примеру высота 64 пикселя ,ADC max 0x03FF . Процес FFT я представляю, знаю что выход представлен как корень квадратный из сумы квадратов действительной и мнимой части, но у меня такие числа получаются на выходе FFT....
Xenia
64 это 26, значит амплитуда увеличится в 6 раз. Теоретически достижимый максимум = 6 * 0x03FF = 6138 (десятичных).
Это, конечно, в том случае, если вам алгоритм не содержал никаких нормировок. А дальше нормируйте сами под свой дисплей, т.к мне отсюда не видно сколько в нем точек по высоте.
А есть и такая идея - каждый раз находить максимум и нормировать на него - это если амплитуда не сильно интересует, а интересуют частоты.
rubic
Подскажите как правильно масштабировать выходные данные FFT(библиотека от чана) под графический дисплей, к примеру высота 64 пикселя ,ADC max 0x03FF ,а то у меня еа выходе такие числа получются..., для входа я к примеру сгенерировал 128 значений n=511+511*sin(2*pi)
DRUID3
Там(у чана) они сами (насколько помню) масштабируются на каждом проходе... Масштабируют их в FFT для уменьшения округления в аккумуляторе (или там регистре - смотря на чем и как считают). А на экран - как угодно.

Числа Вы не привели - потому тяжело судить...

добавил:
Вернее предотвращения переполнения. Старею, мля... biggrin.gif

P.S.: а Вы не в логарифмическом масштабе разве выводите физический спектр? Так что там масштабировать?
=GM=
Цитата(rubic @ Jan 6 2010, 18:45) *
Подскажите как правильно масштабировать выходные данные под графический дисплей, к примеру высота 64 пикселя

Посчитать амплитуду всех спектральных линий, найти максимум, пронормировать, т.е. поделить все амплитуды на максимум, оставить старшие 6 разрядов и вывести. Как-то так.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.