Рис. 9. Характеристики квантования: а) линейная; б) нелинейная.
Квантование сигнала можно описать графически с помощью характеристики квантования, где по горизонтальной оси отложены значения непрерывного сигнала, а по вертикальной - значения квантового сигнала (рис. 9.). Шаг квантования определяется числом разрядов АЦП. Квантование с постоянным шагом называется равномерным или линейным. Иногда применяется нелинейное квантование. Оно позволяет обеспечить достаточно большой динамический диапазон при снижении разрядности АЦП. При этом характеристика квантования имеет вид кривой, близкой к логарифмической. Число уровней квантования n и число двоичных разрядов АЦП определяют динамический диапазон преобразования. Динамический диапазон (в дБ) от числа разрядов АЦП или ЦАП определяется выражением D=6n+1,8, где n - число двоичных разрядов.
Цифровой звук – обо всем по-порядку
Некоторые факты и понятия, без которых тяжело обойтись: В соответствии с теорией математика Фурье, звуковую волну можно представить в виде спектра входящих в нее частот (рис. 10). Частотные составляющие спектра - это синусоидальные колебания (так называемые чистые тона), каждое из которых имеет свою собственную амплитуду и частоту. Таким образом, любое, даже самое сложное по форме колебание (например, человеческий голос), можно представить суммой простейших синусоидальных колебании определенных частот и амплитуд. И наоборот, сгенерировав различные колебания и наложив их друг на друга (смикшировав, смешав), можно
рис 10.
получить различные звуки. Справка: человеческий слуховой аппарат/мозг способен различать частотные составляющие звука в пределах от 20 Гц до ~20 КГц (верхняя граница может колебаться в зависимости от возраста и других факторов). Кроме того, нижняя граница сильно колеблется в зависимости от интенсивности звучания.
«Обычный» аналоговый звук представляется в аналоговой аппаратуре непрерывным электрическим сигналом. Компьютер оперирует с данными в цифровом виде. Это означает, что и звук в компьютере представляется в цифровом виде. Как же происходит преобразование аналогового сигнала в цифровой?
Цифровой звук – это способ представления электрического сигнала посредством дискретных численных значений его амплитуды. Допустим, мы
рис. 11
имеем аналоговую звуковую дорожку хорошего качества (говоря «хорошее качество» будем предполагать нешумную запись, содержащую спектральные составляющие из всего слышимого диапазона частот – приблизительно от 20 Гц до 20 КГц) и хотим «ввести» ее в компьютер (то есть оцифровать) без потери качества. Как этого добиться и как происходит оцифровка? Звуковая волна – это некая сложная функция, зависимость амплитуды звуковой волны от времени. Казалось бы, что раз это функция, то можно записать ее в компьютер «как есть», то есть описать математический вид функции и сохранить в памяти компьютера. Однако практически это невозможно, поскольку звуковые колебания нельзя представить аналитической формулой (как y=x2, например). Остается один путь – описать функцию путем хранения ее дискретных значений в определенных точках. Иными словами, в каждой точке времени можно измерить значение амплитуды сигнала и записать в виде чисел. Однако и в этом методе есть свои недостатки, так как значения амплитуды сигнала мы не можем записывать с бесконечной точностью, и вынуждены их округлять. Говоря иначе, мы будем приближать эту функцию по двум координатным осям – амплитудной и временной (приближать в точках – значит, говоря простым языком, брать значения функции в точках и записывать их с конечной точностью). Таким образом, оцифровка сигнала включает в себя два процесса - процесс дискретизации (осуществление выборки) и процесс квантования. Процесс дискретизации - это процесс получения значений величин преобразуемого сигнала в определенные промежутки времени (рис. 11). Квантование - процесс замены реальных значений сигнала приближенными с определенной точностью (рис. 12). Таким образом, оцифровка – это фиксация амплитуды сигнала через определенные промежутки времени и регистрация
рис. 12
полученных значений амплитуды в виде округленных цифровых значений (так как значения амплитуды являются величиной непрерывной, нет возможности конечным числом записать точное значение амплитуды сигнала, именно поэтому прибегают к округлению). Записанные значения амплитуды сигнала называются отсчетами. Очевидно, что чем чаще мы будем делать замеры амплитуды (чем выше частота дискретизации) и чем меньше мы будем округлять полученные значения (чем больше уровней квантования), тем более точное представление сигнала в цифровой форме мы получим. Оцифрованный сигнал в виде набора последовательных значений амплитуды можно сохранить.
Теперь о практических проблемах. Во-первых, надо иметь в виду, что память компьютера не бесконечна, так что каждый раз при оцифровке необходимо находить какой-то компромисс между качеством (напрямую зависящим от использованных при оцифровке параметров) и занимаемым оцифрованным сигналом объемом.
Во-вторых, согласно теореме Котельникова частота дискретизации устанавливает верхнюю границу частот оцифрованного сигнала, а именно, максимальная частота спектральных составляющих равна половине частоты дискретизации сигнала. Попросту говоря, чтобы получить полную информацию о звуке в частотной полосе до 22050 Гц, необходима дискретизация с частотой не менее 44.1 КГц.
Существуют и другие проблемы и нюансы, связанные с оцифровкой звука. Не сильно углубляясь в подробности отметим, что в «цифровом звуке» из-за дискретности информации об амплитуде оригинального сигнала появляются различные шумы и искажения (под фразой «в цифровом звуке есть такие-то частоты и шумы» подразумевается, что когда этот звук будет преобразован обратно из цифрового вида в аналоговый, то в его звучании будут присутствовать упомянутые частоты и шумы). Так, например, джиттер (jitter) – шум, появляющийся в результате того, что осуществление выборки сигнала при дискретизации происходит не через абсолютно равные промежутки времени, а с какими-то отклонениями. То есть, если, скажем, дискретизация проводится с частотой 44.1 КГц, то отсчеты берутся не точно каждые 1/44100 секунды, а то немного раньше, то немного позднее. А так как входной сигнал постоянно меняется, то такая ошибка приводит к «захвату» не совсем верного уровня сигнала. В результате во время проигрывания оцифрованного сигнала может ощущаться некоторое дрожание и искажения. Появление джиттера является результатом не абсолютной стабильности аналогово-цифровых преобразователей. Для борьбы с этим явлением применяют высокостабильные тактовые генераторы. Еще одной неприятностью является шум дробления. Как мы говорили, при квантовании амплитуды сигнала происходит ее округление до ближайшего уровня. Такая погрешность вызывает ощущение «грязного» звучания.
Небольшая справка: стандартные параметры записи аудио компакт-дисков следующие: частота дискретизации - 44.1 КГц, уровень квантования – 16 бит. Такие параметры соответствуют 65536 (216) уровням квантования амплитуды при взятии ее значений 44100 раз в секунду.
На практике, процесс оцифровки (дискретизация и квантование сигнала) остается невидимым для пользователя - всю черновую работу делают разнообразные программы, которые дают соответствующие команды драйверу (управляющая подпрограмма операционной системы) звуковой карты. Любая программа (будь то встроенный в Windows Recorder или мощный звуковой редактор), способная осуществлять запись аналогового сигнала в компьютер, так или иначе оцифровывает сигнал с определенными параметрами, которые могут оказаться важными в последующей работе с записанным звуком, и именно по этой причине важно понять как происходит процесс оцифровки и какие факторы влияют на ее результаты.
Как после оцифровки прослушивать звук? То есть, как преобразовывать его обратно из цифрового вида в аналоговый?
рис. 13
Для преобразования дискретизованного сигнала в аналоговый вид, пригодный для обработки аналоговыми устройствами (усилителями и фильтрами) и последующего воспроизведения через акустические системы, служит цифроаналоговый преобразователь (ЦАП). Процесс преобразования представляет собой обратный процесс дискретизации: имея информацию о величине отсчетов (амплитуды сигнала) и беря определенное количество отсчетов в единицу времени, путем интерполирования происходит восстановление исходного сигнала (рис. 13).
Еще совсем недавно воспроизведение звука в домашних компьютерах было проблемой, так как компьютеры не оснащались специальными ЦАП. Сначала в качестве простейшего звукового устройства в компьютере использовался встроенный динамик (PC speaker). Вообще говоря, этот динамик до сих пор имеется почти во всех PC, но никто уже не помнит как его «раскачать», чтобы он заиграл. Если вкратце, то этот динамик присоединен к порту на материнской плате, у которого есть два положения – 1 и 0. Так вот, если этот порт быстро-быстро включать и выключать, то из динамика можно извлечь более-менее правдоподобные звуки. Воспроизведение различных частот достигается за счет того, что диффузор динамика обладает конечной реакцией и не способен мгновенно перескакивать с места на место, таким образом он «плавно раскачивается» вследствие скачкообразного изменения напряжения на нем. И если колебать его с разной скоростью, то можно получить колебания воздуха на разных частотах. Естественной альтернативой динамику стал так называемый Covox – это простейший ЦАП, выполненный на нескольких подобранных сопротивлениях (или готовой микросхеме), которые обеспечивают перевод цифрового представления сигнала в аналоговый – то есть в реальные значения амплитуды. Covox прост в изготовлении и поэтому он пользовался успехом у любителей вплоть до того времени, когда звуковая карта стала доступной всем.