Например TDA7294

Форум РадиоКот • Просмотр темы - FFT (БПФ) в CodeVisionAVR
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс июл 13, 2025 11:06:59

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


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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Чт фев 09, 2012 13:15:16 
Родился

Зарегистрирован: Ср сен 07, 2011 18:59:45
Сообщений: 4
Рейтинг сообщения: 0
Добрый день, уважаемые Коты! Требуется Ваша помощь.

Перерыл все интернеты и наш форум в частности, но так и не нашёл необходимого.

В общем, нужен пример использования быстрого преобразования Фурье для CVAVR.

Задача простая: считывать сигнал с АЦП контроллера AVR, выделить его спектр, вывести результат на 8-ми битный порт(каждому выводу которого соответствует свой диапазон частот). В итоге должна получиться ЦМУ

Знаю о существовании прекрасной библиотеки http://elm-chan.org/works/akilcd/report_e.html но она для avr-gcc, а работать я умею только с CVAVR, а перекомпилировать под свою среду у меня не получается, хотя очень хочется использовать ту библиотеку.

Добавлю: не для коммерческих целей и не для курсового/диплома: только спортивный интерес. Вся надежда остаётся только на Вас: сам я пока не обладаю достаточными знаниями даже для того, чтобы перекомпилировать библиотеку Чана, а не то чтобы с нуля написать свою:cry:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Чт фев 09, 2012 13:23:40 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7013
Откуда: Ижевск
Рейтинг сообщения: 0
В файле variables.c нужные переменные. Ненужные выкинуть, т.к. этот файл выдернут из исходника. Ну и сам FFT.
PS. Счас проверю прикрепляемость. :)
PPS. Оппа, прикрепилось!


Вложения:
temp.rar [1.35 KiB]
Скачиваний: 555

_________________
Docendo discimus
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Чт фев 09, 2012 13:59:57 
Родился

Зарегистрирован: Ср сен 07, 2011 18:59:45
Сообщений: 4
Рейтинг сообщения: 0
pyzhman, при попытке компиляции выдаёт несколько ошибок(компилятор - CVAVR 2.04.4a):

2 штуки undefined symbol 'PI' - их я исправил введя переменную float PI=3.1415; - правильно ли я сделал?

4 штуки undefined symbol 'sin' - к чему относится "sin" ?

Также выскакивает Warning: included from: 1.c: overflow is possible in 16 bit addition, casting to 'long' may be required , несмотря на то, что тип проблемной переменной указан как long int

Честно говоря, недалеко продвинувшемуся тяжело разобраться в этом коде, тут ещё и TWI переплетается, пытаюсь вычистить код. Ну и после всего, как же в итоге сравнивать полученный результат с критериями(нужными диапазонами?) :(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Чт фев 09, 2012 14:14:13 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7013
Откуда: Ижевск
Рейтинг сообщения: 0
Прицепите библиотеку math.h. Пи и синусы появятся. На варнинг забить.
Результат преобразования заносится в исходный массив. Делаем с ним то, что хотим.

_________________
Docendo discimus


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Чт фев 09, 2012 14:50:57 
Родился

Зарегистрирован: Ср сен 07, 2011 18:59:45
Сообщений: 4
Рейтинг сообщения: 0
Есть ещё несколько вопросов: atmega8 эту функцию не потянет, как я вижу? Используется аж 2184 байта SRAM :o И очередное проявление моей глупости: что за исходный массив? И как правильно использовать функцию fft? :oops:

Как я понимаю нужно произвести несколько замеров, скажем 32. Чем больше замеров будут производиться, тем медленнее будет работать преобразование, но точнее результат. Вот есть у нас вход АЦП. Есть функция fft. Что делать дальше? :oops:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Пт фев 10, 2012 06:34:02 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7013
Откуда: Ижевск
Рейтинг сообщения: 0
mega8 не потянет, т.к. не тот объем памяти. Мною использовалась mega64. Исходный массив - куда забиваются считанные с АЦП данные. Размерность массива кратна двойке. Использование: вызов функции, все готово, в этом массиве находятся частоты и соответствующие им амплитуды. Можно отдельно прогнать через окно, чье-либо.
В свое время взято с
Код:
/***********************************************************************
This code is generated by the AlgoPascal translator

This code is distributed under the ALGLIB license
    (see http://www.alglib.net/copyrules.php for details)
***********************************************************************/

Там было описание что, как и куда. Посмотрите.
PS. Может Чан все-таки проще? Картинки во всяком случае красивые.

_________________
Docendo discimus


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Пт фев 10, 2012 14:26:44 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вт сен 15, 2009 16:23:06
Сообщений: 692
Откуда: Москва
Рейтинг сообщения: 0
Попробуй использовать исходник вот отсуда http://www.waitingforfriday.com/index.php/Real-Time_Audio_Spectrum_Analyser.
Там правда на пике, но путём несложных монипуляций переделывается под AVR.
У меня на 8меге работало.

_________________
Только абсолютная пустота бездны принесёт мне покой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Пт фев 10, 2012 21:48:22 
Родился

Зарегистрирован: Ср сен 07, 2011 18:59:45
Сообщений: 4
Рейтинг сообщения: 0
pyzhman, TRIOD, спасибо за отзывчивость! Использовать вырезок из AlgoPascal не имею желания, т.к. неоправданно высокие аппаратные потребности у данного кода.

А вот ссылка TRIOD'а заинтересовала, визуально библиотека выглядит красиво и понятно, вызывая тем самым надежду.

Сейчас я занят аппаратной разработкой(потому особо глубоко не вникал в последнюю ссылку), БПФ будет лишь частью фарша(и хотелось бы, чтобы главной и работоспособной частью)

TRIOD, к Вам вопрос на будущее: для какого компилятора под AVR вы портировали представленный код? И может быть для уверенности поделитесь примером портированного Вами кода(для любого компилятора), если он ещё сохранился и не является военной тайной?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Сб фев 11, 2012 10:05:45 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вт сен 15, 2009 16:23:06
Сообщений: 692
Откуда: Москва
Рейтинг сообщения: 0
Портировал на CVAVR. Да там и портировать особо нечего поскольку нативный Си.
Исходники не сохронились.

_________________
Только абсолютная пустота бездны принесёт мне покой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Вс дек 09, 2012 19:48:01 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 1
Рейтинг сообщений: 12
Зарегистрирован: Пн мар 22, 2010 20:00:55
Сообщений: 189
Откуда: Новосибирск
Рейтинг сообщения: 0
PowerCPLD писал(а):
А вот ссылка TRIOD'а заинтересовала, визуально библиотека выглядит красиво и понятно, вызывая тем самым надежду.

Интересно, добились ли Вы положительных результатов в портировании кода на CVAVR?

_________________
Продолжение ЗУ по мотивам уважаемого Слона этой ветки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Сб дек 22, 2012 16:49:01 
Вымогатель припоя

Зарегистрирован: Сб фев 19, 2011 18:04:08
Сообщений: 513
Откуда: Татарстан, пос. Актюбинский
Рейтинг сообщения: 0
TRIOD писал(а):
Попробуй использовать исходник вот отсуда http://www.waitingforfriday.com/index.php/Real-Time_Audio_Spectrum_Analyser.
Там правда на пике, но путём несложных монипуляций переделывается под AVR.
У меня на 8меге работало.


По этим исходникам пытаюсь разобраться с БПФ, промежуточный результат
Вложение:
MyFFT.rar [83.47 KiB]
Скачиваний: 377
компилятор IAR AVR


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FFT (БПФ) в CodeVisionAVR
СообщениеДобавлено: Пн дек 24, 2012 18:25:30 
Вымогатель припоя

Зарегистрирован: Сб фев 19, 2011 18:04:08
Сообщений: 513
Откуда: Татарстан, пос. Актюбинский
Рейтинг сообщения: 0
Вот еще вариант,
Вложение:
MyFFT2.rar [85.8 KiB]
Скачиваний: 567
все по тем же исходникам. При тактовой в 16 М и дискретизации 20000 Гц обновление происходит примерно каждые 8 мсек. Может кому то и пригодится.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

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


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

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


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

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


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