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


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

Контакты

Случайный опрос
C помощью чего вы предпочитаете воспроизводить музыку на компьютере?
Всего ответов: 4609
Полезный софт
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 ()
Просмотров: 19695 | Комментарии: 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–2017