Физическое кодирование

Физи́ческое коди́рование (линейное кодирование, манипуляция сигнала, модуляция, импульсно-кодовая модуляция) — представления дискретных сигналов, передаваемых по цифровому каналу связи, с целью передачи данных, представленных в цифровом виде, на расстояние по физическому каналу связи (такому как оптическое волокно, витая пара, коаксиальный кабель, инфракрасное излучение). Физическое кодирование также применяется для записи данных на цифровой носитель. При физическом кодировании обращают внимание на характеристики формируемого сигнала: ширину полосы частот, гармонический состав сигнала, способность к синхронизации приёмника с передатчиком. При физическом кодировании решаются вопросы синхронизации, управления полосой пропускания сигнала, скорость передачи данных и расстояние на которое необходимо передать данные.

Различают виды передачи дискретных сигналов:
 синхронный способ передачи данных — когда приёмник и передатчик работают синхронно (в один такт);
 асинхронный способ передачи данных — когда приёмник и передатчик работают несинхронно.

Иерархия кодирования 
Система кодирования сигналов имеет иерархию.

Физическое кодирование 
Нижним уровнем в иерархии кодирования является физическое кодирование, которое определяет число дискретных уровней сигнала (амплитуды напряжения, амплитуды тока, амплитуды яркости).

Физическое кодирование рассматривает кодирование только на самом низшем уровне иерархии кодирования — на физическом уровне и не рассматривает более высокие уровни в иерархии кодирования, к которым относятся логические кодирования различных уровней.

С точки зрения физического кодирования цифровой сигнал может иметь два, три, четыре, пять и т. д. уровней амплитуды напряжения, амплитуды тока, амплитуды света.

Ни в одной из версий технологии Ethernet не применяется прямое двоичное кодирование бита 0 напряжением 0 вольт и бита 1 — напряжением +5 вольт, так как такой способ приводит к неоднозначности. Если одна станция посылает битовую строку 00010000, то другая станция может интерпретировать её либо как 10000, либо как 01000, так как она не может отличить «отсутствие сигнала» от бита 0. Поэтому принимающей машине необходим способ однозначного определения начала, конца и середины каждого бита без помощи внешнего таймера. Кодирование сигнала на физическом уровне позволяет приемнику синхронизироваться с передатчиком по смене напряжения в середине периода битов.

В некоторых случаях физическое кодирование решает проблемы:
 Ёмкостного сопротивления — нарастание в проводном канале связи постоянной составляющей (паразитной ёмкости), которое препятствует функциональности электрооборудования;
 Нарушение плотности следования единичных импульсов — при передаче последовательности логических нулей или единиц происходит рассинхронизация передатчика и приемника.

Логическое кодирование 
Вторым уровнем в иерархии кодирования является самый нижний уровень логического кодирования с разными назначениями.

В совокупности физическое кодирование и логическое кодирование образуют систему кодирования низкого уровня.

Форматы кодов 
Каждый бит кодового слова передается или записывается с помощью дискретных сигналов, например, импульсов. Способ представления исходного кода определенными сигналами определяется форматом кода. Известно большое количество форматов, каждый из которых имеет свои достоинства и недостатки и предназначен для использования в определенной аппаратуре.

 Формат БВН (без возвращения к нулю)  — единичный бит передается в пределах такта, уровень не меняется. Положительный перепад означает переход из 0 к 1 в исходном коде, отрицательный — от 1 к 0. Отсутствие перепадов показывает, что значения предыдущего и последующего битов равны. Для декодирования кодов в формате БВН необходимы тактовые импульсы. Соответствующий коду формата БВН сигнал содержит низкочастотные компоненты (при передаче длинных серий нулей или единиц перепады не возникают).
 Формат БВН-1 (без возвращения к нулю с перепадом при передаче 1) — является разновидностью формата БВН. Перепады сигнала формируются при передаче 1, при передаче 0 уровень сигнала не меняется.
 Формат БВН-0 (без возвращения к нулю с перепадом при передаче 0) — является разновидностью формата БВН. Перепады сигнала формируются при передаче 0, при передаче 1 уровень сигнала не меняется. Применяется в многодорожечных системах записи цифровых сигналов. Возможным вариантом является запись двух дополнительных сигналов, соответствующих кодам в форматах БВН-1 и БВН-0.
 Формат ВН (с возвращением к нулю) — требует передачи импульса, занимающего только часть тактового интервала (например, половину), при одиночном бите. При нулевом бите импульс не формируется.
 Формат ВН-П (с активной паузой) — означает передачу импульса положительной полярности при единичном бите и отрицательной — при нулевом бите. Сигнал этого формата имеет в спектре компоненты тактовой частоты. Он применяется в ряде случаев для передачи данных по линиям связи.
 Формат ДФ-0 (двухфазный со скачком фазы при передаче 0) — соответствует способу представления, при котором перепады формируются в начале каждого такта. При единичных битах сигнал в этом формате меняется с тактовой частотой, то есть в середине каждого такта происходит перепад уровня. При передаче нулевого бита перепад в середине такта не формируется, то есть имеет место скачок фазы. Код в данном формате обладает возможностью самосинхронизации и не требует передачи тактовых сигналов.
Направление перепада при передаче сигнала единицы не имеет значения. Поэтому изменение полярности кодированного сигнала не влияет на результат декодирования. Он может передаваться по симметричным линиям без постоянной составляющей. Это также упрощает его магнитную запись. Этот формат известен также под названием «Манчестер 1». Он используется в адресно-временном коде SMPTE, широко применяющемся для синхронизации носителей звуковой и видеоинформации.

Системы с двухуровневым кодированием

NRZ (Non Return to Zero) 

NRZ (Non Return to Zero, ) — двухуровневый код. Логическому нулю соответствует нижний уровень, логической единице — верхний уровень. Информационные переходы происходят на границе значащих интервалов (значащий момент).

Варианты представления кода NRZ 
Различают несколько вариантов представления кода:
 Униполярный код — логическая единица представлена верхним потенциалом, логический нуль представлен нулевым потенциалом;
 Биполярный код — логическая единица представлена положительным потенциалом, логический нуль представлен отрицательным потенциалом.

Достоинства NRZ-кода 
 Простая реализация;
 Высокая скорость передачи данных;

Недостатки NRZ-кода 
 Необходимость передачи старт-стопового бита для синхронизации приёмника с передатчиком;
 Наличие постоянной составляющей (ёмкостное сопротивление), из-за чего невозможно обеспечить гальваническую развязку с помощью трансформатора;
 Высокие требования к синхронизации частот на приёмном и передающем конце — за время передачи одного слова (байта) приемник не должен сбиться больше, чем на бит (например для слова длиной в байт с битом старта и стопа, то есть всего 10 бит канальной информации, рассинхронизация частот приёмника и передатчика не может превышать 10 % в обе стороны, для слова в 16 бит, то есть 18 бит канальной информации, рассинхронизация не должна превышать 5,5 %, а в физических реализациях и того меньше).

NRZI (Non Return to Zero Invertive) 

NRZI (Non Return to Zero Invertive) — потенциальный код с инверсией при единице, код формируется путем инверсного состояния при поступлении на вход кодирующего устройства логической единицы, при поступлении логического нуля состояние потенциала не меняется. Этот метод является модифицированным методом Non Return to Zero (NRZ).

Поскольку код не защищен от долгих последовательностей логических нулей или единиц, то это может привести к проблемам синхронизации. Поэтому перед передачей, заданную последовательность битов рекомендуется предварительно закодировать кодом, предусматривающим скремблирование (скремблер предназначен для придания свойств случайности передаваемой последовательности данных с целью облегчения выделения тактовой частоты приемником). Используется в Fast Ethernet 100Base-FX и 100Base-T4.

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

Недостатки NRZI кода 
 Метод не обладает свойством самосинхронизации. Даже при наличии высокоточного тактового генератора приёмник может ошибиться с выбором момента съёма данных, так как частоты двух генераторов никогда не бывают полностью идентичными. Поэтому при высоких скоростях обмена данными и длинных последовательностях единиц или нулей небольшое рассогласование тактовых частот может привести к ошибке в целый такт и, соответственно, считыванию некорректного значения бита;
 Вторым серьёзным недостатком метода, является наличие низкочастотной составляющей, которая приближается к постоянному сигналу при передаче длинных последовательностей единиц и нулей (можно обойти сжатием передаваемых данных). Из-за этого многие линии связи, не обеспечивающие прямого гальванического соединения между приёмником и источником, этот вид кодирования не поддерживают. Поэтому в сетях код NRZ в основном используется в виде различных его модификаций, в которых устранены как плохая самосинхронизация кода, так и проблемы постоянной составляющей.

Манчестерское кодирование 

При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала в середине каждого такта. Различают два варианта манчестерского кодирования:
 В соответствии с IEEE 802.3 — логическая единица кодируется перепадом от низкого уровня сигнала к высокому, а логический ноль кодируется перепадом с верхнего уровня сигнала к нижнему в центре значащего интервала.
 Дифференциальное манчестерское кодирование (Д. Е. Томасу) — логическая единица кодируется перепадом от верхнего уровня сигнала к низкому, а логический ноль кодируется перепадом с нижнего уровня сигнала к верхнему в центре значащего интервала.
В начале каждого такта может происходить служебный перепад сигнала, если нужно представить несколько единиц или нулей подряд. Так как сигнал изменяется по крайней мере один раз за такт передачи одного бита данных, то манчестерский код обладает самосинхронизирующими свойствами. Обязательное наличие перехода в центре бита позволяет легко выделить синхросигнал. Допустимое расхождение частот передачи — до 25 % (это означает, что код Манчестер-2 — самый устойчивый к рассинхронизации, он самосинхронизуется в каждом бите передаваемой информации).

Плотность кода 1 бит/герц. В спектре сигнала, закодированного Манчестером-2, присутствует 2 частоты — частота передачи и половинная частота передачи (она образуется когда рядом стоят 0 и 1 или 1 и 0. При передаче гипотетической последовательности одних 0 или 1 в спектре будет присутствовать только частота передачи).

Достоинства манчестерского кодирования 
 Нет постоянной составляющей (смена сигнала происходит на каждом такте передачи данных)
 Полоса частот в сравнении с NRZ-кодированием — основная гармоника в при передаче последовательности единиц или нулей имеет частоту N Гц, а при постоянной последовательности (при передаче чередования единиц и нулей) — N/2 Гц.
 Является самосинхронизирующимся, то есть не требует специальной кодировки синхроимпульса, который бы занимал полосу данных и поэтому является самым плотным кодом на единицу частоты.
 Возможность обеспечить гальваническую развязку с помощью трансформатора, так как у него отсутствует постоянная составляющая
 Вторым важным преимуществом является отсутствие необходимости в синхронизующих битах (как в NRZ-коде) и, вследствие этого, данные могут передаваться подряд сколь угодно долго, из-за чего плотность данных в общем потоке кода приближается к 100 % (например для кода NRZ 1-8-0 она равна 80 %).

Код Миллера 

Код Миллера (иногда называют трехчастотным) — является двуполярным двухуровневым кодом, в котором каждый информационный бит кодируется комбинацией из двух битов {00, 01, 10, 11}, а переходы из одного состояния в другое описываются графом. При непрерывном поступлении логических нулей или единиц на кодирующее устройство переключение полярности происходит с интервалом T, а переход от передачи единиц к передаче нулей с интервалом 1,5T. При поступлении на кодирующее устройство последовательности 101 возникает интервал 2Т, по этой причине данный метод кодирования называют трехчастотным.

Преимущества 
 Нет избыточности в коде (нет специальных комбинаций для синхронизации);
 Способность к самосинхронизации (в самом коде заложен принцип по которому гарантированно можно синхронизироваться);
 Полоса пропускания кода Миллера вдвое меньше полосы пропускания в сравнении с манчестерским кодированием.

Недостатки 
 Присутствие постоянной составляющей, при этом достаточно велик и низкочастотный компонент, что преодолено в модифицированном коде Миллера в квадрате.

Системы с трёхуровневым кодированием

RZ (return to zero) 

RZ (return to zero)(англ. кодирование с возвращения к нулю) — биполярный код с возвращением к нулю (трехуровневый). Согласно RZ-коду, каждый бит передается перепадом с одного уровня на нулевой, в середине значащего интервала так: логическому нулю соответствует переход с верхнего уровня на нулевой уровень, логической единице соответствует переход с нижнего уровня на нулевой уровень. Требует в 2 раза больше скорости переключения состояний по сравнению со скоростью переключения согласно коду NRZ.

Биполярный код AMI 

AMI (Alternate mark inversion) код — обладает хорошими синхронизирующими свойствами при передаче серий единиц и сравнительно прост в реализации. Недостатком кода является ограничение на плотность нулей в потоке данных, поскольку длинные последовательности нулей ведут к потере синхронизации. Используется в телефонии уровня передачи данных, когда используются потоки мультиплексирования.

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

 биты 0 представляются нулевым напряжением (0 В)
 биты 1 представляются поочерёдно значениями -U или +U (В)

HDB3 (биполярный код с высокой плотностью третьего порядка) 

Код HDB3 (биполярный код с высокой плотностью третьего порядка) исправляет любые 4 подряд идущих нуля в исходной последовательности. Правило формирования кода следующее: каждые 4 нуля заменяются 4 символами в которых имеется хотя бы один сигнал V. Для подавления постоянной составляющей полярность сигнала V чередуется при последовательных заменах. Для замены используются два способа:
 Если перед заменой исходный код содержал нечётное число единиц то используется последовательность 000V
 Если перед заменой исходный код содержал чётное число единиц то используется последовательность 100V

V-сигнал единицы запрещённого для данного сигнала полярности

Тоже что и AMI, только кодирование последовательностей из четырех нулей заменяется на код -V/0, 0, 0, -V или +V/0, 0, 0, +V — в зависимости от предыдущей фазы сигнала и количества единиц в сигнале, предшествующем данной последовательности нулей.

MLT-3 

MLT-3 (Multi Level Transmission — 3) (англ. многоуровневая передача) — метод кодирования, использующий три уровня сигнала.
Метод основывается на циклическом переключении уровней -U, 0, +U. Единице соответствует переход с одного уровня сигнала на следующий. Так же как и в методе NRZI при передаче логического нуля сигнал не меняется. Метод разработан Cisco Systems для использования в сетях FDDI на основе медных проводов, известных как CDDI. Также используется в Fast Ethernet 100BASE-TX. Единице соответствует переход с одного уровня сигнала на другой, причем изменение уровня сигнала происходит последовательно с учетом предыдущего перехода. При передаче нуля сигнал не меняется.

Преимущества MLT-3 кода 
 В случае наиболее частого переключения уровней (длинная последовательность единиц) для завершения цикла необходимо четыре перехода. Это позволяет вчетверо снизить частоту несущей относительно тактовой частоты, что делает MLT-3 удобным методом при использовании медных проводов в качестве среды передачи.
 Этот код, так же как и NRZI нуждается в предварительном кодировании. Используется в Fast Ethernet 100Base-TX.



4B3T 

4B3T (4 Binary 3 Ternary, когда 4 двоичных символа передаются с помощью 3 троичных символов) — cигнал на выходе кодирующего устройства, согласно коду 4B3T, является трехуровневым, то есть на выходе кодирующего устройства формируется сигнал с тремя потенциальными уровнями. Код формируется, например, согласно таблице кодирования MMS43.
Таблица кодирования:

Таблица декодирования:

Системы с четырёхуровневым кодированием

2B1Q (Потенциальный код 2B1Q) 

2B1Q (2 Binary 1 Quaternary) — потенциальный код 2B1Q (в некоторой литературе называется PAM-5) передает пару бит за один значащий интервал. Каждой возможной паре в соответствие ставится свой уровень из четырех возможных уровней потенциала.

Достоинство метода 2B1Q 
 Сигнальная скорость у этого метода в два раза ниже, чем у кодов NRZ и AMI, а спектр сигнала в два раза уже. Следовательно с помощью 2B1Q-кода можно по одной и той же линии передавать данные в два раза быстрее.

Недостатки метода 2B1Q 
 Реализация этого метода требует более мощного передатчика и более сложного приемника, который должен различать четыре уровня.

См. также 
 Модуляция
 PHY
 Манипуляция
 MFM-кодирование
 Синхронный способ передачи данных
 Асинхронный способ передачи данных

Источники

Литература 
 Гольдштейн Борис Соломонович. Протоколы сети доступа. — БХВ-Петербург. — 2005.
 Передача дискретных сообщений: Учебник для вузов/ В. П. Шувалов, Н. В. Захарченко, В. О. Шварцман и др. ; Под ред. В. П. Шувалова. — М.: Радио и связь, —1990—464 ISBN 5-256-00852-8
 Сухман С. М., Бернов А. В., Шевкопляс Б. В. Синхронизация в телекоммуникационных системах: Анализ инженерных решений. — М.: Эко-Тренз, — 2003, 272с. ISBN 5-88405-046-1

Ссылки 
 Технология 1000Base-T на физическом уровне. Сергей Пахомов. КомпьютерПресс 2’2002
 Основы сетевых технологий  И ВЫСОКОСКОРОСТНОЙ ПЕРЕДАЧИ ДАННЫХ. Учебное пособие. МТУСИ, 2008. Глава 4. Физическое и логическое кодирование данных
 Основы локальных сетей. Ю. В. Новиков, С. В. Кондратенко. 3. Лекция: Подключение линий связи и коды передачи информации
 Стандарты открытых кабельных систем. Основные понятия: методы кодирования, схема передачи, спектр сигнала, однополосный и двухполосный сигналы
 От тактовой частоты до информационной магистрали. А. А. Воловодов
 Вычислительные сети. Глава 2. Основы передачи дискретных данных. 2.2. Цифровое кодирование
 Конспект лекций по дисциплине «сетевые технологии» (дополненная версия) для студентов специальности 050102
  Сети ЭВМ и телекоммуникации. 17. Методы кодирования
 Кодер/декодер Миллера
 Способы кодирования данных для их передачи по каналу связи
 Сухман С. М., Бернов А. В., Шевкопляс Б. В. Синхронизация в телекоммуникационных системах. Анализ инженерных решений

Информационные технологии
Цифровая обработка сигналов
Ethernet