В прошлой статье мы познакомились с понятием передискретизация. В этой разберёмся в понятиях oversampling, upsampling и downsampling для чего нужны и в чём отличия.
Oversampling, upsampling и downsampling
Как мы уже упоминали, изменение частоты дискретизации в основном делят на:
- Понижающая передискретизация — децимация
- Повышающая передискретизация — интерполяция
Эти понятия нам пригодятся для объяснения различий между терминами.
Downsampling
Итак, при уменьшении частоты дискретизации упрощённо происходит два этапа:
- Цифровая фильтрация сигнала для того, чтобы удалить высокочастотные составляющие, которые не удовлетворяют пределу Найквиста для новой частоты дискретизации;
- Удаление или (отбрасывание) лишних отсчетов (сохраняется каждый N-й отсчёт). Здесь следует пояснить, что при программной реализации алгоритма децимации «лишние» отсчёты не удаляются, а просто не вычисляются (отбрасываются). При этом число обращений к цифровому фильтру уменьшается в определённое количество раз.
Поясним примером:
Сверху — исходный сигнал. В середине — этот же сигнал после фильтрации в цифровом фильтре нижних частот. Снизу — децимированный сигнал.
Так вот. Второй этап удаление или (отбрасывание) лишних отсчетов в англоязычной литературе иногда обозначают термином downsampling, что по сути может употребляться как синоним термина «децимация».
Upsampling
Этот термин, наоборот, связан с повышающей дискретизацией, при которой тоже упрощённо происходит следующее:
- Вставляются нулевые отсчеты на место отсчетов, которые необходимо вычислить;
- Происходит фильтрация сигнала цифровым фильтром нижних частот для того, чтобы убрать спектральные составляющие сигнала, которых заведомо не могло быть в исходном сигнале согласно теореме Котельникова. При программной реализации интерполяции нулевые отсчёты не участвуют в вычислении выходного сигнала фильтра, что позволяет оптимизировать процесс вычисления.
Поясним примером:
Сверху — исходный сигнал. В середине — этот же сигнал со вставленными нулевыми отсчётами (зеленые точки). Снизу — интерполированный сигнал (синие точки — интерполированные значения отсчётов)
В данном случае термином upsampling в англоязычной литературе обозначают первый этап (добавление отсчётов), что по сути может употребляться как синоним термина «интерполяция».
Oversampling
И децимацию и интерполяцию уже упомянули. Вроде бы и всё. Но в плагинах часто можно увидеть термин oversampling, да ещё и с каким-то настройками. Давайте разбираться.
Есть такое определение как «Дискретизация сигналов с запасом по частоте дискретизации». То есть применяется дискретизация сигнала на частоте, в несколько раз превышающей частоту Котельникова (предел Найквиста) с последующей децимацией. Вот она и называется в англоязычной литературе термином oversampling.
Например, возьмём сигнал с шириной полосы или самой высокой частотой B = 100 Гц. Зная, что есть предел Найквиста берётся частота дискретизации в 2 раза больше — 200 Гц (100 × 2). При oversampling 4x частота дискретизации в четыре раза превышает частоту дискретизации 800 Гц (200 × 4). В итоге фильтр anti — aliasing работает в переходной полосе 300 Гц. То есть получается следующая формула (( f s / 2) — B = (800 Гц / 2) — 100 Гц = 300 Гц.
Что даёт такой тип дискретизации сигнала?
- Возможность использовать АЦП (аналого-цифровой преобразователь) с меньшей разрядностью.
- Возможность использовать более простой и дешёвый аналоговый фильтр для защиты от наложения спектров.
- Подобная передискретизация способна улучшить разрешение и отношение сигнал / шум, а также может помочь избежать наложения спектров и фазовых искажений путем ослабления требований к характеристикам фильтра сглаживания.
Аналогичный подход применяется и при восстановлении сигнала по его отсчётам.
Применение oversampling на практике.
Для примера возьмём популярный лимитер FabFilter Pro-L.
Внизу плагина можно увидеть следующие настройки:
Для чего нужны эти настройки?
Алгоритм лимитера часто должен очень быстро вносить изменения в звук, чтобы убрать пики при сохранении прозрачности и видимой громкости. Эти внезапные изменения могут привести к появлению aliasing (наложение спектров), что вызывает искажения и, как правило, снижает качество аудиосигнала. Передискретизация — это способ уменьшить это наложение, запустив процесс внутреннего ограничения с более высокой частотой дискретизации, которая кратна частоте дискретизации хоста.
Когда нужно включить oversampling ?
Когда процесс ограничения звука работает быстрее (с использованием короткого времени lookahead), и когда ограничение более интенсивно, то это приводит к более высокому уровню наложения спектров. Aliasing имеет эффект добавления ложных не музыкальных частот к звуковому сигналу, что ухудшает качество звука. Кроме того, aliasing вызывает более высокие пики между сэмплами, и они могут вызвать искажение позже, например, во время цифро-аналогового преобразования или преобразования в MP3. Но нельзя забывать и о недостатках oversampling, прежде всего увеличение нагрузки на процессор и некоторые проблемы из-за фазово-линейной фильтрации. Как правило, этот эффект настолько мал, что его невозможно услышать, но хорошо знать об этом и не слепо предполагать, что передискретизация это всегда хорошо.
Какой параметр oversampling выбрать?
В принципе достаточно 4-кратной (4x) или 8-кратной (8x) передискретизации. Такой параметр уже значительно уменьшит алиасинг и не вызовет чрезмерной загрузки процессора. Опции 16x и 32x могут привести к еще более высокому качеству звука, но для большинства систем это слишком сложно для работы в режиме реального времени, особенно если в сеансе есть и другие плагины. Вы можете использовать эти опции при рендеринге в автономном режиме.
Лимитирование и oversampling
Если True Peak Limiting включено, FabFilter Pro-L 2 гарантирует, что истинные пики на выходе не будут превышать потолочный уровень, установленный параметром Output Level в нижней панели. Однако, если передискретизация отключена, будет генерироваться больше пиков между сэмплами, поэтому лимитеру придется проделать большую работу, чтобы удержать их ниже верхнего уровня выходного сигнала. Включение передискретизации (например, с опцией 4x) уменьшит пики между выборками, что позволяет лимитеру увеличить общий выходной уровень и кажущуюся громкость. Короче говоря, рекомендуем использовать передискретизацию в сочетании с true peak, чтобы получить наилучшие результаты.
Спасибо, что читаете New Style Sound (
[DISPLAY_ULTIMATE_SOCIAL_ICONS]