Обсуждаем контроллеры компании Atmel.
Вс янв 15, 2017 21:00:36
возможно, я выступлю не в резонансе последних сообщений, но чем не устраивает знаменитая
ченовская библиотека FFT, реализованная на ассемблере? она, правда, 16-битная, но зато проверенная...
не претендуя на истину в последней инстанции я предполагаю, что переплюнуть его будет очень непросто...
Вс янв 15, 2017 23:04:57
Всем устраивает, но прежде хотелось бы самому отработать вопрос в целях обучения.
КРАМ, большое спасибо за наводку! В avr studio использую теперь директиву PROGMEM для таблиц
Вс янв 15, 2017 23:32:00
еще, возможно, стоит нормировать на двоичную систему. Скажем, аргумент и результат не от 0 до 1 (или от 0 до 1000) а от 0 до 255 или от 0 до 65535. Так намного проще отлавливать переполнение и подстраивать под периферию.
Вс янв 22, 2017 08:41:31
хорошая идея, можно тогда заготовить таблицы, умноженные не на 1000, а на 1024, и затем вместо деления использовать X>>=10;
Вс янв 22, 2017 10:14:47
NebelWefer писал(а): и затем вместо деления использовать X>>=10;
зачем? зачем вообще что-то делить? разве ваше счастье уменьшится, если вы смиритесь с тем, что синус-косинус у вас будет не от 0 до 1, а от 0 до 1024? все в мире относительно... чем меньше делите, тем больше итог
Вс янв 22, 2017 11:26:51
Итог может и больше, но модуль потом находить будет заметно дольше.
И, кроме того, достаточно часто требуется сохранение масштаба выходного сигнала по отношению к входному.
Идея с нормировкой коэффициентов под деноминатор 2^N - совершенно стандартна и используется практически всегда.
Вс янв 22, 2017 16:21:36
NebelWefer писал(а):зачем вообще что-то делить?
В общем то не обязательно, согласен, но без деления REx и IMx набегают свыше миллиарда, можно и в long не уложиться)
К тому же, чем больше RE и IM, тем больше итераций уходит на вычисление корня, чтобы достичь приемлемой точности.
Ср фев 01, 2017 19:53:13
Всем добрый вечер прошу помощи . На ножку ацп атмеги32 поступает такой сигнал , мне с этого сигнала нужна частота и выводить на lcd . Как это можно реализовать ?
- Вложения
-
- 3.jpg
- (197.43 KiB) Скачиваний: 529
Ср фев 01, 2017 22:45:55
На картинке смесь высоких и низких частот. Какую частоту вы хотите выводить на экран?
Может всё же выводить спектр если тема про БПФ?
Чт фев 02, 2017 00:04:11
Нужна НЧ частота от 10 до 150Гц
Чт фев 02, 2017 03:20:45
Надеюсь, сигнал оцифрован ? Если нет, то срочно это сделать. А потом найти локальные максимумы и минимумы - чем больше, тем точнее - и разделить их число на временной интервал, на котором они расположены, с учетом масштаба развертки . Делов-то ... И без FFT. Пото'м преобразовать результат в символьную строку и вывести на LCD, но это уже совсем другая песня, исполняемая в разделе "Периферия" .
Чт фев 02, 2017 04:28:24
Jack_A писал(а):И без FFT
Без спектрального анализа ничего путного в этом сигнале не измерить.
Совершенно непонятно что считать в этом сигнале "локальным". На каком интервале?
Там полно "минимумов" и "максимумов", которые находятся внутри других "минимумов" и "максимумов". Тогда можно ли первые считать таковыми?
Чт фев 02, 2017 07:11:26
Q-ti писал(а):Нужна НЧ частота от 10 до 150Гц
Тогда сперва почистить сигнал аналоговым или цифровым полосовым фильтром, затем подать на вход частотомера. Но быть может что и в этой полосе имеются мощные гармоники со смесью других частот.
Откуда этот сигнал?
Какая должна быть точность измерений такого показометра?
Чт фев 02, 2017 09:37:24
uk8amk писал(а):Тогда сперва почистить сигнал аналоговым или цифровым полосовым фильтром, затем подать на вход частотомера.
Как можно "почистить" сигнал занимающий 4 октавы? От чего его можно "почистить"?
Чт фев 02, 2017 11:06:18
На фото Q-ti по маркерам видно, что период колебаний сигнала 1 мс. Возможно, что это какая-то помеха или наводка. Исходя из потребностей в 150Гц максимум я и предложил фильтровать. Обычный полосно-пропускающий фильтр, хоть на операционнике, справится с такой задачей.
Если всё действительно так плохо и дело дойдёт до спектрального анализа, то сигнал очень желательно хорошо подготовить с учётом малого ДД АЦП и вычислительных возможностей AVR.
Пт фев 10, 2017 23:32:20
Доброй ночи попробую задать вопрос по другому .
Как реализовать вывод на lcd в цифрах частоты с максимальной амплитудой на промежутке от 0 до 120Гц. С частотой дискретизации 240 Гц .
Прошу помочь в написании кода , потому что в математике 0
.
Вс фев 12, 2017 11:23:14
Люди может есть у кого библиотека FFT на СИ поделитесь ?
Вс фев 12, 2017 17:01:31
https://github.com/mkschreder/avr-ultimate-driver-packЗдесь есть fftradix библиотека, человек успел стянуть. Оригинальный сайт, с которого я её брал и дорабатывал
для своего проекта, давно не работает, но что-то осталось.
Пн фев 20, 2017 09:19:50
Q-ti, либо можете реализовать алгоритм, который описал товарищ YS на 4й странице ветки. Он очень простой, а уже потом займетесь оптимизацией если вообще потребуется.
Ср май 03, 2017 20:10:54
Товарищи, а Вы как нормализуете результаты БФП или Герцеля?
Линейно или через логарифм?
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.