Что такое оверсемплинг
Перейти к содержимому

Что такое оверсемплинг

  • автор:

FabFilter Pro-C Оверсэмплинг

Динамические алгоритмы часто требуют очень быстрых изменений звука при изменении коэффициента усиления. Эти внезапные изменения могут привести к небольшому количеству алиасинга, что вызывает искажение и, как правило, снижает качество аудиосигнала. Оверсэмплинг — это способ уменьшить этот алиасинг, запустив внутреннюю обработку с частотой дискретизации, которая в два-четыре раза выше, чем частота дискретизации хоста.

FabFilter Oversampling.jpg

Когда следует использовать оверсэмплинг? [ править ]

Вам это нужно больше, когда сжатие агрессивное и очевидное. Обычно это происходит при использовании низких настроек Attack и Release и/или высоких Ratio и Range.

Разумеется, взамен уменьшения возможного алиасинга/искажений плагин будет использовать больше мощности процессора. Кроме того, оверсэмплинг вводит небольшую задержку, в дополнение к задержке взгляда в будущее.

Советы [ править ]

  • Нужно использовать обработку с нулевой задержкой? Отключите оверсэмплинг и lookahead в нижней панели.

1 Введение

Микроконтроллеры AVR фирмы Atmel имеют в своем составе 10-ти разрядный аналого-цифровой преобразователь (АЦП). В большинстве случаев такой разрядности достаточно, но иногда возникают ситуации, когда требуется более высокая точность.

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

В этом руководстве рассмотрена теория и практическое применение данного метода.

Рисунок 1-1. Повышение разрешения

ацп с различной разрядностью

2 Теория работы

Перед чтением этого руководства мы бы рекомендовали вам ознакомиться с руководством «AVR120: Калибровка АЦП» и с разделом «АЦП» из технического описания на микроконтроллер AVR.

Изложенные ниже примеры и цифры рассчитаны для несимметричного входа в режиме непрерывного преобразования. Режим пониженного шума (ADC Noise Reduction Mode) не используется. Конечно, этот метод будет работать и в других режимах, но цифры для описанных примеров будут отличаться.

Опорное напряжение АЦП и его разрешение определяют шаг, с которым АЦП выполняет преобразование входного сигнала. У микроконтроллеров AVR в качестве опорного напряжения может выступать напряжение питания AVCC, внутреннее опорное напряжение 2.56 В/1.1 В или напряжение на выводе AREF.

Небольшое опорное напряжение обеспечивает высокую точность, но сужает динамический диапазон входного сигнала. Например, при опорном напряжении равном 2.56 В, точность результата преобразования будет приблизительно 2.5 мВ, а наибольшее входное напряжение, которое можно будет померить АЦП — 2.56В.

В качестве альтернативы можно было бы рассмотреть использование АЦП с секцией усиления. Это дает возможность измерять аналоговый сигнал с большей точностью, за счет динамического диапазона АЦП. Если это неприемлемо, то для улучшения разрешения АЦП можно использовать оверсемплинг. Хотя применение этого метода ограничивается характеристиками АЦП.

Важно понимать, что оверсемплинг и децимация уменьшают ошибки квантования АЦП, но не компенсирует его интегральную нелинейность.

2.1 Частота дискретизации

Теорема Найквиста-Шеннона гласит, что аналоговый сигнал, имеющий ограниченный спектр, может быть восстановлен однозначно и без потерь по своим дискретным отсчётам, если частота выборки (дискретизации) превышает максимальную частоту спектра сигнала более чем в 2 раза. Минимальная требуемая частота дискретизации называется частотой Найквиста.

Формула 2-1. Частота Найквиста

частота найквиста

Где fsignal – это наивысшая частота входного сигнала.

Дискретизация сигнала с частотой выше частоты Найквиста называется оверсемплингом или дискретизацией с запасом по частоте. На практике обычно используют максимально возможную частоту дискретизации, чтобы получить как можно более точное представление измеряемого сигнала во временной области. Поэтому в большинстве случаев оцифрованный входной сигнал уже дискретизирован с запасом.

У микроконтроллеров AVR частота дискретизации АЦП определяется внутренней тактовой частотой и коэффициентом предделителя. Наименьший коэффициент дает наибольшую частоту дискретизации. Однако в определенный момент высокая тактовая частота АЦП будет уменьшать точность преобразования, то есть эффективное число разрядов (the Effective Number Of Bits ,ENOB) АЦП будет снижаться. Все АЦП имеют ограниченную полосу пропускания и АЦП микроконтроллеров AVR не исключение. Согласно техническому описанию, чтобы получить 10-ти разрядное разрешение, тактовая частота АЦП должна быть в диапазоне (50 – 200) кГц. Когда тактовая частота АЦП равна 200 кГц, частота дискретизации сигнала составляет ~ 15 kSPS (15 тысяч выборок в секунду), что ограничивает частоту входного сигнала до ~7.5 кГц. Тактовая частота АЦП микроконтроллеров AVR может иметь значение до 1 МГц, однако это будет снижать точность преобразований.

3 Теория

3.1 Оверсемплинг и децимация

Теория, стоящая за “Оверсемплингом и децимацией” достаточно сложная, но использование этого метода предельно простое. Нужно получить большее число выборок сигнала, увеличив частоту его дискретизации. Для каждого дополнительного бита разрешения требуется увеличение частоты дискретизации в 4 раза. Данное соотношение выражается формулой 3-1. Большее количество выборок нужно для лучшего представления входного аналогового сигнала при усреднении.

Формула 3-1. Частота оверсемплинга

частота оверсемплинга

3.2 Шум

Чтобы этот метод работал правильно, интересующие нас сигнальные компоненты не должны меняться во время преобразования. Однако другой критерий для успешного повышения разрешения заключается в том, что выборки входного сигнала должны отличаться друг от друга. Это может выглядеть как противоречие, но в данном случае речь идет об изменении нескольких младших значащих разрядов (МЗР). Эти изменения следует рассматривать как шумовые составляющие сигнала. При дискретизации сигнала с запасом по частоте, он должен содержать шум, дающий небольшие вариации в сигнале. Ошибка квантования АЦП составляет, по крайней мере, 0.5 МЗР. Таким образом, шумовая амплитуда должна превышать 0.5 МЗР, чтобы «перебивать» его. Шум амплитудой 1-2 МЗР даже лучше, поскольку это будет гарантировать, что несколько выборок сигнала в итоге не будут иметь одинаковое значение.

При использовании данного метода шум должен иметь следующие характеристики:
— интересующие нас сигнальные компоненты не должны меняться значительно в течение преобразования,
— сигнал должен содержать шум,
— амплитуда шума должна быть не менее 1 МЗР.

Обычно в сигнале присутствует некоторый шум во время преобразования. Это может быть тепловой шум, шум от ядра микроконтроллера, переключения портов ввода вывода, шум источника питания и так далее. В большинстве случаев этого шума будет достаточно для работоспособности рассматриваемого метода. В отдельных случаях потребуется добавить к входному сигналу некоторый искусственный шум. Этот метод известен как дизеринг. Рисунок 3-1 (а) показывает проблемы измерения сигнала, значение которого находится между двумя шагами квантования. Усреднение четырех выборок сигнала не помогло бы, поскольку у результата будет такое же низкое значение. Это может только ослабить флуктуации сигнала. Рисунок 3-1 (b) показывает, что добавляя к сигналу искусственный шум, младшие значащие разряды результата преобразования будут переключаться. Сложение четырех выборок этого сигнала уменьшает шаги квантования вдвое, что дает лучшее представление входного сигнала, как показано на рисунке 3-1 (c). “Виртуальное разрешение” АЦП увеличится с 10-ти до 11-ти. Этот метод известен как децимация и будет объяснен дальше в разделе 3-3.

Рисунок 3-1. Увеличение разрешения с 10-ти до 11-ти бит

увеличение разрешения ацп

Другой причиной использования этого метода является увеличение отношения сигнал-шум. Повышение эффективного числа разрядов (ENOB) распространит шум по большему двоичному числу, поэтому влияние шумов на каждый двоичный разряд будет снижаться. Удвоение частоты дискретизации позволяет снизить шум в полосе частот на 3 дБ и увеличить точность измерений на 0.5 бита.

3.3 Усреднение

Обычный смысл усреднения заключается в сложении m выборок сигнала и делении полученного результата на m. Это так называемое нормальное усреднение. Усреднение данных, полученных с АЦП, эквивалентно низкочастотному фильтру и позволяет ослабить флуктуации сигнала или шум, и сгладить пики входного сигнала. Очень часто для этого также используется метод скользящего среднего. Он заключается в усреднении выборок сигнала внутри циклической очереди. В этом случае каждая усредненная выборка сигнала будет представлена несколькими самыми последними выборками. Что будет давать небольшую временную задержку. Усреднение этим методом может быть сделано с или без перекрытия окон. Рисунок 3-2 показывает семь (Av1 – Av7) независимых результатов скользящего среднего без перекрытия.

Рисунок 3-2. Принцип усредняющего среднего

скользящее среднее

Важно помнить, что нормальное усреднение не увеличивает разрешение преобразования. Децимация и интерполяция представляют собой усредняющие методы, которые в сочетании с оверсемлингом увеличивают разрешение. Интерполяцией в цифровой обработке сигналов называют метод, основанный на оверсемплинге и низкочастотной фильтрации. В этом смысле интерполяция используется для получения новых промежуточных выборок сигнала путем усреднения большого количества выборок. Дополнительные выборки m, полученные с помощью оверсемплинга сигнала, складываются также как при нормальном усреднении, но результат не делится на m. Вместо этого он сдвигается вправо на n, где n – количество дополнительных битов разрешения. Однократный сдвиг двоичного числа вправо эквивалентен делению на 2. Как видно из формулы 3-1 повышение разрешения с 10 до 12 бит требует суммирования 16-ти 10-ти разрядных значений. Результат этой суммы будет 14-ти разрядным, где последние два бита не содержат ценной информации. Чтобы вернуться обратно к 12-ти битам, нужно масштабировать результат. Масштабирующий коэффициент sf, определяемый формулой 3-2, это коэффициент на который нужно делить сумму из 4^n выборок для получения правильного результата. Где n – требуемое количество дополнительных разрядов разрешения.

Формула 3-2

3.4 В каких случаях “Оверсемплинг и децимация” будут работать?

Обычно сигнал содержит некоторый шум. Этот шум, часто имеющий характеристику Гауссовского шума, более известен как белый шум или тепловой. Он отличается широкой полосой частот и равномерным распределением энергии по всей полосе. В этих случаях метод “оверсемплинга и децимации” будет работать, если амплитуда шума достаточна для переключения МЗР преобразования АЦП.

В других случаях может понадобиться добавить к входному сигналу искусственный шум. Этот метод называют дизерингом. Форма этого шума должна соответствовать Гауссовскому шуму, но сигнал периодической формы тоже будет работать. Какой частоты должен быть этот шумовой сигнал, зависит от частоты дискретизации. Эмпирическое правило гласит: “При сложении m выборок, период шумового сигнала не должен превышать периода m выборок”. Амплитуда шума должна быть не менее 1 МЗР. При сложении искусственного шума с входным сигналом важно помнить, что среднее значение шума равно нулю; недостаточно высокий оверсемплинг (недостаточный запас по частоте дискретизации) может вызвать смещение, как показано на рисунке 3-3.

Рисунок 3-3. Смещения, вызванные недостаточной частотой дискретизации

смещения вызванные недостаточной частотой дискретизации

Пунктирная линия иллюстрирует среднее значение пилообразного сигнала. Рисунок 3-3 (а) представляет случай отрицательного смещения. На рисунке 3-3 (b) показан случай положительного смещения. И на рисунке 3-3 (с) частота дискретизации выбрана подходящей и смещения нет. Чтобы создать искусственный шум, можно использовать один из счетчиков микроконтроллеров AVR. Так как счетчик и АЦП используют один и тот же источник тактового сигнала, это позволяет синхронизировать шум и частоту дискретизации, чтобы избежать смещения.

FabFilter Pro-L Оверсэмплинг

Алгоритму лимитера часто нужно сделать очень быстрые изменения в звуке, чтобы удалить пики при сохранении прозрачности и кажущемся объём. Эти внезапные изменения могут добавить алиасинг, что приводит к искажениям и в целом снижает качество звукового сигнала. Оверсэмплинг это способ уменьшить этот алиасинг, запустив внутренний процесс лимитирования с частотой дискретизации, которая в два или четыре раза выше, чем частота дискретизации хоста.

FabFilter Pro-L Oversampling.png

«Когда мне нужно, включить оверсэмплинг?«

Вам это нужно больше тогда, когда процесс лимитирования работает быстро (с использованием короткого времен Lookahead), а также при сильном лимитировании, что ведёт к более высокому уровню алиасинга. Алиасинг вызывает меж-сэмпловые пики, а они в дальнейшем могут привести к искажениям, например, во время Ц/А преобразования или преобразования в mp3. Есть только два небольших недостатка оверсэмплинга: это увеличивает нагрузку на процессор, и он может ввести очень небольшой упреждающий звон из-за фазо-линейной фильтрации, которая необходима. Как правило, этот эффект настолько мал, что его не слышно, но правильно знать об этом, а не слепо предполагать, что оверсэмплинг всегда лучше.

«Почему когда включен оверсемплинг, уровень выходящего сигнала может превышать установленный параметр уровня выхода?«

При использовании оверсемплинга, лимитирование применяется к звуку с повышенным количеством сэмплов (в два или четыре раза больше нормальной частоты дискретизации), гарантируя, что ни один сэмпл (сигнала с повышенной частотой дискретизации) не превысит установленного уровня выходящего сигнала. Хотя большинство алиасинга отфильтровывается на конечной стадии понижения дискретизации, всё ещё ещё могут существовать некоторые меж-сэмпловые пики. Из-за этих пиков, процесс понижения дискретизации который возвращает звук в оригинальную частоту дискретизации, может генерировать формы волны с несколько более высоком уровне, чем указанный уровень выходящего сигнала. Величина этого превышения сильно зависит от скорости и количества лимитирования. В большинстве случаев использование минимального времени Lookahead 0,1 мс сохраняет превышение в диапазоне от 0,1 дБ.

Использование ISP измерителя и оверсемплинга [ править ]

Как мы только что объяснили, оверсемплинг, уже может выявить наличие меж-сэмпловых пиков в полученном звуке. Но чтобы полностью раскрыть их, вы должны использовать ISP измеритель. Он также чётко визуализирует благотворное влияние оверсемплинга. Использование 4x оверсемплинга позволит резко сократить меж-сэмпловые пики, что в свою очередь позволяет увеличить уровень выходящего сигнала без меж-сэмплового клиппирования. Вы также можете ясно видеть, что если вы используете немного большее время Lookahead, это будет уменьшать меж-сэмпловые пики, и без оверсемплинга.

При использовании очень короткого времени Lookahead менее 0,1 мс (клиппирование), может стать трудно держать меж-сэмпловые пики в пределах рабочего диапазона. Опять же, в большинстве случаев, выбор 4x оверсемплинга в сочетании с минимальным временем Lookahead 0,1 мс, сохраняет меж-сэмпловые пики в небольшом диапазоне от 0,1 дБ.

Тема: Оверсэмплинг

root_sashok вне форума

По умолчаниюОверсэмплинг

Поскольку в основе цифровой обработки звука лежат математические вычисления, сигнал получает ошибки округления, которые зачастую скапливаются у верхней границы рабочей частоты дискретизации. Чем больше используется обработки, тем больше происходит округлений, попадающих в слышимую область. Это может исказить сигнал, создать фазовые проблемы и вызвать шум.

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

Для демонстрации эффективности оверсэмплинга при эквализации исходный файл обрабатывался эквалайзером с одинаковыми настройками:

Без оверсэмплинга при эквализации

С оверсэмплингом при эквализации

Разница файлов с оверсэмплингом и без оверсэмплинга при эквализации

Затем был проведён тест оверсэмплинга при лимитировании:

Разница между каждым шагом оверсэмплинга:

P.S.: поскольку использование оверсэмплинга несёт за собой интенсивную нагрузку на процессор, множество звукорежиссёров включает его только на этапе рендеринга проекта. При этом полученный микс может отличаться от того, с которым вы работали, т.к. множество вносимых шумов становятся его частью.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *