Физи́ческое коди́рование (линейное кодирование, манипуляция сигнала, модуляция, импульсно-кодовая модуляция) — представления дискретных сигналов, передаваемых по цифровому каналу связи, с целью передачи данных, представленных в цифровом виде, на расстояние по физическому каналу связи (такому как оптическое волокно, витая пара, коаксиальный кабель, инфракрасное излучение). Физическое кодирование также применяется для записи данных на цифровой носитель. При физическом кодировании обращают внимание на характеристики формируемого сигнала: ширину полосы частот, гармонический состав сигнала, способность к синхронизации приёмника с передатчиком. При физическом кодировании решаются вопросы синхронизации, управления полосой пропускания сигнала, скорость передачи данных и расстояние на которое необходимо передать данные.
Различают виды передачи дискретных сигналов: синхронный способ передачи данных — когда приёмник и передатчик работают синхронно (в один такт); асинхронный способ передачи данных — когда приёмник и передатчик работают несинхронно.
Иерархия кодирования Система кодирования сигналов имеет иерархию.
Физическое кодирование Нижним уровнем в иерархии кодирования является физическое кодирование, которое определяет число дискретных уровней сигнала (амплитуды напряжения, амплитуды тока, амплитуды яркости).
Физическое кодирование рассматривает кодирование только на самом низшем уровне иерархии кодирования — на физическом уровне и не рассматривает более высокие уровни в иерархии кодирования, к которым относятся логические уровни кодирования.
С точки зрения физического кодирования цифровой сигнал может иметь несколько уровней амплитуды — напряжения, тока или яркости света.
Ни в одной из версий технологии 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 %).
Код Миллера