Easyelectronics.ru

Электроника для всех
Текущее время: 24 янв 2019, 07:42

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




Начать новую тему Ответить на тему  [ Сообщений: 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
Сообщения: 79
Оптимизацией настроек компилятора/линкера 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
Сообщения: 79
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
Сообщения: 79
Этот же ключ должен добавяться автоматически при компиляции всех файлов если в 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
Сообщения: 3088
1.5f


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

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


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

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3088
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
Сообщения: 2753
Для обработки звука завсегда DSP ставили. Там всё аппаратно приспособлено и не надо изобретать всякой херни. Самостоятельно конечно можно пробовать тыкаться, но по-моему звук будет лажа. По крайней мере, до таких процессоров как Lexicon - как до луны. Синтезаторы? Хм. Тоже, до Korg-а хрен дотянешь.
Микшерный пульт на 128 каналов - хе, есть у меня Yamaha LS9 32-канальная (тоже музыкой увлекаюсь), так скажу, что там этих DSP-шек натолкано туеву кучу. ДСП-шки там насколько помню какие-то ямаховские, собственные, сейчас точно не вспомню.


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

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3088
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
Сообщения: 2753
У "звука" есть такая фишка, как задержка всего тракта от входа до выхода, которая чем меньше, тем лучше. Значения, которые еще не доставляют проблем - всего 1-2 мс. За это время сигнал в тракте должен успеть пройти от входного АЦП или цифрового входа, через маршрутизацию и обработку в несколько ступеней, и до выходного ЦАП или цифрового выхода. Это значит, что производительность всего тракта должна быть нехилой.
В синтезаторе так же - от момента нажатия на клавишу до момента появления звука так же должно проходить не больше единиц миллисекунд. Синтез звука как правило в результате транспонирования по высоте и обработки записанных семплов. Есть варианты и с прямым математическим синтезом.


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

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


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

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2753
Ну я ж говорю - на примере вот таких вот штук:
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
Сообщения: 736
IvanSh писал(а):

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


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

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


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

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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

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