реклама на сайте
подробности

 
 
> опять про FFT, подскажите
rubic
сообщение Jan 6 2010, 17:03
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 18-11-08
Пользователь №: 41 732



Подскажите как правильно масштабировать выходные данные FFT(библиотека от чана) под графический дисплей, к примеру высота 64 пикселя ,ADC max 0x03FF . Процес FFT я представляю, знаю что выход представлен как корень квадратный из сумы квадратов действительной и мнимой части, но у меня такие числа получаются на выходе FFT....
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
Xenia
сообщение Jan 6 2010, 17:27
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



64 это 26, значит амплитуда увеличится в 6 раз. Теоретически достижимый максимум = 6 * 0x03FF = 6138 (десятичных).
Это, конечно, в том случае, если вам алгоритм не содержал никаких нормировок. А дальше нормируйте сами под свой дисплей, т.к мне отсюда не видно сколько в нем точек по высоте.
А есть и такая идея - каждый раз находить максимум и нормировать на него - это если амплитуда не сильно интересует, а интересуют частоты.
Go to the top of the page
 
+Quote Post
rubic
сообщение Jan 6 2010, 18:45
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 18-11-08
Пользователь №: 41 732



Подскажите как правильно масштабировать выходные данные FFT(библиотека от чана) под графический дисплей, к примеру высота 64 пикселя ,ADC max 0x03FF ,а то у меня еа выходе такие числа получются..., для входа я к примеру сгенерировал 128 значений n=511+511*sin(2*pi)

Сообщение отредактировал rubic - Jan 6 2010, 18:46
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Jan 6 2010, 18:53
Сообщение #4


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Там(у чана) они сами (насколько помню) масштабируются на каждом проходе... Масштабируют их в FFT для уменьшения округления в аккумуляторе (или там регистре - смотря на чем и как считают). А на экран - как угодно.

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

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

P.S.: а Вы не в логарифмическом масштабе разве выводите физический спектр? Так что там масштабировать?


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jan 11 2010, 12:17
Сообщение #5


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



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

Посчитать амплитуду всех спектральных линий, найти максимум, пронормировать, т.е. поделить все амплитуды на максимум, оставить старшие 6 разрядов и вывести. Как-то так.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 14:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016