ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.04.2021
Просмотров: 403
Скачиваний: 1
Цифровое кодирование
При цифровом кодировании дискретной информации применяют потенциальные и
импульсные коды.
В потенциальных кодах для представления логических единиц и нулей используется
только значение потенциала сигнала, а его перепады, формирующие законченные импульсы, во
внимание не принимаются. Импульсные коды позволяют представить двоичные данные либо
импульсами определенной полярности, либо частью импульса - перепадом потенциала
определенного направления.
Требования к методам цифрового кодирования
При использовании прямоугольных импульсов для передачи дискретной информации
необходимо выбрать такой способ кодирования, который одновременно достигал бы нескольких
целей:
имел при одной и той же битовой скорости наименьшую ширину спектра
результирующего сигнала;(
Более узкий спектр сигналов позволяет на одной и той же линии (с
одной и той же полосой пропускания) добиваться более высокой скорости передачи данных.
Кроме того, часто к спектру сигнала предъявляется требование отсутствия постоянной
составляющей, то есть наличия постоянного тока между передатчиком и приемником. В
частности, применение различных трансформаторных схем
гальванической развязки
препятствует
прохождению постоянного тока.)
обеспечивал синхронизацию между передатчиком и приемником
;
Синхронизация передатчика и приемника нужна для того, чтобы приемник точно знал, в
какой момент времени необходимо считывать новую информацию с линии.
Поэтому в сетях применяются так называемые
самосинхронизирующиеся коды
, сигналы
которых несут для передатчика указания о том, в какой момент времени нужно осуществлять
распознавание очередного бита (или нескольких бит, если код ориентирован более чем на два
состояния сигнала). Любой резкий перепад сигнала - так называемый фронт - может служить
хорошим указанием для синхронизации приемника с передатчиком.
При использовании синусоид в качестве несущего сигнала результирующий код обладает
свойством самосинхронизации, так как изменение амплитуды несущей частоты дает возможность
приемнику определить момент появления входного кода.
обладал способностью распознавать ошибки
;( Распознавание и коррекцию
искаженных данных сложно осуществить средствами физического уровня, поэтому чаще всего эту
работу берут на себя протоколы, лежащие выше: канальный, сетевой, транспортный или
прикладной. С другой стороны, распознавание ошибок на физическом уровне экономит время, так
как приемник не ждет полного помещения кадра в буфер, а отбраковывает его сразу при
распознавании ошибочных бит внутри кадра.)
обладал низкой стоимостью реализации.
Потенциальный код без возвращения к нулю
На рис. 2.16, а показан метод потенциального кодирования, называемый также
кодированием
без возвращения к нулю (NonReturntoZero, NRZ)
. Последнее название отражает то
обстоятельство, что при передаче последовательности единиц сигнал не возвращается к нулю в
течение такта (как мы увидим ниже, в других методах кодирования возврат к нулю в этом случае
происходит). Метод NRZ прост в реализации, обладает хорошей распознаваемостью ошибок (из-за
двух резко отличающихся потенциалов), но не обладает свойством самосинхронизации. При
передаче длинной последовательности единиц или нулей сигнал на линии не изменяется, поэтому
приемник лишен возможности определять по входному сигналу моменты времени, когда нужно в
очередной раз считывать данные. Даже при наличии высокоточного тактового генератора
приемник может ошибиться с моментом съема данных, так как частоты двух генераторов никогда
не бывают полностью идентичными. Поэтому при высоких скоростях обмена данными и длинных
последовательностях единиц или нулей небольшое рассогласование тактовых частот может
привести к ошибке в целый такт и, соответственно, считыванию некорректного значения бита.
Рис. 2.16.
Способы дискретного кодирования данных
Другим серьезным недостатком метода NRZ является наличие низкочастотной
составляющей, которая приближается к нулю при передаче длинных последовательностей единиц
или нулей. Из-за этого многие каналы связи, не обеспечивающие прямого гальванического
соединения между приемником и источником, этот вид кодирования не поддерживают. В
результате в чистом виде код NRZ в сетях не используется. Тем не менее используются его
различные модификации, в которых устраняют как плохую самосинхронизацию кода NRZ, так и
наличие постоянной составляющей. Привлекательность кода NRZ, из-за которой имеет смысл
заняться его улучшением, состоит в достаточно низкой частоте основной гармоники f
0
, которая
равна N/2 Гц. У других методов кодирования, например манчестерского, основная гармоника
имеет более высокую частоту.
Метод биполярного кодирования с альтернативной инверсией
Одной из модификаций метода NRZ является метод
биполярного кодирования с
альтернативной инверсией (BipolarAlternateMarkInversion, AMI)
. В этом методе (рис. 2.16, б)
используются три уровня потенциала - отрицательный, нулевой и положительный. Для
кодирования логического нуля используется нулевой потенциал, а логическая единица кодируется
либо положительным потенциалом, либо отрицательным, при этом потенциал каждой новой
единицы противоположен потенциалу предыдущей.
Код AMI частично ликвидирует проблемы постоянной составляющей и отсутствия
самосинхронизации, присущие коду NRZ. Это происходит при передаче длинных
последовательностей единиц. В этих случаях сигнал на линии представляет собой
последовательность разнополярных импульсов с тем же спектром, что и у кода NRZ, передающего
чередующиеся нули и единицы, то есть без постоянной составляющей и с основной гармоникой
N/2 Гц (где N - битовая скорость передачи данных). Длинные же последовательности нулей также
опасны для кода AMI, как и для кода NRZ - сигнал вырождается в постоянный потенциал нулевой
амплитуды. Поэтому код AMI требует дальнейшего улучшения, хотя задача упрощается - осталось
справиться только с последовательностями нулей.
В целом, для различных комбинаций бит на линии использование кода AMI приводит к
более узкому спектру сигнала, чем для кода NRZ, а значит, и к более высокой пропускной
способности линии. Например, при передаче чередующихся единиц и нулей основная гармоника
fo имеет частоту N/4 Гц. Код AMI предоставляет также некоторые возможности по распознаванию
ошибочных сигналов. Так, нарушение строгого чередования полярности сигналов говорит о
ложном импульсе или исчезновении с линии корректного импульса. Сигнал с некорректной
полярностью называется
запрещенным сигналом (signalviolation)
.
В коде AMI используются не два, а три уровня сигнала на линии. Дополнительный уровень
требует увеличение мощности передатчика примерно на 3 дБ для обеспечения той же
достоверности приема бит на линии, что является общим недостатком кодов с несколькими
состояниями сигнала по сравнению с кодами, которые различают только два состояния.
Потенциальный код с инверсией при единице
Существует код, похожий на AMI, но только с двумя уровнями сигнала. При передаче нуля
он передает потенциал, который был установлен в предыдущем такте (то есть не меняет его), а
при передаче единицы потенциал инвертируется на противоположный. Этот код называется
потенциальным кодом с инверсией при единице (NonReturntoZerowithonesInverted, NRZI)
. Этот код
удобен в тех случаях, когда использование третьего уровня сигнала весьма нежелательно,
например в оптических кабелях, где устойчиво распознаются два состояния сигнала - свет и
темнота.
Для улучшения потенциальных кодов, подобных AMI и NRZI, используются два метода.
Первый метод основан на добавлении в исходный код избыточных бит, содержащих логические
единицы. Очевидно, что в этом случае длинные последовательности нулей прерываются и код
становится самосинхронизирующимся для любых передаваемых данных. Исчезает также
постоянная составляющая, а значит, еще более сужается спектр сигнала. Но этот метод снижает
полезную пропускную способность линии, так как избыточные единицы пользовательской
информации не несут. Другой метод основан на предварительном «перемешивании» исходной
информации таким образом, чтобы вероятность появления единиц и нулей на линии становилась
близкой. Устройства, или блоки, выполняющие такую операцию, называются
трамблерами
(scramble - свалка, беспорядочная сборка). При скремблировании используется известный
алгоритм, поэтому приемник, получив двоичные данные, передает их на
дескрэмблер
, который
восстанавливает исходную последовательность бит. Избыточные биты при этом по линии не
передаются. Оба метода относятся к логическому, а не физическому кодированию, так как форму
сигналов на линии они не определяют. Более детально они изучаются в следующем разделе.
Биполярный импульсный код
Кроме потенциальных кодов в сетях используются и импульсные коды, когда данные
представлены полным импульсом или же его частью - фронтом. Наиболее простым случаем
такого подхода является
биполярный импульсный код
, в котором единица представлена импульсом
одной полярности, а ноль - другой (рис. 2.16, в). Каждый импульс длится половину такта. Такой
код обладает отличными самосинхронизирующими свойствами, но постоянная составляющая,
может присутствовать, например, при передаче длинной последовательности единиц или нулей.
Кроме того, спектр у него шире, чем у потенциальных кодов. Так, при передаче всех нулей или
единиц частота основной гармоники кода будет равна N Гц, что в два раза выше основной
гармоники кода NRZ и в четыре раза выше основной гармоники кода AMI при передаче
чередующихся единиц и нулей. Из-за слишком широкого спектра биполярный импульсный код
используется редко.
Манчестерский код
Манчестерское кодирование
– схема передачи двоичных данных, применяемая во многих
сетях. При передаче бита, равного 1, в течение временного интервала, который отведен для его
передачи, значение сигнала меняется с положительного на отрицательное. При передаче бита
равного 0, в течение временного интервала, который отведен для его передачи, значение сигнала
меняется с отрицательного на положительное.
В локальных сетях до недавнего времени самым распространенным методом кодирования
был так называемый
манчестерский код
(рис. 2.16, г). Он применяется в технологиях Ethernet и
TokenRing.
В манчестерском коде для кодирования единиц и нулей используется перепад потенциала,
то есть фронт импульса. При манчестерском кодировании каждый такт делится на две части.
Информация кодируется перепадами потенциала, происходящими в середине каждого такта.
Единица кодируется перепадом от низкого уровня сигнала к высокому, а ноль - обратным
перепадом. В начале каждого такта может происходить служебный перепад сигнала, если нужно
представить несколько единиц или нулей подряд. Так как сигнал изменяется по крайней мере один
раз за такт передачи одного бита данных, то манчестерский код обладает хорошими
самосинхронизирующими свойствами. Полоса пропускания манчестерского кода уже, чем у
биполярного импульсного. У него также нет постоянной составляющей, а основная гармоника в
худшем случае (при передаче последовательности единиц или нулей) имеет частоту N Гц, а в
лучшем (при передаче чередующихся единиц и нулей) она равна N/2 Гц, как и у кодов AMI или
NRZ. В среднем ширина полосы манчестерского кода в полтора раза уже, чем у биполярного
импульсного кода, а основная гармоника колеблется вблизи значения 3N/4. Манчестерский код
имеет еще одно преимущество перед биполярным импульсным кодом. В последнем для передачи
данных используются три уровня сигнала, а в манчестерском - два.
Потенциальный код 2B1Q
На рис. 2.16, д показан потенциальный код с четырьмя уровнями сигнала для кодирования
данных. Это код
2B1Q
, название которого отражает его суть - каждые два бита (2В) передаются за
один такт сигналом, имеющим четыре состояния (1Q), Паре бит 00 соответствует потенциал -2,5
В, паре бит 01 соответствует потенциал -0,833 В, паре 11 - потенциал +0,833 В, а паре 10 -
потенциал +2,5 В. При этом способе кодирования требуются дополнительные меры по борьбе с
длинными последовательностями одинаковых пар бит, так как при этом сигнал превращается в
постоянную составляющую. При случайном чередовании бит спектр сигнала в два раза уже, чем у
кода NRZ, так как при той же битовой скорости длительность такта увеличивается в два раза.
Таким образом, с помощью кода 2B1Q можно по одной и той же линии передавать данные в два
раза быстрее, чем с помощью кода AMI или NRZI. Однако для его реализации мощность
передатчика должна быть выше, чтобы четыре уровня четко различались приемником на фоне
помех.
2.2.3. Логическое кодирование
Логическое кодирование используется для улучшения потенциальных кодов типа AMI,
NRZI или 2Q1B. Логическое кодирование должно заменять длинные последовательности бит,
приводящие к постоянному потенциалу, вкраплениями единиц. Для логического кодирования
характерны два метода - избыточные коды и скрэмблирование.
Избыточные коды
Избыточные коды
основаны на разбиении исходной последовательности бит на порции,
которые часто называют символами. Затем каждый исходный символ заменяется на новый,
который имеет большее количество бит, чем исходный. Например, логический код 4В/5В,
используемый в технологиях FDDI и FastEthernet, заменяет исходные символы длиной в 4 бита на
символы длиной в 5 бит. Так как результирующие символы содержат избыточные биты, то общее
количество битовых комбинаций в них больше, чем в исходных. Так, в коде 4В/5В
результирующие символы могут содержать 32 битовых комбинации, в то время как исходные
символы - только 16. Поэтому в результирующем коде можно отобрать 16 таких комбинаций,
которые не содержат большого количества нулей, а остальные считать
запрещенными кодами
(codeviolation)
. Кроме устранения постоянной составляющей и придания коду свойства
самосинхронизации, избыточные коды позволяют приемнику распознавать искаженные биты.
Если приемник принимает запрещенный код, значит, на линии произошло искажение сигнала.
Соответствие исходных и результирующих кодов 4В/5В представлено ниже.
Код 4В/5В затем передается по линии с помощью физического кодирования по одному из
методов потенциального кодирования, чувствительному только к длинным последовательностям
нулей. Символы кода 4В/5В длиной 5 бит гарантируют, что при любом их сочетании на линии не
могут встретиться более трех нулей подряд.
Буква В в названии кода означает, что элементарный сигнал имеет 2 состояния - от
английского binary - двоичный. Имеются также коды и с тремя состояниями сигнала, например, в
коде 8В/6Т для кодирования 8 бит исходной информации используется код из 6 сигналов, каждый
из которых имеет три состояния. Избыточность кода 8В/6Т выше, чем кода 4В/5В, так как на 256
исходных кодов приходится 3
6
=729 результирующих символов.
Использование таблицы перекодировки является очень простой операцией, поэтому этот
подход не усложняет сетевые адаптеры и интерфейсные блоки коммутаторов и маршрутизаторов.
Для обеспечения заданной пропускной способности линии передатчик, использующий
избыточный код, должен работать с повышенной тактовой частотой. Так, для передачи кодов
4В/5В со скоростью 100 Мб/с передатчик должен работать с тактовой частотой 125 МГц. При этом
спектр сигнала на линии расширяется по сравнению со случаем, когда по линии передается
чистый, не избыточный код. Тем не менее спектр избыточного потенциального кода оказывается
уже спектра манчестерского кода, что оправдывает дополнительный этап логического
кодирования, а также работу приемника и передатчика на повышенной тактовой частоте.
Скрэмблирование
Скрэмблирование – это перемешивание данных перед передачей их в линию с помощью
потенциального кода. Методы скрэмблирования заключаются в побитном вычислении
результирующего кода на основании бит исходного кода и полученных в предыдущих тактах бит
результирующего кода.
Например, скрэмблер может реализовывать следующее соотношение: