Аналого-цифровые преобразования
Аналоговый сигнал – сигнал, принимающий бесконечное число значений и заданный в непрерывном времени (определен для любого момента времени).
Дискретный сигнал – сигнал, принимающий бесконечное число значений и заданный в дискретном времени (определен только в моменты времени, кратные периоду дискретизации Т).
Цифровой сигнал – сигнал, принимающий конечное число значений, заданный в дискретном времени и представленный в виде цифровых кодов.
Цифровой сигнал может быть получен из аналогового путем его дискретизации по времени (выполняется на основании теоремы отсчетов), квантования по уровню (выполняется с учетом динамического диапазона исходного аналогового сигнала) и кодирования.
Под дискретизацией понимают переход от непрерывного сигнала к близкому (в определенном смысле) дискретному сигналу, описываемому разрывной функцией времени. Пример дискретного сигнала – последовательность коротких импульсов с изменяющейся амплитудой (последняя выступает в данном случае в качестве информативного параметра).
Обработка и передача дискретной информации имеет ряд преимуществ по сравнению с информацией, заданной в непрерывном виде. Дискретные сигналы в меньшей степени подвержены искажениям в процессе передачи и хранения, они легко преобразуются в двоичный цифровой код и обрабатываются с помощью цифровых вычислительных устройств.
Процесс дискретизации состоит обычно из двух этапов: дискретизации по времени и дискретизации (квантования) по уровню.
Дискретизация аналогового сигнала по времени – процесс формирования выборки аналогового сигнала в моменты времени, кратные периоду дискретизирующей последовательности Dt.
Дискретизирующая последовательность – периодическая последовательность импульсов, задающая сетку дискретного времени (используется для управления аналоговыми ключами).
Период дискретизации Dt – параметр, характеризующий процесс дискретизации аналогового сигнала (задает сетку дискретного времени).
При выборе частоты дискретизации по времени можно воспользоваться теоремой В.А. Котельникова.
Теорема отсчетов (теорема Котельникова) – теорема, определяющая выбор периода дискретизации Dt аналогового сигнала в соответствии с его спектральной характеристикой.
Согласно теореме, всякий непрерывный сигнал, имеющий ограниченный частотный спектр, полностью определяется своими дискретными значениями в моменты отсчета, отстоящие друг от друга на интервалы времени Dt = 1/(2Fmax), где Fmax — максимальная частота в спектре сигнала. Иначе, дискретизация по времени не связана с потерей информации, если частота дискретизации fдискр = 1/Dt в два раза выше указанной верхней частоты сигнала Fmax.
Согласно теореме Котельникова, нет необходимости передавать бесконечное множество всех значений непрерывного сигнала x(t), достаточно передавать лишь те его значения (рис. 3.1), которые отстоят друг от друга на расстоянии Dt = 1/(2Fmax). Для восстановления сигнала x(t) на вход идеального фильтра низких частот, имеющего полосу пропускания частот от 0 до Fmax, необходимо подать последовательность узких импульсов с амплитудой, соответствующей дискретным отсчетам сигнала x(ti) в моменты времени ti = iDt.
Рис. 3.1. Дискретные отсчеты сигнала
Поскольку теорема отсчетов (теорема Котельникова) сформулирована для сигнала с ограниченным спектром, а реальные сигналы имеют неограниченную спектральную плотность, то при расчетах Dt = 1/(2Fmax) используют приближенное значение Fmax (например, активную ширину спектра, определенную по амплитудному критерию, по критерию 90%-ного содержания энергии или средней мощности сигнала).
Кроме того, и идеальный фильтр низких частот, необходимый для восстановления сигнала в соответствии с теоремой, является физически нереализуемым, так как предъявляемые к нему требования (идеально прямоугольная форма амплитудно-частотной характеристики, отсутствие фазового сдвига в рассматриваемой полосе частот от 0 до Fmax) оказываются противоречивыми и могут выполняться лишь с определенной погрешностью. Учитывая сказанное, частоту дискретизации по времени обычно принимают в 1,5-2,5 раза больше значения, рассчитанного по теореме Котельникова, т.е.
fдискр = (3 – 5)Fmax.
Существуют и другие способы выбора частоты дискретизации сигнала (с учетом времени корреляции передаваемого сообщения, значения наибольшего или среднеквадратичного отклонения процесса и т.д.). Так, в соответствии с критерием Н.А. Железнова, который выполняется для случайных сигналов, имеющих конечную длительность Тс и неограниченный частотный спектр, рекомендуется принимать шаг дискретизации Dt, равный максимальному интервалу корреляции сигнала t0.
Предполагается, что параметр Ф0 характеризует такой промежуток времени, в пределах которого отдельные значения случайного процесса можно считать статистически зависимыми (коррелированными). Таким образом, исходный непрерывный сигнал заменяется совокупностью N = Тс/t0 некоррелированных отсчетов (импульсов), следующих с частотой fдискр = 1/Dt = 1/t0. При этом восстановление сигнала x(t) осуществляется с помощью линейного прогнозирующего фильтра со среднеквадратической ошибкой, сколь угодно мало отличающейся от нуля в промежутке времени, равном интервалу корреляции t0.
Более полно учитывая свойства реальных сигналов (конечная длительность, неограниченность спектра), критерий Железнова тем не менее исходит из допущения о равенстве нулю корреляционной функции сигнала Kx(t) вне интервала [-t0; t0], что на практике выполняется с определенной погрешностью.
В тех случаях, когда имеется более подробная информация о законе изменения сигнала, выбор частоты дискретизации можно осуществлять исходя из допустимой погрешности аппроксимации функции x(t) на каждом из интервалов дискретизации. На рис. 3.2 дан пример кусочно-линейной аппроксимации, когда соседние отсчеты функции x(t), взятые в дискретные моменты времени ti, и ti+1, соединяются отрезками прямых.
Рис. 3.2. Кусочно-линейная аппроксимация
При этом аппроксимируемая функция x(t) на интервале [ti, ti+1] описывается уравнением
, (3.1)
где
.
Погрешность аппроксимации определяется остаточным членом L(t) в форме Лагранжа
. (3.2)
В рассматриваемом случае остаточный член L(t) выражается соотношением
L(t) = 1/2(d2x(t) / dt2)(t – ti+1),
откуда нетрудно найти максимальное значение погрешности аппроксимации
. (3.3)
Задаваясь допустимой погрешностью аппроксимации dmax, можно вычислить требуемое значение частоты дискретизации
. (3.4)
На практике применение этой формулы вызывает определенные трудности из-за необходимости точного измерения (или оценки) максимального значения второй производной функции x(t).
Рассмотренные способы равномерной дискретизации (при Dt = const) иногда могут приводить к получению избыточных отсчетов, не оказывающих существенного влияния на процесс восстановления исходного сообщения. Например, если функция x(t) мало изменяется на некотором, достаточно протяженном интервале времени Т0 (как это показано на рис. 3.1), то соответствующие дискретные отсчеты сигнала практически не отличаются друг от друга и, следовательно, нет необходимости использовать все указанные отсчеты для хранения или передачи информации по линии связи. Сокращение избыточной информации возможно на основе способов адаптивной (неравномерной) дискретизации, обеспечивающих выбор интервала Dt между соседними отсчетами с учетом фактического изменения характеристик сигнала (в частности, скорости его изменения).
Квантование (дискретизация) сигнала по уровню – процесс отображения бесконечного множества значений аналогового сигнала на некоторое конечное множество (определяемое числом уровней квантования).
Отличительной особенностью дискретизации по уровню является замена непрерывной шкалы уровней сигнала x(t) дискретной шкалой xд.i (i = 1,2,...,m), в которой различные значения сигнала отличаются между собой не менее чем на некоторое фиксированное (или выбираемое в процессе квантования) значение Dx, называемое шагом квантования.
Шаг квантования – величина, равная интервалам уровней квантования (определена только для случая равномерного квантования).
Необходимость квантования вызвана тем, что цифровые вычислительные устройства могут оперировать только с числами, имеющими конечное число разрядов. Таким образом, квантование представляет собой округление передаваемых значений с заданной точностью. При равномерном квантовании (Dx = const) число разрешенных дискретных уровней xi составляет
, (3.5)
где xmax и xmin – соответственно, верхняя и нижняя границы диапазона изменения сигнала.
Ошибка квантования – величина, определяемая как z(х) = x – xд.i, где x – кодируемая дискретная величина, xд.i – дискретизированный сигнал.
Шум квантования – случайная функция времени, определяемая как зависимость ошибки квантования от времени.
Чем меньше значение Dx, тем меньше получаемая ошибка. Если в результате квантования любое из значений сигнала х(t), попавшее в интервал (хд.i – Dх/2; хд.i + Dх/2), округляется до хд, то возникающая при этом ошибка z(х) не превышает половины шага квантования, т.е. max|z(х)| = 0,5Dx. На практике шаг квантования Dx выбирают исходя из уровня помех, в той или иной форме присутствующих при измерении, передаче и обработке реальных сигналов.
Если функция x(t) заранее неизвестна, а шаг квантования Dх достаточно мал по сравнению с диапазоном изменения сигнала (xmax – xmin), то принято считать ошибку квантования z(х) случайной величиной, подчиняющейся равномерному закону распределения. Тогда, как показано на рис. 3.3, плотность вероятности f1(z) для случайной величины z принимает значение 1/(Dх) внутри интервала (-Dх/2; +Dх/2) и равна нулю вне этого интервала. В данном случае дисперсию D[z] ошибки квантования z находят как
. (3.6)
Рис. 3.3. Равномерный закон распределения ошибки квантования
При Dх = const относительная погрешность квантования dx = z(х)/x существенно зависит от текущего значения сигнала x(t). В связи с этим при необходимости обработки и передачи сигналов, изменяющихся в широком диапазоне, нередко используется неравномерное (нелинейное) квантование, когда шаг Dх принимается малым для сигналов низкого уровня и увеличивается с ростом соответствующих значений сигнала (например, Dх выбирают пропорционально логарифму значения |x(t)|). Выбор шага Dхi = xд.i – xд.i-1 осуществляется еще и с учетом плотности распре-деления случайного сигнала (для более вероятных значений сигнала шаг квантования выбирают меньшим, для менее вероятных – большим). Таким образом удается обеспечить высокую точность преобразования при ограниченном (не слишком большом) числе разрешенных дискретных уровней сигнала x(t).
Процесс преобразования дискретного сигнала в цифровой называют кодированием информации, а множество различных кодовых комбинаций, получаемых при данном правиле кодирования, – кодом. Важной характеристикой кода является основание (или значность) кода m, т.е. число возможных значений, которые могут принимать элементы кодовой комбинации. Пусть требуется передать сигнал, уровень которого изменяется от 0 до 10 В. Если погрешность представления данных составляет 10 мВ, то каждый отсчет сигнала можно рассматривать как одно из 1000 возможных сообщений. Для передачи этой информации можно предложить различные способы:
а) каждому сообщению поставить в соответствие определенный уровень напряжения, при этом основание кода m = 1000, а длина кодовой комбинации (слова) принимает минимальное значение n = 1;
б) можно воспользоваться двоичным (бинарным) сигналом с m = 2, но тогда потребуется комбинация длины n = 10 (210 = 1024, так что некоторые комбинации здесь не использованы).
Возможны и промежуточные варианты. Поэтому целесообразно поставить вопрос об определении оптимальной пары значений m и n.
В качестве критерия оптимальности примем минимум произведения числа требуемых символов (уровней) m на длину кодовой комбинации n, необходимой для представления заданного числа сообщений N. Тогда можно записать
. (3.7)
Примером двоичного кода является запись натурального числа А в позиционной двоичной системе счисления, осуществляемая по следующему правилу:
.
Здесь символы а1, а2, …, an принимают значения 0 или 1, n – число разрядов в коде. Предполагается, что символ a1, расположенный в старшем разряде кодовой комбинации, имеет наибольший вес 2n-1, тогда как вес символа an в младшем разряде является минимальным и равен 20 = 1.
Для представления дробных чисел, значения которых не превышают единицы, обычно используют запись в следующем виде:
,
т.е. веса разрядов кодовой комбинации а1, а2, …, an здесь равны 2-1, 2-2, ..., 2-n. В тех случаях, когда число А может принимать очень большие или же очень малые значения, удобнее использовать представление числа в форме с плавающей запятой. При этом каждое десятичное число определяется мантиссой, принимающей дробные значения от 0,1 до 1, и порядком – показателем степени числа 10. Например, число 50 представляется как 0,5 · 102, а число 0,00105 записывается в виде 0,105 · 10-2. Соответственно представление в двоичном коде для числа А должно производиться отдельно – для мантиссы и для порядка числа А.