Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Цифровой студийный микшер
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
chert_kol
Всем добрый день.

Возникло желание и возможность окунутся в мир ARM.

Вот озадачился разработать цифровой микшер на 8 входов и 3 выхода.

Не может ни кто подсказать сколько ресурсов потребуется на реализацию 3 полосного эквалайзера???
Интересует опыт работы, привязки к определенным чипам пока нет...
Alex11
А Вы уверены, что окунаться нужно именно в этот мир. Это, вообще-то, задачка для DSP, особенно если каналов много и частота оцифровки высокая.
chert_kol
Цитата(Alex11 @ Feb 7 2009, 20:21) *
А Вы уверены, что окунаться нужно именно в этот мир. Это, вообще-то, задачка для DSP, особенно если каналов много и частота оцифровки высокая.


Я просто не представляю объем необходимых ресурсов. Оцифровка не ниже 44,1к выборок/с 16бит.
Alex11
Канал эквалайзера при этом 1 или 8 - на каждый вход? И частота интересна для оценки ресурсов не "не менее", а "не более".
orthodox
А Вы эквалайзер соберите как бы аналоговый, а в цифре только усилением в полосах управлять можно... ресурсов - ноль, и нужен всего один каскад (один ОУ, например).
Хотите - схемку подкину - от легендарного микшера Rover ... Там на 4 полосы - как раз 4 емкости ... Да 4 резистора...Но работает как надо - уже так экземпляров несколько тыс...Просто схема нетривиальная...
С тремя полосами микшер неудобный - звуком трудно рулить, даже если параметрик. А в цифре это обрабатывать - вообще звук убьешь.. Не обязательно с непривычки... Получить что-то реально музыкальное можно либо если повезет - либо убивши на это лет 10 или более... С цифрой все еще хуже...

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

Выпускал я это дело много лет, наработки с охотой отдам любому, кто интересуется вставить пистон китайцам. smile.gif

Еще и с выпуском помогу smile.gif
chert_kol
Цитата(orthodox @ Feb 8 2009, 02:40) *
А Вы эквалайзер соберите как бы аналоговый, а в цифре только усилением в полосах управлять можно... ресурсов - ноль, и нужен всего один каскад (один ОУ, например).
Хотите - схемку подкину - от легендарного микшера Rover ... Там на 4 полосы - как раз 4 емкости ... Да 4 резистора...Но работает как надо - уже так экземпляров несколько тыс...Просто схема нетривиальная...
С тремя полосами микшер неудобный - звуком трудно рулить, даже если параметрик. А в цифре это обрабатывать - вообще звук убьешь.. Не обязательно с непривычки... Получить что-то реально музыкальное можно либо если повезет - либо убивши на это лет 10 или более... С цифрой все еще хуже...

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

Выпускал я это дело много лет, наработки с охотой отдам любому, кто интересуется вставить пистон китайцам. smile.gif

Еще и с выпуском помогу smile.gif


Да аналоговый тракт делали все работает... наработки есть и свои... Что касается блока эффектов, буду весьма признателен за любую информацию...

Вот только закончил проект микшера, все потенциометры, кроме регуляторов уровня, поставил цифровые (AD5241). Сняли показатели, 1% нелинейных искажений, не вариант...

У цифровика есть не оспариваемый плюс - память профилей... Да и задержку канала можно будет устанавливать (в будущем) что очень выгодно при использовании агрегата в больших залах, сами понимаете название студийный микшер очень условное...
orthodox
Цитата(chert_kol @ Feb 8 2009, 11:35) *
Что касается блока эффектов, буду весьма признателен за любую информацию...

Обычно, если не имели дела раньше с эффектами типа разных залов-холов, объем не получаетсяsmile.gif
Если так произойдет - спрашивайте... Я когда это делал, шел от параметров реверберации из книжек по акустике, а не от схем
с сэкономленной памятью(в те года все экономили, и видимо, привычка осталась у них)...



Цитата
Вот только закончил проект микшера, все потенциометры, кроме регуляторов уровня, поставил цифровые (AD5241). Сняли показатели, 1% нелинейных искажений, не вариант...

Странно... Может, где-то что-то просто не так?

Цитата
У цифровика есть не оспариваемый плюс - память профилей... Да и задержку канала можно будет устанавливать (в будущем) что очень выгодно при использовании агрегата в больших залах, сами понимаете название студийный микшер очень условное...

В больших залах не знаю, зачем задержку устанавливать.. Боюсь даже предположить, что так хотят давить АОС...
А профили какая разница, как хранить - в виде уставки цифрового резистора или коэффициентов фильтра...
chert_kol
Цитата(orthodox @ Feb 8 2009, 14:34) *
Обычно, если не имели дела раньше с эффектами типа разных залов-холов, объем не получаетсяsmile.gif
Если так произойдет - спрашивайте... Я когда это делал, шел от параметров реверберации из книжек по акустике, а не от схем
с сэкономленной памятью(в те года все экономили, и видимо, привычка осталась у них)...




Странно... Может, где-то что-то просто не так?


В больших залах не знаю, зачем задержку устанавливать.. Боюсь даже предположить, что так хотят давить АОС...
А профили какая разница, как хранить - в виде уставки цифрового резистора или коэффициентов фильтра...


Да нет все так и есть много звеньев на пути сигнала... Разницы ни какой, а себестоимость высокая, очень высокая..

Задержка сигнала относительно основного сигнала один из самых действенных методов борьбы с эхом в акустически сложных залах...
Alex B._
Цитата(chert_kol @ Feb 7 2009, 22:21) *
Я просто не представляю объем необходимых ресурсов. Оцифровка не ниже 44,1к выборок/с 16бит.

как то это не вяжется со "студийностью". Для кафешек и залов торжеств в самый раз.
Вы определитесь - чего больше хочется - освоить арм, или все таки сделать конкурентный беренжеру продукт. Если первое - то вы выбрали не ту задачу, если второе - то не ту архитектуру.
Вам правильно назвали волшебное слово DSP - поверьте, это не менее увлекательный мир. Начать можно с заточенных под такие задачи:
http://www.wavefrontsemi.com/index.php?id=11,13,0,0,1,0
Сейчас наиболее актуальна серия SigmaDSP от AD:
http://www.analog.com/en/audiovideo-produc...ucts/index.html
ну а потом перейдете на Blackfin и, наконец на floating-point Shark
Если про-аудио занимаетесь, может быть еще эти ссылки будут интересны
http://www.spinsemi.com/products.html
http://www.coolaudio.com/products.html
orthodox
Цитата(Alex B._ @ Feb 8 2009, 22:28) *
Для кафешек и залов торжеств в самый раз.

Едва ли. Их уже бехрингеры задолбали "пластмассовым" саундом.
Есть такое выражение в этой среде:"звучание мягкое, как г-вно" smile.gif
В кафешках и залах торжеств тоже люди с ушами работают.
Причем мой двадцатилетний опыт говорит, что чаще всего "золотые уши" именно там.
Обьясняют, конечно, коряво. Но если терпение потеряет с "умным" инженером,
то может выдать и такое, к примеру: "Короче, ты подъем на 4 кгц убери хоть на децибелла 3, потом послушаем..." бывало и такое...
Осциллографов у них, конечно, не водится... Но уши от долгой практики бывает, калиброваны не хуже...


Это, конечно, не догма...
В студиях слухачи-профессионалы тоже бывают ого-го ...
Даже концерты звезд иногда обслуживают профи - Вы замечали,
что иногда удается разобрать, что поет звездочка (или- мужского пола-звездец)?

Цитата(chert_kol @ Feb 8 2009, 22:19) *
Задержка сигнала относительно основного сигнала один из самых действенных методов борьбы с эхом в акустически сложных залах...


Хммм... Ну, ладно... Можем еще раз заслушать
Вас на эту тему после ваших нескольких первых инсталляций...
Да, собственно, демонстраций даже...
Если захотите...
chert_kol
Цитата(orthodox @ Feb 8 2009, 23:46) *
Едва ли. Их уже бехрингеры задолбали "пластмассовым" саундом.
Есть такое выражение в этой среде:"звучание мягкое, как г-вно" smile.gif
В кафешках и залах торжеств тоже люди с ушами работают.
Причем мой двадцатилетний опыт говорит, что чаще всего "золотые уши" именно там.
Обьясняют, конечно, коряво. Но если терпение потеряет с "умным" инженером,
то может выдать и такое, к примеру: "Короче, ты подъем на 4 кгц убери хоть на децибелла 3, потом послушаем..." бывало и такое...
Осциллографов у них, конечно, не водится... Но уши от долгой практики бывает, калиброваны не хуже...


Это, конечно, не догма...
В студиях слухачи-профессионалы тоже бывают ого-го ...
Даже концерты звезд иногда обслуживают профи - Вы замечали,
что иногда удается разобрать, что поет звездочка (или- мужского пола-звездец)?



Хммм... Ну, ладно... Можем еще раз заслушать
Вас на эту тему после ваших нескольких первых инсталляций...
Да, собственно, демонстраций даже...
Если захотите...


Конечно захочу...
Про клубы тоже могу рассказать, обслуживал у них световое и звуковое оборудование, есть такие случаи...

Что касается DSP? я абсолютно согласен, но встать на DSP гораздо дороже, особенно на TI.
Alex B._
Цитата(chert_kol @ Feb 11 2009, 07:47) *
Что касается DSP? я абсолютно согласен, но встать на DSP гораздо дороже, особенно на TI.

я вам дал сслыку на SigmaDSP. Отладка около 300 УСД, самы чипы дешевы и однокристальны, работают на двухслойке, программирования можно вообще не знать. Лучше варианта для вхождения в цифру пока нет.
AlexandrY
Проблема состоит из нескольких частей.

Первая аппаратная и вызвана необходимостью процессору иметь соответствующий интерфейс к аудио-кодекам
Вторая программная и вызвана отсутствием информации о цифровых алгоритмах качественного преобразования звука.

И только в последнюю очередь интересны ресурсы процессора.
И с этим как раз достаточно ясно.
Оптимизированный для ARM9 алгоритм 16-и битных FIR или IIR фильтров 24-го порядка где-то требует 20 мкс на 100 МГц частоты ядра.
Т.е. 3-х полосный эквалайзер с выборкой 44 КГц не на очень крутом ARM-е сделать не проблема.

Сложнее на I2S интерфейс который в основном один у ширпотребных ARM-ов посадить сколько нужно кодеков или каналов .
Нужно чтоб поддерживался режим TDM c нужным количеством тайм-слотов и был в наличии хитрый DMA чтоб процедуры прерывания на забили все процессорное время.
Есть ARM-ы сразу с микшерами, но то будут микшеры на 2-а...3-и канала расчитанные на применение в мобильных дивайсах где больше каналов и не бывает.

Вообщем небольшую FPGA-шку придется прикрутить для реализации всех цифровых интерфейсов.
А так в остальном все просто biggrin.gif



Цитата(chert_kol @ Feb 7 2009, 17:38) *
Всем добрый день.

Возникло желание и возможность окунутся в мир ARM.

Вот озадачился разработать цифровой микшер на 8 входов и 3 выхода.

Не может ни кто подсказать сколько ресурсов потребуется на реализацию 3 полосного эквалайзера???
Интересует опыт работы, привязки к определенным чипам пока нет...
Rst7
А может, как говорят, брать интеграл по частям?

Я бы решал эту задачу таким способом. На каждый входной канал ставил бы свой камень, в котором реализовывал бы канальный эквалайзер и еще какую надо обработку. Только в этом канале. Потом собирал бы на шине в центральный проц, там суммировал с необходимыми коэффициентами и отправлял в выходные кодеки.

Шину оптимально было бы организовать в виде 16тиразрядной шины данных, строба нулевого канала (частота строба равна частоте дискретизации) и строба семплов (частота строба равна частоте дискретизации умноженной на количество каналов). Т.е. TDMA в чистом виде smile.gif

Исходить тут надо из того, что цена в +3...4 бакса (ориентировочная цена мелких LPC, хотя, например, на Украине таких цен нету, брать надо выше, 7-8) на канал рояли особой не спляешет, зато снизятся требования к центральному камню.

Вообщем, предлагаю подумать над таким вариантом развития событий.
chert_kol
Цитата(Alex B._ @ Feb 11 2009, 10:35) *
я вам дал сслыку на SigmaDSP. Отладка около 300 УСД, самы чипы дешевы и однокристальны, работают на двухслойке, программирования можно вообще не знать. Лучше варианта для вхождения в цифру пока нет.


Посмотрим... думаю что Вы правы...

Цитата(AlexandrY @ Feb 11 2009, 16:22) *
Оптимизированный для ARM9 алгоритм 16-и битных FIR или IIR фильтров 24-го порядка где-то требует 20 мкс на 100 МГц частоты ядра.
Т.е. 3-х полосный эквалайзер с выборкой 44 КГц не на очень крутом ARM-е сделать не проблема.


А на DSP будет быстрее? надо спросить у спецов которые седят на TMS320C6xxx
khach
А почему не FPGA? Нужны же по большому счету только интерфейсы I2S и сумматоры с умножителем на коэффициет. А блок эффектов можно сделать отдельным опциональным, если он вообще нужен. По больщому счету хватит любого мелкого проца для управления и Спартана3. DSP как раз будет проигрывать из-за многопотоковости и отсутствия нужного числа сериальных интерфейсов.
Rst7
Цитата
Оптимизированный для ARM9 алгоритм 16-и битных FIR или IIR фильтров 24-го порядка где-то требует 20 мкс на 100 МГц частоты ядра.
Т.е. 3-х полосный эквалайзер с выборкой 44 КГц не на очень крутом ARM-е сделать не проблема.


Есть мнение, что фильтр 24го порядка для трехполосного эквалайзера нафиг не нужен. Так что один эквалайзер - не проблема, войдет в мелкий дешевый ARM без вопросов. Но каналов то 8.
Alex B._
Цитата(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 - более новые, более перспективные, более мощные.
AlexandrY
Ну я не виноват, что кто-то повелся на дешевую рекламу пик-ов. biggrin.gif
Цифры взяты из проверенных библиотек для 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.pdf


http://www.wavefrontsemi.com/index.php?id=11,13,0,0,1,0
- 8 моно I2S каналов по входу, столько же по выходу. Ресурсов достаточно для 200-полосного эквалайзера (аппликейшн 8 x 20 полос по ссылке)
SigmaDSP - более новые, более перспективные, более мощные.
Alex B._
Цитата(AlexandrY @ Feb 12 2009, 09:59) *
Ну я не виноват, что кто-то повелся на дешевую рекламу пик-ов. biggrin.gif

хватит уже нести бред. Я написал "у меня считает" а не "говорят что". Ваши познания в ЦОС широко известны. Почему, кстати, про 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-ов в целом правильный.

С этим согласен
AlexandrY
Тут вы уж перегнули biggrin.gif
Не надо так грубо провоцировать, от этого желания отвечать по теме не прибавляется. Не пацаны же все-таки.

Цитата(Alex B._ @ Feb 12 2009, 09:59) *
хватит уже нести бред.

такие фразы, которые действительно похожи на дешевый пеар, на меня всегда грусть навивают. Какие библиотеки, где ссылки?
Alex B._
Цитата(AlexandrY @ Feb 12 2009, 11:34) *
от этого желания отвечать по теме не прибавляется. Не пацаны же все-таки.

слив засчитан
chert_kol
Тупо денег не срубишь... все такие тупо специализированы микросхемы ставят китайцы, на рынке их куча (китайских устройств)...

Цель стоит создать качественный продукт...

Нос повернул в сторону ARM так как на них встать дешевле чем на DSP... если не потянут полезу в DSP...

Я бы и на msp430 остался но частота маловата... 16M совсем маловато...

НЕ понимаю каким боком здесь fir iir применить??? я туповат sad.gif
AlexandrY
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 применить??? я туповат sad.gif
chert_kol
Цитата(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-е.


Нада посмотреть... может вы и правы... я думал что можно сделать эквалайзер так

Преобразование Фурье - Умножение на коэффициенты - Обратное преобразование Фурье
AlexandrY
Кстати, весьма логично.
Ваш способ это просто один из путей вычисление 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) *
Нада посмотреть... может вы и правы... я думал что можно сделать эквалайзер так

Преобразование Фурье - Умножение на коэффициенты - Обратное преобразование Фурье
Alex B._
Цитата(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 - там довольно много качественных опенсорсных проектов.
На целевую платформу переносить придется самому - а то как же... И вообще - топикстартер хотел микшер с эквалайзером. Тут никаких, собстно, алгоритмов и нет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.