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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Различают виды передачи дискретных сигналов:

Иерархия кодирования[править | править код]

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

Физическое кодирование[править | править код]

Уменьшить обратно Линейное кодирование.svg

Примеры физического кодирования

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

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

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

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

В некоторых случаях физическое кодирование решает проблемы:

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

Логическое кодирование[править | править код]

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

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

Форматы кодов[источник не указан 22 дня][править | править код]

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

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

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

Системы с двухуровневым кодированием[править | править код]

NRZ (Non Return to Zero)[править | править код]

Уменьшить обратно NRZ код.svg

NRZ код

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

Варианты представления кода NRZ[править | править код]

Различают несколько вариантов представления кода:

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

Достоинства NRZ кода[править | править код]

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

Недостатки NRZ кода[править | править код]

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

NRZI (Non Return to Zero Invertive)[править | править код]

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

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

Достоинства NRZI кода:[править | править код]

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

Недостатки NRZI кода:[править | править код]

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

Манчестерское кодирование[править | править код]

Уменьшить обратно Манчестер 2.svg

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

При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала в середине каждого такта. Различают два варианта манчестерского кодирования:

  • В соответствие с IEEE 802.3 — логическая единица кодируется перепадом от низкого уровня сигнала к высокому, а логический ноль кодируется перепадом с верхнего уровня сигнала к нижнему в центре значащего интервала.
  • Дифференциальное манчестерское кодирование (Д. Е. Томасу) — логическая единица кодируется перепадом от верхнего уровня сигнала к низкому, а логический ноль кодируется перепадом с нижнего уровня сигнала к верхнему в центре значащего интервала.[3]

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

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

Достоинства манчестерского кодирования:[править | править код]

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

Код Миллера[править | править код]

Граф описывающий формирование кода Миллера
Уменьшить обратно Код Миллера.svg

Код Миллера

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

Преимущества[править | править код]

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

Недостатки[править | править код]

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

Системы с трёхуровневым кодированием[править | править код]

RZ (return to zero)[править | править код]

Уменьшить обратно RZ код.svg

RZ код

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

Биполярный код AMI[править | править код]

Уменьшить обратно AMI (Alternate mark inversion) код.svg

AMI код

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

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

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

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

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

  1. Если перед заменой исходный код содержал нечётное число единиц то используется последовательность 000V
  2. Если перед заменой исходный код содержал чётное число единиц то используется последовательность 100V

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

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

MLT-3[править | править код]

Уменьшить обратно MLT-3.svg

Кодирование 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.

Гибридный троичный код (англ.)[править | править код]

Входной бит Предыдущее состояние
на выходе
Выходной бит
0 +
0
0
1 +
0 +

4B3T[править | править код]

Уменьшить обратно 4B3T.svg

4B3T код

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

MMS 43 coding table
Input Accumulated DC offset
1 2 3 4
0000 + 0 + (+2) 0−0 (−1)
0001 0 − + (+0)
0010 + − 0 (+0)
0011 0 0 + (+1) − − 0 (−2)
0100 − + 0 (+0)
0101 0 + + (+2) − 0 0 (−1)
0110 − + + (+1) − − + (−1)
0111 − 0 + (+0)
1000 + 0 0 (+1) 0 − − (−2)
1001 + − + (+1) − − −   (−3)
1010 + + − (+1) + − − (−1)
1011 + 0 − (+0)
1100 + + + (+3) − + − (−1)
1101 0 + 0 (+1) − 0 − (−2)
1110 0 + − (+0)
1111 + + 0 (+2) 0 0 − (−1)

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

Ternary Binary Ternary Binary Ternary Binary
0 0 0 н/д − 0 0 0101 + − − 1010
+ 0 + 0000 − + + 0110 + 0 − 1011
0 − 0 0000 − − + 0110 + + + 1100
0 − + 0001 − 0 + 0111 − + − 1100
+ − 0 0010 + 0 0 1000 0 + 0 1101
0 0 + 0011 0 − − 1000 − 0 − 1101
− − 0 0011 + − + 1001 0 + − 1110
− + 0 0100 − − − 1001 + + 0 1111
0 + + 0101 + + − 1010 0 0 − 1111

Системы с четырёхуровневым кодированием[править | править код]

2B1Q (Потенциальный код 2B1Q)[править | править код]

Уменьшить обратно Потенциальный код 2B1Q.svg

2B1Q код

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

Пара Соответствующий
потенциал,
Вольт
00 −2,5
01 −0,833
11 +0,833
10 +2,5

Достоинство метода 2B1Q[править | править код]

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

Недостатки метода 2B1Q[править | править код]

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

См. также[править | править код]

Источники[править | править код]

  1. 1 2 3 4 5 Берлин А. Н. Коммутация в системах и сетях связи. — М.: Эко-трендз, 2006. — С. 39-43. — 344 с. — ISBN 5-88405-073-9.
  2. 1 2 Абилов А.В. Сети связи и системы коммутации. — М.: Радио и связь, 2004. — 288 с. — ISBN 5-256-01704-7.
  3. 1 2 3 4 5 6 Ирвин Дж., Харль Д. Передача данных в сетях: инженерный подход. — СПб.: БВХ-Петербург, 2003. — 448 с. — ISBN 5-94157-113-5.
  4. Сергиенко А. Б. Цифровая обработка сигналов. — СПб.: Питер, 2002. — 608 с. — ISBN 5-318-00666-3.
  5. 1 2 3 4 5 6 7 8 Дансмор, Брэд, Сканьдер, Тоби. Справочник по телекоммуникационным технологиям. — Вильямс. — М., 2004. — 640 с. — ISBN 5-8459-0562-1.
  6. Скляр, Бернард. Цифровая связь. Теоретические основы и практическое применение / Перевод с англ. Е. Г. Грозы, В. В. Марченко, А. В. Назаренко. — 2-е испр.. — М.: Вильямс, 2007. — 1104 с. — ISBN 978-5-8459-0497-3.
  7. 1 2 3 4 Шувалов В. П., Захарченко Н. В., и др. Передача дискретных сообщений: учебник для вузов / под ред. Шувалов В. П.. — М.: Радио и связь, 1990. — 464 с. — ISBN 5-256-00852-8.
  8. Дворкович В.П., Дворкович А.В. Метрологическое обеспечение видеоинформационных систем. — М.: Техносфера, 2015. — 784 с. — ISBN 978-5-94836-419-3.
  9. Mylene Pischella, Didier Le Ruyet. Digital Communications 2: Digital Modulations. — John Wiley & Sons, 2015. — С. 28-30. — 334 с. — ISBN 1119189993. — ISBN 9781119189992.
  10. "Wired Communications T-SMINTO 4B3T Second Gen. Modular ISDN NT (Ordinary)" (PDF) (Data sheet). Version 1.1. Infineon. November 2001. PEF 80902..

Литература[править | править код]

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

Ссылки[править | править код]