Например TDA7294

Форум РадиоКот • Просмотр темы - FFT на Си для AVR
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 09:35:08

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 200 ]  1, , , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: FFT на Си для AVR
СообщениеДобавлено: Вт ноя 16, 2010 11:34:22 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт авг 01, 2008 08:43:08
Сообщений: 70
Рейтинг сообщения: 0
Заранее извиняюсь перед модератором за создание темы по столь мелкому и возможно уже задававшемуся вопросу.
Господа Коты, поделитесь пожалуйста кодом БФП на Си без ассамблерных приблуд хотелось бы,если есть конечно :)
В высшей математике не силен,потому и сам написать не в состоянии подобную процедуру. Прошу помощи.
Заранее спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Вт ноя 16, 2010 11:39:27 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
можно поинтересоваться: для какой цели? FFT на чистом Си "без приблуд" будет очень медленным на AVR...

чисто Сишные реализации наверняка найдутся в википедии или просто на программистских форумах, посвященных обработке сигналов.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Вт ноя 16, 2010 11:45:24 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт авг 01, 2008 08:43:08
Сообщений: 70
Рейтинг сообщения: 0
2 ARV:
Пока что просто для изучения и попытки постичь данный алгоритм. Просто с ассамблером не очень дружу. Если пример для АВР студии но там все самое интересное вынесено в ASM. Может быть есть ещё какие то алгоритмы для получения частотного спектра сигнала кроме БФП и ДФП ?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Вт ноя 16, 2010 11:56:59 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
алгоритмы-то есть, но для понимания они ничуть не проще, чем FFT или DFT. кстати, DFT - самое простое для понимания. если цель - освоить FFT вообще, то лучше делать это на компе, а не МК: и проще, и инстументарий удобнее, и готовых исходников море.

на мощные МК типа ARM, mega32 или dsPIC сишные тексты от компа переносятся практически без правки, а для простого AVR без ассемблерных вставок быстродействие такое, что FFT превращается в SFT - медленное преобразование Фурье :)))

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Вт ноя 16, 2010 12:38:55 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт авг 01, 2008 08:43:08
Сообщений: 70
Рейтинг сообщения: 0
спасибо большое за разъяснения.
SFT :))) :))) :))) получайте на него копирайт :)
Попробую на компе по колупать.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Ср ноя 17, 2010 01:14:55 
Мудрый кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 5
Зарегистрирован: Ср янв 23, 2008 22:11:54
Сообщений: 1867
Откуда: Калининград
Рейтинг сообщения: 0
Вот здесь очень простое описание БПФ
http://slonpts.narod.ru/algo/math/furie/06.html

Код реализации занимает менее 20 строк. Если нет необходимости восстанавливать сигнал, то фазу можно не считать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Ср ноя 17, 2010 11:00:16 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт авг 01, 2008 08:43:08
Сообщений: 70
Рейтинг сообщения: 0
Спасибо, то что нужно.. "доступно и всерьез"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Чт ноя 18, 2010 21:43:09 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1244
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Во! Спасибо! Тоже хотел преобразование Фурье поколупать! Изучаю ссылку...

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Вт янв 08, 2013 22:54:04 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 01, 2010 14:14:55
Сообщений: 271
Рейтинг сообщения: 0
Здравствуйте коты разобравшиеся в преобразованиях Фурье!

Сейчас разбираюсь с ДПФ и БПФ... Поправите пожалуйста если не прав... Я так понимаю что мы берем N - количество выборок АЦП( например 1024), с частотой дискретизации например 44100 кГц... Потом после расчета действительной части, получаем N - амплитуд гармоник... Правильно ли я понял, что мы получаем 1024 частот гармонических колебаний, если да то какие это частоты (какие это 1024 частоты)?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Ср янв 09, 2013 00:22:58 
Мудрый кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 5
Зарегистрирован: Ср янв 23, 2008 22:11:54
Сообщений: 1867
Откуда: Калининград
Рейтинг сообщения: 0
Амплитуда гармоники вычисляется по формуле 4, если смотреть здесь.
Это корень квадратный из суммы квадратов действительной и мнимой частей.
Считая ДПФ по 1024 точкам, вы получаете 1024 отчета в частотной области. Всё верно.

При частоте дискретизации 44100 кГц (наверное имелось ввиду 44,100 кГц) частота гармоники считается f=m*Fдискр/N.
N=1024, m изменяется от 0 до 1024. Таким образом, например 1-я гармоника равна 1*44100/1024=0,043 кГц, вторая = 0,086 кГц. Следовательно, шаг получается 43 Гц.

Советую почитать Richard G. Lyons Understanding Digital Signal Processing. В этой книге на пальцах разбирается ДПФ, БПФ, всякие БИХ фильтры и прочие ДСПшные методы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Ср янв 09, 2013 06:24:04 
Мудрый кот
Аватар пользователя

Карма: 24
Рейтинг сообщений: 286
Зарегистрирован: Чт июн 10, 2010 08:55:35
Сообщений: 1810
Откуда: Сибирские Афины
Рейтинг сообщения: 0
Может будет сильно круто, но есть такой сайтик - http://www.fftw.org/

_________________
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Ср янв 09, 2013 11:50:18 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 01, 2010 14:14:55
Сообщений: 271
Рейтинг сообщения: 0
Спасибо GRAF, за формулу... Kavka за сайтик тоже спасибо, я правда его видел но не стал рыть так как он на английском, по английски понимаю, но по русски все равно лучше, если сайт стоящий поковыряем...
Буду разбираться если что обращусь за помощью :love:

А вообще есть желание замутить анализатор спектра аудио, в качестве практики и тренировки... конечно уже есть куча проектов, но хочеться разобраться и реализовать самому
:shock:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Ср янв 09, 2013 20:08:11 
Вымогатель припоя

Зарегистрирован: Сб фев 19, 2011 18:04:08
Сообщений: 513
Откуда: Татарстан, пос. Актюбинский
Рейтинг сообщения: 0
По ссылке который дал TRIOD
Переделав код под IAR AVR, получил 11 мсек на одно преобразование.
Мк Атмега8 тактовая 16 МГц. 128 точек. (можно использовать 32,64 или 128 точек)
исходник на СИ
Вложение:
MyFFT.rar [78.72 KiB]
Скачиваний: 1131
с примером проектом в протеусе.
Еще есть вариант elm-chan работает почти в двое быстрее , но там микс СИ и ассемблера.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Чт янв 10, 2013 10:22:55 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 01, 2010 14:14:55
Сообщений: 271
Рейтинг сообщения: 0
phanis спасибо за инфу


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Вс янв 13, 2013 10:13:21 
Вымогатель припоя

Зарегистрирован: Сб фев 19, 2011 18:04:08
Сообщений: 513
Откуда: Татарстан, пос. Актюбинский
Рейтинг сообщения: 0
Вариант БПФ http://elm-chan.org/works/akilcd/report_e.html портированного в IAR_AVR. с примером в протеусе.
Код чуть весомее оригинала.
Время одного преобразования для 128 точек (7,18 мсек). МК Атмега 8, такт 16 МГц.
Вложение:
IAR_AVR_FFT_C_ASSEMB.rar [113.19 KiB]
Скачиваний: 731


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Вс янв 13, 2013 21:01:15 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 01, 2010 14:14:55
Сообщений: 271
Рейтинг сообщения: 0
phanis писал(а):
Вариант БПФ http://elm-chan.org/works/akilcd/report_e.html портированного в IAR_AVR. с примером в протеусе.
Код чуть весомее оригинала.
Время одного преобразования для 128 точек (7,18 мсек). МК Атмега 8, такт 16 МГц.
Вложение:
IAR_AVR_FFT_C_ASSEMB.rar



128 точек какой разрядности, 8 бит? 16? 32? и какой разрядности результаты?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Пн янв 14, 2013 11:17:45 
Вымогатель припоя

Зарегистрирован: Сб фев 19, 2011 18:04:08
Сообщений: 513
Откуда: Татарстан, пос. Актюбинский
Рейтинг сообщения: 0
16 /16 бит


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Пн янв 14, 2013 15:19:48 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 01, 2010 14:14:55
Сообщений: 271
Рейтинг сообщения: 0
phanis писал(а):
Вариант БПФ http://elm-chan.org/works/akilcd/report_e.html портированного в IAR_AVR. с примером в протеусе.
Код чуть весомее оригинала.
Время одного преобразования для 128 точек (7,18 мсек). МК Атмега 8, такт 16 МГц.
Вложение:
IAR_AVR_FFT_C_ASSEMB.rar


а частота дискретизации?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Пн янв 14, 2013 15:38:58 
Вымогатель припоя

Зарегистрирован: Сб фев 19, 2011 18:04:08
Сообщений: 513
Откуда: Татарстан, пос. Актюбинский
Рейтинг сообщения: 0
При использовании встроенного АЦП Атмеги, думаю до 15 кГЦ.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT на Си для AVR
СообщениеДобавлено: Пт янв 25, 2013 17:00:24 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 01, 2010 14:14:55
Сообщений: 271
Рейтинг сообщения: 0
Продолжается изучение ДПФ и БПФ... написал простое приложение на C# ДПФ на 1024 отсчета, в качестве исследуемого сигнала взял сумму 3 гармоник с разными амплитудами... Алгоритм прост и отлично работает:

Код:
for (int k = 0; k < 1024; k++)
            {
                for (int n = 0; n < 1024; n++)
                {
                    x_real[k] += x_n[n] * Math.Cos( (-2) * Math.PI * k * n / 1024 );
                    x_imag[k] += x_n[n] * Math.Sin( (-2) * Math.PI * k * n / 1024);
                }

                x_Ampl[k] = Math.Sqrt( x_real[k] * x_real[k] + x_imag[k] * x_imag[k] );

               
            }


но наблюдается зеркальный эффект :cry:

вопрос следующий: стоит ли бороться с зеркальным эффектом, или просто не учитывать эти частоты так как они находятся за частотой найквиста и все равно не могут быть вычислены верно ???


Вложения:
Комментарий к файлу: зеркальный эффект
dft.JPG [72.39 KiB]
Скачиваний: 1347
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 200 ]  1, , , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y