Audiophile's Blog
Логин:Пароль:


Забыл пароль | Регистрация (убрать всю рекламу)
О сайте | Ликбез | Словарь | Audiophile's Testroom | Поддержать | Контакты
Разделы
Поиск по сайту
Популярное
Персональная настройка
Настройка звука онлайн (foobar2000, драйвера, Windows), создание персональных сборок foobar2000.

Контакты

Случайный опрос
Какой формат аудио вы предпочитаете для домашнего прослушивания?
Всего ответов: 2942
Полезный софт
Opera QIP 2010 Download Master µTorrent
Ace Utilities AIDA64 SpeedFan 7-Zip
ESET NOD32 FileZilla Media Player Classic Home Cinema Paint.NET
Sony Sound Forge VirtualDub Unlocker Punto Switcher
Похожие проекты
Сейчас на сайте
Онлайн всего: 15
Гостей: 15
Пользователей: 0
» »

Конвертеры частоты дискретизации


29 Сентября 2009, 20:54

Конвертеры частоты дискретизации (SRC) повсеместно используются в работе с цифровым звуком даже тогда, когда пользователь об этом не подозревает. Практически любой АЦП и ЦАП, будь то дорогой внешний прибор или дешевая встроенная звуковая карта, работают с так называемой передискретизацией, то есть осуществляют собственно АЦ- и ЦА-преобразование с повышенной частотой дискретизации (до мегагерцовых значений) и пониженной разрядностью (чаще всего 1 бит). Такая передискретизация производится цифровыми методами в цифровом сигнальном процессоре (DSP) конвертера.

Программное изменение частоты дискретизации (передискретизация) применяется как независимо для пользователя — внутри семплера или при микшировании звуковых потоков с разной частотой дискретизации в операционной системе, — так и по желанию пользователя, например, при преобразовании проекта из формата 96 кГц в 44,1 кГц в процессе мастеринга Audio-CD.

Рис. 1. Восстановление тона 13 кГц интерполяцией нулевого порядка и частотно-ограниченной интерполяцией

Существует популярное представление, что цифровой звук — это «ступеньки», аппроксимирующие звуковую волну, и когда ЦАП воспроизводит волну, аналоговый сигнал получается ступенчатым. На самом же деле правильнее представлять цифровую волну как мгновенные значения аналоговой волны в дискретные моменты времени. А ЦАП, чтобы восстановить аналоговую волну, осуществляет гладкую интерполяцию между цифровыми отсчетами. Вид этой интерполяции определяется фильтром передискретизации и, как правило, является приближением к частотно-ограниченной интерполяции с помощью 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 и автором статьи. В качестве тестовых сигналов использовались:

  • скользящий тон с амплитудой -6 дБFS, охватывающий частоты от 0 до 48 кГц за 8 секунд. В качестве результата строятся спектрограммы преобразованного сигнала, по которым можно оценить нелинейные искажения, вносимые в сигнал, и наложение спектров (рис. 2). Динамический диапазон спектрограмм составляет 180 дБ;
  • тон 1 кГц с амплитудами -0.1 и -60 дБFS. В качестве результата строится спектр преобразованного сигнала, показывающий нелинейные искажения и шумы квантования (рис. 3);
  • серия импульсов, по которой во многих случаях можно восстановить ядро используемого НЧ-фильтра и проанализировать его АЧХ, ФЧХ и импульсный отклик. В качестве результата строится АЧХ фильтра в полосе пропускания (рис. 4) и переходной полосе (рис. 5), а также ФЧХ в полосе пропускания (рис. 6).
Рис. 2. Спектрограмма скользящего тона с нелинейными искажениями
Рис. 3.Тон 1 кГц и нелинейные искажения
Рис. 4. АЧХ фильтра передискретизации в полосе пропускания
Рис. 5. АЧХ фильтра передискретизации в переходной полосе
Рис. 6. ФЧХ фильтра передискретизации

Входные файлы подавались на 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, вверху).

Типичные же фильтры передискретизации имеют линейную ФЧХ (то есть звон поровну распределен до и после главного импульса) и достаточно крутой срез (рис. 7, внизу).

Большое значение в алгоритмах передискретизации имеет возможность настройки параметров. Многие протестированные алгоритмы имеют регулятор «качества», который чаще всего влияет на крутизну среза фильтра. Также важными представляются подстройка частоты среза фильтра и выбор типа ФЧХ.

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

Алексей Лукин
Журнал «Звукорежиссер» 2007 #3

 
   
Категория: Теория | Добавил: Audiophile ()
Просмотров: 17878 | Комментарии: 3 | Рейтинг: 5.0/5, голосов: 1
Всего комментариев: 3
[3] GigroID   (09 Января 2014 06:58)
Есть такой фокус, называемый "идеальным" даунсемплингом, при котором возможно полное восстановление участка спектра (при дальнейшем апсемплинге образца до исходного состояния). К тому же это интересно с практической точки зрения. ;)
Можно провести очень простой и не менее наглядный эксперимент. Откройте файл, например с параметрами 96 КГц (file1.wav) в izotope RX Advanced и сделайте его ресемплинг с настройками:

Затем ресемплируйте полученный результат обратно в 96 КГц с настройками:

Далее нужно сохранить результат в другой файл (file2.wav).
Затем нужно вычесть этот результирующий файл из исходного в любом аудиоредакторе, в котором можно смикшировать два аудиофайла. Например это легко сделать в Sound Forge. Результат можно сохранить и посмотреть его спектрограмму в том-же izotope. Если все сделано правильно, нижняя часть спектра вплоть до 22-х с лишним килогерц полностью математически вычтется из спектра исходного файла. К сожалению даже лучшие алгоритмы могут работать настолько "идеально" только в случае ресемплинга, строго кратного 2-м и только в определенных условиях, но для большинства случаев вполне достаточно и этого.

[1] fominator   (16 Июля 2013 11:41)
Здравствуйте, корректна ли будет конвертация из flac 24-96 в mp3 фубаром, со стандартными настройками?

[2] Audiophile   (04 Августа 2013 11:28)
Ресемплинг до 48 кГц поставьте обязательно в DSP.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Авторские статьи
Сообщество
Последнее на форуме
Кодеки
TAK FLAC APE WV
MPC OGG AAC/ALAC MP3
WMA TTA OFR LA
Теги
Follow me
Twitter YouTube
Google+ Facebook
Полезные ссылки
Copyright Taras Kovrijenko © 2009–2016