Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Цветомузыка на Stm32

Пн окт 18, 2021 20:38:06

Меня вот что интересует.Программная часть.А конкретно на какой основе можно реализовать это устройство?Подачей на вывод АЦП.А каким образом программно разделять(фильтровать) частоты?

Добавлено after 1 minute 52 seconds:
И по какой формуле или формулы расчитывать.

Re: Цветомузыка на Stm32

Пн окт 18, 2021 20:40:04

Воткнуть 16 полосовых фильтров с интеграторами на выходе. С них сигнал - на АЦП. Ну и напрограммировать всякие спецэффекты в зависимости от изменения сигнала.
А чтобы программно заниматься частотным анализом, нужно использовать дискретные косинусные преобразования или периодограмму. В принципе, можно и БПФ попробовать, но они избыточны: мало того, что там есть комплексная часть, так еще и поди-ка найди шуструю реализацию на числах с фиксированной точкой!

Re: Цветомузыка на Stm32

Пн окт 18, 2021 21:05:42

Ну я так понял фильтра аппаратные или программные?

Добавлено after 6 minutes 37 seconds:
16 полсовой филтьтр,Но я видел схему на 1 полосовом фильтре.И скорее всего разделяется на несколько диапазонов программно и 1 вход в АЦП?

Re: Цветомузыка на Stm32

Пн окт 18, 2021 21:06:00

Поисковиками пользоваться уже не модно? Или не получилось ввести в поисковик название темы - Цветомузыка на Stm32?

Re: Цветомузыка на Stm32

Пн окт 18, 2021 22:01:05

Поисковик привёл к проектам без исходникам и пояснению.На каком принципе основано.

Re: Цветомузыка на Stm32

Вт окт 19, 2021 07:28:55

https://narodstream.ru/ws2812b-stm32f10 ... sxema-hsv/ с пояснениями :wink:

Re: Цветомузыка на Stm32

Вт окт 19, 2021 09:02:40

Serzh2000, там не цветомузыка!
Самое интересное - спектральный анализ. А его там нет!

Re: Цветомузыка на Stm32

Вт окт 19, 2021 09:33:34

1. начнем наверное с ДПФ, хорошо пройденный этап, даже видео есть.
СпойлерДля 9 частот требуется (на расчет 2мс) + (ADC 13,2мс)
Для 12 частот (на расчет 4мс) + (ADC 26,6мс)

Частота дискретизации 19200Гц
12 фильтров 9.6 кГц; 4,8 кГц; 2,4 кГц; 1,6 кГц; 1,2 кГц; 800 Гц; 600 Гц; 500 Гц; 400 Гц; 300 Гц; 150 Гц; 75 Гц

Должно быть 800Гц, в действительности 840, может быть забыл от таймера единичку отнять.
У меня два боковых луча по 15 светодиодов, максимальный уровень 32 светодиода, звуковая карта компа не выдает такой уровень.
2. БПФ 128 отсчетов дискретизация АЦП 40кГц.
Сетка частот
Спойлер
Код:
/*Cоответствие значений массива  spektrum
входной частоте при частоте дискретизации ацп 40000 Гц
----------
массив          входная частота, Гц
----------+----------
spektrum[0]         0
spektrum[1]         312,5
spektrum[2]         625
spektrum[3]         937,5
spektrum[4]         1250
spektrum[5]         1562,5
spektrum[6]         1875
spektrum[7]         2187,5
spektrum[8]         2500
spektrum[9]         2812,5
spektrum[10]      3125
spektrum[11]      3437,5
spektrum[12]      3750
spektrum[13]      4062,5
spektrum[14]      4375
spektrum[15]      4687,5
spektrum[16]      5000
spektrum[17]      5312,5
spektrum[18]      5625
spektrum[19]      5937,5
spektrum[20]      6250
spektrum[21]      6562,5
spektrum[22]      6875
spektrum[23]      7187,5
spektrum[24]      7500
spektrum[25]      7812,5
spektrum[26]      8125
spektrum[27]      8437,5
spektrum[28]      8750
spektrum[29]      9062,5
spektrum[30]      9375
spektrum[31]      9687,5
spektrum[32]      10000
spektrum[33]      10312,5
spektrum[34]      10625
spektrum[35]      10937,5
spektrum[36]      11250
spektrum[37]      11562,5
spektrum[38]      11875
spektrum[39]      12187,5
spektrum[40]      12500
spektrum[41]      12812,5
spektrum[42]      13125
spektrum[43]      13437,5
spektrum[44]      13750
spektrum[45]      14062,5
spektrum[46]      14375
spektrum[47]      14687,5
spektrum[48]      15000
spektrum[49]      15312,5
spektrum[50]      15625
spektrum[51]      15937,5
spektrum[52]      16250
spektrum[53]      16562,5
spektrum[54]      16875
spektrum[55]      17187,5
spektrum[56]      17500
spektrum[57]      17812,5
spektrum[58]      18125
spektrum[59]      18437,5
spektrum[60]      18750
spektrum[61]      19062,5
spektrum[62]      19375
spektrum[63]      19687,5

На практике с генератора полностью все частоты выдает, но на музыке выше 15кГц так светодиоды и не загорелись.
Видео
Спойлер
На видео два боковых луча по 15 светодиодов и нижний 30 светиков, то есть отображено 60 частот, не только частот но и их уровень.
Пройденный этап.

Re: Цветомузыка на Stm32

Вт окт 19, 2021 09:47:51

Это на каком камне такая адская скорость? Уж явно не на STM32F0, где даже деления нет (не то, что флоатов). Да и в STM32F1 как-то флоаты не завезли!
Или есть реализация БПФ на фиксированной точке?

Но, как я уже говорил, в вопросах эквалайзеростроения совершенно не нужна фазовая информация, поэтому и нет смысла использовать БПФ, когда есть ДКП!

Вот кто бы сел, да на разных моделях МК сделал сравнительный анализ производительности БПФ, ДКП и периодограмм Ломба-Скаргла (или еще лучше - какой-нибудь вариации периодограмм, более подходящей под данную задачу) на разных МК: F0, F1, F3 и F4.

Re: Цветомузыка на Stm32

Вт окт 19, 2021 10:36:43

Eddy_Em писал(а):Уж явно не на STM32F0, где даже деления нет (не то, что флоатов).
Явно на STM32F0, stm32f030f4p6 и на 32МГц.
А за чем флот, или хотите с точностью до 9 знака после запятой?

Re: Цветомузыка на Stm32

Вт окт 19, 2021 12:07:24

Dimon456, т.е. там целочисленные БПФ? Интересно…

Re: Цветомузыка на Stm32

Вт окт 19, 2021 14:39:10

Мне допустим не понятно как по частотно произходят замеры?Если у меня есть задача 5 полосовых фильтров.Мне так понимается 1 замер через определённое время допустим t1=0.001 c t2 =0.05 а полоса пропускания от частоты 1 диапазон f1-f2 . DR f3-f4.Тут другая проблема нужно замер произвести переместить в DR из него переместить в переменную adc1.Очистить DR регистр и ждёт следущего замера по времени 2 диапазона.Получается сначала ВЧ звука потом СЧ потом НЧ .Может я не так понимаю?

Re: Цветомузыка на Stm32

Вт окт 19, 2021 14:44:52

А чего тут интересного, на AVR-ках как делали?

Код БПФ взят с тырнета, не помню откуда, изначальный код был с 4-мя таблицами с 16 битными расчетами, пересчитал, выкинул все лишнее, в итоге у меня получился простой алгоритм БПФ с 1 таблицей и 8 битными расчетами.

Это очень грубо, если уровень 63 взять за максимум, то я откидываю все что ниже 4, то есть все что ниже -26,5дБ. WS2812 уже при 1 светятся. Так что все что ниже 4 гасим.
Посмотрел сколько времени на расчет тратится, примерно 3,2мс.

Re: Цветомузыка на Stm32

Вт окт 19, 2021 15:30:10

Что такое БПФ полосовой фильтр а Б.Но без таймера я думаю не обойтись.

Re: Цветомузыка на Stm32

Вт окт 19, 2021 20:01:03

Eddy_Em писал(а):Это на каком камне такая адская скорость? Уж явно не на STM32F0, где даже деления нет (не то, что флоатов). Да и в STM32F1 как-то флоаты не завезли!
если уж на AVR цветомузыку с БПФ можно сделать, на STM32 и подавно!

https://cxem.net/sound/light/light127.php

Добавлено after 5 minutes 28 seconds:
и даже на attiny13 :)))

Re: Цветомузыка на Stm32

Вт окт 19, 2021 20:59:02

мне ваша последняя фраза по душе.А где вы это прочитали?

Re: Цветомузыка на Stm32

Вт окт 19, 2021 21:07:41

это вы мне?

Re: Цветомузыка на Stm32

Вт окт 19, 2021 21:11:52

Да

Добавлено after 2 minutes 43 seconds:
"Партия-ум , честь и совесть нашей эпохи"-В.И Ленин.

Re: Цветомузыка на Stm32

Вт окт 19, 2021 21:31:28

если уж на AVR цветомузыку с БПФ можно сделать

Где можно посмотреть код БПФ в int16_t? Аж интересно стало, как это реализовали...
Только не в асме! Еще мне таких извратов не хватало!..

Re: Цветомузыка на Stm32

Вт окт 19, 2021 21:55:16

Если знать формулы .То наверное самому можно посчитать .

Добавлено after 32 seconds:
Фильтра
Ответить