|
Цифровой студийный микшер, расчет ресурса для разработки микшера |
|
|
2 страниц
< 1 2
|
 |
Ответов
(15 - 26)
|
Feb 11 2009, 22:55
|

Знающий
   
Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274

|
Цитата(Rst7 @ Feb 11 2009, 17:10)  Есть мнение, что фильтр 24го порядка для трехполосного эквалайзера нафиг не нужен. Так что один эквалайзер - не проблема, войдет в мелкий дешевый ARM без вопросов. Но каналов то 8. к тому же есть мнение, что цифры про 20 мкс и порядки взяты с потолка - у меня 18 ногий дспик 16-битный FIR 32-порядка (окно такое же) считает за 30 мкс. А если в общем, то FIR и IIR одного порядка по вычислительным затратам абсолютно не сравнимы - канонический IIR раза в 3-4 медленнее будет, бо КИХ это простая свертка. Хотя может быть тут в дело вступает факт отсутствие у АРМ аппаратных циклов... Хороших алгоритмов звукоЦОС дофига и больше - препринты AES и DSPA в сети еще никто не отменял http://www.stanford.edu/~dattorro/EffectDesignPart1.pdfНу а как итог - для такой задачи никакие плис и монстроидальные комплексы из нескольких LPC2K не нужны (если, конечно, цель - продукт, а не изучение армов) - есть заточенные решения, где все это решается штатно. Ссылки дадены: http://www.wavefrontsemi.com/index.php?id=11,13,0,0,1,0 - 8 моно I2S каналов по входу, столько же по выходу. Ресурсов достаточно для 200-полосного эквалайзера (аппликейшн 8 x 20 полос по ссылке) SigmaDSP - более новые, более перспективные, более мощные.
|
|
|
|
|
Feb 12 2009, 06:59
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Ну я не виноват, что кто-то повелся на дешевую рекламу пик-ов. Цифры взяты из проверенных библиотек для ARM9E. Учтите наличие в ARM9E команд 32-х битного умножения и наличие флага насыщения. Это не с бодуна назвали DSP расширениями. Кто не силен в DSP поясню: когда говорят цифровой фильтр n-го порядка, то имеют ввиду, что у него n умножений. Соответственно и IIR и FIR n-го порядка должны вычисляться примерно за одинаковое время. Опять же для боевого применения статьи из EffectDesignPart1.pdf не имеют практической пользы. Там аналитические формулы не переложенные на язык C-и и целочисленную арифметику. А топик начался не с того, что человек хочет положить годы жизни на портирование алгоритмов. С другой стороны у чипов wavefrontsemi одна цель - быть как можно дешевле. Там нет цели быть как можно проще в разработке и освоении. Поэтому сорсы у них на ассемблере, а апноты локоничны как вывески на базаре. Кроме самого DSP движка не менее важен пользовательский интерфейс - клавиатура, индикатор, регуляторы, интерфейсы, сменные носители и т.д. По любому нужен нормальный процессор для всего приложения. И выбор ARM-ов в целом правильный. Цитата(Alex B._ @ Feb 12 2009, 00:55)  к тому же есть мнение, что цифры про 20 мкс и порядки взяты с потолка - у меня 18 ногий дспик 16-битный FIR 32-порядка (окно такое же) считает за 30 мкс. А если в общем, то FIR и IIR одного порядка по вычислительным затратам абсолютно не сравнимы - канонический IIR раза в 3-4 медленнее будет, бо КИХ это простая свертка. Хороших алгоритмов звукоЦОС дофига и больше - препринты AES и DSPA в сети еще никто не отменял http://www.stanford.edu/~dattorro/EffectDesignPart1.pdfhttp://www.wavefrontsemi.com/index.php?id=11,13,0,0,1,0 - 8 моно I2S каналов по входу, столько же по выходу. Ресурсов достаточно для 200-полосного эквалайзера (аппликейшн 8 x 20 полос по ссылке) SigmaDSP - более новые, более перспективные, более мощные.
|
|
|
|
|
Feb 12 2009, 07:59
|

Знающий
   
Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274

|
Цитата(AlexandrY @ Feb 12 2009, 09:59)  Ну я не виноват, что кто-то повелся на дешевую рекламу пик-ов.  хватит уже нести бред. Я написал "у меня считает" а не "говорят что". Ваши познания в ЦОС широко известны. Почему, кстати, про float не заговорили? Цитата(AlexandrY @ Feb 12 2009, 09:59)  Цифры взяты из проверенных библиотек для ARM9E. такие фразы, которые действительно похожи на дешевый пеар, на меня всегда грусть навивают. Какие библиотеки, где ссылки? Цитата(AlexandrY @ Feb 12 2009, 09:59)  Учтите наличие в ARM9E команд 32-х битного умножения и наличие флага переполнения. Это не с бодуна назвали DSP расширениями. ну конечно, наличие флага переполнения, а не аппаратного усечения как у взрослых дяденек, теперь называется DSP расширением. Теперь понятно, почему он такой тормоз. Скажу по секрету, для звука на переполнение вообще можно в большинстве случаев забить, достаточно оценить устойчивость и использовать, если надо, масштабирующие коэффициенты (для БИХ). Динамический диапазон упадет, но никто не мешает использовать 32 бита. Цитата(AlexandrY @ Feb 12 2009, 09:59)  Кто не силен в DSP поясню: когда говорят цифровой фильтр n-го порядка, то имеют ввиду, что у него n умножений. Только больше никому этого не говорите. Для КИХ это действительно так. Для БИХ порядок определяется количеством полюсов фильтра (а есть еще и нули). Для обычного биквадратного звена (2 порядок) нужно 5 умножений, не считая масштабирующих множителей между звеньями. Вычисление КИХ - это тупое умножение двух векторов: один - коэффициенты, другой - буфер отчетов. В БИХ есть обратная связь, поэтому собстно алгоритм вычисления для любой арихитектуры заметно усложняется. Другое дело, что для получения сравнимой добротности порядок КИХ должен быть в разы больше. И в этом случае часто уже используют умножение в частотной области. Цитата(AlexandrY @ Feb 12 2009, 09:59)  Опять же для боевого применения статьи из EffectDesignPart1.pdf не имеют практической пользы. Там аналитические формулы не переложенные на язык C-и и целочисленную арифметику. А топик начался не с того, что человек хочет положить годы жизни на портирование алгоритмов. А готовое решение есть только у спецдевайсов, типа wavefront, spinsemi, AD и пр. Вообще-то этим люди деньги зарабатывают. Если топикстартер хочет по быстрому срубить бабла не врубаясь в частности - ссылки выше. Цитата(AlexandrY @ Feb 12 2009, 09:59)  С другой стороны у чипов wavefrontsemi одна цель - быть как можно дешевле. Там нет цели быть как можно проще в разработке и освоении.Поэтому сорсы у них на ассемблере, а апноты локоничны как вывески на базаре. Там осваивать-то нечего... Цитата(AlexandrY @ Feb 12 2009, 09:59)  Кроме самого DSP движка не менее важен пользовательский интерфейс - клавиатура, индикатор, регуляторы, интерфейсы, сменные носители и т.д.По любому нужен нормальный процессор для всего приложения. И выбор ARM-ов в целом правильный. С этим согласен
|
|
|
|
|
Feb 12 2009, 11:22
|
Частый гость
 
Группа: Свой
Сообщений: 90
Регистрация: 23-01-09
Из: Санкт-Петербург
Пользователь №: 43 842

|
Тупо денег не срубишь... все такие тупо специализированы микросхемы ставят китайцы, на рынке их куча (китайских устройств)... Цель стоит создать качественный продукт... Нос повернул в сторону ARM так как на них встать дешевле чем на DSP... если не потянут полезу в DSP... Я бы и на msp430 остался но частота маловата... 16M совсем маловато... НЕ понимаю каким боком здесь fir iir применить??? я туповат
--------------------
С уважением, Chert_kol.
|
|
|
|
|
Feb 12 2009, 22:10
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
FIR и IIR это так, условные названия разных систем фильтров. Эквалайзер делается на фильтрах, 3-х полосный эквалайзер значит нужно 3-и полосовых фильтра. При этом можно применить как FIR так и IIR фильтры. В тех дешевках по ссылкам в предыдущих постах применяют для эквалайзера IIR фильтры. Они дают большую добротность при меньших порядках (т.е. меньше умножений надо) но сильнее искажают сигнал. Но это все мелочи на самом деле, реальная проблема у вас в гибком подключении кодеков. FPGA вижу тут как единственный вариант наиболее безболезненно решить проблему. Делаете плату типа такой: http://aly.ogmis.lt/OpenProjects/ARMUltimator2/ARMU2.htmТам стоит такой FPGA. Пугаться не надо. Нынче тулсы для разработки такие что за вас все сами сделают. Открываете в Altium-е редактор схемы для FPGA, накидываете туда сколько надо I2S интерфейсов к кодекам (они там в стандартной палитре) и шинный коммутатор для связи с внешним процом. Ну там еще повозиться с назначением ног FPGA и адресов интерфейсов и все! Работы для ламера максимум на неделю с учетом чтения мануалов. Никакого программирования, VHDL и проч. Чуть продвинетесь в освоении FPGA сможете наваять фильтры какие надо на каждый канал. Недавно появились хорошие тулсы у Xilinx-а которые фильтр спроектированный в Matlab в диалоговом режиме конвертируют в целочисленную арифметику и экспортируют в проект для FPGA. Примените FPGA со встроенными умножителями и любые ширпотребные DSP увянут по сравнению с ними. И главное ни строчки кода! Программа остается только в ARM-е. Цитата(chert_kol @ Feb 12 2009, 13:22)  Тупо денег не срубишь... все такие тупо специализированы микросхемы ставят китайцы, на рынке их куча (китайских устройств)... Цель стоит создать качественный продукт... Нос повернул в сторону ARM так как на них встать дешевле чем на DSP... если не потянут полезу в DSP... Я бы и на msp430 остался но частота маловата... 16M совсем маловато... НЕ понимаю каким боком здесь fir iir применить??? я туповат 
|
|
|
|
|
Feb 15 2009, 13:06
|
Частый гость
 
Группа: Свой
Сообщений: 90
Регистрация: 23-01-09
Из: Санкт-Петербург
Пользователь №: 43 842

|
Цитата(AlexandrY @ Feb 13 2009, 01:10)  FIR и IIR это так, условные названия разных систем фильтров. Эквалайзер делается на фильтрах, 3-х полосный эквалайзер значит нужно 3-и полосовых фильтра. При этом можно применить как FIR так и IIR фильтры. В тех дешевках по ссылкам в предыдущих постах применяют для эквалайзера IIR фильтры. Они дают большую добротность при меньших порядках (т.е. меньше умножений надо) но сильнее искажают сигнал. Но это все мелочи на самом деле, реальная проблема у вас в гибком подключении кодеков. FPGA вижу тут как единственный вариант наиболее безболезненно решить проблему. Делаете плату типа такой: http://aly.ogmis.lt/OpenProjects/ARMUltimator2/ARMU2.htmТам стоит такой FPGA. Пугаться не надо. Нынче тулсы для разработки такие что за вас все сами сделают. Открываете в Altium-е редактор схемы для FPGA, накидываете туда сколько надо I2S интерфейсов к кодекам (они там в стандартной палитре) и шинный коммутатор для связи с внешним процом. Ну там еще повозиться с назначением ног FPGA и адресов интерфейсов и все! Работы для ламера максимум на неделю с учетом чтения мануалов. Никакого программирования, VHDL и проч. Чуть продвинетесь в освоении FPGA сможете наваять фильтры какие надо на каждый канал. Недавно появились хорошие тулсы у Xilinx-а которые фильтр спроектированный в Matlab в диалоговом режиме конвертируют в целочисленную арифметику и экспортируют в проект для FPGA. Примените FPGA со встроенными умножителями и любые ширпотребные DSP увянут по сравнению с ними. И главное ни строчки кода! Программа остается только в ARM-е. Нада посмотреть... может вы и правы... я думал что можно сделать эквалайзер так Преобразование Фурье - Умножение на коэффициенты - Обратное преобразование Фурье
--------------------
С уважением, Chert_kol.
|
|
|
|
|
Feb 15 2009, 17:23
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Кстати, весьма логично. Ваш способ это просто один из путей вычисление FIR фильтра. Но выигрыш в быстродействии будет только если умножение на коэффициенты замените на ченить более быстрое, например сдвиги. Но тут о гибкости уже говорить будет сложно. Например вычисление FIR 64-го порядка займет на 100 МГц около 100 мкс. БПФ на те же 64-е компоненты займет 30 мкс, но еще обратный БПФ - 30 мкс и непосредственно умножение коэффициентов - почти тот же FIR но без суммирования. Еще перед БПФ потребуется наложения окна (еще кучка умножений) чтобы снять искажения вызванные разрывами на краях. Сколько там вам реально нужно точек БПФ чтобы добиться студийного качества гадать не берусь. Есть еще возможность применить IIR фильтры оптимизированные для линейной фазовой характеристики (чтоб не искажать сигнал). Но они черти очень сложно поддаются урезанию коэффициентов до 16 бит. Возможно надо взять ARM-ы с floatpoint сопроцессором. Здесь будет гибкость абсолютная. floatpoint сопроцессор можно слепить и в FPGA в том же Altium-е, но они там заведомо медленнее получаются чем встроенные в ARM-ы Тут вылезает вторая проблема как я говорил с недоступностью инфы по качественным аудиопреобразованиям и их численным характеристикам. Для тех же аудиопроцессоров от Analog Devices все интересные программные либы идут уже скомпилированные, инфы от них ноль. И вообщем нет надежд, что использование DSP как-то заметно облегчит конструирование эффектов. Т.е. тут еще определенный R&D нужен. Цитата(chert_kol @ Feb 15 2009, 15:06)  Нада посмотреть... может вы и правы... я думал что можно сделать эквалайзер так
Преобразование Фурье - Умножение на коэффициенты - Обратное преобразование Фурье
|
|
|
|
|
Feb 15 2009, 20:37
|

Знающий
   
Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274

|
Цитата(AlexandrY @ Feb 15 2009, 20:23)  Но выигрыш в быстродействии будет только если умножение на коэффициенты замените на ченить более быстрое, например сдвиги. Это неправда. Выигрыш будет, и значительный, при увеличении размерности окна. Даже в учебниках об этом пишут: http://www.dspguide.com/ch18/3.htmтут другая проблема - при увеличении буфера увеличивается задержка. Для реал-тайм обработки это недопустимо. Цитата(AlexandrY @ Feb 15 2009, 20:23)  Еще перед БПФ потребуется наложения окна (еще кучка умножений) чтобы снять искажения вызванные разрывами на краях. в данном случает окно не нужно. Цитата(AlexandrY @ Feb 15 2009, 20:23)  Тут вылезает вторая проблема как я говорил с недоступностью инфы по качественным аудиопреобразованиям и их численным характеристикам да чо вы заладили, нет этой проблемы. Алгоритмы и их численные характеристики доступны. Можно вообще в AES вступить, в Питере могу даже дать контакты российской секции. 50 баксов в год - и есть доступ к самым последним препринтам. Можно подписаться на мейл-лист dsp-audio - там вообще куча монстров сидит, которые самые крутые аппараты делали. Можно наконец, качать бесплатные препринты с DSPA и сходить на KVRaudio - там довольно много качественных опенсорсных проектов. На целевую платформу переносить придется самому - а то как же... И вообще - топикстартер хотел микшер с эквалайзером. Тут никаких, собстно, алгоритмов и нет.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|