Джиттер и клокинг
Много суеты всё ещё происходит вокруг такого явления, как джиттер. Хотя это и потенциально серьёзная проблема, но в наши дни она достаточно редко встречается в практике, поскольку разработчики и изготовители нашли очень эффективные пути её предотвращения.
Что же такое джиттер? Это очень краткосрочные изменения (девиации) временных промежутков между отдельными сэмплами. В цифровой системе, работающей на частоте дискретизации 48кГц, промежуток между каждым пульсом часов должен быть 20,8333333333…микросекунд. Но если промежуток между некоторыми импульсами, к примеру, 20.80мкс, а между другими – 20.85, то у нас имеются ошибки тайминга. Они приводят к ошибкам амплитуды волновой формы, или, другими словами, к искажениям.
Это может случиться как в A –D стадии, так и в D – A. Но это более серьёзно, если происходит в первом случае, поскольку эти искажения уже как бы заперты в цифровой сигнал. Джиттер клока в аналого-цифровом конвертере означает, что амплитуда в разных точках измерена или немного раньше, или немного позже, чем положено, но при этом данные сохранены так, как будто измерения произведены в точно правильное время. Таким образом, получается, что эти сэмплы предоставляют нам ложное значение амплитуды.
Этот экстремальный пример джиттера показывает, что первый синий сэмпл произведён слишком рано, а второй – слишком поздно. В итоге, исходная (красная) волновая форма искажена (показано фиолетовым).
Подобная проблема может присутствовать и в цифро-аналоговом конвертере при восстановлении аналоговых сэмплов из перевёдённых в цифровую форму амплитудных данных. Если какие-то сэмплы обрабатываются немного раньше или позже, чем это положено, то здесь снова могут возникнуть искажения истинной волновой формы.
Если джиттер клока происходит случайным, хаотическим образом, то получившееся искажение тоже будет случайно. А случайный сигнал – это шум. Так как в высокочастотном сигнале за единицу времени происходит больше изменений, чем в низкочастотном, то маленькие ошибки в тайминге произведут большие ошибки в амплитуде высокочастотного сигнала. Таким образом, случайный джиттер имеет тенденцию производить преимущественно высокочастотное шипение. В принципе, это явление происходит в любой цифровой системе, хотя, повторюсь ещё раз – современная аппаратура настолько хороша, что джиттер перестал быть практической проблемой.
Хотя, с другой стороны, если джиттер будет иметь циклическую форму или как-то будет связан с поступающим звуковым сигналом, то искажения уже будут тональными (подобно альясингу) или гармоническими. Такие вещи уже намного сильнее заметны на слух. Правда, ни на одной нормальной цифровой аудиосистеме я не услышал подобных вещей, разве что только на самых дешёвых и низкокачественных устройствах.
Другой источник джиттера (самый серьёзный в наши дни) – это соединительные кабели. Если Вы передаёте сигналы через длинный кабель (электрический или оптический), то «хорошие» входные сигналы прямоугольной формы превращаются на выходе во что-то похожее на акульи плавники. Такая деградация вызвана ёмкостью кабеля (или дисперсией оптического волокна). Таким образом, чем длиннее кабель, тем сильнее выражена деградация формы исходного цифрового импульса. Именно поэтому, цифровые кабели должны обладать широкой полосой пропускания и иметь малую ёмкость.
Это имеет большой значение, потому что большинство цифровых потоков включает в себя не только аудиоданные, но и сигналы клока (тайминга). Информация о тайминге определяется между фронтом и спадом соответствующего синхронизирующего импульса. Если края этого импульса являются вертикальными, то эта информация определяется строго однозначно. Однако, если имеется нарушение формы этих клок-импульсов (наклон краёв), то выбор времени становится уже неоднозначным. Таким образом, в результате мы имеем вложенную клок-информацию, страдающую джиттером!
Когда происходит передача данных между системами, работающими на одной частоте дискретизации, прецизионный клок не столь необходим. Всё, что требуется, так это то, чтобы устройства просто могли определить в каждый момент времени правильное бинарное значение (ноль или единица) каждого бита в каждом двоичном слове.
Однако, в процессе конвертации (A – D или D – A), точный тайминг становится критически важным аспектом. Так, если цифро-аналоговый конвертер полагается на использование страдающего джиттером вложенного клока (сгенерированного A – D конвертером), то в восстановленном аналоговом сигнале может присутствовать шум или искажение. К счастью, современные D – A конвертеры включают сложные системы подавления джиттера, обеспечивающие изоляцию между вложенным в сигнал клоком и своими внутренними часами.
В большинстве случаев, A – D конверторы работают от внутренних высокоточных генераторов клока. Обычно, внешний генератор требуется только тогда, когда приходится одновременно использовать множество аналого-цифровых преобразователей. Тогда, эти конверторы будут работать в подчинённом режиме. Вообще, чтобы минимизировать вредоносный потенциал джиттера, лучше всего, по возможности, использовать внутренний генератор клока A – D конвертора для управления всей системой. Если требуется использовать внешний генератор, то применяйте самые короткие и самые качественные кабели для передачи клока между устройствами.
Квантизация
Линейная система – это такая система, где отношение между уровнями входного и выходного сигналов имеет значение 1:1.
Другой камень преткновения в процессе перевода аналогового звука в цифровую форму – это концепция «разрешения». Общий способ описать квантизацию состоит в том, чтобы показать, что измерение амплитуды аудиосэмплов – это неотъемлемо неточный процесс из-за ясно определённых приращений квантования. Эти ошибки измерения уменьшаются с увеличением длины цифрового слова. К примеру, 8 битов могут передать только 256 градаций уровня, 16 битов уже передают 65356, а 24 бита – 16777216. Таким образом, кажется очевидным, что 24 бита дают большую точность, чем 16 или 8 бит. Отчасти это верно, но это также может ввести в заблуждение, поскольку звуковое квантование не осуществляется таким упрощённым способом.
Если Вы построите график (часто называемый «передаточной кривой»), показывающий отношение между уровнями входного и выходного сигнала в аналоговой системе, работающей с единичным усилением, то Вы получите прямую линию, расположенную под углом 45 градусов в системе координат. Выходной уровень увеличивается в той же самой пропорции, что и входной. Таким образом, наша система описана как «линейная» - т.е. она свободна от искажений амплитуды.
В простой же квантующей системе мы получаем на графике лестницу. Входной уровень повышается, но выходной остаётся на прежнем уровне, пока не будет достигнут следующий порог квантования. В этом месте выходной уровень резко подскакивает и остаётся неподвижным, пока снова не будет достигнут следующий порог. Ясно, что это очень нелинейно, и слышимый результат – искажённый звук. На сайте SOS есть файлы, демонстрирующие это на примере простой фортепьянной музыки. Первый файл (Piano_16.mp3) – оригинальная музыка, взятая с компакт-диска; второй (Piano_8.mp3) квантуется к 8 битам; третий (Piano_3.wav) – к трём.
У грубо квантующей системы имеется ступенчатая «передаточная кривая», в которой уровень выходного сигнала увеличивается резкими скачками при достижении порогов квантования.
Вы можете сами услышать, что чем меньше битов – тем больше шаги квантования, тем нелинейнее становится система и тем больше возникает искажений. В трёхбитном разрешении фортепьяно почти не опознаваемо. Заметьте (по крайней мере в 8-битной версии), что когда уровень сигнала весьма высок, то ошибки квантования происходят достаточно случайным образом и похожи на шум. Но когда уровень сигнала понижается (в распадах нот), то ошибки уже определяются слухом как искажения. Когда уровень падает ниже самого низкого порога квантования, то на выходе вообще нет ничего – даже никакого фонового шипения!
В этих примерах я сохранял исходную амплитуду оригинального звука и только лишь уменьшал длину цифрового слова, чтобы сделать эффект более очевидным. Но точно такие же эффекты случаются и в грубо квантующей 24-битной системе. Это может происходить в тех случаях, когда на вход поступают тихие сигналы, не использующие все 24 бита её разрешения. И эти сигналы могут квантоваться и восемью, и тремя битами…Эффекты искажения будут не очень заметны, но всё равно они будут там. Эта нелинейность абсолютно недопустима.