23.07.2019

Цифровой звук

В отличие от аналогового цифровой сигнал не имитирует акустический звук. Цифровой звук присваивает отдельным точкам во времени цифровые значения, которые отражают высоту амплитуды в данной точке. Второе отличие цифрового звука от аналогового состоит в том, что цифровой звук дискретен.

Как известно, цифровая информация хранится в байтах, каждый из которых состоит из 8 бит. Бит – минимальная единица цифровой информации, которая может принимать всего два значения – ноль или единицу.

Так как же превратить непрерывный аналоговый сигнал в последовательность нолей и единиц, да еще и правильно привязать эту информацию к линии времени? Перевод звука в цифровой формат делится на две операции сэмплирование и квантование. Сэмплирование – дискретизирует время, а квантование – амплитуду. Именно эти операции и выполняет ваш аудио интерфейс.

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

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

Цифровой звук

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

Так какая же должна быть частота дискретизации (sample rate), чтобы получить цифровой звук, которой можно будет потом обратно конвертировать в аналоговый сигнал? В соответствии с теоремой Котельникова каждый сигнал с ограниченной полосой может быть сэмплирован и потом восстановлен из цифрового вида при условии, что частота сэмплирования будет как минимум вдвое больше самой высокой частоты в исходном сигнале.

Это означает, что в нашем сигнале должна быть максимальная частота, которая никогда не будет превышена. Когда мы установим самую высокую частоту, останется умножить ее на два и получить требуемую частоту сэмплирования. Также, согласно теореме, все частоты больше половины частоты сэмплирования должны быть убраны из входного сигнала.

Поскольку человек слышит звуки от 20 Hz до 20 kHz частота сэмплирования в 40 kHz должна быть подходящей для кодирования любых слышимых человеком звуков. С небольшим запасом на работу фильтра, который отрабатывает перед конвертацией в цифровой формат, в cd стандарте аудио срезаются звуки выше 22 050Hz, а частота сэмплирования составляет 44 100 Hz.

Теперь рассмотрим, какие именно цифры присваивает АЦП значениям амплитуды при выполнении конвертации аналогового сигнала.

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

Цифровое выражение из n-бит предполагает 2n различных вариантов значений, то есть 2n различных вариантов последовательностей нолей и единиц. В таблице приведены варианты последовательностей для n = 2,3,4.

n = 2
4 варианта значений
n = 3
8 вариантов значений
n = 4
16 вариантов значений
00
01
10
11
000
001
010
011
100
101
110
111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

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

000
001
010
011
100
101
110
111

Значение амплитуды звуковой волны колеблется между -5 и +5 вольт, то есть общий диапазон составляет 10 вольт. Если у нас 3-битный аудиоинтерфейс, и для кодирования есть всего 8 вариантов значений, то весь 10-вольтный диапазон будет разбит на 8 равных участков по 1,25 вольта, каждому из которых будет присвоен свой номер.

То есть, к примеру, для напряжения от 0 до 1,25 вольт мы будем использовать цифровое выражение 100.

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

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

Таким образом, если мы кодируем среднее напряжение участка, в данном случае 0,625 вольт, то мы получим точное значение. Присвоение того же кода любому другому напряжению участка вызовет небольшую ошибку. Соответственно, максимальная ошибка, которую можно получить равна половине размера участка.

Если же при кодировании использовать большее количество бит, участки будут уменьшены, поэтому точность кодирования повысится.

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

216 = 65 536 участков
224 = 16 677 216 участков

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

Стандарт cd – это 44 100 Hz, 16 бит. Поэтому, если вы записали аудио 24 бит, а потом хотите записать его на cd, обязательно необходимо использовать дитеринг для предотвращения появления ошибок квантования при понижении с 24 бит до 16 бит.


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