Э. Таненбаум, Д. Уэзеролл - Компьютерные сети (1114668), страница 44
Текст из файла (страница 44)
Данное отношение получается из скорости Найквиста. Это — фундаментальный предел, таким образом, мы не можем выполнить NRZ быстрее, не используябольшей полосы. Полоса является ограниченным ресурсом даже для проводных каналов, сигналы высокой частоты сильнее затухают, делая их менее полезными, а такжетребуют более скоростной обработки.Одна из стратегий более эффективного использования ограниченной полосы состоит в том, чтобы использовать больше чем два сигнальных уровня. При использованиичетырех уровней напряжения, например, мы можем послать два бита сразу как одинсимвол.
Эта схема будет работать, пока сигнал, поступающий в приемник, достаточносилен, чтобы эти четыре уровня различались. Скорость, с которой изменяется сигнал,является тогда половиной битрейта, таким образом, необходима меньшая полоса.Мы называем скорость, с которой сигнал изменяет уровень, символьной скоростью, чтобы отличить ее от понятия битрейт. Битрейт — скорость символа, умноженная на число битов в символе. Более старое название символьной скорости, особеннов контексте устройств, названных телефонными модемами, которые передают циф-2.5. Цифровая модуляция и мультиплексирование 147ровые данные по телефонным линиям — бодрейт (скорость в бодах). В литературетермины битрейт и бодрейт часто путают.Заметьте, что количество уровней сигнала не обязательно должно быть степеньюдвойки. Часто это не так, некоторые из уровней используются для защиты от ошибоки упрощения конструкции приемника.СинхронизацияДля всех схем, которые кодируют биты в символы, приемник, чтобы правильно расшифровывать биты, должен знать, когда символ заканчивается и начинается следующий символ.
С NRZ, в котором символы — просто уровни напряжения, несколькоподряд нулей или единиц оставляют сигнал неизменным. Через некоторое времятрудно отделить биты, поскольку 15 нулей очень напоминают 16 нулей, если у васнет очень точных часов.Точные часы помогли бы с этой проблемой, но они — дорогое решение для массового оборудования. Помните, мы распределяем биты во времени по линиям связи,которые работают на высоких скоростях (много мегабит в секунду), таким образом,часы должны были бы отклоняться меньше чем на долю микросекунды в течениедолгой работы. Это могло бы быть разумно для медленных каналов или коротких сообщений, но это не общее решение.Одна из стратегий состоит в том, чтобы послать в приемник отдельный сигналчасов.
Отдельная линия для часов — это не сложно для компьютерных шин иликоротких кабелей, в которых есть много параллельных линий, но это расточительнодля большинства сетевых каналов: если бы у нас была еще одна линия, чтобы послать сигнал, то мы могли бы использовать ее, чтобы послать данные. Здесь следуетисхитриться смешать сигнал часов с сигналом данных и объединить их с помощью«исключающего или» так, чтобы никакая дополнительная линия не была необходима.Результат показан на рис. 2.17, г. Часы выполняют передачу сигнала часов в каждыймомент прохождения бита, таким образом, это работает на скорости два битрейта.Когда сигнал часов объединяется с уровнем 0, происходит переход низкий-к-высокому,который является просто часами.
Этот переход — логический 0. Когда он объединяется с уровнем 1, инвертируется и происходит переход от высокого к низкому. Этотпереход — логическая 1. Эту схему называют Манчестерским кодированием, онаиспользовалась для классического Ethernet.Недостаток Манчестерского кодирования в том, что из-за часов требуется вдвоебо`льшая полоса пропускания, чем для NRZ, а мы знаем, что эта полоса часто важна.Другая стратегия основана на идее, что мы должны кодировать данные, чтобы гарантировать, что в сигнале есть достаточно много переходов. Предположим, что у NRZбудут проблемы синхронизации только для долгих последовательностей нулей илиединиц.
Если переходы будут происходить часто, то приемнику будет легко остатьсясинхронизированным с поступающим потоком символов.В качестве шага в правильном направлении, мы можем упростить ситуацию, кодируя 1 как переход и 0 как отсутствие перехода, или наоборот. Это кодирование называют NRZI (Без возвращения к нулю с инверсией). Пример показан на рис. 2.17, в.Популярный стандарт соединения компьютера с периферийными устройствами —148 Глава 2. Физический уровеньUSB (Универсальная последовательная шина) — использует NRZI. В этом случаедлинные последовательности единиц не вызывают проблему.Конечно, длинные последовательности нулей все еще вызывают проблему, которуюмы должны решить.
Если бы мы были телефонной компанией, то могли бы простопотребовать, чтобы отправитель не передал слишком много нулей подряд. Болеестарые цифровые телефонные линии в США, названные линиями T1, действительнофактически требовали, чтобы по ним посылали не больше чем 15 последовательныхнулей, чтобы работать правильно. Чтобы действительно решить проблему, мы можемразбить последовательности нулей, отображая небольшие группы битов, которыебудут переданы так, чтобы группы с последовательным нулями были отображены нанемного более длинные образцы, у которых нет слишком длинных последовательностей нулей.Один из известных кодов для этого называется 4B/5B.
Каждые 4 бита отображены в 5-битовый образец с заданной таблицей преобразования. Эти пять комбинацийдвоичных разрядов выбраны так, чтобы никогда не встречались больше трех последовательных нулей. Отображение показано в табл. 2.4. Эта схема добавляет 25 %накладных расходов, что лучше чем 100 % при Манчестерском кодировании. Таккак имеется 16 входных комбинаций и 32 выходных комбинации, некоторые из выходных комбинаций не используются.
За вычетом комбинаций со слишком многимипоследовательными нулями остаются еще некоторые. В качестве награды мы можемиспользовать эти коды, не соответствующие данным, чтобы представить управляющие сигналы физического уровня. Например, иногда «11111» обозначает свободнуюлинию, а «11000» обозначает начало фрейма.Таблица 2.4. Отображение 4B/5BДанные (4B)Ключевое слово (5B)Данные (4B)Ключевое слово (5B)000011110100010010000101001100110011001010100101010110001110101101110111010001010110011010010101011110111011011001110111011100011101111111111101Альтернативный подход, который должен заставить данные выглядеть случайными,известен как скремблирование.
В этом случае, вероятно, что будут частые переходы.Скремблер объединяет с помощью «исключающего или» данные с псевдослучайнойпоследовательностью прежде, чем они будут переданы. Это смешивание делает данные столь же случайными, как псевдослучайная последовательность (предполагается,что они независимы от псевдослучайной последовательности). Приемник тогда применяет «исключающее или» к поступающим битам с той же самой псевдослучайной2.5. Цифровая модуляция и мультиплексирование 149последовательностью, чтобы получить реальные данные.
Для того чтобы это былопрактично, псевдослучайную последовательность должно быть легко создать. Обычноэто доверяется простому генератору случайных чисел.Скремблирование привлекательно, потому что оно не добавляет требований к полосе пропускания или времени на служебные данные. Фактически оно используетсядля создания дополнительных требований к сигналу — энергетические составляющиене должны попадать на основные гармоники (возникающие из-за повторяющихсяпакетов данных), поскольку это может привести к возникновению интерференции.Скремблирование идеально подходит для этого случая, потому что случайные сигналывесьма похожи на «белый шум», или их энергия «размазана» по частоте.Однако скремблирование не гарантирует, что не потребуется никакой длительнойобработки.
Иногда оно может быть неудачным. Если данные будут похожи на псевдослучайную последовательность, то в результате применения «исключающего или»они превратятся в нули. Такого не произойдет с длинной псевдослучайной последовательностью, которую трудно предсказать. Однако для коротких или предсказуемыхпоследовательностей существует возможность подобрать комбинацию двоичныхразрядов, которые вызывают длинные последовательности нулей после шифрованияи «портят» связь. В ранних версиях стандартов для отправки IP-пакетов по каналамSONET в телефонной сети этот дефект присутствовал (Malis и Simpson, 1999).
Пользователи могли послать определенные «пакеты убийцы», которые гарантировановызывали проблемы.Симметричные сигналыСигналы, у которых есть столько же положительного напряжения, сколько и отрицательного напряжения даже за короткие периоды времени, называют симметричнымисигналами. Они составляют в среднем ноль, это означает, что у них нет никакой составляющей постоянного тока.
Отсутствие такой компоненты является преимуществом, потому что в некоторых каналах, таких как коаксиальный кабель или линиис трансформаторами, сигнал сильно затухает в силу физических свойств. Кроме того,один из методов присоединения приемника к каналу, называемый емкостная связь,пропускает только часть сигнала с переменным током. В любом случае, если мы посылаем сигнал, среднее число которого не ноль, мы тратим впустую энергию, посколькукомпонент постоянного тока будет отфильтрована.Балансирование помогает обеспечить передачу для сигналов синхронизации, таккак представляет собой сочетание положительных и отрицательных напряжений.
Онотакже обеспечивает простой способ калибровать приемники, потому что среднее значение сигнала может быть измерено и использоваться в качестве порога решения длярасшифровки символов. В несимметричном сигнале среднее значение может далекоотклониться от истинного решения, например, из-за плотности единиц, в результатебольше символов было бы расшифровано с ошибками.Простейший способ создать симметричный код состоит в том, чтобы использоватьдва уровня напряжения для представления логической 1, (скажем +1 В или −1 В), и 0 Вдля представления логического нуля.