Глубокий разбор шейпинга шума DSD: IIR vs FIR, как выбрать порядок 3–11

Шейпинг шума — самое решающее звено качества конвертации PCM→DSD. Эта статья объясняет, что он делает, чем отличаются структуры и порядки, и как это настраивается в DpdoEngine.


1. Зачем нужен шейпинг шума

При понижении многобитного PCM до 1-битного представления ошибка квантования вносит огромный шум — если ничего не делать, отношение сигнал/шум в звуковой полосе составит лишь около 6 дБ/бит, что совершенно непригодно.

Идея шейпинга шума (Noise Shaping): используя нечувствительность человеческого уха к высоким частотам, петля обратной связи «выталкивает» шум квантования в ультразвуковой диапазон выше 20 кГц, сохраняя в звуковой полосе крайне низкий шумовой пол.

многобитный сигнал ──→ [квантователь] ──→ 1-битный выход
	                        ↑                │
	                        └── обратная связь ошибки ┘ (шейпер шума)
	

Распределение шума после шейпинга: в полосе подавлен (ради высокого SNR), вне полосы приподнят (тракт воспроизведения DSD убирает его фильтром нижних частот).


2. IIR и FIR: как выбрать тип шейпера

IIR (бесконечная импульсная характеристика)

  • Принцип: рекурсивная структура с обратной связью — высокий порядок шейпинга при малых вычислениях
  • Преимущества: лучшая производительность в полосе при том же порядке; вычислительно эффективен, подходит для высокого оверсэмплинга
  • Недостатки: нелинейная фазовая характеристика (при неминимально-фазовой реализации групповая задержка меняется)
  • Структурные опции DpdoEngine: стандартный IIR, MASH (многоступенчатый шейпинг шума), CIFB (цепочка интеграторов с обратной связью), полиномиальный

FIR (конечная импульсная характеристика)

  • Принцип: фильтрация конечной длины без обратной связи, коэффициенты фиксированы
  • Преимущества: линейная фаза, постоянная групповая задержка — при многоступенчатой каскадной обработке ошибка предсказуема, подходит для мастеринговых рабочих процессов
  • Недостатки: при той же производительности требуется много taps (высокие вычисления); эффективность шейпинга в полосе чуть ниже, чем у IIR того же порядка
  • По умолчанию в DpdoEngine: taps автоматически (минимум 4096 window / 512 Remez, настраивается)

Выбор одной фразой: - Обычное воспроизведение/аудиофилы → IIR 9-го или 11-го порядка (баланс производительности и эффективности) - Мастеринг/многоступенчатая обработка → FIR (предсказуемая фаза, фазовая ошибка не накапливается при каскадировании)


3. Как выбрать порядок: 3/5/7/9/11

Порядок определяет крутизну кривой шейпинга — чем выше порядок, тем сильнее подавление шума в полосе, но ценой:

  • Роста вычислений (IIR 11-го порядка заметно нагружает CPU, рекомендуется от 4 ядер)
  • Более высоких требований к стабильности модулятора (петли обратной связи высокого порядка легче теряют устойчивость — нужна более тонкая настройка полюсов/нулей)
  • Более высокого пика шума вне полосы (строже требования к фильтру нижних частот на выходе)

Таблица конфигураций DpdoEngine:

ПорядокРольРекомендуемые сценарии
3Начальный/низкое потреблениеПортативные устройства, приоритет реального времени
5СбалансированныйУниверсальная конвертация
7По умолчаниюЗрелый баланс производительности и качества
9ПродвинутыйСтремление к более низкому шуму в полосе при достаточном железе
11ПредельныйВытолкнуть шум квантования максимально далеко, высокие требования к железу

Продвинутые параметры: - --pole V: положение полюсов (по умолчанию 8.5), влияет на форму кривой шейпинга и устойчивость - --zero: оптимизация нулей - --mash / --cifb / --poly: переключение структуры шейпинга


4. Как проверить эффект шейпинга (путь измерений)

# Сравнить характеристики в полосе 9-го и 11-го порядка
	dsp_bench --input test.wav --order 9 --order 11
	
	# Измерить искажения и шумовой пол выходного файла
	thdn output.dsf
	

На что смотреть: - Шумовой пол в полосе 20 Гц–20 кГц: высокий порядок отодвигает шум квантования дальше — в полосе ниже, пик вне полосы выше, кривая круче (разница между 7-м и 11-м порядком сильнее всего заметна в тихих фрагментах и на высокочастотных инструментах) - Положение и высота пика шума вне полосы (определяют нагрузку на фильтр нижних частот тракта воспроизведения) - Реальное прослушивание: окончательный судья — тракт воспроизведения


5. Частые заблуждения

  • «Чем выше порядок, тем всегда лучше»: не факт. 11-й порядок предъявляет больше требований к железу и тракту, шум вне полосы агрессивнее — некоторые ЦАП от этого только «устают». 9-й порядок — оптимум для подавляющего большинства сценариев
  • «FIR всегда лучше IIR»: по фазовой характеристике FIR выигрывает, но по эффективности шейпинга в полосе выше IIR. Разные задачи — разные инструменты, абсолютного превосходства нет
  • «Шейпер может починить плохой источник»: нет. Шейпинг шума работает только с шумом квантования — искажения, клиппинг и повреждения сжатием в исходном файле не исправляются

Автор: Dpdo. Подробности параметров — в справочнике параметров. Фактические данные — по выводу dsp_bench / thdn.