Простейший способ создать симметричный код состоит в том, чтобы использовать два уровня напряжения для представления логической 1, (скажем +1 В или -1 В), и 0 В для представления логического нуля. Чтобы послать 1, передатчик чередует уровни между +1 В и -1 В так, чтобы они всегда давали среднее. Эту схему называют биполярным кодированием. В телефонных сетях ее называют AMI (Alternate Mark Inversion, схема биполярного кодирования, в которой последовательные объекты кодируются противоположной полярностью), основываясь на старой терминологии, в которой 1 называют «маркой» и 0 называют «пробелом». Пример показан на рис. 2.17, д.
Биполярное кодирование добавляет уровень напряжения, чтобы достигнуть баланса. Или мы можем использовать для достижения баланса отображение, такое как 4B/5B (так же как переходы для синхронизации). Пример симметричного кода — линейный код 8B/10B. Он отображает 8 входных бит на 10 выходных бит, таким образом, это на 80 % эффективно, точно так же, как код линии 4B/5B. 8 бит разделены на группу из 5 бит, которые отображаются на 6 бит, и группу из 3 бит, которые отображаются на 4 бита. 6-битовые и 4-битовые символы таким образом связаны. В каждой группе некоторые входные образцы могут быть отображены на симметричные выходные образцы, у которых одинаковое число нулей и единиц. Например, «001» отображен на симметричный «1001». Но комбинаций недостаточно много для того, чтобы все выходные образцы были сбалансированы. Поэтому каждый входной образец отображен на два выходных образца. У каждого будет один с дополнительной 1 и один с дополнительным 0. Например, «000» отображен и на «1011» и на его дополнение «0100». Когда происходит отображение входных битов, кодирующее устройство помнит неравенство предыдущего символа. Неравенство — общее количество нулей или единиц, которые делают сигнал не сбалансированным. Кодирующее устройство выбирает или выходной образец, или его альтернативу, чтобы уменьшить неравенство. Для кода 8B/10B самое большое неравенство будет составлять 2 бита. Таким образом, сигнал никогда не будет сильно не сбалансирован. И в нем никогда не будет больше чем пяти последовательных единиц или нулей, что облегчит синхронизацию.
2.5.2. Передача в полосе пропускания
Часто для отправления информации по каналу мы хотим использовать диапазон частот, который начинается не в нуле. Для беспроводных каналов непрактично посылать сигналы на очень низких частотах, потому что размер антенны зависит от длины волны сигнала и становится огромным. В любом случае, выбор частот обычно диктуют регулирующие ограничения и потребность избежать помех. Даже для проводов полезно помещать сигнал в заданный диапазон частот, чтобы позволить различным видам сигналов сосуществовать на канале. Этот вид передачи называют передачей в полосе пропускания, потому что для передачи используется произвольная полоса частот.
К счастью, во всех фундаментальных результатах, изложенных ранее в этой главе, фигурировала полоса пропускания или ширина диапазона частот. Абсолютные значения частоты не имеют значения для полосы пропускания. Это означает, что мы можем взять низкочастотный сигнал, который занимает диапазон от 0 до B Гц, и сместить его, чтобы занять полосу пропускания от S до S + B Гц, не изменяя количество информации, которую он может перенести, даже при том, что сигнал будет выглядеть по-другому. Чтобы обработать сигнал в приемнике, мы можем сместить его обратно в область низких частот, где более удобно определять символы.
В цифровой модуляции передача в полосе пропускания достигается, регулируя или модулируя сигнал несущей, которая находится в полосе пропускания. Мы можем модулировать амплитуду, частоту или фазу сигнала несущей. Каждый из этих методов имеет соответствующее название. В ASK (Amplitude Shift Keying, амплитудная манипуляция), чтобы представить 0 и 1, используются две различные амплитуды. Пример с ненулевым и нулевым уровнем показан на рис. 2.18, б. Для представления большего числа символов может использоваться большее число уровней. Аналогично, при FSK (Frequency Shift Keying, частотная манипуляция) используется два или несколько различных тона. Пример на рис. 2.18, в использует только две частоты. В самой простой форме PSK (Phase Shift Keying, фазовая манипуляция) несущая систематически подворачивается на 0 или 180 градусов через определенные интервалы времени. Поскольку используются две фазы, этот вид носит название BPSK (Binary Phase Shift Keying, бинарная фазовая манипуляция). «Бинарный» здесь означает два символа, а не то, что символы представляют 2 бита. Пример показан на рис. 2.18, г. Улучшенный вариант, который использует полосу канала более эффективно, состоит в том, чтобы использовать четыре сдвига, например на 45, 135, 225 или 315 градусов для передачи двух бит информации за один временной интервал. Этот вариант называют QPSK (Quadrature Phase Shift Keying, квадратурная фазовая манипуляция).