Проблемы и методы аналого-цифровых и цифро-аналоговых преобразований.Аналоговый сигнал представляет собой непрерывный во времени и по амплитуде процесс (с точностью до понятий квантовой теории, но не будем сейчас “копать” столь глубоко), а его цифровое представление есть последовательность или ряд чисел, состоящих из конечного числа бит. Поэтому преобразование аналогового сигнала в цифровой состоит из двух этапов: дискретизации по времени и квантовании по амплитуде. Дискретизация по времени обычно означает, что сигнал представляется рядом своих отсчётов (дискретов) непрерывных по амплитуде и взятых через равные промежутки времени (хотя в некоторых специальных случаях может применяться и неравномерная по времени дискретизация, например при оцифровке узкополосных сигналов). Основной вопрос на первом этапе преобразования аналогового сигнала в цифровой (оцифровки) состоит в выборе частоты дискретизации аналогового процесса. Ответ на него даёт известная теорема Найквиста, утверждающая, что для того чтобы аналоговый (непрерывный по времени) сигнал занимающий полосу частот от 0 Гц до F Гц можно было абсолютно точно восстановить по его отсчётам, частота дискретизации должна быть не меньше 2*F Гц или отсчёты сигнала должны браться не реже чем через 1/(2*F) секунды. Таким образом, если реальный аналоговый сигнал, который мы собираемся преобразовать в цифровую форму содержит частотные компоненты от 0 Гц до 20 кГц, то частота дискретизации такого сигнала должна быть не меньше чем 40 кГц. Если же мы хотим дискретизировать сигнал с полосой больше, чем частота дискретизации делённая на 2, то предварительно необходимо с помощью аналогового фильтра низких частот подавить ту высокочастотную “часть” сигнала, спектральные компоненты которой находятся выше по частоте, чем частота дискретизации делённая на два. Частотный спектр дискретизированного сигнала такой же по форме, как и спектр аналогового (непрерывного) сигнала и повторяется на частотах, кратных частоте дискретизации. Например, если аналоговый сигнал занимает полосу 0..20 кГц и дискретизирован с частотой 50 кГц, то копии спектра (alias или алиазинг) появятся на частотах 30..70 кГц, 80..120 кГц и т.д. Для точного восстановления непрерывного аналогового сигнала по его дискретным отсчётам алиазинговые спектры не должны искажать (накладываться) друг друга, из чего и следует требование дискретизации сигнала на частоте равной удвоенной полосе аналогового сигнала. К сожалению, реальные аналоговые сигналы содержат компоненты (полезные и помехи), имеющие частотные составляющие, расположенные выше по частоте, чем часто применяемые на практике частоты дискретизации 44.1 кГц или 48.0 кГц делённые на два. Поэтому перед дискретизацией необходима аналоговая фильтрация, представляющая собой довольно сложную задачу. Аналоговые фильтры не могут пропустить, скажем, все частоты от 0 Гц до 24 кГц и подавить все частоты выше 24 кГц. Любой аналоговый фильтр имеет ненулевую переходную от пропускания к подавлению область и, следовательно, вместе с “вредными” компонентами будут подавлены и полезные сигналы из области частот ниже 24 кГц. Кроме того, ещё одна неприятность состоит в том, что чем уже мы пытаемся сделать переходную область между полосой пропускания и полосой подавления, тем сильнее вносимые фазовые искажения, длиннее переходный процесс (фильтр начинает “звенеть”) и тем сложнее и капризнее в настройке такой аналоговый фильтр.В современных АЦП эта проблема решается методом «Oversampling». По этому методу диапазон частот входного аналоговый сигнала ограничивается с помощью сравнительно несложного аналогового фильтра. Причём частота среза фильтра выбирается значительно выше высшей полезной частоты, а переходная полоса фильтра делается достаточно широкой. Таким образом, исключаются и завал “полезных” высших частот, и фазовые искажения характерные для аналоговых фильтров с узкой переходной полосой. Далее отфильтрованный, с ограниченным по частоте спектром сигнал дискретизируется на достаточно высокой частоте, исключающей наложение и искажение спектра (алиазинг). Затем дискретные отсчёты сигнала преобразуются в последовательность чисел с помощью АЦП. После этого мы имеем поток цифровых данных, представляющих аналоговый сигнал, включая и нежелательные высокочастотные компоненты и помехи. Эти цифровые данные пропускаются через цифровой фильтр с очень узкой переходной полосой и очень большим подавлением нежелательных высокочастотных компонент. Сегодня расчёт и создание таких цифровых фильтров, к тому же не вносящих никаких фазовых искажений, не представляет больших трудностей. После цифрового фильтра получается цифровое представление сигнала, имеющего спектр, правильно ограниченный по частоте. Применяя к такому сигналу теорему Найквиста, мы можем резко понизить частоту его дискретизации до удвоенной величины наивысшей полезной частотной составляющей, чего мы и хотели добиться! Надо отметить, что часто цифровые фильтры находятся в том же корпусе (микросхеме), что и другие узлы АЦП. Применяется Oversampling и в цифро-аналоговых преобразователях (ЦАП). В ЦАП также есть проблема сложности аналоговых восстанавливающих (интерполирующих) фильтров. Ведь сразу после ЦАП сигнал представляет собой серию дискретных импульсов имеющих многочисленные алиазинговые спектральные компоненты. На аналоговый фильтр в этом случае возлагается задача полностью пропустить сигнал нужного частотного диапазона (скажем 0..24 кГц) и, по возможности, наиболее полно подавить ненужные высокочастотные компоненты. И конечно, чисто аналоговому фильтру выполнить такие противоречивые требования очень сложно. Поэтому сначала цифровой сигнал интерполируют, т.е. вставляют дополнительные отсчёты, вычисленные по специальным алгоритмам и, тем самым резко увеличивают частоту дискретизации. При этом исходный спектр полезного сигнала не искажается, но сигнал уже дискретизирован на значительно более высокой частоте. Это приводит к тому, что алиазинговые спектральные компоненты на выходе ЦАП далеко отстоят от частотных компонент основного сигнала и, соответственно, чтобы отфильтровать (подавить) их достаточно применить простой аналоговый фильтр.Квантование амплитуды аналогового сигнала, разрядность АЦПНапомним, что преобразование аналогового сигнала в цифровой поток данных происходит в два этапа. Первый этап это дискретизация сигнала на основе теоремы Найквиста с использованием oversampling. Второй этап это квантование амплитуды дискретных отсчётов, полученных на первом этапе. Представим себе что дискрет представляет собой некий столбик или полоску, наподобие той, что мы видим на студийном индикаторе уровня сигнала. Длина этой полоски и есть амплитуда сигнала в данном дискрете. Процесс квантования амплитуды тогда можно представить как измерение длины полоски с помощью линейки. Чем чаще идут метки на линейке, тем точнее мы можем измерить длину полоски (амплитуду) и тем меньше будут ошибки измерений (шумы квантования). Однако чем чаще расположены метки на линейки тем больше бит нам потребуется для записи числа, соответствующего измеренной нами длине полоски (амплитуде сигнала в дискрете). Например, если на линейке 32 метки то для представления длины полоски (амплитуды) в виде числа понадобится максимум 5 бит (32=2**5). В данном случае 5 бит и будет разрядностью АЦП. Таким образом процесс квантования амплитуд дискретов фактически заключается в измерении их величин по отношению к некоторому опорному источнику напряжения (линейка в предыдущих объяснениях), обычно имеющемуся внутри корпуса микросхемы АЦП и выражении этих величин в виде чисел состоящих из конечного числа бит. Причём числа могут быть не только целые, например, 16,18,20,24-битные, но и 24 или 32- битные с плавающей точкой или другой кодировкой (например в кодах с исправлением ошибок), зависящий от конкретной реализации устройства АЦП. Довольно часто используется всё же кодирование результатов измерения амплитуд дискретов в виде целых чисел в так называемом “дополнительном коде”. В обычном АЦП число бит на один дискрет (разрядность числа) выходного цифрового потока данных непосредственно с квантователя амплитуд дискретов и на выходе всего АЦП равны, так как числа с квантователя амплитуд поступают непосредственно на выход устройства. В случае входного аналогового сигнала в виде случайного процесса типа белого шума ошибки процесса квантования некорелированны с самим сигналом и отношение сигнал шум на выходе АЦП в этом случае (если все остальные элементы идеальны) будет 6*N дБ, где N есть число бит на один дискрет или разрядность чисел (для дополнительного кода) сопоставляемых величинам амплитудам дискретов. Например для 16-битного АЦП с частотой дискретизации 44.1 кГц в идеальном случае шум квантования будет находится на уровне -96 дБ по отношению к цифровому синусоидальному сигналу амплитудой 32767 и спектр шума квантования будет равномерен (постоянен) в диапазоне 0..22.05 кГц. Если АЦП будет дискретизировать сигнал с большей частотой, то полная мощность шумов квантования останется неизменной, но его спектр будет шире (он будет простираться от 0 Гц до новой, большей частоты дискретизации делённой на 2). Например, если частота дискретизации удваивается до 88.2 кГц, то спектр шумов квантования будет простираться уже до 44.1 кГц (вместо 22.05 кГц). А наш полезный сигнал, конечно, будет иметь спектр (как и раньше) простирающийся от 0 Гц до 22.05 кГц, т.е. спектр шума станет в два раза шире спектра сигнала при прежней мощности шума. Таким образом мощность шумов квантования “внутри” спектра полезного сигнала упадёт в два раза. Другими словами отношение сигнал/шум квантования в полосе 0 Гц - 22.05 кГц улучшиться в два раза (на 3 дБ) ! Теперь можно с помощью цифрового фильтра с большим ослаблением шума полосе задержания и узкой переходной полосой (а сделать такой цифровой фильтр не представляет большого труда) отфильтровать (подавить) полосу от 22.05 Гц до 44.1 содержащую только шумы квантования и получить реально лучшее на 3 дБ отношение сигнал/шумы квантования. Этот процесс можно продолжать. В случае 4-х кратного увеличения частоты дискретизации (4-х кратный oversampling) произойдёт улучшение сигнал/шум на 6 дБ. Судя по технической документации на рынке можно встретить АЦП и со 128/256-ми кратным oversampling (+21..24 дБ к исходному сигнал/шум). Поэтому же принципу, если мы будем использовать 15-битный квантователь на частоте дискретизации 44.1*4 кГц мы получим такое же отношение сигнал/шум как и для 16 битного квантователя и частоты дискретизации 44.1 кГц. Далее с помощью цифровых фильтров можно подавить все лишние частотные составляющие в полосе от 22.05 кГц до 44.1*(4 в степени 15) /2 кГц и далее в полном соответствии с теоремой Найквиста понизить частоту дискретизации до 44.1 кГц. Таким образом квантователь АЦП не обязательно должен иметь высокую разрядность для того чтобы выходной поток цифровых данных АЦП имел таковую. Увеличение эффективной разрядности АЦП может быть достигнуто использованием метода оверсэмплинга и цифровой фильтрации. Применение метода оверсэмплинга при цифро-аналоговом преобразовании также даёт выигрыш. Для каждого увеличения частоты дискретизации входного потока поступающего на ЦАП разрядность чисел представляющих амплитуду дискретов может быть уменьшена на 1 бит без потери качества выходного аналогового сигнала.DITHERING, DITHER (Диферинг или Дитер)Реальные музыкальные сигналы далеки от белого шума. Из-за этого шумы квантования оказываются коррелированы с сигналом. Человеческое слуховое восприятие чётко реагирует на это возникновением ощущения “грязного звука”. Особенно ярко этот эффект проявляется для 8-битных отсчётов сигнала. Другими словами если сигнал с обычного компакт диска (16-битный) уменьшится по громкости на 48 дБ (на 8 бит) от своего номинального уровня, то он станет “грязным” и непригодным для прослушивания. То есть вместо заявленного для компакт дисков отношения сигнал/шум 96 дБ реальный динамический диапазон из-за эффекта корреляции шумов квантования составляет всего 48 дБ ! Получается что перед записью на компакт диск исходный музыкальный материал должен быть скомпрессирован тем или иным способом с целью уменьшения его динамического диапазона и предотвращения “грязного” звучания на слишком маленьких уровнях громкости. Однако сжатие динамического диапазона исходного музыкального материала, достигающего порой 100 и более дБ (например для электрогитары) на 48 дБ без заметных на слух искажений представляется крайне сложной задачей. Поэтому иногда применяется диттеринг, позволяющий частично “обменять” эффект грязного звучания на незначительное увеличения высокочастотного шума. Метод дитеринга заключается в добавлении небольшого шумового (обычно высокочастотного) сигнала во входной сигнал АЦП или уже к цифровому сигналу в момент перехода от оцифрованного с разрядностью 20 и более бит исходного музыкального материала к 16-битному предназначенному для записи на компакт диск. Это приводит к декореляции шумов квантования и сигнала, однако общий уровень шумов немного возрастает. NOISE SHAPING (Нойс шейпинг)В результате процесса дискретизации и квантования (оцифровки или аналогово-цифрового преобразования) входного аналогового сигнала с применением дитеринга к сигналу добавляется шум квантования. Его спектр равномерен и простирается начиная от 0 Гц и до половины частоты дискретизации. Равномерность по частоте и некорелированность шума с сигналом достигается применением дитеринга и правилом квантования, при котором округление амплитуды в дискрете происходит к ближайшей опорной величине. Применение более сложных правил округления позволяет получить другие (неравномерные) спектральные характеристики шумов округления при сохранении полной мощности шумов неизменной. Учитывая, что человеческий слуховой аппарат имеет спад чувствительности на высоких частотах, возможно, используя специальные правила округления при квантовании, получить спектр шумов округления большей частью сосредоточенный в области частот, которые наименее заметны на слух ( выше 20кГц). Частота Найквиста для ЦАП с 256-ти кратным оверсэмплингом около 11.2мгц, и следовательно мы имеем возможность “переместить” весь шум квантования в область частот практически неслышимую человеческим ухом (от 20 кГц до 5.6 Мгц). Таким образом можно значительно улучшить отношение сигнал/шум в диапазоне слышимых частот в цифровом сигнале не увеличивая количество бит на один дискрет. Это и есть нойс шейпинг.