Файл: Методы кодирования данных (История кодирования данных).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 128

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рисунок 2 Передача в коде NRZ с синхросигналом

Самый большой недостаток кода NRZ – это возможность потери синхронизации приемником во время приема слишком длинных блоков (пакетов) информации. Приемник может привязывать момент начала приема только к первому (стартовому) биту пакета, а в течение приема пакета он вынужден пользоваться только внутренним тактовым генератором (внутренними часами). Например, если передается последовательность нулей или последовательность единиц, то приемник может определить, где проходят границы битовых интервалов, только по внутренним часам. И если часы приемника расходятся с часами передатчика, то временной сдвиг к концу приема пакета может превысить длительность одного или даже нескольких бит. В результате произойдет потеря переданных данных. Так, при длине пакета в 10000 бит допустимое расхождение часов составит не более 0,01% даже при идеальной передаче формы сигнала по кабелю.

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

В связи с этим код NRZ используется только для передачи короткими пакетами (обычно до 1 Кбита)[11].

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

Рисунок 3 Определение окончания последовательности при коде NRZ

Код NRZI (без возврата к нулю с инверсией единиц – Non–Return to Zero, Invert to one) предполагает, что уровень сигнала меняется на противоположный в начале единичного битового интервала и не меняется при передаче нулевого битового интервала. При последовательности единиц на границах битовых интервалов имеются переходы, при последовательности нулей – переходов нет. В этом смысле код NRZI лучше синхронизируется, чем NRZ (там нет переходов ни при последовательности нулей, ни при последовательности единиц)[12].


Этот метод кодирования использует следующие представления битов цифрового потока: * биты 0 представляются нулевым напряжением (0 В); * биты 1 представляются напряжением 0 или +V в зависимости от предшествовавшего этому биту напряжения. Если предыдущее напряжение было равно 0, единица будет представлена значением +V, а в случаях, когда предыдущий уровень составлял +V для представления единицы, будет использовано напряжение 0 В. Этот алгоритм обеспечивает малую полосу (как при методе NRZ) в сочетании с частыми изменениями напряжения (как в RZ), а кроме того, обеспечивает неполярный сигнал (т. е. проводники в линии можно поменять местами)[13].

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

Код RZ (Return to Zero – с возвратом к нулю) – этот трехуровневый код получил такое название потому, что после значащего уровня сигнала в первой половине битового интервала следует возврат к некоему «нулевому», среднему уровню (например, к нулевому потенциалу). Переход к нему происходит в середине каждого битового интервала. Логическому нулю, таким образом, соответствует положительный импульс, логической единице – отрицательный (или наоборот) в первой половине битового интервала.

В центре битового интервала всегда есть переход сигнала (положительный или отрицательный), следовательно, из этого кода приемник легко может выделить синхроимпульс (строб). Возможна временная привязка не только к началу пакета, как в случае кода NRZ, но и к каждому отдельному биту, поэтому потери синхронизации не произойдет при любой длине пакета[14].

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

Рисунок 4 Определение начала и конца приема при коде RZ

Недостаток кода RZ состоит в том, что для него требуется вдвое большая полоса пропускания канала при той же скорости передачи по сравнению с NRZ (так как здесь на один битовый интервал приходится два изменения уровня сигнала). Например, для скорости передачи информации 10 Мбит/с требуется пропускная способность линии связи 10 МГц, а не 5 МГц, как при коде NRZ (рисунок 5).


Рисунок 5 Скорость передачи и пропускная способность при коде RZ

Другой важный недостаток – наличие трех уровней, что всегда усложняет аппаратуру как передатчика, так и приемника[15].

Код RZ применяется не только в сетях на основе электрического кабеля, но и в оптоволоконных сетях. Правда, в них не существует положительных и отрицательных уровней сигнала, поэтому используется три следующие уровня: отсутствие света, «средний» свет, «сильный» свет. Это очень удобно: даже когда нет передачи информации, свет все равно присутствует, что позволяет легко определить целостность оптоволоконной линии связи без дополнительных мер (рисунок 6).

Рисунок 6. Использование кода RZ в оптоволоконных сетях

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

AMI код (от англ. Alternate Mark Inversion, иногда в литературе встречается название «биполярный AMI код») – один из способов линейного кодирования (физического кодирования, канального кодирования, цифровое кодирование, манипуляция сигнала, импульсно–кодовая модуляция). Является трехуровневым кодом, при поступлении на вход кодера логической единицы осуществляется смена потенциала либо на верхний, либо на нижний уровень, в зависимости от предыдущего уровня, на котором передавалась логическая единица. В процессе синхронизации, физическая привязка к синхронной последовательности на приемной стороне осуществляется при передаче смены логической единицы и логического нуля, либо за счет скремблирования.

Рисунок 7 Линейное кодирование

Преимущества:

  • Самосинхронизирующийся код (слабая синхронизация в сравнении с манчестерским кодированием, поскольку синхронизация не производится при передаче логических нулей)
  • Спектр сигнала уже, чем у NRZ
  • Сравнительно простая в реализации

Недостатки:

  • Мощность передатчика должна быть выше в сравнение с двухуровневым кодированием
  • Сложность построения аппаратуры в сравнение с двухуровневым кодированием[16]

Этот метод кодирования использует следующие представления битов: * биты 0 представляются нулевым напряжением (0 В); * биты 1' представляются поочередно значениями +V и –V. Этот метод подобен алгоритму RZ, но обеспечивает в линии нулевой уровень постоянного напряжения. Недостатком метода AMI является ограничение на плотность нулей в потоке данных, поскольку длинные последовательности 0 ведут к потере синхронизации


2.4 HDB3 – High Density Bipolar 3 (биполярное кодирование с высокой плотностью) и PE – Phase Encode (фазовое кодирование)

Для высоких скоростей передачи используются биполярное кодирование с высокой плотностью (High density bipolar code of order 3 – HDB3). Представление битов в методе HDB3 лишь незначительно отличается от представления, используемого алгоритмом AMI. При наличии в потоке данных 4 последовательных битов 0 последовательность изменяется на 000V, где полярность бита V такая же, как для предшествующего ненулевого.

High Density Bipolar code – Биполярный код высокой плотности второго (третьего) порядка. Эквивалентен коду с возвратом к нулю (RZ) и с инверсией для логических 1. Последовательность 000 (соответственно 0000) заменяется на 00V или B0V (соответственно 000V или B00V). Число B сигналов между V–сигналами всегда нечетно. В результате возникает трехуровневый код

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

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

Ни в одной из версий Ethernet не применяется прямое двоичное кодирование бита 0 напряжением О В и бита 1 – напряжением 5В, так как такой способ приводит к неоднозначности. Если одна станция посылает битовую строку 00010000, то другая может интерпретировать ее как 10000000 или 01000000, так как они не смогут отличить отсутствие сигнала (О В) от бита О (О В). Можно, конечно, кодировать единицу положительным напряжением +1 В, а ноль – отрицательным напряжением –1В. Но при этом все равно возникает проблема, связанная с синхронизацией передатчика и приемника. Разные частоты работы их системных часов могу привести к рассинхронизации и неверной интерпретации данных. В результате приемник может потерять границу битового интервала. Особенно велика вероятность этого в случае длинной последовательности нулей или единиц.


Таким образом, принимающей машине нужен способ однозначного определения начала, конца и середины каждого бита без помощи внешнего таймера. Это реализуется с помощью двух методов: манчестерского кодирования и разностного манчестерского кодирования. В манчестерском коде каждый временной интервал передачи одного бита делится на два равных периода. Бит со значением 1 кодируется высоким уровнем напряжения в первой половине интервала и низким – во второй половине, а нулевой бит кодируется обратной последовательностью – сначала низкое напряжение, затем высокое. Такая схема гарантирует смену напряжения в середине периода битов, что позволяет приемнику синхронизироваться с передатчиком. Недостатком манчестерского кодирования является то, что оно требует двойной пропускной способности линии по отношению к прямому двоичному кодированию, так как импульсы имеют половинную ширину. Например, для того чтобы отправлять данные со скоростью 10 Мбит/с, необходимо изменять сигнал 20 миллионов раз в секунду. Манчестерское кодирование показано ниже, на схеме «б» (Рисунок 8)[18].

Разностное манчестерское кодирование, показанное на схеме «в» (Рисунок 8), является вариантом основного манчестерского кодирования. В нем бит 0 кодируется изменением состояния в начале интервала, а бит 1 – сохранением предыдущего уровня. В обоих случаях в середине интервала обязательно присутствует переход. Разностная схема требует более сложного оборудования, зато обладает хорошей защищенностью от шума. Во всех сетях Ethernet используется манчестерское кодирование благодаря его простоте. Высокий сигнал кодируется напряжением в +0,85 В, а низкий сигнал––0,85 В, в результате чего постоянная составляющая напряжения равна О В. Разностное манчестерское кодирование в Ethernet не используется, но используется в других ЛВС (например, стандарт 802.5, маркерное кольцо).

Рисунок 8 Потоковое кодирование информации

ЗАКЛЮЧЕНИЕ

В ходе выполнения работы была достигнута поставленная цель – изучены методы кодирования данных.

Для достижения цели были выполнены следующие задачи:

  • проанализирована история кодирования данных;
  • рассмотрены понятие и виды кодирования данных;
  • охарактеризованы методы кодирования данных:
  • NRZ;
  • NRZI;
  • RZ;
  • AMI;
  • HDB3;
  • PE.

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