Last updated on Dec 12, 2014 |
|||||||||||||||
Main page
SRC |
ТЕСТ КОНВЕРТЕРОВ ЧАСТОТЫ ДИСКРЕТИЗАЦИИАлексей Лукин Статья напечатана в журнале «Звукорежиссер», №3, 2007. Конвертеры частоты дискретизации (SRC) повсеместно используются в работе с цифровым звуком даже тогда, когда пользователь об этом не подозревает. Практически любой АЦП и ЦАП, будь то дорогой внешний прибор или дешевая встроенная звуковая карта, работают с так называемой передискретизацией, то есть осуществляют собственно АЦ- и ЦА-преобразование с повышенной частотой дискретизации (до мегагерцовых значений) и пониженной разрядностью (чаще всего 1 бит). Такая передискретизация производится цифровыми методами в цифровом сигнальном процессоре (DSP) конвертера. Программное изменение частоты дискретизации (передискретизация) применяется как независимо для пользователя — внутри семплера или при микшировании звуковых потоков с разной частотой дискретизации в операционной системе, — так и по желанию пользователя, например, при преобразовании проекта из формата 96 кГц в 44,1 кГц в процессе мастеринга Audio-CD.
Существует популярное представление, что цифровой звук — это «ступеньки», аппроксимирующие звуковую волну, и когда ЦАП воспроизводит волну, аналоговый сигнал получается ступенчатым. На самом же деле правильнее представлять цифровую волну как мгновенные значения аналоговой волны в дискретные моменты времени. А ЦАП, чтобы восстановить аналоговую волну, осуществляет гладкую интерполяцию между цифровыми отсчетами. Вид этой интерполяции определяется фильтром передискретизации и, как правило, является приближением к частотно-ограниченной интерполяции с помощью sinc-функций. Это позволяет избежать искажений при работе с высокочастотными сигналами. На рис. 1 показан пример восстановления тона с частотой 13 кГц при частоте дискретизации 44,1 кГц. При «ступенчатой» интерпретации волна даже отдаленно не напоминает синусоиду, а корректная передискретизация восстанавливает тон практически идеально. Кстати, этот пример показывает еще один интересный факт: аналоговая волна может иметь более высокие пиковые значения, чем цифровые отсчеты, и это может перегружать ЦАП при воспроизведении. Алгоритмы передискретизацииНаиболее просты алгоритмы изменения частоты дискретизации в целое число раз. При уменьшении частоты дискретизации в N раз частота Найквиста (половина частоты дискретизации) становится в N раз ниже, т.е. частотный диапазон сужается. Поэтому для предотвращения наложения спектра (алиасинга) применяют НЧ-фильтр, подавляющий все частотные составляющие выше будущей частоты Найквиста. После фильтрации отсчеты сигнала прореживаются в N раз. При этой операции спектр сигнала ниже новой частоты Найквиста остается неискаженным. Для увеличения частоты дискретизации в M раз сигнал сначала интерполируется («разбавляется») нулями. Это сохраняет неизменным спектр сигнала ниже частоты Найквиста, но создает копии спектра выше частоты Найквиста. После этого возникшие копии спектра отфильтровываются НЧ-фильтром. Понятно, что параметры алгоритма определяются свойствами НЧ-фильтра. Гладкость АЧХ и ФЧХ фильтра в полосе пропускания обеспечивает неискаженную передачу сигнала в допустимом частотном диапазоне. Степень подавления в полосе подавления определяет, насколько будут подавлены помехи, не укладывающиеся в допустимый частотный диапазон при уменьшении частоты дискретизации, или насколько будут подавлены возникшие копии спектра при увеличении частоты. Переходная полоса фильтра покажет поведение фильтра вблизи частоты Найквиста (для Audio-CD — вблизи 22 кГц). Форма импульсной характеристики фильтра покажет осцилляции, которые фильтр вносит в сигнал во временной области. В реальных фильтрах эти параметры взаимосвязаны (см. «Цифровые эквалайзеры», «Звукорежиссер» 8/2006). Например, для улучшения параметров частотной характеристики приходится использовать фильтры с более длинным импульсным откликом и большим количеством пульсаций во временной области. Для передискретизации сигнала в нецелое число раз (например, из 96 кГц в 44,1 кГц) можно скомбинировать повышение и понижение частоты дискретизации в целое число раз (например, 44100 = 96000×M/N = 96000×147/320). Поскольку НЧ-фильтрация выполняется после повышения частоты дискретизации в M раз, но до понижения ее в N раз, то две фильтрации можно совместить в одну, установив частоту среза фильтра на минимум из двух необходимых частот среза. Отметим, что фильтр в данном случае работает над сигналом с повышенной в M раз частотой дискретизации. Специальные алгоритмы полифазной фильтрации позволяют избежать явного вычисления такого промежуточного сигнала, сокращая число операций. Они сразу вычисляют отсчеты выходного сигнала как взвешенную сумму окружающих отсчетов входного сигнала и подмножества коэффициентов фильтра. При этом число операций почти не зависит от величин M и N, а зависит лишь от порядка интерполяции, то есть от числа взвешиваемых отсчетов входного сигнала. Большинство конвертеров частоты дискретизации работают именно по принципу полифазной фильтрации, а в качестве фильтра используется НЧ-фильтр с линейной фазой. Тестирование алгоритмовКанадской студией Infinite Wave было организовано тестирование некоторых объективных параметров алгоритмов SRC в режиме преобразования записей из 96 кГц в 44,1 кГц (такой режим считается «трудным» из-за некратности частот дискретизации). Набор тестовых сигналов согласовывался с инженерами компании Weiss, участниками сообщества Mastering Web-board и автором статьи. В качестве тестовых сигналов использовались:
Входные файлы подавались на SRC с наилучшей поддерживаемой разрядностью (32 бит int, 32 бит float, 24 бит), в такой же разрядности записывались и результаты. Построение графиков велось с помощью модифицированной версии программы RightMark Audio Analyzer (RMAA), а также специально разработанных программ анализа. Сгенерированные графики доступны для сравнения на сайте http://src.infinitewave.ca Какие же параметры алгоритмов можно оценить по приведенным графикам? Рассмотрим это на примере результатов SRC, встроенного в программу Sony Vegas 7. На спектрограмме скользящего тона можно увидеть искажения, добавляемые к тону в процессе преобразования. До отметки в 5 секунд тон находится в слышимой области, поэтому уровень гармоник и наложений спектра в левой части спектрограммы показывает, насколько искажаются звуковые сигналы различных частот в слышимом диапазоне. После отметки в 5,5 секунд тон уходит выше 22 кГц и не может быть представлен в формате 44,1 кГц, поэтому в идеале он должен быть подавлен НЧ-фильтром. Данная спектрограмма показывает, что фильтрация недостаточно эффективно подавила ультразвуковой тон, и он отразился в слышимую часть спектра (эффект наложения спектров или алиасинг). Общий фон на спектрограмме практически черный. Это показывает, что у данного алгоритма SRC шумы квантования очень малы.
На спектре синусоиды 1 кГц можно более подробно рассмотреть структуру нелинейных искажений и шумов квантования для данной частоты тестового тона при двух различных уровнях сигнала. По нему видно, что шумов квантования в данном случае практически нет, а нелинейные искажения присутствуют с относительным уровнем спектральных пиков примерно –110 дБ (их суммарный уровень может быть примерно –100 дБ), что согласуется с рис. 2 (столбец в районе 1,2 сек).
График АЧХ фильтра в полосе пропускания показывает ослабление сигналов в звуковом диапазоне при передискретизации. В данном случае АЧХ ровная, и ее спад начинается после 18 кГц, достигая величины –1 дБ на 20 кГц.
График АЧХ фильтра в переходной полосе показывает ослабление компонент сигнала вблизи частоты Найквиста. В идеале фильтр должен пропускать сигналы ниже этой частоты и подавлять сигналы выше нее. В реальности фильтры не могут иметь бесконечно крутого среза и обычно пропускают некоторые частоты выше частоты Найквиста. При прореживании они будут отражены от частоты Найквиста в диапазон ниже частоты Найквиста (как показано на рис. 2). Если эта частотная полоса с неполным подавлением достаточно узка, то отраженные частоты будут лежать вблизи частоты Найквиста, то есть выше слышимого диапазона. В данном случае спад фильтра после частоты Найквиста очень пологий, что может привести к наложению спектров, если энергия сигнала выше 22 кГц будет значительной (см. рис. 2). С другой стороны, плавность спада АЧХ обеспечивает хорошие характеристики фильтра во временной области — малое количество «звона». Отметим, что при передискретизации «звон» фильтров концентрируется вблизи частоты Найквиста, так как именно там проходит изгиб АЧХ. В данном случае — это частоты вблизи 20…24 кГц. Хотя они и находятся в ультразвуковой части диапазона, существуют некоторые свидетельства, что излишний звон фильтров передискретизации негативно влияет на общее звучание, размывая стереопанораму и ухудшая восприятие баса.
График ФЧХ фильтра показывает сдвиг фазы в градусах, вносимый фильтром передискретизации на различных частотах. Большинство фильтров, используемых в SRC, имеют линейную ФЧХ (горизонтальная линия). Однако встречаются и другие типы: некоторые алгоритмы имеют минимально-фазовые фильтры, обладающие нелинейной фазой, но зато устраняющие упреждающий звон во временной области. Можно выделить алгоритм iZotope 64-bit SRC, позволяющий управлять балансом упреждающего и постзвона, линеаризуя при этом ФЧХ в звуковом диапазоне.
Как видно из графика, данный фильтр обладает нелинейной ФЧХ, но похож на минимально-фазовый. Это видно и по графику импульсного отклика фильтра (рис. 7, вверху). Типичные же фильтры передискретизации имеют линейную ФЧХ (то есть звон поровну распределен до и после главного импульса) и достаточно крутой срез (рис. 7, внизу).
Большое значение в алгоритмах передискретизации имеет возможность настройки параметров. Многие протестированные алгоритмы имеют регулятор «качества», который чаще всего влияет на крутизну среза фильтра. Также важными представляются подстройка частоты среза фильтра и выбор типа ФЧХ. На данный момент в тестировании участвуют порядка 30 различных программ и приборов. Большинство из них обеспечивают достаточно хорошее качество преобразования — графики показывают очень низкие уровни искажений. Показатели качества почти не коррелируют с ценой продукта — в каждом ценовом диапазоне есть продукты с удачными и неудачными вариантами SRC. Вероятно, не всегда по приведенным результатам измерений можно судить о субъективном качестве. Для субъективной оценки звучания планируется расширить тестирование, добавив передискретизацию реальных звуковых фрагментов. |