Хочу начать тему про очень интересный ЦАП по открытому проекту - Signalyst DSC1.
Особенность ЦАП – работа только с SDM(DSD) потоком, что позволяет сделать его очень простым с технической точки зрения.
Автор идеи – Jussi Laako (создатель HQPlayer).
Проект датирован апрелем 2015 года. Активно обсуждался и обсуждается на computeraudiophile, diyaudio. В рунете есть ветка на ixbt и Вегалабе.
Идея ЦАП идеально проста:
- В SDM (DSD) потоке плотность логических 1 определяет величину сигнала, поэтому достаточно считать плавающее среднее по потоку и таким образом восстановить сигнал. Правда в нем будет много ВЧ шума.
Принцип SDM модуляции наглядно проиллюстрирован на сайте Analog Devices. - На втором этапе мы пропускаем восстановленный сигнал через фильтр НЧ (не обязательно сложный, достаточно аналогового) и далее его.
Классическая реализация не сложнее (описывается оригинальная схема Jussi Laako):
- Для первого этапа используются 4 сдвиговых регистра по 8 резисторов в каждом (см. ниже часть схемы). Т.е. мы получаем сумму 32 отсчетов SDM потока (плавающее среднее – значения от 0 до 32).
- Далее в оригинальной схеме идет IV конвертер, фильтр НЧ и выходной буфер.
Более подробное описание принципа работы Signalyst DSC1 от автора идеи можно посмотреть по ссылке.
Кстати, примерно такой же принцип и у современных дельта сигма чипов (только количество тапов в фильтре у них больше 32) и в ЦАП на матрицах резисторов, если заявлена «родная поддержка DSD».
История развития
Первые реализации предложенной схемы давали неприятный эффект «журчания». По видимому, он представлял собой продукты корреляции несущей частоты SDM с сигналом или шумами. Хотя причина «журчания» до конца не понятна, самое разумное объяснение, с моей точки зрения, дал Герман (@pm325) в другой ветке этого форума.
Ссылка на крайне интересную статью по этому поводу, предоставленную Германом (idle tone, limit sycles - специфические аномалии SDM).
Уже в прошлом году появилась балансная версия ЦАП, в которых «журчание» полностью отсутствовало. Появились версии с трансформаторным выходом (т.е. IV конвертер, LPF фильтр и выходной буфер были заменены одним конденсатором и трансформатором).
Оцените красоту решения! Это даже ЦАП-ом сложно назвать!
Собранные платы и киты балансного варианта с разными выходными каскадами можно легко найти и купить на ebay и taobao. Китай вездесущий а проект открытый. Стоимость ~ 200 USD.
Российский вариант Sygnalist DSC1
Наш соотечественник Павел Погодин одним из первых (по моей информации, не хочу задеть других участников открытого проекта) довел DSC1 до достойного уровня (подобраны резисторы для минимизации SNR и трансформаторы, улучшена схема mute для устранения щелчков при переключении треков, балансная схема).
Andrea Ciuffoli дал высокую оценку его доработкам. В статье подробно описываются возможности воспроизведения PCM файлов через DSC1, приведены фото двух ревизий плат Павла.
Т.к. DSC1 понимает только SDM (DSD) поток, то для воспроизведения PCM контента нужно либо в реальном режиме времени делать конвертацию (HQPlayer, например) или заранее конвертировать коллекцию в DSD (PCM-DSD Converter, SOX 1.4.2, AuI ConverteR 48x44, Weiss Saracon).
С моей точки зрения это даже хорошо, т.к. HQPlayer даст фору почти всем ЦАП с точки зрения качества алгоритмов конвертации (“почти” добавил для приличия).
Насколько знаю, Jussi Laako, первоначально отрицательно относившийся идее трансформаторного выхлопа, изменил свое мнение после тестирования плат Погодина.
У меня версия 2.5 платы Погодина с трансформаторным выхлопом. Дополнительно на тестировании находится выхлоп по схеме Jussi Laako.
ВАЖНО:
проект не коммерческий, продажей плат Павел Погодин не занимается. Схемы, описание и возможные места покупки доступны по приведенным выше ссылкам.
Я готов предоставить свой экземпляр для ознакомления в пределах МСК/МО.
Планы
В начале следующей недели выложу свои измерения и сравнительное тестирование Signalist DSC1 v2.5 на обоих выхлопах с Auralic Vega.
Описание методики измерений:
- Тестовые сигналы генерируются в Matlab (24bit 44.1кГц).
- HQPlayer воспроизводит тестовый сигнал (апсемплинг в DSD64/DSD256 – модулятор ADSM7, фильтр poly-sync-shrt-2s) через uRendu (NAA) на DSC1.
- Аналоговые выходы DSC – на аналоговый вход Focusrite 6i6 в ASIO. Частота дискретизации – 192кГц.
- Сигнал принимался Matlab (он позволяет управлять настройками ASIO) и дальнейший анализ проводится в нем.
Могу изменить, если необходимо.
Хочу выразить благодарность Герману (@pm325) и Павлу Погодину за помощь, консультации и возможность познакомиться с интересной констукцией.