Тарифы Услуги Сим-карты

Цифровое кодирование сигнала. Цифровое кодирование

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

Форматы кодов

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

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

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

By Northwest (Serov, CMT)

Бинарное кодирование

Без возврата к нулю

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

NRZ

Потенциальный код NRZ (перевёрнутый)

Для передачи единиц и нулей используются два устойчиво различаемых потенциала:
NRZ (прямой) :

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

NRZ (перевёрнутый):

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

NRZI

Потенциальный код NRZI

При передаче последовательности единиц, сигнал, в отличие от других методов кодирования, не возвращается к нулю в течение такта. То есть смена сигнала происходит при передаче единицы, а передача нуля не приводит к изменению напряжения.

Достоинства метода NRZ:

Простота реализации.

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

Основная гармоника f0 имеет достаточно низкую частоту (равную N/2 Гц, где N - битовая скорость передачи дискретных данных [бит/с]), что приводит к узкому спектру.

Недостатки метода NRZ:

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

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

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

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

При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала в середине каждого такта. Единица кодируется перепадом от низкого уровня сигнала к высокому, а ноль - обратным перепадом (по стандарту IEEE 802.3, хотя по Д.Е. Томасу кодирование происходит наоборот). В начале каждого такта может происходить служебный перепад сигнала, если нужно представить несколько единиц или нулей подряд. Так как сигнал изменяется по крайней мере один раз за такт передачи одного бита данных, то манчестерский код обладает хорошими самосинхронизирующими свойствами. У манчестерского кода нет постоянной составляющей (меняется каждый такт), а основная гармоника в худшем случае (при передаче последовательности единиц или нулей) имеет частоту N Гц, а в лучшем случае (при передаче чередующихся единиц и нулей) - N/2 Гц, как и у NRZ. В среднем ширина спектра при манчестерском кодировании в два раза шире чем при NRZ кодировании.

Дифференциальное манчестерское кодирование

Дифференциальное манчестерское кодирование

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

Тринарное кодирование

(c возвратом к нулю)

То есть каждый бит передается 3-мя уровнями напряжения. Поэтому требует в 2 раза больше скорости по сравнению с обычной скоростью. Это квазитроичный код, то есть изменение сигнала происходит между 3-мя уровнями.

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

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

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

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

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

HDB3

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

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

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

MLT-3

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

Тетрарное кодирование

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

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

Код 2B1Q передает пару бит за один битовый интервал. Каждой возможной паре в соответствие ставится свой уровень из четырех возможных уровней потенциала. Паре
00 соответствует потенциал −2.5 В,
01 соответствует −0.833 В,
11 - +0.833 В,
10 - +2.5 В.

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

Логическое кодирование данных изменяет поток бит созданного кадра МАС-уровня в последовательность символов, которые подлежат физическому кодированию для транспортировки по каналу связи. Для логического кодирования используют разные схемы:

  • 4B/5B — каждые 4 бита входного потока кодируются 5-битным символом (табл 1.1). Получается двукратная избыточность, так как 2 4 = 16 входных комбинаций показываются символами из 2 5 = 32. Расходы по количеству битовых интервалов составляют: (5-4)/4 = 1/4 (25%). Такая избыточность разрешает определить ряд служебных символов, которые служат для синхронизации. Применяется в 100BaseFX/TX, FDDI
  • 8B/10B — аналогичная схема (8 бит кодируются 10-битным символом) но уже избыточность равна 4 раза (256 входных в 1024 выходных).
  • 5B/6B — 5 бит входного потока кодируются 6-битными символами. Применяется в 100VG-AnyLAN
  • 8B/6T — 8 бит входного потока кодируются шестью троичными (T = ternary) цифрами (-,0,+). К примеру: 00h: +-00+-; 01h: 0+-+=0; Код имеет избыточность 3 6 /2 8 = 729/256 = 2,85. Скорость транспортировки символов в линию является ниже битовой скорости и их поступления на кодирования. Применяется в 100BaseT4.
  • Вставка бит — такая схема работает на исключение недопустимых последовательностей бит. Ее работу объясним на реализации в протоколе HDLC. Тут входной поток смотрится как непрерывная последовательность бит, для которой цепочка из более чем пяти смежных 1 анализируется как служебный сигнал (пример: 01111110 является флагом-разделителем кадра). Если в транслируемом потоке встречается непрерывная последовательность из 1 , то после каждой пятой в выходной поток передатчик вставляет 0 . Приемник анализирует входящую цепочку, и если после цепочки 011111 он видит 0 , то он его отбрасывает и последовательность 011111 присоединяет к остальному выходному потоку данных. Если принят бит 1 , то последовательность 011111 смотрится как служебный символ. Такая техника решает две задачи — исключать длинные монотонные последовательности, которые неудобные для самосинхронизации физического кодирования и разрешает опознание границ кадра и особых состояний в непрерывном битовом потоке.

Таблица 1 — Кодирование 4В/5В

Входной символ Выходной символ
0000 (0) 11110
0001 (1) 01001
0010 (2) 10100
0011 (3) 10101
0100 (4) 01010
0101 (5) 01011
0110 (6) 01110
0111 (7) 01111
1000 (8) 10010
1001 (9) 10011
1010 (A) 10110
1011 (B) 10111
1100 (C) 11010
1101 (D) 11011
1110 (E) 11100
1111 (F) 11101

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

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

  • Транзитное кодирование — информативным есть переход из одного состояния в другое
  • Потенциальное кодирование — информативным есть уровень сигнала в конкретные моменты времени
  • Полярное — сигнал одной полярности реализуется для представления одного значения, сигнал другой полярности для — другого. При оптоволоконное транспортировке вместо полярности используют амплитуды импульса
  • Униполярное — сигнал одной полярности реализуется для представления одного значения, нулевой сигнал — для другого
  • Биполярное — используется отрицательное, положительное и нулевое значения для представления трех состояний
  • Двухфазное — в каждом битовом интервале присутствует переход из одного состояния в другое, что используется для выделения синхросигнала.

Популярные схемы кодирования, которые применяются в локальных сетях

AMI/ABP

AMI — Alternate Mark Inversion или же ABP — Alternate bipolare, биполярная схема, которая использует значения +V, 0V и -V. Все нулевые биты имеют значения 0V, единичные — чередующимися значениями +V, -V (рис.1). Применяется в DSx (DS1 — DS4), ISDN. Такая схема не есть полностью самосинхронизирующейся — длинная цепочка нулей приведет к потере синхронизации.

Рисунок — 1

MAMI — Modified Alternate Mark Inversion, или же ASI — модифицированная схема AMI, импульсами чередующейся полярности кодируется 0, а 1 — нулевым потенциалом. Применяется в ISDN (S/T — интерфейсы).

B8ZS — Bipolar with 8 Zero Substitution, схема аналогичная AMI, но для синхронизации исключает цепочки 8 и более нулей (за счет вставки бит).

HDB3 — High Density Bipolar 3, схема аналогичная AMI, но не допускает передачи цепочки более трех нулей. Вместо последовательности из четырех нулей вставляется один из четырех биполярных кодов. (Рис.2)

Рисунок — 2

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

Manchester encoding — двухфазное полярное/униполярное самосинхронизирующееся кодирование. Текущий бит узнается по направлению смены состояния в середине битового интервала: от -V к +V: 1. От +V к -V: 0. Переход в начале интервала может и не быть. Применяется в Ethernet. (В начальных версиях — униполярное). (рис.3)

Рисунок — 3

Differential manchester encoding — двухфазное полярное/униполярное самосинхронизирующиеся код. Текущий бит узнается по наличию перехода в начале битового интервала (рис. 4.1), например 0 — есть переход (Вертикальный фрагмент), 1 — нет перехода (горизонтальный фрагмент). Можно и наоборот определять 0 и 1.В середине битового интервала переход есть всегда. Он нужен для синхронизации. В Token Ring применяется измененная версия такой схемы, где кроме бит 0 и 1 определенны также два бита j и k (Рис. 4.2). Здесь нет переходов в середине интервала. Бит К имеет переход в начале интервала, а j — нет.

Рисунок — 4.1 и 4.2

Трехуровневое кодирование со скремблированием который не самосинхронизуется. Используются уровни (+V, 0, -V) постоянные в линии каждого битового интервала. При передаче 0 значения не меняются, при передаче 1 — меняются на соседние по цепочке +V, 0, -V, 0, +V и тд. (рис. 5). Такая схема является усложнонным вариантом NRZI. Применяется в FDDI и 100BaseTX.

Рисунок — 5

NRZ и NRZI

NRZ — Non-return to zero (без возврата к нулю), биполярная нетранзиктивная схема (состояния меняются на границе), которая имеет 2 варианта. Первый вариант это недифференциальное NRZ (используется в RS-232) состояние напрямую отражает значение бита (рис. 6.а). В другом варианте — дифференциальном, NRZ состояние меняется в начале битового интервала для 1 и не меняется для 0. (рис.6.Б). Привязки 1 и 0 к определенному состоянию нету.

NRZI — Non-return to zero Inverted, измененная схема NRZ (рис. 6.в). Тут состояния изменяются на противоположные в начале битового интервала 0, и не меняются при передаче 1. Возможна и обратная схема представления. Используются в FDDI, 100BaseFX.

Рисунок — 6-а,б,в

RZ — Return to zero (с возвратом к нулю), биполярная транзитивная самосинхронизирующаяся схема. Состояние в определенный момент битового интервала всегда возвращается к нулю. Имеет дифференциальный/недифференциальный варианты. В дифференциальном привязки 1 и 0 к состоянию нету. (рис. 7.а).

Рисунок — 7-а,б

FM 0 — Frequency Modulation 0 (частотная модуляция), самосинхронизирующийся полярный код. Меняется на противоположное на границе каждого битового интервала. При передаче 1 в течение битового интервала состояние неизменное. При передаче 0, в середине битового интервала состояние меняется на противоположное. (рис. 8). Используется в LocalTalk.

Рисунок — 8

PAM 5 — Pulse Amplitude Modulation, пятиуровневое биполярное кодирование, где пара бит в зависимости от предыстории оказывается одним из 5 уровней потенциала. Нужен неширокая полоса частот (вдвое ниже битовой скорости). Используется в 1000BaseT.

Здесь пара бит оказывается одним четверичным символом (Quater-nary symbol), где каждому соответствует один из 4 уровней сигнала. В табллице показано представление символов в сети ISDN.

4B3T — блок из 4 бит (16 состояний) кодируется тремя троичными символами (27 символов). Из множества возможных методов изменений рассмотрим MMS43, который используется в интерфейсе BRI сетей ISDN (таблица). Тут применяются специальные методы для исключения постоянной составляющей напряжения в линии, в следствии чего кодирования ряда комбинаций зависит от предыстории — состояния, где находится кодер. Пример: последовательность бит 1100 1101 будет представлена как: + + + — 0 -.

Двоичный код S1 Переход S2 Переход S3 Переход S4 Переход
0001 0 — + S1 0 — + S2 0 — + S3 0 — + S4
0111 — 0 + S1 — 0 + S2 — 0 + S3 — 0 + S4
0100 — + 0 S1 — + 0 S2 — + 0 S3 — + 0 S4
0010 + — 0 S1 + — 0 S2 + — 0 S3 + — 0 S4
1011 + 0 — S1 + 0 — S2 + 0 — S3 + 0 — S4
1110 0 + — S1 0 + — S2 0 + — S3 0 + — S4
1001 + — + S2 + — + S3 + — + S4 — — — S1
0011 0 0 + S2 0 0 + S3 0 0 + S4 — — 0 S2
1101 0 + 0 S2 0 + 0 S3 0 + 0 S4 — 0 — S2
1000 + 0 0 S2 + 0 0 S3 + 0 0 S4 0 — — S2
0110 — + + S2 — + + S3 — — + S2 — — + S3
1010 + + — S2 + + — S3 + — — S2 + — — S3
1111 + + 0 S3 0 0 — S1 0 0 — S1 0 0 — S3
0000 + 0 + S3 0 — 0 S1 0 — 0 S2 0 — 0 S3
0101 0 + + S3 — 0 0 S1 — 0 0 S2 — 0 0 S3
1100 + + + S4 — + — S1 — + — S2 — + — S3

Итог

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

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

Процесс кодирования заключается в представлении сообщений условными комбинациями, составленными из небольшого количества элементарных сигналов (например, посылка и пауза в коде Бодо, «точка» и «тире» в коде Морзе).

В зависимости от целей кодирования различают следующие его виды:

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

Процесс кодирования информации обеспечивает достижение нескольких целей. Во-первых, сообщения представляют в системе символов, обеспечивающей простоту аппаратной реализации информационных устройств. Задача кодирования сообщений для этого случая представляется как преобразование исходного сообщения в используемую (как правило, двоичную) систему счисления. Число используемых при этом различных элементарных сигналов называется основанием кода, а число элементов, образующих кодовую комбинацию, - значностью кода. Если все комбинации кода имеют одинаковую значность, то такой код называется равномерным, в противном случае - неравномерным. Операция кодирования применяется для цифровых сигналов. Для непрерывных сигналов требуется предварительное преобразование аналогового сигнала в цифровой.

Во-вторых, кодирование используется для наилучшего согласования свойств источника сообщений со свойствами канала связи - оптимальное статистическое кодирование. Под ним понимают коды, которые обеспечивают минимизацию среднего количества кодовых символов на один элемент сообщения.

В-третьих, кодирование позволит уменьшить влияние помех на процесс приема-передачи (помехоустойчивое кодирование).

В-четвертых, кодирование обеспечивает защиту информации от несанкционированного доступа.

Коды как средство тайнописи появились еще в глубокой древности. Например, древнегреческий историк Геродот в V в. до н.э. приводил примеры писем, понятных только адресату. Секретная азбука использовалась и Юлием Цезарем. Над созданием шифров работали такие известные ученые Средневековья, как Ф. Бэкон, Д. Кардано и др.

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

Рис. 2.1. Двоичное кодирование: а - исходный аналоговый сигнал; б - дискретный по времени и квантованный по уровню цифровой сигнал; в - двоичный код отсчетов с числом двоичных символов п = 2

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

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

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

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

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

Логическое кодирование

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

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

Форматы кодов [ ]

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

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

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

NRZ (Non Return to Zero)

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

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

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

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

Достоинства NRZ кода

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

Недостатки NRZ кода

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

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

Достоинства NRZI кода

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

Недостатки NRZI кода

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

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

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

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

В начале каждого такта может происходить служебный перепад сигнала, если нужно представить несколько единиц или нулей подряд. Так как сигнал изменяется по крайней мере один раз за такт передачи одного бита данных, то манчестерский код обладает самосинхронизирующими свойствами. Обязательное наличие перехода в центре бита позволяет легко выделить синхросигнал. Допустимое расхождение частот передачи - до 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)

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

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

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

Код HDB3 (биполярный код с высокой плотностью третьего порядка ) исправляет любые 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

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

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

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

Недостатки метода 2B1Q

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

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

Кодирование подполосок. При кодировании подполосок (КПП) сигналов речи и изображения суммарный сигнал разделяется на небольшое число частотных подполосок, а в каждой из них сигнал кодируется раздельно. При кодировании речи, например, низкочастотные полосы сигнала содержат большую часть спектральной энергии. В дополнение к этому шум квантования более заметен на слух в низкочастотной области. Следовательно, для представления сигнала в низкочастотных полосах надо использовать больше бит, а в высокочастотных – меньше.

Расчёт фильтров особенно важен для достижения хорошей рабочей характеристики КПП. На практике обычно используются квадратурно-зеркальные фильтры (КЗФ), так как они имеют наилучшую характеристику, определённую их совершенными конструктивными свойствами (см. Вайданатен, 1993). Используя КЗФ для КПП, низкочастотную полосу сигнала неоднократно делят пополам, что создаёт октавно-полосных фильтров. Выход каждого КЗФ подвергается децимации с коэффициентом 2 для уменьшения частоты стробирования. Например, предположим, что полоса частот сигнала речи простирается до 3200 Гц. Первая пара КЗФ перекрывает спектр в нижней полосе (0...1600 Гц) и верхней полосе (1600...3200 Гц). Затем нижняя полоса снова расщепляется на нижнюю (0...800 Гц) и верхнюю (800...1600 Гц) полосы путём использования другой пары КЗФ. Третье деление другой парой КЗФ может расщепить полосу 0...800 Гц на низкую (0...400 Гц) и высокую (400...800Гц). Таким образом, тремя парами КЗФ мы получаем сигналы в частотных полосах 0...400, 400...800, 800...1600 и 1600...3200 Гц. Временной сигнал в каждой полосе может теперь кодироваться с различной точностью. На практике для кодирования сигнала в каждой подполоске используется адаптивная ИКМ.

Адаптивное преобразующее кодирование. При адаптивном преобразующем кодировании (АПК) сигнал источника стробируется и делится на группы из отсчётов. Данные каждой группы преобразуются в спектральную область для кодирования и передачи. В декодере источника каждая группа спектральных отсчётов преобразуется обратно во временную область и пропускается через цифро-аналоговый преобразователь. Для достижения эффективного кодирования предусматривают больше бит для более важных спектральных коэффициентов и меньше бит для менее важных спектральных коэффициентов. Дополнительно при проектировании адаптивного распределения общего числа битов для спектральных коэффициентов мы можем адаптироваться к возможной меняющейся статистике сигнала источника. Целью выбора преобразования из временной области в частотную область является получение некоррелированных спектральных отсчётов. В этом смысле преобразование Карунена-Лоэва (ПКЛ) является оптимальным, поскольку оно даёт некоррелированные спектральные значения. Но ПКЛ в общем случае трудно выполнить (см. Винц, 1973). Дискретное преобразование Фурье (ДПФ) и дискретное косинус-преобразование ДКП являются приемлемыми альтернативами, хотя они субоптимальны. Из них ДКП даёт хорошую рабочую характеристику, сравнимую с ПКЛ, и оно обычно используется на практике (см. Кампанелла и Робинсон, 1971; Зелинский и Ноль, 1977).

При кодировании речи "с использованием АПК возможно получить качественную передачу при скорости передачи около 9000 бит/с.