Методы цифрового кодирования

Методы цифрового кодирования

PDF

Цифровое кодирование (Digital Encoding), иногда не совсем корректно называемое модуляцией, определяет способ представления битов в физическом канале передачи данных. В этом документе рассмотрены различные варианты цифрового кодирования от простого метода NRZ (Non Return to Zero – без возврата к нулю) до существенно более сложного кодирования HDB3 (High Density Bipolar 3 – биполярное кодирование с высокой плотностью, вариант 3). Документ содержит список требований, предъявляемых к алгоритмам цифрового кодирования, и краткие описания наиболее распространенных методов кодирования цифровых сигналов.

Требования к алгоритмам цифрового кодирования

При кодировании цифровых сигналов должны выполняться перечисленные ниже требования.

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

  2. Невысокий уровень постоянного напряжения в линии.

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

  4. Сигнал должен быть неполяризованным для того, чтобы можно было не обращать внимания на полярность подключения проводников в каждой паре.

Обзор методов цифрового кодирования

NRZ — Non Return to Zero (без возврата к нулю)

В этом варианте кодирования используется следующее представление битов:

  • биты 0 представляются нулевым напряжением (0 В);

  • биты 1 представляются напряжением +V.

Рисунок 1. Кодирование NRZ.

Этот метод кодирования является наиболее простым и служит базой для построения более совершенных алгоритмов кодирования. Кодированию по методу NRZ присущ целый ряд недостатков:

  • высокий уровень постоянного напряжения (среднее значение 1/2V для последовательности, содержащей равное число 1 и 0);

  • широкая полоса сигнала (от 0 Гц для последовательности, содержащей только 1 или только 0, до половины скорости передачи данных при чередовании 10101010…);

  • возможность возникновения продолжительных периодов передачи постоянного уровня (длинная последовательность 1 или 0) в результате чего затрудняется синхронизация устройств;

  • сигнал является поляризованным.

RZ — Return to Zero (возврат к нулю)

Цифровые данные представляются следующим образом:

  • биты 0 представляются нулевым напряжением (0 В);

  • биты 1 представляются значением +V в первой половине и нулевым напряжением – во второй, т.е. единице соответствует импульс напряжения продолжительностью в половину длительности передачи одного бита данных.

Рисунок 2. Кодирование RZ.

Этот метод имеет два преимущества по сравнению с кодированием NRZ:

  • средний уровень напряжения в линии составляет ¼ V (вместо ½ V);

  • при передаче непрерывной последовательности 1 сигнал в линии не остается постоянным.

Однако при использовании кодирования RZ полоса сигнала может достигать значений, равных скорости передачи данных (при передаче последовательности 1).

NRZI — Non Return to Zero Invertive (инверсное кодирование без возврата к 0)

Этот метод кодирования использует следующие представления битов цифрового потока:

  • биты 0 представляются нулевым напряжением (0 В);

  • биты 1 представляются напряжением 0 или +V в зависимости от предшествовавшего этому биту напряжения – если предыдущее напряжение было равно 0, единица будет представлена значением +V, а в случаях, когда предыдущий уровень составлял +V для представления единицы будет использовано напряжение 0 В.

Рисунок 3. Кодирование NRZI.

Этот алгоритм обеспечивает малую полосу (как при методе NRZ) в сочетании с частыми изменениями напряжения (как в RZ), а кроме того, обеспечивает неполярный сигнал (т. е. проводники в линии можно поменять местами).

AMI — Alternate Mark Inversion (поочередная инверсия единиц)

Этот метод кодирования использует следующие представления битов:

  • биты 0 представляются нулевым напряжением (0 В);

  • биты 1 представляются поочередно значениями +V и -V.

Рисунок 4. Кодирование AMI.

Этот метод подобен алгоритму RZ, но обеспечивает в линии нулевой уровень постоянного напряжения. Недостатком метода AMI является ограничение на «плотность» нулей в потоке данных, поскольку длинные последовательности 0 ведут к потере синхронизации.

HDB3 — High Density Bipolar 3 (биполярное кодирование с высокой плотностью)

Представление битов в методе HDB3 лишь незначительно отличается от представления, используемого алгоритмом AMI. При наличии в потоке данных 4 последовательных битов 0 последовательность изменяется на 000V, где полярность бита V такая же, как для предшествующего ненулевого импульса (в отличие от кодирования битов 1, для которых знак сигнала V изменяется поочередно для каждой единицы в потоке данных).

Рисунок 5. Кодирование HDB3.

Этот алгоритм снимает ограничения на плотность 0, присущие кодированию AMI, но порождает взамен новую проблему – в линии появляется отличный от нуля уровень постоянного напряжения за счет того, что полярность отличных от нуля импульсов совпадает. Для решения этой проблемы полярность бита V изменяется по сравнению с полярностью предшествующего бита V. Когда это происходит, битовый поток изменяется на B00V, где полярность бита B совпадает с полярностью бита V. Когда приемник получает бит B, он думает, что этот сигнал соответствует значению 1, но после получения бита V (с такой же полярностью) приемник может корректно трактовать биты B и V как 0.

Метод HDB3 удовлетворяет всем требованиям, предъявляемым к алгоритмам цифрового кодирования, но при использовании этого метода могут возникать некоторые проблемы.

PE — Phase Encode (Manchester, фазовое кодирование, манчестерское кодирование)

При фазовом кодировании используется следующее представление битов:

  • биты 0 представляются напряжением +V в первой половине бита и напряжением -V – во второй половине;

  • биты 1 представляются напряжением -V в первой половине бита и напряжением +V – во второй половине.

Рисунок 6. Манчестерское кодирование.

Этот алгоритм удовлетворяет всем предъявляемым требованиям, но передаваемый в линию сигнал имеет широкую полосу и является поляризованным.

CDP — Conditional Diphase

Этот метод является комбинацией алгоритмов NRZI и PE и использует следующие представления битов цифрового потока:

  • биты 0 представляются переходом напряжения в том же направлении, что и для предшествующего бита (от +V к -V или от -V к +V);

  • биты 1 представляются переходом напряжения в направлении, противоположном предшествующему биту (от +V к -V или от -V к +V).

Рисунок 7. Кодирование CDP.

Этот алгоритм обеспечивает неполярный сигнал, который занимает достаточно широкую полосу.

Заключение

Как вы увидели из приведенных описаний, существует достаточно много алгоритмов кодирования цифровых сигналов. Простейший метод NRZ используется в протоколах на базе интерфейса RS232, в сетях Ethernet применяется кодирование PE, а в телефонии используется алгоритм HDB3 (этот метод служит для кодирования сигналов в потоках E1 и E2). Выбор метода кодирования зависит от полосы канала связи, используемой кабельной системы, скорости передачи данных и других параметров.

Николай Малых

nmalykh@protocols.ru