Андрей Смирнов
Время чтения: ~34 мин.
Просмотров: 42

Adau17017

41eaef.jpg Всем добрый день, в этом обзоре я расскажу как можно относительно недорого добавить плату аудио процессора цифровой обработки сигналов (DSP) на базе чипа ADAU1701 в УНЧ, на примере своего DIY усилителя / мультимедийного центра (из моего предыдущего обзора), покажу как им можно управлять в on-line режиме, и добавить то, что всегда хочется, но страшно признаться в широком кругу ценителей короткого аудиотракта — ЭКВАЛАЙЗЕР, для корректировки АЧХ акустических систем и комнаты. В обзоре представлены приобретенные платы, схемы подключения, результаты использования и проблемы, с которыми столкнулся в ходе реализации, и которые читатели, возможно, помогут мне решить.

Введение.

Если Вы читали мой предыдущий обзор DIY усилителя, то у меня было несколько пунктов по проблемам и доработкам: — поставить термовыключатель для вытяжного вентилятора корпуса; — добавить плату DSP на ADAU1701 для эквализации и ФВЧ/ФНЧ АС и сабвуфера; — решить проблему с небольшим фоном 50/100 Гц; По второму и третьему пункту будет чуть позднее, а вот по термовыключателям для вытяжного вентилятора корпуса хотел бы немного поделиться. Термовыключатели были приобретены на Aliexpress по данной ccылке: NO-Normal-Open-Temperature-Switch-Thermostat Термовыключатели имеют два вывода, брал версию NO, выключатель замыкает цепь питания на вентилятор при достижении необходимой температуры, взял на 60 и 65 град.

Один термовыключатель поставил на радиатор усилителя левого канала, второй на радиатор усилителя сабвуфера. Подключил термовыключатели параллельно, в разрыв провода питания +12В вытяжного вентилятора. Нагревал их отдельно феном — всё работает. В эксплуатации пока не проверял, усилители еще так не нагружал до порога срабатывания.

ГЛАВА 1. Комплектующие для DSP:

Я долго изучал вопрос бюджетных реализаций цифровых сигнальных процессоров для аудио (далее по тексту «DSP»), всё конечно сводилось к MiniDSP 2×4, но с учетом их доставки становилось как-то совсем небюджетно. С другой стороны были различные проекты на чипах от Analog Devices c использованием их софта SigmaStudio, и в итоге я набрел на плату DSP на ADAU1701 от CHIPDIP: RDC2-0027v2, SigmaDSP ADAU1701. Модуль цифровой обработки звука. V2 У них есть две версии данной платы — RDC2-0027v1 и RDC2-0027v2. RDC2-0027v1 отличается размерами, более широкими диапазонами питающего напряжения (5В — 36В), но отсутствием EEPROM на плате, а лишь посадочными местами под память в корпусах DIP или SOIC, которую надо приобрести отдельно (что не проблема). Я выбрал для текущего проекта версию RDC2-0027v2, которая питается от +5В и уже имеет на борту EEPROM. Сама плата выглядит следующим образом:

Схема платы и назначение разъемов:
Для моих нужд эта плата мне оказалась за глаза, два канала на вход (АЦП) и четыре на выход (ЦАП), два на АС левого и правого канала, и один канал на сабвуфер. Производительности данного DSP мне тоже более чем достаточно, так как сложных схем обработки сигнала и алгоритмов не планируется. Подготовка проекта обработки сигнала для данного DSP осуществляется в прекрасной программе SigmaStudio, которую реально постарались сделать для людей, что даже я, как гуманитарий, без опыта программирования, смог с ней разобраться, и выполнять необходимые манипуляции. Конечно это не то удобство использования плагинов MiniDSP, но всё решаемо и совсем не отпугивает, особенно когда есть желание разобраться. На странице товара представлены также схемы подключения программаторов (которые также продаются магазином) для прошивки EEPROM уже готовым проектом из программы SigmaStudio. Но мне такой вариант не очень понравился, так как мне необходима возможность видеть, а точнее слышать результаты обработки в реальном времени, а не заниматься постоянной прошивкой EEPROM и прослушкой результатов. Поэтому было решено пойти по пути использования решения на базе микросхемы CY7C68013A от Cypress Semiconductor. Которая умеет «прикидываться» стандартным интерфейсом USBi от AD для подключения к DSP по USB, c возможностью внесение изменений в on-line режиме и записи проекта в EEPROM, для последующей загрузке при запуске DSP. На Youtube канале CHIPDIP есть видео по использованию данной микросхемы в работе (ссылка на видео), но плата, которую можно у них приобрести стоит около 1000 р., еще и подключается как-то странно. На просторах Aliexpress я нашел вот такую плату на микроcхеме CY7C68013A (EZ-USB FX2LP CY7C68013A USB logic analyzer core board+Source Code): В отзывах есть информация по удачному подключению к ADAU1701, поэтому я решил её взять. Вот так плата выглядит в живую:
Подключение к ПК через кабель MiniUSB, при подключении загорается красный светодиод:f5e2b7.jpg У платы несколько режимов работы, которые меняются путем снятия установленных на выводах джамперов, и я думал что мне придется искать необходимую комбинацию, чтобы подобрать нужный режим, но всё заработало, как говорится, «из коробки». Не снимая никакие джамперы всё определилось как надо с первого раза.

ГЛАВА 2: Софт и драйверы:

Так как сейчас в работе только макбуки, а SigmaStudio и программное обеспечение для платы CY7C68013A работает только в Windows, то установку производил в виртуальной машине VirtualBox, с уставленной Windows 7 x64. Пакет SigmaStuidio берем по следующей ссылке и устанавливаем: ссылка Немного про установку драйвера для платы на CY7C68013A: При первом подключении плата определилась как неизвестное устройство:97586b.png Драйверы для платы я взял со страницы видео CHIPDIP (ссылка)Драйвер для платы CY7C68013A Скормил драйвер «неизвестному устройству» и оно стало определяться как «Cypress FX2LP No EEPROM Device», именно так как и нужно. Никакие джамперы на плате не трогал, всё оставил как есть.

Далее из пакета программного обеспечения для платы Cypress (архив расположен по ссылке: CySuiteUSB) необходимо запустить утилиту «CyConsole» В Cypress USB Console мы видим наше устройство. Теперь в данной программе необходимо нашему устройству скормить скрипт, который размещен по пути C://Program Files/Analog Devices/SigmaStudio 4.2/USB drivers/x64/ADI_USBi.spt и нажав кнопку «Play script» запустить скрипт. В системе пропадет наше устройство, и появится новое, под названием «Analog Devices USBi (programmed)»
Пользователям VirtualBox: у меня после загрузки скрипта пропало исходное USB устройство, а новое не появилось, искал почему, пока не вспомнил, что необходимо указать в меню, что нужно подключить новое USB устройство в гостевую ОС. После в настройках виртуальной машины я добавил оба устройства как постоянно подключаемые в гостевой ОС, и они появляются без проблем. Подключение платы CY7C68013A и DSP ADAU1701: Обе платы будут общаться по шине I2C, и обращение и запись в EEPROM платы DSP также осуществляется по I2C. Подключается всё это следующим образом (используем пины SDA, SCL, GND): Для тестирование я с платы взял CY7C68013A +3,3 В для питания DSP ADAU1701: При подключении платы CY7C68013A к ПК, запускаем снова скрипт в Cypress USB Console, и видим статус подключения интерфейса USBi в программе и SigmaStudio, блок USB Interface загорелся зеленным цветом, значит связь есть. Проект в SigmaStudio имеет блочную структуру, необходимые блоки как для организации аппаратной части, так схемы обработки сигналов выбираются из дерева блоков «Tree Toolbox», и соединяются связями в рабочем поле блоков. Для начала работы с платой DSP ADAU1701, на вкладке «Hardware configuration» рабочей области необходимо добавить блоки USB Interface, IC1 ADAU1701, и блок IC2 E2PROM, для последующей записи нашего проекта в EEPROM на плате. На вкладке «Schematic» уже непосредственно размещаем блоки «ввода» (АЦП) Input 1, и «вывода» Output 1 (DAC1), Output 2 (DAC2) и так далее. А уже между блоками ввода и вывода размещаются блоки с различными алгоритмами обработки. Для тестирования я добавил блок «Multiple Volume Control», сделал связи: Нажав на кнопку «Link Compile Download» компилируем проект и загружаем его напрямую в DSP ADAU1701, сразу же видим изменения, звук пошел, громкость регулируется. Для того чтобы данный проект записать в EEPROM на плате DSP, для последующей загрузки при самостоятельном включении, необходимо перейти на вкладку Hardware Configuration, в меню, по щелчку правой копки мыши, выбрать пункт «Write latest compilation to E2PROM», выбрать параметры объема памяти, страницы записи и частоты, и выполнить запись в память.
Теперь, при очередной подаче питания на DSP, наш проект подгрузится из памяти, и всё заработает как мы планировали.

ГЛАВА 3: Внедрение платы DSP в УНЧ, запуск и проблемы:

Если вы читали мой предыдущий обзор, то у меня многоуровневая схема размещения компонентов в корпусе усилителя, соответственно и новую плату DSP необходимо было размещать в новом уровне. Для платы подготовил новую площадку из тонкого оргстекла и разместил плату на ней: Новую площадку уже третьего уровня разместил уже на имеющейся площадке второго уровня платы Android TVBox: На первом уровне под ними находится основная плата предварительного регулировки громкости и селектора входов на PGA2311, с неё же я и взял питание +5V для платы DSP, нашел выводы до точки питания PGA2311. Установил всё на площадках, сигнал на вход DSP идет с платы регулировки громкости и селектора входов PGA2311, с выхода DSP сигнал идет непосредственно на УНЧ левого и правого каналов и УНЧ сабвуфера.Из изначальной схемы своего усилителя я убрал китайскую плату ФНЧ сабвуфера, и у меня пропал тот слабый фон 50/100 Гц, который меня немного напрягал, и который мы обсуждали в комментариях. Земляная петля образовалась через него. Скорее всего мне действительно нужно было развязать резисторами БП усилителей ЛК и ПК и маломощный стабилизированный двух-полярных источник питания ±12 В, от которого питался ФВЧ сабвуфера. Для подключения платы CY7C68013A к DSP надо было сделать отключаемое решение, чтобы я мог в любой момент взять плату CY7C68013A, подключиться к усилителю, сделать необходимые изменения, залить в EEPROM и отключиться. Конечно можно разместить саму плату CY7C68013A в корпусе, и вывести только разъем USB для подключения к ноутбуку, но мне захотелось сделать отдельный мобильный модуль, который я также смогу аналогично подключить к DSP, который собираюсь установить в авто. Для подключения нужно три контакта, я долго думал, что же заказать, чтобы был и штекер, и гнездо, и небольшого размера, так как задняя панель моего усилителя уже забита, пока не увидел у себя в запасах стерео гнездо 3.5 мм. Центральный контакт — GND Левый канал — SDA, Правый канал — SCL Гнездо разместил на задней панели, провода от гнезда завел непосредственно на разъемы платы:

Первый запуск и проблемы:

Первый запуск меня встретил жутким фоном. Это уже не тот небольшой фон, это прямо серьезный фонище! На столе всё было замечательно, в корпусе опять проблемы. Отвлекся на другие дела, в голове перебирал возможные причины, что я добавил, что повлекло за собой земляную петлю. В итоге додумался — пришел, проверил, убедился. В гнезде 3,5 мм для подключения платы CY7C68013A я использовал центральный контакт для GND. Центральный контакт гнезда соединяется с металлических входным отверстием, которое также служит для крепления посредством круглой гайки по резьбе гнезда к панели, к металлической задней панели… Откинул GND с платы — фон пропал, причем вообще пропал, и не поймешь, работает усилитель или нет. Позже я нашел такое же гнездо, только с полностью пластиковым корпусом, поставил его в то же место, но уже аккуратно на термоклей. Проблема с петлей решена. А вот со второй проблемой еще веду ожесточенную борьбу, и буду рад советам. После включения усилителя и подачи питания на DSP, у меня не появился звук, проверил питание на плате DSP, +3,3 В после преобразователя на плате есть, но ADAU1701 не запустился. Я передернул разъем питания на плате, и DSP успешно запустился. Выключаю усилитель, снова включаю — ADAU1701 опять спит, снимаю и ставлю обратно фишку питание на плате — запускается, снимаю и ставлю обратно 10 раз, запускается в 10 случаях из 10. Выключая питание усилителя и моментально включаю — ADAU1701 запускается. Отключил питание от платы DSP, отрезал старый провод USB, +5В и GND завел на плату, штекер USB вставлял во все источники, ноутбук, блок питания 5V для Raspberry Pi, различные зарядные устройства 5В, со всех источников ADAU1701 запускается без проблем, правда с маленьких блоков питания и USB портов TvBox приходят такие страшные помехи и пульсации, при подключении к USB порту ноутбука всё отлично. Сел мультиметром на питание с платы регулировки громкости и селектора входов PGA2311, при включении усилителя напряжение на плате появляется с нарастанием, думаю пока заряжаются емкости после выпрямителя. Возможно при подаче вначале пониженного напряжения ADAU1701 уходит в какой-то свой особый режим и ждет, правда не знаю чего. Сообщения о таком поведении я также встречал на форуме на сайте Analog Devices. Для себя выделил два решения: — подача питания на ADAU1701 c задержкой, когда питание стабилизируется; — поставить отдельный малошумящий импульсный источник питания с гальванической развязкой для отдельного питания ADAU1701; По первому варианту решил попробовать следующее: у меня установлены после УНЧ платы защиты АС. На плате защиты сабвуфера у меня установлено реле FINDER 40.52S, имеющее две группы контактов, но для вывода на сабвуфер у меня использована только одна группа. Включение АС происходит с задержкой через это реле, поэтому я решил использовать свободную группу контактов для подачи напряжения через неё на ADAU1701. Почти получилось, но задержки не всегда достаточно для беспроблемного включения ADAU1701, я пытался ее увеличить путем увеличения емкости С2 по схеме, но изменения по времени задержки почему-то незначительные. Я бы и дальше пошел по пути поиска возможности увеличить задержку включения, если бы не другая проблема. При включении и выключении ADAU1701 издаются очень неприятные звуки и хлопки, которые не очень полезны и динамикам, и ушам. Поэтому я рассматриваю второй вариант — малошумящий импульсный источник питания с гальванической развязкой. Новый БП может вообще быть включен на постоянной основе, как сейчас, у меня работает и Raspberry Pi и TVBox, потребление там мизерное. Я заказал несколько типов мелких ИБП, посмотрим, что получится с ними, надеюсь не услышать что-то страшное в «эфире», как это было от различных USB зарядок. Я буду рад если в комментариях опытные товарищи мне посоветуют альтернативные решения, возможно более простые и очевидные, о которых я пока не догадываюсь.

ГЛАВА 4: Измерение АЧХ АС и комнаты и корректировка в DSP.

Для измерений АЧХ АС и комнаты, а также для последующих задач по донастройке системы в авто, я приобрел измерительный микрофон с файлом корректировки. Пока абсолютно нет времени для изготовления «человеческого» кронштейна под микрофон и аккумулятор питания, поэтому на скорую руку был взят кусок фанеры, трубный хомут, стяжки, болт, шайбы, гайки, боевого товарища — штатив от лазерного нивелира, сборку из двух старый аккумуляторов 18650, и кабель от микрофона до ноутбука. Для быстрых измерений пойдет.

Для подключения к ноутбуку я купил недорогую USB звуковую карту VENTION приобретенную по ссылке Для замеров АЧХ использую Room EQ Wizard, как наиболее сейчас популярный инструмент для этих целей, а также как софт, отлично работающий на macos. В программу подгрузил файл калибровки микрофона, а также сделал файл калибровки звуковой карты (хотя это и не столь необходимо). Я сделал замер поочередно левой и правой АС, а затем оба канала вместе (АС — Microlab SOLO3, самая первая версия, пассивный вариант), все замеры в точке прослушивания. Получилась вот такая красота )): Левый канал: Правый канал: Оба канала вместе: В SigmaStudio быстро накидал новый проект, добавив следующие блоки: — блок входов (Input 1) — блоки выходов (Output 1-4) — блоки Automatic Speaker EQ (AutoEQ) — T-соеденители (Т1-2) для разветвления сигнала от предыдущего блока; — Индикатор уровня (Level 1-2) Немного поподробнее про блок Automatic Speaker EQ. Данный блок может служит для автоматического подбора фильтров по загруженному графику АЧХ АС, относительно заданной целевой АЧХ. Automatic Speaker EQ может быть однополосным, двух-полосным и трех-полосным, со встроенным кроссовером. Я для быстрой проверки выбрал однополосный вариант, так как сабвуфер еще не ставил и не подключал. На первой вкладке блока предлагается загрузить файл с данными АЧХ, которые будем фильтровать. Из Room EQ Wizard делаю экспорт полученного графика АЧХ в текстовый файл со следующими параметрами:
Полученный файл просто так не подгрузится в блок, так как Room EQ Wizard и SigmaStudio разные заголовки данных в файле, Поэтому такой заголовок данный в исходном файле: Меняем на такой: Новый файл с изменениями подгружаем в блок Automatic Speaker EQ. На следующей вкладке «Target Response» подстраиваем уровни относительно нуля, и рисуем целевую АЧХ и диапазон для корректировки. Сделаем её пока прямой. Позже можно поиграться с целевыми кривыми АЧХ. На вкладке Design Settings задаем количество используемых фильтров, диапазоны изменений, количество попыток подбора и подстройки, и нажатием кнопки «Design Filters» модуль рассчитывает фильтры для получения заданной прямой АЧХ: На вкладке «Filter» можно посмотреть какие фильтры были применены, изменить, добавить и удалить отдельные фильтры, сравнить изначальную и рассчитанную АЧХ, а также кривую фильтрации. Настройки для данного блока (левого канала) сохраняем через «File -> Save as» и загружаем эти же настройки для такого же блока правого канала, компилируем проект, и загружаем в DSP ADAU1701 На Youtube есть очень подробное видео человека, который как раз описывает различные варианты эквализации АС в SigmaStudio, как с использованием блока Automatic Speaker EQ, так и подбором параметрического эквалайзера под результаты расчет EQ в REW, а также расчетом FIR фильтров в rePhase. Повествование несколько затянуто, но всё равно полезно и интересно: ссылка Включаем усилитель, подключаем микрофон, запускаем Room EQ Wizard и делаем замеры, в той же точке прослушивания Левый канал: Правый канал: Оба канала вместе: Сравнение графиков до эквализации и после: Для подключения сабвуфера затем можем добавить блок двух-полосного кроссовера, с большим выбором типа фильтра ФНЧ и ФВЧ: Это был быстрый вариант измерений и эквализации, возможности SigmaStudio для меня пока безграничны, и есть огромный простор для изучения, в том числе и научиться правильно делать замеры и их интерпретировать, ведь некоторые вещи эквалайзером не исправить, соответственно и нечего их фильтровать. Надо сидеть, разбираться, пробовать, вещь очень интересная. Осталось сделать нормальную коробку для платы CY7C68013A, и кабель для подключения. Вообще ADAU1701 позволяет подключение внешних АЦП и ЦАП по шине I2S, а также кнопок и потенциометров и энкодеров в GPIO для регулировок, много возможностей, уже много идей и уже есть представление, каким будет мой следующий мультимедийный усилитель. Для аудиопроцессора в авто уже получил плату RDC2-0027v2, заказал I2S DAC на PCM 5102, будет подключение по I2S, так как в авто поканальный фронт, и для сабвуфера не хватает имеющихся каналов ЦАП ADAU1701. Будем делать аудиопроцессор в авто, думаю тоже будет интересный обзор. Всем спасибо за внимание, буду рад если вы в комментариях дадите советы по решению возникших проблем.

Обычно люди идут в магазин автозвука и покупают компоненты. Я же сначала спаял цифровой аудиопроцессор, а компоненты поставил какие есть.

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

1. Начало2. Что внутри3. Установка4. Настройка4.1 Настройка задержек4.2 Настройка АЧХ5. Прослушивание6. Итоги, достоинства, недостатки7. Бонус

  • Мид, Мидбас — Динамик для низких и средних частот(примерно 80-3кГц)
  • Пищалка — Динамик для высоких частот (3кГц-20кГц)
  • Саб, Сабвуфер — Динамик для самых низких частот (20-80Гц)
  • Фазоинвертор — труба в корпусе колонки(сабвуфера), настроенная на определенную частоту для увеличения звукового давления
  • АЧХ-Амплитудно-Частотная Характеристика — График зависимости звукового давления от частоты. Идеальная АЧХ — прямая горизонтальная линия. Влияет на восприятие тонального баланса звука.
  • Параметрик, параметрический эквалайзер — Фильтр с заданной частотой, добротностью, уровнем и типом фильтра(в данной статье peak и lowshelf). В отличие от простого графического эквалайзера является более гибким и применяется в целях коррекции влияния компонентов, установки, помещения(салона). Обычно применяется в студийной и концертной аппаратуре. Без измерения микрофоном настроить практически нереально.

Вдохновился разработками фирмы miniDSP и захотел создать подобное для машины. Сердце процессора чип от Analog Devices ADAU1701

Это готовый DSP процессор для аудио со встроенным 2 канальным АЦП и 4 канальным ЦАП. Практически все используют его в режиме 2х4. Но у меня самая обычная для авто система: 2 мидбаса, 2 пищалки, сабвуфер. Нужно минимум 5 каналов.

Почитав описание выяснилось, что чип поддерживает подключение внешнего ЦАП по I2S шине.

Спаял все на макетке и проверил:

Чип действительно выдает все сигналы для работы цапа и поддерживает дополнительные каналы.

Была разработана и спаяна плата:

Подобран корпус и сделаны передние и задние панельки:

с другой стороны:

  1. Гальваническая развязка питания с входом Remote (чтобы выключался от магнитолы и не расходовал аккумулятор)
  2. Сам чип ADAU
  3. EEPROM для хранения настроек ADAU.
  4. Чип Cypress cy68013a для прошивки через USB. Плата определяется как программатор Analog Devices USBi. Подключен к ADAU через I2C шину. Можеть прошивать ADAU на лету и EEPROM для сохранения настроек.
  5. ЦАП PCM1754 2 канала
  6. Входные и выходные операционники с фильтрами по даташиту
  7. 2 входа тюльпан и 2 высокоуровневых входа (используются либо тюльпаны либо высокоуровневые. Вместе нельзя)
  8. 5 выходов тюльпан
  9. 2 входа внешнего управления. На каждый можно подцепить кнопку или переменный резистор (крутилку).

Схема главного блока:

RC_IN1 и RC_IN2 это входы для подключения крутилки/кнопки. Защищены резисторами и диодами. Конденсаторы для защиты от дребезга контактов. Транзистор для внутреннего формирователя напряжения ядра 1,8В. Инвертор с триггером Шмитта для вывода тактовой частоты(masterclock) на ЦАП. Повторитель на ОУ для средней точки аналоговых частей устройства.

Остальная обвеска по даташиту для работы внутренних частей микросхемы.

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

Выходной фильтр 2 порядка по даташиту:   ЦАП с точно таким же фильтром:  

Усилки: 1 готовый ACV 4 канальник (чёрный справа) и 1 самодельный для пищалок (снизу, серебристый): сам дсп процессор сверху слева серебристый в плёнке. Межблочные кабели: самодельные сделанные в размер

динамики в дверях:

Настройка ведется через утилиту SigmaStudio:   Она позволяет как угодно тасовать блоки обработки, входы, выходы. Все настройки применяются “на лету”. Но после перезагрузки чип загружается с EEPROM, поэтому настройки сами не сохраняются. Нужно принудительно прошить EEPROM в этой же утилите.

Во первых были настроены все уровни:

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

На этом настройка отверткой закончена. Дальше все только с ноута в сигма студии.

4.1 Настройка задержек

Рулеткой замерил расстояние до динамиков. Затем пересчитывал так:

Расстояние=(Расстояние до дальнего динамика)-(Измеренное расстояние)

Таким образом получено расстояние на которое нужно “отодвинуть” динамик.

Максимальная задержка получается для левой пищалки. Минимальная для правого мида и сабвуфера. Так получилось что сабвуфер и правый мид оказались на одном расстоянии.

Впоследствии при прослушивании во все каналы была добавлена задержка в 100 семплов чтобы “придвинуть” сабвуфер. Это настраивалось на слух. Очень сложно уловить что сабвуфер “придвинулся” как надо. Но если задержку убрать, то слышно что сабвуфер играет как бы отдельно сзади.

4.2 Настройка АЧХ

Далее будет много графиков АЧХ. Сразу уточню почему некоторые красивые, а некоторые кривые. Те АЧХ, которые сняты близко к динамику на расстоянии 5 сантиметров очень красивые. Но при настройке нужно использовать АЧХ в точке прослушивания. Они складываются с отраженным звуком от поверхностей салона. В некоторых местах образуются узкие и сильные провалы от стоячих волн. Это нормально. Если измерить то же самое в помещении с любой крутой системой, то будут такие же кривульки. При настройке АЧХ самое важное выровнять тональный баланс, чтобы была горизонтальная линия без наклонов, сильных горбов и пиков. Узкие провалы не так важны. Их нельзя исправить закачивая больше энергии. Можно только сделать глухую комнату. В машине это просто невозможно.

На данных пищалках частота резонанса 1,4кГц. По паспорту они играют от 3 кГц. Ниже делать опасно. Выше нежелательно-сцена опустится к мидам. Кроме того левый мид не очень хорошо играет 3кГц т.к. находится под большим углом к водителю и закрывается ногой. Угловая АЧХ начинает спадать уже с 2-2,5 кгц.

АЧХ в точке прослушивания:

АЧХ мида с фильтром 3 кГц:

У обоих мидов спад с 400 герц скорее всего из-за негерметичности дверей. Исправлено фильтром Low Shelf.

Для каждого динамика подобраны свои параметры фильтров.

АЧХ мида до коррекции:

При замере сабвуфера выявился существенный подъем в области 50 Гц не зависящий от положения микрофона:

Все динамики были подстроены между собой по уровню. Уровень левого канала немного убавлен, чтобы казалось что сидишь между колонками. Самый хороший эффект дает с задержками.

Финальная АЧХ:

Выше 8-10 кГц-особенность микрофона и входа звуковухи. Дает похожий результат и на других колонках

Финальный результат прошит в EEPROM. Чтобы прошивка заработала нужно перезагрузиться: отключить USB, выключить и включить магнитолу.

Можно приступить к прослушиванию. Проводилось со смартфона с внешним USB ЦАП и записями во flac.

Сцена поднялась, тоесть звук перестал идти из ног и непонятно откуда. А переместился вперед. Все инструменты как живые. Пищалки играют так детально и слитно с мидбасами, как не играли никогда.

Такое ощущение что выкинули все эти мутно звучащие динамики и поставили новые. Удивительно что простые дешевые динамики могут ТАК играть. Сабвуфер перестал бубнеть. Не утапливает все басом. Звучит монолитно с фронтом. Иногда думаешь: где саб? Почему не звучит? А если выключить, то сразу слышно.

После прослушивания была еще одна доработка. На АЧХ сабвуфера заметно, что несмотря на хороший фильтр он играет достаточно далеко за свой диапазон. На музыке это сказалось в том, что его звук как бы затягивает удары и низкие ноты которые и так отыгрываются передними динамиками. В итоге был добавлен еще 1 фильтр выше 100 герц. И этот недостаток пропал.

Вывод: не динамики красят звук. Динамики просто должны быть достаточно качественными и нормально установленными. Но самое главное: НАСТРОЙКА. С готовыми кроссоверами без настройки вы никогда не получите идеальный результат. Можно мучаться и менять систему постоянно или настроить 1 раз и радоваться звуку.

Недостатки:

  1. Придется большинство песен с флешки удалить и найти замену в нормальном качестве.
  2. На большой громкости миды звучат хуже. Это недостатки самих динамиков и установки.
  3. Самый главный недостаток системы задержек — звук имеет хорошую “сцену” только на водительском месте.

Вчера проехался на пассажирском: звук вроде тот же, но уже какой-то простоватый, нет глубины. В безпроцессорной системе этот недостаток тоже есть, но там нет такой большой разницы. Что у водителя, что у пассажира “сцена” хуже, чем на водительском месте системы с процессором.

Кто внимательно читал “ЦАП PCM1754 2 канала”. Это значит что процессор получился 6 канальный! Чтобы получить шестой канал достаточно припаять еще один тюльпан к выходу ЦАПа.

Электрогитара давно стала неотъемлемым атрибутом едва ли не каждой музыкальной группы. Вместе с тем, активное развитие получил и рынок устройств, основной функцией которых является обработка гитарного звука. Как Вы могли догадаться, речь в статье пойдёт о гитарных эффектах. В статье присутствует описание некоторых гитарных эффектов, а также свод полученного нами при разработке гитарного процессора горького опыта. Кстати, гитарный процессор мы разрабатывали в качестве курсового проекта в университете. Что такое гитарные эффекты? Для чего они нужны? Пусть следующее видео ответит за нас:

Звуковые эффекты

Ниже приведена классификация эффектов в зависимости от особенностей их реализации: 1) Фильтры – ФНЧ, ФВЧ, полосовой фильтр, эквалайзер 2) Параметрические фильтры – wah-wah (квакушка), фейзер 3) Эффекты над линией задержки – vibrato, flanger, chorus, echo 4) Модуляторы – tremolo, vibrato 5) Нелинейные эффекты – overdrive, distortion, fuzz 6) Пространственные эффекты – reverb

Фильтры

Фильтры, по определению, удаляют часть спектра выше или ниже частоты среза. Для многих ситуаций это слишком грубое вмешательство. Эквалайзер, с другой стороны, усиливает или ослабляет определенные частотные полосы, не меняя остаток спектра. Эквалайзеры строятся на сериях shelving- и peak-фильтров.Cписок часто используемых фильтровLowpass filter Highpass filter Bandpass filter Bandreject filter Shelving filter Peak filter

Параметрические фильтры

Некоротые эффекты можно реализовать, меняя параметры простых фильтров с течением времени.Эффект «Wah-wah» – это узкий bandpass-фильтр, в котором центральная (резонансная) частота перемещается со временем. Фильтрованный звук смешивается с оригинальным. Демо.

Эффекты над линией задержки

Все эффекты этого класса объединяет один принцип работы. Входной сигнал сохраняется в участке памяти, которая здесь назыается линией задержки (delay line). На выход же подается сумма входной выборки и выборки откуда-то из линии задержки. Количество и места выборок из линии задержки определяют уникальное звучание эффекта. Эффекты, которые не сохраняют результат своей работы в линию задержки (т. е. там содержится только чистый входной сигнал) описываются фильтрами с конечной импульсной характеристикой. Эффекты, изменяющие линию задержки, описываются фильтрами с бесконечной импульсной характеристикой.Эффект «Flanger» – выборка из линии задержки происходит в районе от 0 до 15 мс, причем точное место определяется по низкочастотному (около 1 Гц) синусоидальному закону. Использование низкочастотных синусоид – популярная техника при создании эффектов и имеет собственное название – Low Frequency Oscillator или просто LFO. Демо.Эффект «Echo» – одна или несколько выборок на одинаковом расстоянии, более 50 мс. Вариант с одной выборкой позволяет фактически удвоить количество сыгранных нот. При помощи нескольих выборок можно имитировать игру в просторном помещении. Аналогичной цели достигает так же эффект «Reverb». Демо. Эффект «Chorus» – имитация игры нескольких инструментов. Несколько выборок (по количеству инструментов) на случайном расстоянии в 10-25 мс. Демо.

Модуляция

Модуляция – это процесс, при котором параметры синусоидального сигнала (амплитуда, частота и фаза) меняются на основе аудиосигнала. Амплитудная модуляция определяется как y(n) = (1 + a LFO(n)) x(n), где а – глубина модуляции, число от 0 до 1.Эффект «Tremolo» – амплитудная модуляция звука с LFO до 20 Гц. Демо.

Нелинейные эффекты

Суть нелинейных эффектов сводится к внедрению в звук новых гармоник. Нелинейная обработка звука позволяет, к примеру, ослабить громкие участки, чтобы последующая аппаратура не вносила нежелательных искажений (или чтобы не разбудить соседей при просмотре фильма); усилить тихие участки, делая звук более насыщенным. Однако, такие фильтры не входят в рамки статьи, поэтому в этом разделе мы сосредоточимся на линейке из трех схожих, очень гитарных, очень эффектных эффектов – overdrive, distortion, fuzz. По сути, это один эффект с разной силой и разными целями. Овердрайв Вы могли услышать в начале статьи. Как звучит его старший брат, король металла – дисторшн, можно узнать под спойлером. Пример звучания дисторшна Реализция этого эффекта проста, и в то же время полна хитростей, что делает создание хорошего дисторшна своего рода искусством. В основе эффекта лежит простая идея – звуки слишком высокой амплитуды должны быть обрезаны. Поначалу это был нежелательный эффект от выхода электронных компонентов в нелинейные режимы работы, но со временем музыканты начали использовать это в своих интересах.

Аппаратная реализация: теория

В общем случае архитектуру гитарного процессора можно изобразить так:4a45a8c72f1447ba9086ee2806ea8ae3.png Гитарный процессор – это цифровое устроство. Это значит, что входящий аналоговый сигнал (звук) должен быть преобразован в цифровой сигнал. Этим занимается специальная микросхема ADC. После обработки необходимо вернуть сигналу аналоговую форму. Этим занимается DAC. DAC и ADC могут быть выполнены в одной микросхеме – в таком случае это называется Codec. Ко всем трем микросхемам предъявляются, очевидно, одинаковые требования:

  • Частота дискретизации: 44,1 кГц или 48 кГц. Это следует из теоремы Котельникова и того факта, что при работе со звуком нас интересуют частоты от 20 Гц до 20 кГц. Существуют кодеки для работы со звуком и частотой дискретизации 96 кГц и 192 кГц. Их тоже можно использовать, но они создают повышенную вычислительную нагрузку на DSP, что нежелательно, если разработчик хочет обойтись бюджетными компонентами. Меньшая частота дискретизации будет вырезать из сигнала ощущаемые человеком гармоники, искажая сигнал.
  • Битность: 24 бита. Таков, по наблюдениям, стандарт для звуковых кодеков. Слишком низкая битность вырезает полезную информацию. Слишком высокая битность бесполезна, если речь идет не о прецезионном или малошумящем устройстве. В противном случае в младшие биты цифрового сигнала будет попадать один лишь шум.

Гитарный процессор – это устройство, работающее в реальном времени. Музыкант не должен чувствовать задержку между ударом по струнам и звуком из колонок. В первом приближении это же означает, что блок наложения эффектов должен получить 24-битную выборку из ADC, обработать ее, и передать результат на DAC до того, как на ADC появится новая выборка. Попробуем сейчас обобщить требования к такому – пока нарочно абстрактному – обработчику.

  • Несложные вычисления показывают, что при частоте дискретизации 48 кГц, у обработчика есть 21 микросекунда на выборку.
  • Если кодек не встроен в обработчик, то к кодеку придется подключаться по одному из общепринятых протоколов. Чаще всего это протоколы SPI или I2C. Шины SPI и I2C – последовательные, передают по биту за такт. Это означает, что частота работы ввода-вывода должен быть в хотя бы в 24 раза выше частоты дискретизации АЦП. Для 48 кГц это как минимум 1,152 МГц.

35d786423eb34768b2ef40f32d7ea85b.pngТипичное соединение по SPI Как показывает практика, микроконтроллеры с обработкой звука в реальном времени не справляются. Здесь на помощь приходят специализированные процессоры, называющиеся DSP (digital signal processor). Как и в случае с кодеками, сущесвтуют DSP общего назначения и специализированные DSP. DSP общего назначения:

  • Просты в программировании. Скорее всего, для такого DSP есть компилятор С.
  • Вычислительные мощностьи от скромных до «на грани возможного» + большое количество интерфейсов. Например, топовый DSP от Texas Instruments содержит в себе 12 ядер (8 ядер DSP и 4 ядра архитекруты ARM). Бюджетные DSP как правило ядер ARM не содержат.
  • Мощные DSP предъявляют высокие требования к окружающей схемотехнике, их невозможно использовать «на коленке».

DSP, специализирующиеся на звуке:

  • Предоставляют гарантированное количество инструкций на выборку. Как правило, пользователю дается от 256 до 6000 инструкций. Эта простая гарантия удовлетворяет два требования к обработчику, указанные выше.
  • Низкая стоимость – до $30.
  • Простая установка на плату.
  • Не программирование, а цирк какой-то. DSP строятся по отличным от х86 и ARM архитектурам – часто это VLIW. Архитектура звукового DSP может быть настолько другой, что написание компилятора С теряет всякий смысл. Поэтому здесь часто в ходу использование ассемблера или языков графического программирования.
  • Скорее всего нет интерфейса для внешнего RAM.

5906457b09e242faa03634fc48e4708d.pngТипичная прошивка DSP семейства ADAU.

Аппаратная реализация: практика

Перейдем теперь к схеме конкретной реализации гитарного процессора:249b07a803e645d7b5469df754c0d10c.png Проект состоит из трех основных блоков – FreeDSP, Arduino, LCD. Здесь сразу же стоит сделать важное замечание – проект FreeDSP едва ли можно назвать удачным выбором для создания гитарного процессора. Почему так – ниже, но в целом любому неискушенному в электронике разработчику рекомендуется заменить FreeDSP на другой evaluation board со специализированным DSP. Ключевое достоинство проекта – его простота; от разработчика не требуются умение разводить платы. На уровне электроники требуются базовые знания и немного здравого смысла. Так же разработчик избавлен от работы с ADC/DAC – оба встроены в ADAU1701. Здесь мы не будем останавливаться на рассмотрении Arduino и дисплея. Что хотелось бы отметить – Arduino Due здесь предпочтительнее других опций из-за того, что уровень логической единицы здесь равняется 3,3 В, а не 5 В. Это важно, поскольку многие современные DSP пять вольт уже не выдерживают. LCD можно использовать любой, но рекомендуется модель с драйвером SSD1305 – во-первых, с таким драйвером выпускаются прекрасные OLED дисплеи, а во-вторых, для Arduino доступна соответствующая высокоуровневая библиотека.

FreeDSP

2649eda71f77b978e9a560291cabf8ed.png FreeDSP — недорогое решение для цифровой обработки сигналов в режиме реального времени, предназначенное для исследователей и DIY сообщества. Плата базируется на ADAU1701. Программирование ADAU1701 осуществляется в SigmaStudio IDE. Более подробную информацию о проекте можно найти по адресу www.freedsp.cc. Создатели проекта предлагают за скромную сумму приобрести у них все комплектующие для сборки. Однако мы решили сделать всё самостоятельно. Благо на сайте проекта присутствуют все необходимые схемы, а также списки комплектующих. Ниже приведен список подводных камней при работе с FreeDSP:

  1. Прошивка для ADAU1701 хранится в чипе EEPROM 24LC256. Для записи данных в этот чип можно использовать Arduino Nano (для нее в проекте предусмотрен слот) либо записывать самостоятельно. Для самостоятельной прошивки подойдет программатор PICKit v2 либо его клон. При использовании PICKit: SigmaStudio компилирует проект в файл с расширением .hex. Это неправда. Это не файл в формате Intel Hex, это текстовый файл с перечислением шестнадцатеричных чисел через запятую. Для преобразования Sigma Hex в Intel Hex используется специальная утилита.
  2. У ADAU1701 очень низкие возможности ввода-вывода. Вкупе с непривычным графическим языком программирования это доставляет много головной боли при попытке создать гитарный процессор с по-настоящему настраиваемыми эффектами.
  3. У ADAU1701 очень мало внутренней памяти – всего 21 миллисекунда. Ничего кроме эффекта Chorus с такой линией задержки не сделать. ADAU1701 предназначена для работы с сигналом в частотном диапазоне (фильтры и тому подобное). Обойти этот недостаток можно, заменив ADAU1701 на ADAU1452 (старший чип в линейке имеет линию задержки в 800 миллисекунд, что очень много). Плата при этом должна претерпеть серьезные изменения.

Аппаратная реализация: работа над ошибками

Следующая схема является обобщением нашего скромного опыта и предлагается как отправная точка для начинающий работников со звуком в реальном времени.19339c32ee1c48288c5f6c4639bc67a8.png Здесь показано, как избежать проблем с короткой линей задержки и IO. ADAU1701 мы предлагаем заменить на что-нибудь из семейства ADAU14xx, поскольку у этих чипов достаточно внутренней памяти (до 800 мс). Поскольку оказалось, что в одном ADAU все опции и настройки гитарного процессора не вместить, их здесь несколько. При настройке эффектов микроконтроллер достает прошивки с разными эффектами из NVRAM и записывает их в чипы EEPROM, после чего перезапускает ADAU. Из ожидаемых достоинств такой схемы хочется отметить высокую настраиваемость процессора. Из недостатков – готовыми платами здесь не обойтись и придется потратить значительное время на разработку.

Заключение

В конечном итоге нам всё же удалось сделать скромный гитарный процессор, однако финальная версия в корне отличалась от планируемой изначально и заслуживает отдельной статьи. Часть возможностей процессора показана на видео:Фото процесса разработки

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

  • https://mysku.ru/blog/diy/72923.html
  • https://habr.com/post/313946/
  • https://habr.com/post/369391/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации