Основной принцип оцифровки любых сигналов очень прост и показан на рис. 10.1, а
. В некоторые моменты времени t1, t2, t3 мы берем мгновенное значение аналогового сигнала и как бы прикладываем к нему некоторую меру, линейку, проградуированную в двоичном масштабе. Обычная линейка у нас содержит крупные деления (метры), поделенные каждое на десять частей (дециметры), каждая из которых также поделена на десять частей (сантиметры), и т. д. Двоичная линейка содержала бы деления, поделенные пополам, затем еще раз пополам и т. д. — сколько хватит разрешающей способности. Если вся длина такой линейки составляет, допустим, 2,56 метра, а самое мелкое деление 1 см (т. е. мы можем померить ей длину с точностью не хуже 1 см, точнее, даже половины его), то таких делений будет ровно 256 и их можно представить двоичным числом размером 1 байт или 8 двоичных разрядов.
Рис. 10.1.
Оцифровка аналоговых сигналов:а
— основной принцип; б — к теореме Котельникова-Найквиста
Ничего не изменится, если мы меряем не длину, а напряжение или сопротивление, только смысл понятия «линейка» будет несколько иной. Так мы получаем последовательные отсчеты величины сигнала x1
, x2, x3. Причем заметьте, что при выбранной разрешающей способности и числе разрядов мы можем померить аналоговую величину не больше некоторого значения, которое соответствует выбранному масштабу. Иначе придется или увеличивать число разрядов (длину линейки), или менять разрешающую способность в сторону ухудшения (растягивать линейку). Все изложенное и есть сущность работы аналого-цифрового преобразователя (АЦП).На рис. 10.1, а
график демонстрирует этот процесс во времени. Если мы меряем какую-то меняющуюся во времени величину, то приходится производить измерения регулярно. Если стоит задача потом восстановить первоначальный сигнал, то эти измерения удобно проводить со строго равными промежутками времени между ними — иначе нам будет трудно узнать, какому измерению какой момент сигнала соответствует. Получаем массив чисел, который и представляет наш исходный сигнал в цифровом виде. Зная частоту дискретизации (частоту оцифровки) и принятый масштаб (т. е. какому значению физической величины соответствует максимальное число в принятом диапазоне двоичных чисел), мы всегда можем восстановить исходный сигнал, просто отложив точки на графике и соединив их плавной линией.Но что-то мы при этом теряем? Посмотрите на рис. 10.1, б
, который иллюстрирует знаменитую теорему Котельникова (как водится, за рубежом она носит другое имя — Найквиста, на самом деле они оба придумали ее независимо друг от друга). На этом рисунке показана синусоида предельной частоты, которую мы еще можем восстановить, располагая массивом точек, полученных с частотой дискретизации fд. Так как в выражении для синуса A∙sin(2πft) имеется два независимых коэффициента (А — амплитуда и f — частота), то для того, чтобы вид кривой восстановить однозначно, нужно как минимум две точки на каждый период (если сами параметры синусоиды А и f не меняются во времени, то достаточно вообще двух точек на всем интервале времени; именно такой случай показан на графике рис. 10.1, б), т. е. частота оцифровки должна быть как минимум в два раза больше, чем самая высокая частота в спектре исходного аналогового сигнала. Это и есть теорема Котельникова — Найквиста.Попробуйте сами нарисовать другую синусоиду без сдвига по фазе, проходящую через указанные на графике точки, и вы убедитесь, что это невозможно. В то же время можно нарисовать сколько угодно разных синусоид, проходящих через эти точки, если их частота в целое число раз выше частоты дискретизации f
д. В сумме эти синусоиды, или гармоники (т. е. члены разложения сигнала в ряд Фурье), дадут сигнал любой сложной формы, но восстановить их нельзя, и если такие гармоники присутствуют в исходном сигнале, то они пропадут навсегда. Следовательно, процесс оцифровки равносилен действию ФНЧ с прямоугольным срезом характеристики на частоте, равной ровно половине частоты дискретизации.