Цифровое кодирование. Принципы, достоинства и недостатки методов “Потенциального кода без возвращения к нулю NRZ” и “Биполярного кодирования с альтернативной инверсией AMI”.
На рис. 2.16, а показан уже упомянутый ранее метод потенциального кодирования, называемый также кодированием без возвращения к нулю (Non Return to Zero, NRZ). Последнее название отражает то обстоятельство, что при передаче последовательности единиц сигнал не возвращается к нулю в течение такта (как мы увидим ниже, в других методах кодирования возврат к нулю в этом случае происходит). Метод NRZ прост в реализации, обладает хорошей распознаваемостью ошибок (из-за двух резко отличающихся потенциалов), но не обладает свойством самосинхронизации. При передаче длинной последовательности единиц или нулей сигнал на линии не изменяется, поэтому приемник лишен возможности определять по входному сигналу моменты времени, когда нужно в очередной раз считывать данные. Даже при наличии высокоточного тактового генератора приемник может ошибиться с моментом съема данных, так как частоты двух генераторов никогда не бывают полностью идентичными. Поэтому при высоких скоростях обмена данными и длинных последовательностях единиц или нулей небольшое рассогласование тактовых частот может привести к ошибке в целый такт и, соответственно, считыванию некорректного значения бита.
Другим серьезным недостатком метода NRZ является наличие низкочастотной составляющей, которая приближается к нулю при передаче длинных последовательностей единиц или нулей. Из-за этого многие каналы связи, не обеспечивающие прямого гальванического соединения между приемником и источником, этот вид кодирования не поддерживают. В результате в чистом виде код NRZ в сетях не используется. Тем не менее используются его различные модификации, в которых устраняют как плохую самосинхронизацию кода NRZ, так и наличие постоянной составляющей. Привлекательность кода NRZ, из-за которой имеет смысл заняться его улучшением, состоит в достаточно низкой частоте основной гармоники f0, которая равна N/2 Гц, как это было показано в предыдущем разделе. У других методов кодирования, например манчестерского, основная гармоника имеет более высокую частоту.
Метод биполярного кодирования с альтернативной инверсией
Одной из модификаций метода NRZ является метод биполярного кодирования с альтернативной инверсией (Bipolar Alternate Mark Inversion, AMI). В этом методе (рис. 2.16, б) используются три уровня потенциала — отрицательный, нулевой и положительный. Для кодирования логического нуля используется нулевой потенциал, а логическая единица кодируется либо положительным потенциалом, либо отрицательным, при этом потенциал каждой новой единицы противоположен потенциалу предыдущей.
Код AMI частично ликвидирует проблемы постоянной составляющей и отсутствия самосинхронизации, присущие коду NRZ. Это происходит при передаче длинных последовательностей единиц. В этих случаях сигнал на линии представляет собой последовательность разнополярных импульсов с тем же спектром, что и у кода NRZ, передающего чередующиеся нули и единицы, то есть без постоянной составляющей и с основной гармоникой N/2 Гц (где N — битовая скорость передачи данных). Длинные же последовательности нулей также опасны для кода AMI, как и для кода NRZ — сигнал вырождается в постоянный потенциал нулевой амплитуды. Поэтому код AMI требует дальнейшего улучшения, хотя задача упрощается — осталось справиться только с последовательностями нулей.
В целом, для различных комбинаций бит на линии использование кода AMI приводит к более узкому спектру сигнала, чем для кода NRZ, а значит, и к более высокой пропускной способности линии. Например, при передаче чередующихся единиц и нулей основная гармоника fo имеет частоту N/4 Гц. Код AMI предоставляет также некоторые возможности по распознаванию ошибочных сигналов. Так, нарушение строгого чередования полярности сигналов говорит о ложном импульсе или исчезновении с линии корректного импульса. Сигнал с некорректной полярностью называется запрещенным сигналом (signal violation).
В коде AMI используются не два, а три уровня сигнала на линии. Дополнительный уровень требует увеличение мощности передатчика примерно на 3 дБ для обеспечения той же достоверности приема бит на линии, что является общим недостатком кодов с несколькими состояниями сигнала по сравнению с кодами, которые различают только два состояния.
Цифровое кодирование. Принципы, достоинства и недостатки методов “Биполярного импульсного кодирования”, “Манчестерского кодирования”, “Потенциального кодирования 2B1Q”.
Биполярный импульсный код
Кроме потенциальных кодов в сетях используются и импульсные коды, когда данные представлены полным импульсом или же его частью — фронтом. Наиболее простым случаем такого подхода является биполярный импульсный код, в котором единица представлена импульсом одной полярности, а ноль — другой (рис. 2.16, в). Каждый импульс длится половину такта. Такой код обладает отличными самосинхронизирующими свойствами, но постоянная составляющая, может присутствовать, например, при передаче длинной последовательности единиц или нулей. Кроме того, спектр у него шире, чем у потенциальных кодов. Так, при передаче всех нулей или единиц частота основной гармоники кода будет равна N Гц, что в два раза выше основной гармоники кода NRZ и в четыре раза выше основной гармоники кода AMI при передаче чередующихся единиц и нулей. Из-за слишком широкого спектра биполярный импульсный код используется редко.
Манчестерский код
В локальных сетях до недавнего времени самым распространенным методом кодирования был так называемый манчестерский код (рис. 2.16, г). Он применяется в технологиях Ethernet и Token Ring.
В манчестерском коде для кодирования единиц и нулей используется перепад потенциала, то есть фронт импульса. При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала, происходящими в середине каждого такта. Единица кодируется перепадом от низкого уровня сигнала к высокому, а ноль — обратным перепадом. В начале каждого такта может происходить служебный перепад сигнала, если нужно представить несколько единиц или нулей подряд. Так как сигнал изменяется по крайней мере один раз за такт передачи одного бита данных, то манчестерский код обладает хорошими самосинхронизирующими свойствами. Полоса пропускания манчестерского кода уже, чем у биполярного импульсного. У него также нет постоянной составляющей, а основная гармоника в худшем случае (при передаче последовательности единиц или нулей) имеет частоту 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. Однако для его реализации мощность передатчика должна быть выше, чтобы четыре уровня четко различались приемником на фоне помех.
Источник
kpet-ks.ru
Компьютерные сети. г.Котово
Методы кодирования
При передаче цифровой информации с помощью цифровых сигналов применяется цифровое кодирование, управляющее последовательностью прямоугольных импульсов в соответствии с последовательностью передаваемых данных.
При цифровом кодировании применяют либо потенциальные, либо импульсные коды.
При потенциальном кодировании информативным является уровень сигнала. При импульсном кодировании используются либо перепады уровня (транзитивное кодирование), либо полярность отдельных импульсов (униполярное, полярное, биполярное кодирование).
В отдельную группу импульсных кодов выделяют двухфазные коды, при которых в каждом битовом интервале обязательно присутствует переход из одного состояния в другое (такие коды позволяют выделять синхросигнал из последовательности состояний линии, то есть являются самосинхронизирующимися).
При использовании прямоугольных импульсов для передачи дискретной информации крайне важно выбрать такой способ кодирования, который одновременно достигал бы нескольких целей:
1. имел при одной и той же битовой скорости наименьшую ширину спектра результирующего сигнала;
2. обеспечивал синхронизацию между передатчиком и приемником;
3. обладал способностью распознавать ошибки;
4. обладал низкой стоимостью реализации.
Синхронизация передатчика и приемника нужна для того, чтобы приемник точно знал, в какой момент времени крайне важно считывать новую информацию с линии связи. Эта проблема в сетях решается сложнее, чем при обмене данными между близко расположенными устройствами, к примеру между блоками внутри компьютера или же между компьютером и принтером.
На небольших расстояниях хорошо работает схема, основанная на отдельной тактирующей линии связи, так что информация снимается с линии данных только в момент прихода тактового импульса. В сетях использование этой схемы вызывает трудности из-за неоднородности характеристик проводников в кабелях. На больших расстояниях неравномерность скорости распространения сигнала может привести к тому, что тактовый импульс придет настолько позже или раньше соответствующего сигнала данных, что бит данных будет пропущен или считан повторно. Другой причиной, по которой в сетях отказываются от использования тактирующих импульсов, является экономия проводников в дорогостоящих кабелях.
По этой причине в сетях применяются так называемые самосинхронизирующиеся коды, сигналы которых несут для передатчика указания о том, в какой момент времени нужно осуществлять распознавание очередного бита (или нескольких бит, в случае если код ориентирован более чем на два состояния сигнала). Любой резкий перепад сигнала – так называемый фронт – может служить хорошим указанием для синхронизации приемника с передатчиком.
Наиболее распространены следующие коды:
1. NRZ(Non-Return to Zero – без возврата к нулю) – потенциальный код, состояние которого прямо или инверсно отражает значение бита данных;
2. дифференциальный NRZ – состояние меняется в начале битового интервала для “1” и не меняется при “0”
3. NRZI (Non-Return to Zero Inverted – без возврата к нулю с инверсией) – состояние меняется в начале битового интервала при передаче “0” и не меняется при передаче “1”. Используется в FDDI, 100BaseFX.
4. RZ(Return to Zero – с возвратом к нулю) – биполярный импульсный самосинхронизирующийся код, представляющий “1” и “0” импульсами противоположной полярности, длящимися половину такта (вторую половину такта состояния устанавливается в нулевое); всего используется три состояния
5. AMI(Bipolar Alternate Mark Inversion – биполярное кодирование с альтернативной инверсией) – используется три состояния: 0, + и –, для кодирования логического нуля используется состояние 0, а логическая единица кодируется по очереди состояниями + и –. Используется в ISDN, DSx.
6. Манчестерское кодирование (manchester encoding) – двухфазное полярное самосинхронизирующееся кодирование, логическая единица кодируется перепадом потенциала в середине такта от низкого уровня к высокому, логический ноль – обратным перепадом (если крайне важно представить два одинаковых значения подряд, в начале такта происходит дополнительный служебный перепад потенциала). Используется в Ethernet.
7. Дифференциальное манчестерское кодирование (differential manchester encoding) – двухфазное полярное самосинхронизирующееся кодирование, логический ноль кодируется наличием перепада потенциала в начале такта͵ а логическая единица – отсутствием перепада; в середине такта перепад есть всегда (для синхронизации). В Token Ring применяется модификация этого метода, кроме “0” и “1”, использующая служебные биты “J” и “K”, не имеющие перепада в середине такта (“J” не имеет перепада в начале такта͵ “К” – имеет).
8. MLT-3 – трехуровневое кодирование со скремблированием без самосинхронизации, логический ноль кодируется сохранением состояния, а логическая единица кодируется по очереди следующими состояниями: +V, 0, -V, 0, +V и т.д. Используется в FDDI и 100BaseTX.
9. PAM5 (Pulse Amplitude Modulation) – пятиуровневое биполярное кодирование, при котором каждая пара бит данных представляется одним из пяти уровней потенциала. Применяется в 1000BaseT.
10. 2B1Q(2 Binary 1 Quarternary) – пара бит данных представляется одним четвертичным символом, ᴛ.ᴇ. одним из четырех уровней потенциала. Применяется в ISDN.
Логическое кодирование
Логическое кодирование используется для улучшения потенциальных кодов типа AMI, NRZI или 2Q1B. Логическое кодирование должно заменять длинные последовательности бит, приводящие к постоянному потенциалу, вкраплениями единиц. Как уже отмечалось выше, для логического кодирования характерны два метода – избыточные коды и скрэмблирование.
Избыточные коды
Избыточные коды основаны на разбиении исходной последовательности бит на порции, которые часто называют символами. Затем каждый исходный символ заменяется на новый, который имеет большее количество бит, чем исходный. Например, логический код 4В/5В, используемый в технологиях FDDI и FastEthernet, заменяет исходные символы длиной в 4 бита на символы длиной в 5 бит. Так как результирующие символы содержат избыточные биты, то общее количество битовых комбинаций в них больше, чем в исходных. Так, в коде 4В/5В результирующие символы могут содержать 32 битовых комбинации, в то время как исходные символы – только 16. Поэтому в результирующем коде можно отобрать 16 таких комбинаций, которые не содержат большого количества нулей, а остальные считать запрещенными кодами (codeviolation). Кроме устранения постоянной составляющей и придания коду свойства самосинхронизации, избыточные коды позволяют приемнику распознавать искаженные биты. Если приемник принимает запрещенный код, значит, на линии произошло искажение сигнала.
Источник