Easyelectronics.ru

Электроника для всех
Текущее время: 20 июн 2019, 14:44

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 21 ] 
Автор Сообщение
 Заголовок сообщения: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 06 фев 2018, 21:17 
Только пришел

Зарегистрирован: 06 фев 2018, 21:06
Сообщения: 9
Доброго времени суток!
Нужен хороший специалист по STM32F4 под средой EWARM для консультаций (скайп \ почта).
Нужно помочь разобраться с рядом вопросов.
Среди них:
- настройка и использование FPU для получения максимальной скорости вычислений с плавающей запятой.
- быстрая математика на F4-F7-H7 в целом.
- организация и работа в связке с большой внешней памятью
- тонкости общего синтаксиса и настроек в EWARM

консультации достойно оплачиваются.

Связаться со мной можно omhohom (пес) gmail (точка) com

C уважением, Влад


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 06 фев 2018, 22:50 
Заглядывает иногда

Зарегистрирован: 26 сен 2015, 03:02
Сообщения: 82
Оптимизацией настроек компилятора/линкера IAR под STM32F4 можно повысить быстродействие в лучшем случае раза в два (исходя из собственного опыта). И то далеко не всегда. Такая оптимизация делается путём размещения кода, данных и стека в правильные участки памяти, выравнивания, оптимизации работы кэша Flash/SDRAM и т.п.

А вот переход где это возможно, на целочисленную/fixed point арифметику может сразу дать выигрыш в 2-4 раза.
Изменения в алгоритме часто могут привести к ещё большему ускорению работы. Если в плане алгоритмов и типов данных вы уверены, что уже не можете сильно повлиять на производительность - только тогда переходите к низкоуровневым настройкам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 06 фев 2018, 23:41 
Только пришел

Зарегистрирован: 06 фев 2018, 21:06
Сообщения: 9
IvanSh писал(а):
Оптимизацией настроек компилятора/линкера IAR под STM32F4 можно повысить быстродействие в лучшем случае раза в два (исходя из собственного опыта). И то далеко не всегда. Такая оптимизация делается путём размещения кода, данных и стека в правильные участки памяти, выравнивания, оптимизации работы кэша Flash/SDRAM и т.п.

А вот переход где это возможно, на целочисленную/fixed point арифметику может сразу дать выигрыш в 2-4 раза.
Изменения в алгоритме часто могут привести к ещё большему ускорению работы. Если в плане алгоритмов и типов данных вы уверены, что уже не можете сильно повлиять на производительность - только тогда переходите к низкоуровневым настройкам.


Вот как раз для всего этого мне и нужна развернутая консультация.
Судя по ассемблеру работа с F32 должна быть дольше ровно на столько, сколько нужно будет циклов для передачи данных в регистры FPU.
И если некий кусок математики посчитать не вылазя из регистров FPU , то вообще по скорости не должно быть отличий от целочисленных вычислений.
Fixed point меня тоже вполне устраивает, но как я понимаю прямых инструментов работы с fp нет , нужно переводить их в интеджер, считать, а потом сдвигами или подобным загонять обратно в нужный q формат.

Я так понимаю у вас есть хороший опыт по данным вопросам, у вас есть возможность в скайпе со мной пообщаться?
Как писал я готов это оплатить.

Зачем мне все это нужно:
Я разработчик музыкальных инструментов, сейчас осваиваю цифровые версии их. По классике их пишут на DSP, именно по причине быстрой дробной математики (бывают DSP fixed point and float as well) . НО , сейчас появились МК с встроенным FPU , которые по описанию должны дать все необходимое мне вплане быстрой математики + гибкость и универсальность в работе с переферией , памятью и т.д, которых не хватает в DSP. И я хочу попробовать писать музыкальные инструменты на STM32F4 и выше.
Но так как я в этой области новичок мне нужна помощь грамотно "въехать" во все ньюансы. А они там есть - помимо IDE - "черт ногу сломает в документации и настройках" у синтезаторов жесткие требования к программингу , такие как 100% реалтайм и мноооого дробной математики. Обычно из МК выжимается все до последней капли в плане скорости, нужна хорошая оптимизация, но при этом писать все звуковое ядро на ассемблере не хотелось бы , а хотелось бы воспользоваться благами цивилизации в виде С и IDE.

В целом на данный момент вопрос номер 1 - заставить компилятор EWARM пользовать FPU вместо int библиотек везде, где появилась запятая.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 03:34 
Заглядывает иногда

Зарегистрирован: 26 сен 2015, 03:02
Сообщения: 82
VladalV писал(а):
Судя по ассемблеру работа с F32 должна быть дольше ровно на столько, сколько нужно будет циклов для передачи данных в регистры FPU.
И если некий кусок математики посчитать не вылазя из регистров FPU , то вообще по скорости не должно быть отличий от целочисленных вычислений.
Не только. Например, операция умножения на 2 в unsigned int будет выполнена в разы быстрее, чем во float. Наиболее частая DSP операция Multiply+Accumulate в целых числах тоже выполняется чуть быстрее. Совсем без FPU получится ещё экономия на переключении контекста RTOS.

VladalV писал(а):
Fixed point меня тоже вполне устраивает, но как я понимаю прямых инструментов работы с fp нет
Вроде в CMSIS-DSP есть работа с Q15, но я никогда не пользовался. Смотрите сами подойдёт ли вам что из \IAR Systems\Embedded Workbench 8.x\arm\CMSIS\DSP_Lib

VladalV писал(а):
По классике их пишут на DSP, именно по причине быстрой дробной математики (бывают DSP fixed point and float as well) . НО , сейчас появились МК с встроенным FPU , которые по описанию должны дать все необходимое мне вплане быстрой математики + гибкость и универсальность в работе с переферией , памятью и т.д, которых не хватает в DSP. И я хочу попробовать писать музыкальные инструменты на STM32F4 и выше.
Да, это правильный подход. DSP в чистом виде вымирают.

VladalV писал(а):
В целом на данный момент вопрос номер 1 - заставить компилятор EWARM пользовать FPU вместо int библиотек везде, где появилась запятая.
Достаточно указать в настройках наличие FPU для всего проекта, если все библиотеки компилируются из исходников. Оболочка EWARM не должна давать компилировать часть кода с FPU, а часть без него -- я редко пользуюсь оболочкой. Если вызывать компилятор из командной строки, то это будет ключ --fpu=VFPv4_sp. Если в каких-то из ваших библиотек есть тип double, то не помешает ещё ключ --relaxed_fp

VladalV писал(а):
у вас есть возможность в скайпе со мной пообщаться?
Как писал я готов это оплатить.
Если есть вопросы которые нельзя открыто задать здесь - пишите в ЛС. Скайпом я не пользуюсь и цели заработать на консультациях у меня нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 14:08 
Только пришел

Зарегистрирован: 06 фев 2018, 21:06
Сообщения: 9
Цитата:
Достаточно указать в настройках наличие FPU для всего проекта, если все библиотеки компилируются из исходников. Оболочка EWARM не должна давать компилировать часть кода с FPU, а часть без него -- я редко пользуюсь оболочкой. Если вызывать компилятор из командной строки, то это будет ключ --fpu=VFPv4_sp. Если в каких-то из ваших библиотек есть тип double, то не помешает ещё ключ --relaxed_fp


Спасибо большое за помощь!
Когда я добавляю --fpu=VFPv4_sp (С compiler -> Extera Options -> Command Line)
Мне компилятор на каждом файле *.c, включенном в проект дает ошибку
[Su004]: Option can only occur once: --fpu

Я не смог найти описание этой ошибки и ее победить.
Не подскажите в чем там дело?

Так же буду признателен, если Вы подскажите где можно найти описание ошибок EWARM


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 14:16 
Заглядывает иногда

Зарегистрирован: 26 сен 2015, 03:02
Сообщения: 82
Этот же ключ должен добавяться автоматически при компиляции всех файлов если в General Options -> Target -> FPU выбран VFPv4.
Какие ключи были при вызове компилятора можно посмотреть в файлах листинга .lst, которые задействуются в C/C++ Compiler -> List


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 15:01 
Только пришел

Зарегистрирован: 06 фев 2018, 21:06
Сообщения: 9
IvanSh писал(а):
Этот же ключ должен добавяться автоматически при компиляции всех файлов если в General Options -> Target -> FPU выбран VFPv4.
Какие ключи были при вызове компилятора можно посмотреть в файлах листинга .lst, которые задействуются в C/C++ Compiler -> List


Попробовал убрать VFPv4 из Target - ошибка сохраняется

Я тестирую компилятор на простом примере
В цикле формула
А = А*(constanta) + B
И смотрю производительность
Так вот когда я константу меняю с 2 предположим на 1.5 производительность падает примерно в 20 раз.

А мне для начала нужно вот такие формулы (MAC подобные ) бодро считать научиться, не превращая это в кошмар, где каждая простейшая мат операция это вызов отдельной CMSIS функции. При этом понятно что для расчета convolution или сложных FIR фильтров вызвать CMSIS не грех а благо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 15:20 
Только пришел

Зарегистрирован: 06 фев 2018, 21:06
Сообщения: 9
IvanSh писал(а):
Этот же ключ должен добавяться автоматически при компиляции всех файлов если в General Options -> Target -> FPU выбран VFPv4.
Какие ключи были при вызове компилятора можно посмотреть в файлах листинга .lst, которые задействуются в C/C++ Compiler -> List


--fpu=VFPv4_sp в lst есть по дефолту если Target -> FPU выбран VFPv4.
Но при этом вот как выглядит код при константе 2.5

for (i = 1; i < 17; i++)
0x8001754: 0xf9bd 0x0000 LDRSH.W R0, [SP]
0x8001758: 0xeebd 0x9ac0 VCVT.S32.F32 S18, S0
0x800175c: 0xf000 0xfd32 BL __aeabi_i2d ; 0x80021c4
0x8001760: 0x2200 MOVS R2, #0
0x8001762: 0x4b5a LDR.N R3, [PC, #0x168] ; OTG_HS_GOTGCTL
0x8001764: 0xf000 0xfd44 BL __aeabi_dmul ; 0x80021f0
0x8001768: 0x2701 MOVS R7, #1
0x800176a: 0xec41 0x0b1a VMOV D10, R0, R1
buff = i2sLR[0] * 2.5 + i + buff;
0x800176e: 0x4638 MOV R0, R7
0x8001770: 0xf000 0xfd28 BL __aeabi_i2d ; 0x80021c4
0x8001774: 0xec53 0x2b1a VMOV R2, R3, D10
0x8001778: 0xf000 0xfe0c BL __aeabi_dadd ; 0x8002394
0x800177c: 0x4604 MOV R4, R0
0x800177e: 0x468a MOV R10, R1
0x8001780: 0xee18 0x0a90 VMOV R0, S17
0x8001784: 0xf000 0xfe7a BL __aeabi_f2d ; 0x800247c
0x8001788: 0x4622 MOV R2, R4
0x800178a: 0x4653 MOV R3, R10
0x800178c: 0xf000 0xfe02 BL __aeabi_dadd ; 0x8002394
0x8001790: 0xf000 0xfe9c BL __aeabi_d2f ; 0x80024cc
for (i = 1; i < 17; i++)
0x8001794: 0x1c7f ADDS R7, R7, #1
for (i = 1; i < 17; i++)
0x8001796: 0x2f11 CMP R7, #17 ; 0x11
0x8001798: 0xee08 0x0a90 VMOV S17, R0
0x800179c: 0xdbe7 BLT.N 0x800176e

А вот тоже самое при константе 2 (любое целое число, не только кратное двум)

for (i = 1; i < 17; i++)
0x8001748: 0xf9bd 0x0000 LDRSH.W R0, [SP]
0x800174c: 0xee20 0x0a08 VMUL.F32 S0, S0, S16
0x8001750: 0xeef2 0x0a04 VMOV.F32 S1, #10
0x8001754: 0xee80 0x0a20 VDIV.F32 S0, S0, S1
0x8001758: 0x0040 LSLS R0, R0, #1
0x800175a: 0xeebd 0x9ac0 VCVT.S32.F32 S18, S0
0x800175e: 0x2401 MOVS R4, #1
0x8001760: 0xf110 0x0001 ADDS.W R0, R0, #1
buff = i2sLR[0] * 2 + i + buff;
0x8001764: 0xee00 0x0a10 VMOV S0, R0
for (i = 1; i < 17; i++)
0x8001768: 0x1c64 ADDS R4, R4, #1
0x800176a: 0x1c40 ADDS R0, R0, #1
0x800176c: 0xeeb8 0x0ac0 VCVT.F32.S32 S0, S0
for (i = 1; i < 17; i++)
0x8001770: 0x2c11 CMP R4, #17 ; 0x11
0x8001772: 0xee70 0x8a28 VADD.F32 S17, S0, S17
0x8001776: 0xdbf5 BLT.N 0x8001764


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 16:17 
Только пришел

Зарегистрирован: 06 фев 2018, 21:06
Сообщения: 9
Кстати, в целом на сколько на Ваш взгляд выбор STM32F4-7 правильный для создания музыкального оборудования?
Задачи основные
1. Быстрая реалтайм дробная математика , можно q31 и даже q15 но F32 лучше конечно
2. Опрос контролов (переменные резисторы, переключатели)
3. относительно большая внешняя RAM (16 - 128 mb )
4. Возможность FLASH
5. USB
6. UART для MIDI
7. DAC - ADC по I2s и SPI
8. Дисплейчик небольшой не сенсорный

Энергопотребление не важно, т.к. все от сети питается в основном


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 17:12 
Только пришел

Зарегистрирован: 06 фев 2018, 21:06
Сообщения: 9
Вот сейчас обнаружилась странная закономерность.
Если я вместо A=B*1.5 + C пишу A=B*k + C , где k - float , k = 1.5 (любое дробное число)
Все наконец-то начинает работать нормально и скорость получается даже быстрее немного, чем если k - integer или если вместо k стоит целочисленная константа.

Вы можетет как-то это прокомментировать или объяснить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 17:29 
Только пришел

Зарегистрирован: 06 фев 2018, 21:06
Сообщения: 9
Причина найдена - EWARM рассматривает и обрабатывает любую дробную константу (те же злочатсные 1.5), как double
и в коде сразу появляется перепаковка дабл - сингл __aeabi_dadd __aeabi_d2f
то же самое происходит , если к обьявить, как double (тот же код, та же задержка)

Как заставить EWARM работать с дробными константами, как с single precision ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 17:47 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3201
1.5f


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 18:09 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1669
Собственно как и написано в стандарте С


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 07 фев 2018, 22:58 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3201
VladalV писал(а):
Кстати, в целом на сколько на Ваш взгляд выбор STM32F4-7 правильный для создания музыкального оборудования?

вышеперечисленное, всмысле периферии, как-то вообще без разницы на каком контроллере делать. нравится stm32 - почему нет.
по вычислительной мощности не очень понятно что именно надо.
любые сжатия/разжатия/фурье/фильтры максимум сотню другую тактов на отсчёт требуют (ну если только не нейронные сети какие-нибудь для распознавания речи) что при звуковых частотах нынче - мелочь.
ещё лет за 10 до появления не то что F7 а stm32 вообще, подобное делалось на DSP: 21хх, шарках, блэкфинах, TMS320, ...
эти dsp за последние 20 лет тоже подобросли различной периферией.
так что я бы туда тоже посмотрел если что-то серьёзное надо по вычислительной мощности, а если побаловаться, то можно и на stm32.

а если бы не жлобство AD и они поступили бы как ST c популяризацией своих МК через раздачу отладочных плат практически нахаляву и доступностью средств разработки,
то учитывая фору по времени, сейчас те же блэкфины могли бы выдавливать кортексы отвсюду, точно так же как АРМы заняли место 8ми битных пиков и авров.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 09 фев 2018, 17:30 
Только пришел

Зарегистрирован: 06 фев 2018, 21:06
Сообщения: 9
_pv писал(а):
VladalV писал(а):
Кстати, в целом на сколько на Ваш взгляд выбор STM32F4-7 правильный для создания музыкального оборудования?

вышеперечисленное, всмысле периферии, как-то вообще без разницы на каком контроллере делать. нравится stm32 - почему нет.
по вычислительной мощности не очень понятно что именно надо.
любые сжатия/разжатия/фурье/фильтры максимум сотню другую тактов на отсчёт требуют (ну если только не нейронные сети какие-нибудь для распознавания речи) что при звуковых частотах нынче - мелочь.
ещё лет за 10 до появления не то что F7 а stm32 вообще, подобное делалось на DSP: 21хх, шарках, блэкфинах, TMS320, ...
эти dsp за последние 20 лет тоже подобросли различной периферией.
так что я бы туда тоже посмотрел если что-то серьёзное надо по вычислительной мощности, а если побаловаться, то можно и на stm32.

а если бы не жлобство AD и они поступили бы как ST c популяризацией своих МК через раздачу отладочных плат практически нахаляву и доступностью средств разработки,
то учитывая фору по времени, сейчас те же блэкфины могли бы выдавливать кортексы отвсюду, точно так же как АРМы заняли место 8ми битных пиков и авров.


Цели - профессиональные, писать синтезаторы (разные их части) и процессора эффектов. Главная мысль почему STM32 - универсальность. Я на одном камне могу практически любой узел написать, могу целочисленную математику, могу дробную, а при этом по вычислительной мощности они уже DSP вполне догоняют, всю F32 базовую арифметику за один такт считают. Ну разве что нет там аппаратного логорифма и синуса и параллельных вычислений , но я пульт микшерный на 128 каналов на них делать не собираюсь , поэтому теоретически должно хватить. Но вдруг есть подводные камни, о которых не знаю, поэтому спрашиваю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 09 фев 2018, 18:04 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3179
Для обработки звука завсегда DSP ставили. Там всё аппаратно приспособлено и не надо изобретать всякой херни. Самостоятельно конечно можно пробовать тыкаться, но по-моему звук будет лажа. По крайней мере, до таких процессоров как Lexicon - как до луны. Синтезаторы? Хм. Тоже, до Korg-а хрен дотянешь.
Микшерный пульт на 128 каналов - хе, есть у меня Yamaha LS9 32-канальная (тоже музыкой увлекаюсь), так скажу, что там этих DSP-шек натолкано туеву кучу. ДСП-шки там насколько помню какие-то ямаховские, собственные, сейчас точно не вспомню.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 09 фев 2018, 19:52 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3201
VladalV писал(а):
Главная мысль почему STM32 - универсальность. Я на одном камне могу практически любой узел написать, могу целочисленную математику, могу дробную, а при этом по вычислительной мощности они уже DSP вполне догоняют, всю F32 базовую арифметику за один такт считают.

а в любых других МК или даже DSP, есть какие-то ограничения которые не позволяют "практически любой узел написать"? ладно ещё периферия, да и та, уже практически везде есть какая угодно.

а про производительности ага, догоняют. 8ми битные пики уже догнали и теперь вместо них в качестве контроллеров одного светодиода всё чаще встречаются :)

а вот если открыть например digikey, то там последний stm32H7 предлагают за 26$, и там же рядом, но уже за 27$ лежит ADSP-SC582 у которого кстати есть АРМ ядро, и даже А5, но оно всё равно вспомогательное к шарку. у которого при той же частоте в 400МГц реальных флопсов будет на порядок побольше чем у H7.
если смотреть на производительность, stm32 за один такт два числа в регистрах перемножить может, но потом надо результат положить в память, затем слазить в память за следущими данными, а если ещё и цикле, то инкрементировать переменную, сравнить, сделать условный переход.
а у DSP есть куча жирных шин до памяти, поэтому за данными можно слазить параллельно с умножением, есть аппаратные циклы поэтому не надо каждый раз инкрементировать/проверять/делать условный переход, да и АЛУ за такт может много чего насчитать, плюс всякие ускорители для того же FFT и фильтров.
в результате например какой-нибудь for(int i = 0; i < n; i++) *a++ += (*b++) * (*c++); в DSP действительно выполняется за 1, а то и меньше такта на итерацию. а не за 10, даже если само умножение stm32 делает за 1 такт.
и получается что тот же FFT что у M3 что у H7 требует под сотню тактов на отсчёт, то есть 250мкс при 1024 точки на 400МГц, а у шарков при той же тактовой частоте (да и цене) получается в 50 раз быстрее.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 09 фев 2018, 20:48 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3179
У "звука" есть такая фишка, как задержка всего тракта от входа до выхода, которая чем меньше, тем лучше. Значения, которые еще не доставляют проблем - всего 1-2 мс. За это время сигнал в тракте должен успеть пройти от входного АЦП или цифрового входа, через маршрутизацию и обработку в несколько ступеней, и до выходного ЦАП или цифрового выхода. Это значит, что производительность всего тракта должна быть нехилой.
В синтезаторе так же - от момента нажатия на клавишу до момента появления звука так же должно проходить не больше единиц миллисекунд. Синтез звука как правило в результате транспонирования по высоте и обработки записанных семплов. Есть варианты и с прямым математическим синтезом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 09 фев 2018, 21:10 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3201
а для обработки за 1мс может набраться только сотня отсчётов да и то при 96кГц.
и соответственно имея гигафлоп это получается 10000 операций на каждый отсчёт.
это что же такое надо сделать со звуком чтобы понадобилось столько вычислений?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 09 фев 2018, 21:23 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3179
Ну я ж говорю - на примере вот таких вот штук:
Yamaha LS9, цифровая 32-канальная микшерная консоль.
http://www.yamahaproaudio.com/global/en ... ations.jsp
Signal delay - Less than 2.5 ms (@48kHz)
Количество вычислений - просто огромное. Если кто немного знает про обработку звука, то скажу, что на каждом из 32-х входных каналов есть: 4-х полосный полный параметрический эквалайзер, два процессора динамической обработки (компрессоры, гейты, экспандеры), отборы на 16 шин микширования, канальный фейдер, включение в разрыв (insert), панорамирование в LR и LRC, ну и еще дохрена всякой хрени, которая непосвященным неинтересна.

Изображение

Show


У меня есть и сервис мануал на нее... сюда не буду выкладывать схемы, а то уж совсем за пределы темы выйдем


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны консультации по STM32 под EWARM (готов оплачивать)
СообщениеДобавлено: 12 фев 2018, 17:58 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 779
IvanSh писал(а):

А вот переход где это возможно, на целочисленную/fixed point арифметику может сразу дать выигрыш в 2-4 раза.
Изменения в алгоритме часто могут привести к ещё большему ускорению работы. Если в плане алгоритмов и типов данных вы уверены, что уже не можете сильно повлиять на производительность - только тогда переходите к низкоуровневым настройкам.


немного работал с биквадратными фильтрами взятыми из стандартной АРМ библиотеки. Использовал float на процессоре поддерживающим его аппаратно (серия f3 и f4) получил результат что обработка быстрее чем с целочисленными q32.

кстати у АРМ была аппликуха направленная на оптимизацию работы с целочисленной математикой с использованием DSP команд. И вроде как ихняя родная либа написана с учетом этих самых команд.
Вообще не знаю как в АРМ но могу сказать по опыту работы с BF532 что правильная организация данных в памяти может дать колоссальный прирост производительности.


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

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


Кто сейчас на конференции

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


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

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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB