Например TDA7294

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





Текущее время: Сб апр 19, 2025 23:22:57

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


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



Начать новую тему Ответить на тему  [ Сообщений: 45 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пн дек 09, 2024 19:23:25 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 38
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 901
Рейтинг сообщения: 0
STM32F4 поддерживает БПФ на уровне ядра, а библиотеки CubeIDE делают эти БПФ в две строчки кода.
Есть сигнал и нужно сделать его спектральный анализ и вывести на TFT экран с дополнительной информацией.
Для БПФ нужно получить входной массив данных об амплитуде сигнала на определенном отрезке времени через каждый тактовый шаг.
В CubeIDE это делается через настройки DMA ADC. Имея входной массив данных используем функции БПФ и получаем выходной массив данных, который выводим на экран в виде спектра и дополнительной информации об этом спектре. Входной массив представляет функцию амплитуды от времени, а выходной после БПФ функцию амплитуды от частоты.
Это теория.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Вт дек 10, 2024 19:26:19 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1053
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19349
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
STM32F4 поддерживает БПФ на уровне ядра

не нашёл "fft" на сайте стм32ф4 https://www.st.com/en/microcontrollers- ... eries.html

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Ср дек 11, 2024 00:13:54 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 38
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 901
Рейтинг сообщения: 0
На практике нужно уметь подключать в CubeIDE поддержку DSP, в настройках поставить галочку в DSP library и добавить одну строчку #ARM_MATH_CM4.
Тут можно посмотреть
А это код, который из массива input после БПФ создает массив output.
arm_rfft_fast_init_f32(&fftInstance,SamplesFFT);
arm_rfft_fast_f32(&fftInstance, input, output, 0);


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Ср дек 11, 2024 00:26:31 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1199
Рейтинг сообщения: 0
Gudd-Head писал(а):
не нашёл "fft" на сайте стм32ф4

Ну если именно так вбить Гуглу, то ничего не найдёте, а вот если то же самое на аглицком, то запросто ищется.
https://www.st.com/en/embedded-software ... pdemo.html
https://www.st.com/resource/en/applicat ... ronics.pdf

Ну и до кучи:
https://qna.habr.com/q/340670


Вернуться наверх
 
Открыт интернет-магазин MEAN WELL.Market – весь ассортимент MEAN WELL, выгодные цены

Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России. На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Ср дек 11, 2024 12:41:11 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1053
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19349
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Там просто подключаются какие-то математические библиотеки.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
LED-драйверы MOSO - надежные решения для индустриальных приложений

Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO подробнее>>
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Ср дек 11, 2024 17:49:15 
Прорезались зубы
Аватар пользователя

Карма: 5
Рейтинг сообщений: 30
Зарегистрирован: Пн июл 04, 2016 16:51:22
Сообщений: 221
Откуда: Россия, Омск
Рейтинг сообщения: 0
STM32F4 поддерживает БПФ на уровне ядра


Я как-то пользовался вот этой библиотекой на STM32F030. Вообще без каких-либо махинаций с плавающей точкой. Данные подаются в виде int32_t [-32768, +32767] в массиве любого размера в степени двойки (хотя ниже 128 не проверял). Была задача поймать сигнал в заданном диапазоне частот. Проблема была только в том, что сигнала могло не быть, а на выходе что-то находилось. Ну и "поймать" частоту нужно было, не имея экрана. Попутно перед отправкой данных в саму фукнцию натягивал на буфер Гауссово окно.


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

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Ср дек 11, 2024 20:18:18 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 38
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 901
Рейтинг сообщения: 0
Спектральный анализ не цветомузыка, а имеет практическое применение во многих областях. Из готовых решений мне больше всего понравилась программа под смартфон Spectrum Analyser_1.43_APKPure, которая строит спектр и выводит данные про основную гармонику. Прекрасная программа, но мне нужно выводить данные частоты и амплитуды на все заметные гармоники с декодировкой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 09:50:31 
Это не хвост, это антенна

Карма: -11
Рейтинг сообщений: 160
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1428
Рейтинг сообщения: 0
не нашёл "fft" на сайте стм32ф4 https://www.st.com/en/microcontrollers- ... eries.html
БПФ нужно умножение и сложение. Ядро STM32F4 умеет их делать? Умеет. Значит поддерживает БПФ на уровне ядра. Такая вот "логика". :)))
С такой "логикой" можно доказать поддержку ядром STM32F4 чего угодно:
Алгоритм игры в шахматы требует команд умножения и сложения. Ядро STM32F4 их умеет. Значит шахматы "поддерживаются на уровне ядра STM32F4". :))) если следовать "логике" linkov1959


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 12:41:37 
Прорезались зубы
Аватар пользователя

Карма: 5
Рейтинг сообщений: 30
Зарегистрирован: Пн июл 04, 2016 16:51:22
Сообщений: 221
Откуда: Россия, Омск
Рейтинг сообщения: 0
Спектральный анализ не цветомузыка, а имеет практическое применение во многих областях.

А с этим вроди бы никто пока и не спорил.
Есть сигнал и нужно сделать его спектральный анализ и вывести на TFT экран с дополнительной информацией.
Для БПФ нужно получить входной массив данных об амплитуде сигнала на определенном отрезке времени через каждый тактовый шаг.

> Есть сигнал - Уже хорошо. Потому что измерять шум, как приходилось мне - задача довольно скучная. Теперь определитесь с тем, как точно Вы хотите его измерить (количество бит и количество значащих бит). Если 12 (10 значщих) - хватит, то STM32 Вам в помощь. Если мало - придётся ставить внешний АЦП, который сможет выдать большую точность и большую битность.

> через каждый тактовый шаг - Что сие есть? Частота квантования сигнала? Размер окна выборки? Что?

> нужно сделать его спектральный анализ - Разрешение спектра в герцах?

Из готовых решений мне больше всего понравилась программа под смартфон Spectrum Analyser_1.43_APKPure, которая строит спектр и выводит данные про основную гармонику.

Ну Вы сравнили. Программа, которая использует оперативную память телефона (которая сейчас редко меньше чем 2ГБ) и оперативную память микроконтроллера (которая редко больше 1МБ, а в Вашем случае не превышает 320кБ, в которой так же нужно хранить принимаемые данные, преобразовывать их во Float (если мало 16 бит), входной буфер для БПФ преобразования, выходной буфер результата, экранный буфер... памаяти уже не кажется ТАК много).

Постарайтесь определиться с тем, что Вам нужно получить на выходе. Может быть подсказка будет куда лучше простых рассуждений и шуток. А может и не потребуется, так как в правильно составленном вопросе уже содержится половина ответа.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 14:59:57 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2852
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23627
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
STM32F4 поддерживает БПФ на уровне ядра, а библиотеки CubeIDE делают эти БПФ в две строчки кода.
.....
Это теория.

Это традиционная чушь.
:facepalm:
В ядре 4-х Кортексов нет векторной математики и тригонометрии, а значит нет ничего для ускорения БПФ.
Ну и упомянутые "две строчки кода" являются всего лишь вызовом громоздких по времени функций библиотеки.
мне нужно выводить данные частоты и амплитуды на все заметные гармоники с декодировкой.

Из этого не следует необходимость БПФ. Необходимость БПФ определяется потребным количеством фильтров и их полосой пропускания.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 18:04:27 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 38
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 901
Рейтинг сообщения: 0
Сейчас ремонтирую древний прибор, который выводит на 7-сегментный 9разрядный индикатор список частот и их амплитуд в рельсовой цепи в виде бегущей строки. Если частоты в допуске, то дополнительно горят светодиоды на каждую рабочую частоту в диапазоне 50-775Гц. Частоты 725 и 775 гц различаются еще по модуляции 8 и 12 Гц. Нерабочие частоты тоже нужно отслеживать хотя бы до 5кГц.. Нужно сделать такой прибор на STM32 и дисплее TFT.

Добавлено after 22 minutes 59 seconds:
КРАМ, а DSP это не ускорение?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 18:04:39 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2852
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23627
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Определяете список частот и разрешение по частоте (полосу фильтра), а так же весь диапазон частот для анализа. Делите весь диапазон на полосу одного фильтра и получаете требования к БПФ.
А требование к ДПФ равно всего лишь количеству фильтров.
Таким образом вы выясняете что требует меньше ресурсов, а значит работает быстрее. И не забудьте про оконную функцию, которая обязательна в любом случае. Если конечно вам нужна динамика больше 12 дБ.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 18:15:36 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 38
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 901
Рейтинг сообщения: 0
КРАМ, функция DSP нужна или можно stm32f103 без этой функции?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 18:27:36 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2852
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23627
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Нет никакой "функции DSP". Есть некоторые DSP инструкции и их желательно включить в компиляторе.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 18:34:18 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 38
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 901
Рейтинг сообщения: 0
КРАМ, Значит stm32f4xx. Требования к БПФ можно изменять в программе и смотреть результат - обратная связь называется. Полоса фильтра один процент от несущей, проца stm32f401 должно хватить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 18:36:24 
Прорезались зубы
Аватар пользователя

Карма: 5
Рейтинг сообщений: 30
Зарегистрирован: Пн июл 04, 2016 16:51:22
Сообщений: 221
Откуда: Россия, Омск
Рейтинг сообщения: 0
Сейчас ремонтирую древний прибор, который выводит на 7-сегментный 9разрядный индикатор список частот и их амплитуд в рельсовой цепи в виде бегущей строки

Странное изначальное решение, но... ладно, допустим.

Частоты 725 и 775 гц различаются еще по модуляции 8 и 12 Гц.

То есть, сигналы с частотой 725Гц и 775Гц дополнительно модулированы ещё и низкочастотными волнами в 8 и 12Гц?

Нерабочие частоты тоже нужно отслеживать хотя бы до 5кГц

Разрешение по частоте примерно получается по такой формуле:
Частота Сэмплирования / Количество Отсчётов в буфере
Например, для выборок с частотой 24кГц и размера буфера в 1024 байта получится ~24Гц / отсчёт. Довольно грубый обзор.

Для более точного - можно использовать 24кГц / 8192 отсчёта. Здесь уже будет около 3Гц / отсчёт. Но вычисляться такое будет кратно дольше.

а DSP это не ускорение?

Его ядро всего лишь умеет инструкции по работе с плавающей точкой.
https://microsin.net/programming/dsp/st ... cmsis.html - Здесь даже свели примеры скорости вычислений БПФ (FFT) на разных ядрах.

Хм.. надо бы посмотреть в отладчике, сколько целочисленная библиотека требует времени на вычисления.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 18:39:40 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2852
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23627
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Дело не только в fpu, но и в mac инструкциях.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 23:03:05 
Это не хвост, это антенна

Карма: -11
Рейтинг сообщений: 160
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1428
Рейтинг сообщения: 0
Нет никакой "функции DSP". Есть некоторые DSP инструкции и их желательно включить в компиляторе.
Точнее - "DSP-подобные". Имеющие некоторые возможности архитектуры DSP. До настоящих возможностей DSP-ядер ARM-у как пешком до Луны.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Пт дек 13, 2024 23:41:41 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 38
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 901
Рейтинг сообщения: 0
Запустил пробу на F401 и ILI9341. От таймера пока не получилось, АЦП с DMA молотит без останова и что бы получить спектр до 10кГц выставил 16384 отсчета. На чистый синус столбик с дребезгом и часто зависает, но DSP работает, картинка есть.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Спектральный анализ БПФ в CubeIDE
СообщениеДобавлено: Сб дек 14, 2024 05:16:45 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2852
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23627
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Вы занимаетесь наивной ерундой, пытаясь приспособить чужую вундервафлю под свои нужды.
Это так не работает, придется разбираться по существу.
Тем более, что это не сложно.
Точнее - "DSP-подобные". Имеющие некоторые возможности архитектуры DSP. До настоящих возможностей DSP-ядер ARM-у как пешком до Луны.

Это именно так. У обсуждаемых кортексов нет SIMD и они не могут быть VLIW.
Но очень условно регистровые MAC-инструкции называют DSP-инструкциями.


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

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


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

Сейчас этот форум просматривают: azhel12 и гости: 4


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

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


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