ЦАП DSD Signalyst DSC1 — DIY


(German) #61

Нашел-таки: Topic: Inter Sample Peaks in DSD?

Дополнительно, отклонение от линейности зависимости SNR в слышимом диапазоне от интенсивности SDM сигнала: Basics of Sigma-Delta Modulation, раздел 2.4.2.3 (9789400713864-c2.pdf (609,0 КБ).)

Since the total output power for a 1-bit converter is constant, the noise power increases when the signal power reduces. If the increase in noise power would be evenly distributed over all frequencies,the SNR in the baseband would decrease relatively more when the input power is reduced. In practice however, the amount of baseband quantization noise reduces when the input signal becomes smaller, and therefore the SNR will be higher than expected. This SNR behavior as a function of the input amplitude is depicted in Fig. 2.22. The SDM used in this experiment was a fifth order with two resonators. The measured, ideal and expected SNR curves are aligned to read the same value for a −25 dB input signal. The difference between the ideal and expected curve is approximately 0.7 dB for a −5 dB input, and negligible for inputs below −10 dB.
The explanation of this phenomenon can be found by studying the high frequency
noise spectrum. When low amplitude inputs are applied, the SDM will start to gen-
erate high frequency idle tones, which take most of the noise power. When the input
amplitude is increased, the idle tones cannot exist anymore and the low frequency
noise-floor will increase [48].

олрло


(©) #62

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

Да, тут более комплесная задача стоит перед вычислителями пиков. С другой стороны - если подумать, то даже при работе на минимальной SR DSD (а это 2,8MHz! ) никакой апсемплинг для определения пиков не потребуется - я просто не могу себе представить сигнала в звуковом диапазоне который потребовал бы для вычисления TP частоты большей чем почти 3 мегагерца.


(German) #63

Т.е. пиковые уровни SDM определяются только индексом модуляции.

Цитирую описание автора конвертора AuI Converter 48x44:

Модулятор DSD обеспечивает уменьшение количества бит. Это ведет к увеличению уровня шума (уровня ошибок).

Самая важная и полезная часть диапазона частот аудио сигнала- это 0 … 20 кГц. Модуляция шума заключается в вытеснении энергии шума за в диапазон чатот выше 20 кГц (называется noise shaping [нойс шейпинг, изменение формы шума]).


(©) #64

Ну, наверное в общем случае эта операция действительно представляет собой noise shaping, то есть в буквальном смысле “формирование шума”, а мои замечания выше (в упрощённом виде) - относятся к более узкой специализации этого термина в проф. бэкграунде.


(Vitaly Bargatin) #65

Ок, теперь понятно, как работает расчет TPL в MusicScope.
Спасибо, Герман!

Делается расчет уровня модуляции (количество единиц в наборе 28 семплов). 20/28 (20 единиц из выборки 28) соответствует +3.10 dB SA-CD - это максимально разрешенное значение.
При его превышении - рапортует о клиппинге.

То, что в результате ноиз шейпинга уровень модуляции в преобразовании из DSD64 в DSD256 мог снизиться, представляется вполне реальным.
Соответственно и TPL, RMS итд, тоже снизились.

Герман, обратил внимание, что в выложенной статье есть косвенное подтверждение гипотезы происхождения журчания - idle tones. На diyaudio.com описывалось, что особенно хорошо заметен на тихих пассажах.

image


(©) #66

Что-то тут не так. Должен измениться (сместиться) лишь спектр шума. Коррекция уровней в таком случае возможна только при применении для анализа взвешивающих фильтров. Или это не совсем “чистый” апсемплинг…

Возможен ещё третий вариант - обнаружен первый случай нарушения закона сохранения энергии и надо срочно заявляться на Нобелевку на следующий год :slight_smile:


(Vitaly Bargatin) #67

Речь идет о TPL, RMS в слышимой полосе. Шум вытесняется в ультразвук.
Закон сохранения энергии работает.

В SDM, судя по приведенной статье, общая мощность сигнала + шум постоянна. Если вытеснили шум в ультразвук - улучшили SNR в слышимом диапазоне. Уменьшили RМS в слышимом (алгоритм расчета RMS не делает различий между записанным сигналом и шумом).


(German) #68

В SDM суммарная интенсивность “сигнал”+“шум” всегда равна 1. Если на входе тишина - ультразвуковой шум максимальной амплитуды и наоборот (с ограничениями стабильности модулятора по максимально допустимому уровню сигнала, разумеется). При замене только частоты несущей меняется только спектр шума, а после AuI Converter 48x44 - еще и TPL. Либо это следствие работы LPF, либо что-то еще.

Виталий опередил.

Помимо idle tone есть еще limit cycles. У меня уже час ночи, глаза слипаются. Завтра продолжим…


(©) #69

В общем мы говорим об одном и том же разными словами :slight_smile:


(German) #70

Если выполнять ремодуляцию DSD-to-DSD “в лоб”, то уровень шума квантования будет только увеличиваться. Плюс это накладывает ограничение в виде резкого падения SNR после конечного количества последовательных ремодуляций. Однако в предложенном варианте мы подаем на вход алгоритма сигнал DSD64 с замененной вручную несущей частотой (вместо 2.8 MHz выставлено 11.2 MHz). Соответственно, частота как полезного сигнала, так и шума увеличивается в 4 раза, а длительность трека сокращается во столько же раз. Либо изменение TPL отражает нелинейность модулятора в слышимом диапазоне, либо варьирование уровня ультразвукового шума за отметкой 100 kHz. Как раз это и озадачивает.


(©) #71

Я вообще не вижу смысла апсемплироавть DSD. Шум и так находится за пределами даже теоретического порога слухового восприятия человека, что уж говорить про практику, когда большинство в выборке демонстрирует мссаксимальные показатели в 12-18КГц в зависимости от возраста. Ещё можно было бы это оправдать этапом достижения максимального качества для процессинга, но в случае DSD это не актуально (обработка требует расквантования в PCM).


(Vitaly Bargatin) #72

В той же статье описание клинических проявлений limit cycles:

image

Т.е. не подходит для объяснения “журчания”. Симптоматика другая.


(Марат) #73

Отчего же. Подходит.


(Vitaly Bargatin) #74

Нет, не подходит.
На “журчания” в небалансой обратили внимание в профильной ветке diyaudio.com, проявлялись в тихих моментах, росли с ростом частоты дискретизации.

Limit cycles (из статьи) - на практике, проявляются когда входящий сигнал отсутствует, но остается небольшая DC постоянная.
Idle tones (из статьи) - когда подается слабый сигнал, появляется. когда сигнал увеличивается по амплитуде - снижается. Частично снижается при использовании модуляторов высокого порядка.

Вывод
исходя из описания аномалий “журчания”, limit cycles и idle tones - it - подходит, lc - нет.


(German) #75

Согласен, не подходит.

Сдвигая ультразвуковую часть спектра как можно дальше от слышимого диапазона мы существенно облегчаем работу LPF выходного каскада.

Привожу результат прямого апсемплинга DSD64-to-DSD256 с помощью AuI без предварительных манипуляций:


Картина грустная - по сравнению с исходником шум увеличился, плюс явно виден след “гильотины” на 100 kHz. Уровни TPL напротив, снизились на 1.4-1.6 dB. Все по Ломоносову - если где-то, что-то прибыло, то где-то убыло.

Виталий, сравнение с HQPlayer будет? Интересует тест именно на DSC1.


(Vitaly Bargatin) #76

Ок, сделаю сегодня вечером.

Давайте только обсудим как.

Вижу следующий вариант:

  1. В matlab генерирую белый шум в PCM 24b 44кГц.
  2. Saracon делаю конвертацию в DSD64. Вопрос в том, какие настройки оптимальны?
  3. Выкладываю спектр этого сигнала. Варианты - MusicScope, оцифровка аналогового входа с аудиокарты 6i6 (на вход подается сигнал с DSC1).
  4. Делаю онлайн конвертацию HQPlayer DSD64 в 256.
  5. Выкладываю спектр сигнала - оцифровка аналогового входа с аудиокарты 6i6 (на вход подается сигнал с DSC1).

(German) #77

Белый шум можно сгенерировать WaveGene .
В Saracon модулятор 10-го порядка, gain в ноль. В Modulation level history можно посмотреть количество ресетов. Если велико, снизить уровень входного сигнала (отрицательный gain).
Либо MusicScope, либо WaveSpectra.
В HQPlayer снимается галка на Direct SDM, тип фильтра - FIR. Выбор фильтра на основной вкладке значения не имеет, т.к. он не задействуется. Модулятор 7-го порядка.

Отзывы по результатам сравнительных прослушиваний композиций также приветствуются.


(Vitaly Bargatin) #78

Исходный сигнал - белый шум 24b 44кГц.

После апсемплинга Saracon в DSD64 (модулятор 10 порядка, без дизеринга). Шум начинается сразу за 22кГц. Пик на 52кГц с уровнем -42dB.

После апсемплинга HQPlayer в DSD256 (регулировка громкости отключена - 0dB), захват аналогового сигнала с частотой дискретизации 192 кГц.
Настройки HQPlayer:
HQP-2

На немного разную громкость в каналах не обращать внимание - точно не устанавливал на карте баланс.


Выросла шумовая полка до ~96dB (ЦАП и карта).
Спектр шума немного сместился и стал заметно шире, пик примерно на 60кГц, с уровнем -44dB.

Предложенный вами способ заметно выше вытесняет шум - ожидал похожий результат от HQPlayer. Удивлен, что практически не изменился шумовой пик. Ожидал его заметного смещения в УВЧ и снижение пика.


(Vitaly Bargatin) #79

Увеличение шумовой полки - шум DSC + карта.

Оцифровка аналогового входа, к которому DSC не подключен - полка -114dB

Оцифровка аналогового входа с подключенным DSC, сигнал не подается - полка в районе 90dB

А вот интересное
Анализировал свои DSD альбомы. Практически на всех есть дефекты, не зависящие от уровня сигнала (т.е. их видно все время проигрывания трека).

Примеры (выделены на рисунках внизу красным квадратом):
DSD64 - три полосы 22 кГц, 30 кГц и чуть выше 30кГц

DSD256 - две полосы в районе 30 кГц и 140 кГц.

Нашел на сайте xivero.com на первый взгляд разумное объяснение - проблемы связанные с оцифровкой мастер лент. :grinning:


(German) #80

Виталий, так и должно быть при “прямом” апсемплинге - каждая ремодуляция лишь добавляет шум квантования и чем выше частота несущей - тем дальше, а с уже имеющимся надо что-то делать. Либо смещать (что, собственно, и предлагалось), либо “резать к чертовой матери, не дожидаясь перитонитов”. На оцифровке выхода DSC1 виден участок 22…30 kHz со сниженным до ~96dB шумом. Интересно, при прогоне исходного файла DSD64 будет аналогичная картина? Кстати, в настройках HQPlayer выставлен некратный апсемплинг 44,1k x 64 -> 48k x 256. Так и было задумано?

Подобные дефекты довольно распространенное явление, куда проблематичней записи с постоянным уровнем выше 0 dBDSD (например, SACD Michael Jackson - Thriller). Формально, при уровне до +3.1 dBDSD стандарт ScarletBook не нарушается, но возникает вопрос к примененному АЦП. К примеру, Grimm Audio AD1 обеспечивает без заметных искажений максимум +1.8 dBDSD.