• advertisement_alt
  • advertisement_alt
  • advertisement_alt
Q

FFT-спектральный анализатор avr

11 сообщений в этой теме

Доброй ночи .
Как реализовать вывод на lcd в цифрах , частоты с максимальной амплитудой на промежутке от 0 до 120Гц. С частотой дискретизации 240 Гц .
Прошу помочь в написании кода , потому что в математике 0 .

 

 

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Оно и понятно. По таким исходным данным построить спектр будет весьма сложно, выборок маловато - у вас максимальная частота упирается прямо в предел теоретических возможностей, на практике это очень ресурсоёмкая вычислительная задача.

Дискретизацию надо поднять хотябы раз в 10 - до 2400Гц. тогда уже можно применять математику не упираясь в теоретический предел. Но всеравно конечность выборки даст о себе знать, точность будет так себе.

Суть метода проста - умножаем исходную выборку на синус интересующей нас частоты - это элементарная операция сдвига сигнала по частоте! Потом надо высчитать DC(постоянную) составляющую результирующего сигнала и у вас в кармане численная характеристика составляющей исходного сигнала выбранной частоты - ведь в результате сдвига выбранная частота сдвигается в постоянный ток(частота = 0).

Если не ошибаюсь, реализация такого алгоритма и называется ДПФ.

Только на практике из-за дискретности функции и конечности интервала выборки(объёма памяти) результат будет так себе, и для остроты пиков желательно перед применением ДПФ на входную выборку применить функцию "окна" - плавно свести начало и конец выборки к нулю, чтобы небыло разрыва.

Изменено пользователем Alexeyslav
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На пк я нашел похожую программу , но нужно на микроконтроллере  похожее сделать только вывод частоты с максимальной амплитудой на промежутке от 0 до 120Гц.

t.JPG

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

То что я и описал. Только учти, матиматика там ресурсоёмкая, контроллер нужен с достаточно большим объёмом памяти. Во-первых, чтобы поместить сам буффер(в программе это 256 семплов - если 16-битная выборка то 512 байт памяти нужно минимум) и во вторых, результат - это уже несколько больше, поскольку числа будут уже не целые... вобщем на дешёвых и широко распространённых контроллерах(типа меги 8-й) это реализовать НЕРЕАЛЬНО, нужны DSP-контроллеры иначе считать такую выборку как в программе будешь минуту.

Да, вижу в программе к выборке применяется окно Ханнинга.

И советую, сначала реализовать алгоритм на более человеческих условиях - делать всю математику на ПК на любом языке(хоть на бейсике в экселе, или на паскале), а уже ПОТОМ после того как получишь вменяемый результат переносить в МК ибо камней найдёшь массу, граблей насобираешь а делать это сразу на МК в сотню раз больнее.

Изменено пользователем Alexeyslav
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Q-ti сказал:

Прошу помочь в написании кода

Могу написать код за деньги. Если интересует - пишите в л.с.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, MagicianT сказал:

Похоже я и мои посты здесь невидимы.

Спасибо , посмотрю .

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

5
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был востановлен.   Очистить редактор

Загрузка...

  • Сообщения

    • WiFi ESP8266. Nodemcu Lua для ESP-01. Управление нагрузками по web интерфейсу

      Довольно широко известно, что компания Espressif выпускает крайне недорогие модули WiFi, стоимость составляет порядка 2-3 долларов за один модуль. Кроме дешевизны, да и благодаря ей, на основе WiFi модулей ESP8266 развиваются инструменты программирования и управления, доступные каждому желающему. Первым модулем ESP8266 был выпущен ESP-01, особенностями которого являются малый размер, встроенная PCB антенна и всего два доступных порта ввода – вывода. Построен этот модуль по аналогии с популярным NRF24L01. Далее модули, пройдя некоторый путь эволюции, стали выпускаться в несколько другом форм факторе:

      С одной стороны такие модули как ESP-07 более удобные и имеют большее количество портов ввода – вывода, но занимают большее посадочное место. Поэтому, кажется, устаревший формат ESP-01 все же проще использовать в несложных проектах, для которых компактность имеет не последнее значение, так как для подключения только необходимо место для восьми штырьков. Справедливости ради стоит отметить, что из-за этого конструкция с модулем ESP-01 будет выше.

      На сегодняшний день существует несколько способов программировать модули ESP8266 и управлять ими: по умолчанию настройка и управление происходит посредством AT команд, можно также перепрошить модуль nodemcu и писать прошивки на lua, а можно воспользоваться средой программирования Arduino последних версий, где этот модуль WiFi поддерживается. Каждый способ имеет свои плюсы и минусы и имеет право на существование.

      Достаточно интересным вариантом является использование nodemcu по причине своей простоты. Попробуем сделать устройство, управляющее нагрузками по сети WiFi.

      ➡ Читать далее: http://cxem.net/arduino/arduino175.php
    • Например, какой фрагмент кода указывает на то, что необходимо засветить только нижний слой из 16-ти светодиодов? 
    • Иван, Я думаю, этанолоперегонного устройства
    • Привет всем! Решил собрать 12 > 19 по схеме Старичка , (вернее собрал и запустил, работает ), но проблема с дросселями, а вернее в их расчете (сейчас стоят от балды намотанные) Есть желтые кольца от ибп компов, и не знаю какой материал указать в программе для расчета Кому не сложно подскажите пожалуйста. Да и вообще в той ли я программе рассчитываю?
    • Электронного усилителя может?