logo
Передача данных в распределенных автоматизированных системах

Логическое кодирование

Логическое кодирование используется для улучшение потенциальных кодов типаAMI, NRZI или 2Q1B. Логическое кодирование должно заменять длинные последовательности бит, приводящие к постоянному потенциалу, вкраплением единиц. Для логического кодирован характерны два метода: избыточные коды и скрэмблирование.

Избыточные коды

Избыточные коды основаны на разбиении исходной последовательности бит на порции, которые часто называют символами. Затем каждый исходный символ заменяется на новый, который имеет большее количество бит, чем исходный. Например, логический код 4В/5В, используемый в технологиях FDDI и Fast Ethernet, заменяет исходные символы длиной в 4 бита на символы длиной в 5 бит. Поскольку в коде 4В/5В результирующие символы могут содержать 32 битовых комбинации, а исходных символов требуется только 16, то из 32 комбинаций можно отобрать 16 комбинаций, которые не содержат большого количества нулей, а остальные комбинации не использовать (считать запрещенными). Кроме устранения постоянной составляющей и придания коду свойства самосинхронизации, избыточные коды позволяютприемнику распознавать искаженные биты. Если приемник принимает запрещен­ный код, значит, аа линии произошло искажение сигнала.

Соответствие исходных и результирующих кодов 4В/5В представлено в Табл.1

Символы кода 4В/5В длиной 5 бит гарантируют, что при любом их сочетании на линии не могут встретиться более трех нулей подряд.

Буква В в названии кода означает, что элементарный сигнал имеет 2 состоя­ния — от английского binary — двоичный. Имеются также коды и с тремя состояни­ями сигнала, например, в коде 8В/6Т для кодирования 8 бит исходной информации используется код из 6 сигналов, каждый из которых имеет три состояния. Избы­точность кода 8В/6Т выше, чем кода 4В/5В, так как на 256 исходных комбинаций прихо­дится 36=729 результирующих символов.

Табл.1

Исходный код

Результирующий код

Исходный код

Результирующмй код

0000

11110

1000

10010

0001

01001

1001

10011

0010

10100

1010

10110

0011

10101

1011

10111

0100

01010

1100

11010

0101

01011

1101

11011

0110

01110

1110

11100

0111

01111

1111

11101

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

Для обеспечения заданной пропускной способности линии передатчик, использующий избыточный код, должен работать с повышенной тактовой частотой. Так, для передачи кодов 4В/5В со скоростью 100 Мб/с передатчик должен работать с тактовой частотой 125 МГц. При этом спектр сигнала на линии расширяется по сравнению со случаем, когда по линии передается чистый, не избыточный код. Тем не менее спектр избыточного потенциального кода оказывается уже спектра манче­стерского кода, что оправдывает дополнительный этап логического кодирования, а также работу приемника и передатчика на повышенной тактовой частоте.

Скрэмблирование

Перемешивание данных скрэмблером перед передачей их в линию с помощью по­тенциального кода является другим способом логического кодирования.

Методы скрэмблирования заключаются в побитном вычислении результирующего кода на основании бит исходного кода и полученных в предыдущих тактах бит результирующего кода. Например, скрэмблер может реалиэовывагь следующее соотношение

Bi = Ai  Bi-з Bi-5,

где Bi -двоичная цифра результирующего кода, полученная на i-м такте работы скрэмблера, Ai — двоичная цифра исходного кода, поступающая на i-м такте на вход скрэмблера, Bi-з и Bi-5 — двоичные цифры результирующего кода, полученные на предыдущих тактах работы скрэмблера, соответственно на 3 и на 5 тактов ранее текущего такта,  — операция исключающего ИЛИ (сложение по модулю 2).

Например, для исходной последовательности 110110000001 скрэмблер даст следующий результирующий код:

В1 = а1 = 1 (первые три цифры результирующего кода будут совпадать с исход­ным, так как еще нет нужных предыдущих цифр)

В2 = А2 = 1

В3 = Аз = 0

В4 = А4  В1 = 1  1= 0

В5 =А5  В2 = 1  1 = 0

Вб = А6 Вз  В1 = 0  0  1 = 1

В7 = А7 ф В4  В2 = 0  0  1 = 1

В8= А8В5Вз = 000=0

В9 = А9 Вб  В4 = 0  1  0 = 1

В10 = А10  В7 В5 = 0  1  0 = 1

В11 = А11  В8 Вб = 0  0  1= 1

В12 = А12  В9  В7 = 1  1  1 = 1

Таким образом, на выходе скрэмблера появится последовательность 110001101111, в которой нет последовательности из шести нулей, присутствовавшей в исходной последовательности.

После получения результирующей последовательности приемник передает ее дескрэмблеру, который восстанавливает исходную последовательность на основа­нии обратного соотношения:

Сi = Вi Вi-з  Вi-5 = (Аi  Вi-з  В1-5)  В1-з  В1-5 = Аi.

Различные алгоритмы скрэмблирования отличаются количеством слагаемых, дающих цифру результирующего кода, и сдвигом между слагаемыми. Так, в сетях ISDN при передаче данных от сети к абоненту используется преобразование со сдвигами в 5 и 23 позиции, а при передаче данных от абонента в сеть — со сдвигами 18 и 23 позиции.

Существуют и более простые методы борьбы с последовательностями единиц, также относимые к классу скрэмблирования.

Для улучшения кода Вiро1аг АМI используются два метода, основанные на ис­кусственном искажении последовательности нулей запрещенными символами.

На рис. 2.7 показано использование метода В8ZS (Вiро1аг with 8-Zегоs Substitution) и метода НDВЗ High-Density Вiро1аг 3-Zегоs)для корректировки кода АМI. Исходный код состоит из двух длинных последовательностей нулей: в пер­вом случае — из 8, а во втором — из 5.

Рис.2. 7. Коды B8ZS и HDB3. V - сигнал единицы запрещенной полярности; 1*

- сигнал единицы корректной полярности, но заменившей 0 в исходном коде

Код В8ZS исправляет только последовательности, состоящие из 8 нулей. Для этого он после первых трех нулей вместо оставшихся пяти нулей вставляет пять цифр: V-1*-0-V-1*. V здесь обозначает сигнал единицы, запрещенной для данного такта полярности, то есть сигнал, не изменяющий полярность предыдущей едини­цы, 1* — сигнал единицы корректной полярности, а знак звездочки отмечает тот то в исходном коде в этом такте была не единица, а ноль. В результате на 8 тактах приемник наблюдает 2 искажения — очень маловероятно, что это случи­лось из-за шума на линии или других сбоев передачи. Поэтому приемник считает нарушения кодировкой 8 последовательных нулей и после приема заменяет их на исходные 8 нулей. Код В8ZS построен так, что его постоянная составляющая равна нулю при любых последовательностях двоичных цифр.

Код НDВЗ исправляет любые четыре подряд идущих нуля в исходной последовательности. Правила формирования кода НDВЗ более сложные, чем кода В8ZS. Каждые четыре нуля заменяются четырьмя сигналами, в которых имеется один сигнал V. Для подавления постоянной составляющей полярность сигнала V чередуется при последовательных заменах. Кроме того, для замены используются два образца четырехтактовых кодов. Если перед заменой исходный код содержал не­четное число единиц, то используется последовательность 000V, а если число еди­ниц было четным — последовательность 1*00 V.

Улучшенные потенциальные коды обладают достаточно узкой полосой частотного спектра для любых последовательностей единиц и нулей, которые встречаются в передаваемых данных. Коды, полученные из потенциального путем логического кодирования, обладают более узким спектром, чем манчестерский, даже при повышенной тактовой частоте. Этим объясняется применение потенциальных из­быточных и скрэмблированных кодов в современных технологиях, подобных FDDI, Fast Ethernet, Gigabit Ethernet, ISDN и т. п. вместо манчестерского и биполярного импульсного кодирования.

Дискретная модуляция аналоговых сигналов

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

Однако по мере развития техники съема и передачи аналоговых данных выяс­нилось, что передача их в аналоговой форме не позволяет улучшить качество принятых на другом конце линии данных, если они существенно исказились при передаче. Сам аналоговый сигнал не дает никаких указаний ни о том, что про­изошло искажение, ни о том, как его исправить, поскольку форма сигнала может быть любой, в том числе и такой, которую зафиксировал приемник. Улучшение же качества линий, особенно территориальных, требует огромных усилий и ка­питаловложений. Поэтому на смену аналоговой технике записи и передачи звука и изображения пришла цифровая техника. Эта техника использует так назы­ваемую дискретную модуляцию исходных непрерывных во времени аналоговых процессов.

Дискретные способы модуляции основаны на дискретизации непрерывных процессов как по амплитуде, так и по времени (рис. 2.8). Рассмотрим прин­ципы дискретной модуляции на примере импульсно-кодовой модуляции, ИКМ (Pulse Amplitude Modulation, РАМ), которая широко применяется в цифровой теле­фонии.

Амплитуда исходной непрерывной функции измеряется с заданным периодом — за счет этого происходит дискретизация по времени. Затем каждый замер пред­ставляется в виде двоичного числа определенной разрядности, что означает диск­ретизацию по значениям функции — непрерывное множество возможных значений амплитуды заменяется дискретным множеством ее значений. Устройство, которое выполняет подобную функцию, называется аналого-цифровым преобразователем (АЦП). После этого замеры передаются по каналам связи в виде последовательно­сти единиц и нулей. При этом применяются те же методы кодирования, что и в случае передачи изначально дискретной информации, то есть, например, методы, основанные на коде B8ZS или 2B1Q.

Рис. 2.8. Дискретная модуляция непрерывного процесса

На приемной стороне линии коды преобразуются в исходную последователь­ность бит, а специальная аппаратура, называемая цифра-аналоговым, преобразова­телем (ЦАП), производит демодуляцию оцифрованных амплитуд непрерывного сигнала, восстанавливая исходную непрерывную функцию времени.

Дискретная модуляции основана на теории отображения Найквиста — Котельникова. В соответствии с этой теорией, аналоговая непрерывная функция, передан­ная в виде последовательности ее дискретных по времени значений, может быть точно восстановлена, если частота дискретизации была в два или более раз выше, чем частота самой высокой гармоники спектра исходной функции.

Если это условие не соблюдается, то восстановленная функция будет суще­ственно отличаться от исходной.

Преимуществом цифровых методов записи, воспроизведения и передачи анало­говой информации является возможность контроля достоверности считанных с носителя или полученных по линии связи данных. Для этого можно применять те же методы, которые применяются для компьютерных данных (и рассматриваются более подробно далее), — вычисление контрольной суммы, повторная передача ис­каженных кадров, применение самокорректирующихся кодов.

Для качественной передачи голоса в методе ИКМ используется частота кванто­вания амплитуды звуковых колебаний в 8000 Гц. Это связано с тем, что в аналого­вой телефонии для передачи голоса был выбран диапазон от 300 до 3400 Гц, который достаточно качественно передает все основные гармоники собеседников. В соответ­ствии с теоремой Найквиста — Котельникова для качественной передачи голоса достаточно выбрать частоту дискретизации, в два раза превышающую самую высо­кую гармонику непрерывного сигнала, то есть 2 х 3400 = 6800 Гц. Выбранная в действительности частота дискретизации 8000 Гц обеспечивает некоторый запас качества. В методе ИКМ обычно используется 7 или 8 бит кода для представления амплитуды одного замера. Соответственно это дает 127 или 256 градаций звуково­го сигнала, что оказывается вполне достаточным для качественной передачи голоса.

При использовании метода ИКМ для передачи одного голосового канала необ­ходима пропускная способность 56 или 64 Кбит/с в зависимости от того, каким количеством бит представляется каждый замер. Если для этих целей используется 7 бит, то при частоте передачи замеров в 8000 Гц получаем:

8000 х 7 = 56000 бит/с или 56 Кбит/с;

а для случая 8-ми бит:

8000 х 8 = 64000 бит/с или 64 Кбит/с.

Стандартным является цифровой канал 64 Кбит/с, который также называется элементарным каналом цифровых телефонных сетей.

Передача непрерывного сигнала в дискретном виде требует от сетей жесткого соблюдения временного интервала в 125 мкс (соответствующего частоте дискретиза­ции 8000 Гц) между соседними замерами, то есть требует синхронной передачи дан­ных между узлами сети. При несоблюдении синхронности прибывающих замеров исходный сигнал восстанавливается неверно, что приводит к искажению голоса, изоб­ражения или другой мультимедийной информации, передаваемой по цифровым се­тям. Так, искажение синхронизации в 10 мс может привести к эффекту «эха», а сдвиги между замерами в 200 мс приводят к потере распознаваемости произноси­мых слов. В то же время потеря одного замера при соблюдении синхронности между остальными замерами практически не сказывается на воспроизводимом звуке. Это происходит за счет сглаживающих устройств в цифро-аналоговых преобразователях, которые основаны на свойстве инерционности любого физического сигнала — амп­литуда звуковых колебаний не может мгновенно измениться на большую величину.

На качество сигнала после ЦАП влияет не только синхронность поступления на его вход замеров, но и погрешность дискретизации амплитуд этих замеров.

В теореме Найквиста — Котельникова предполагается, что амплитуды функции из­меряются точно, в то же время использование для их хранения двоичных чисел с ограниченной разрядностью несколько искажает эти амплитуды. Соответственно искажается восстановленный непрерывный сигнал, что называется шумом дискре­тизации (по амплитуде).

Существуют и другие методы дискретной модуляции, позволяющие представить замеры голоса в более компактной форме, например в виде последовательности 4-битных или 2-битных чисел. При этом один голосовой канал требует меньшей пропускной способности, например 32 Кбит/с, 16 Кбит/с или еще меньше. С 1985 года применяется стандарт CCITT кодирования голоса, называемый Adaptive Differential Pulse Code Modulation (ADPCM). Коды ADPCM основаны на нахож­дении разностей между последовательными замерами голоса, которые затем и пе­редаются по сети. В коде ADPCM для хранения одной разности используются 4 бит и голос передается со скоростью 32 Кбит/с. Более современный метод, Linear Predictive Coding (LPC), делает замеры исходной функции более редко, но исполь­зует методы прогнозирования направления изменения амплитуды сигнала. При помощи этого метода можно понизить скорость передачи голоса до 9600 бит/с.

Представленные в цифровой форме непрерывные данные легко можно передать через компьютерную сеть. Для этого достаточно поместить несколько замеров в кадр какой-нибудь стандартной сетевой технологии, снабдить кадр правильным адресом назначения и отправить адресату. Адресат должен извлечь из кадра заме­ры и подать их с частотой квантования (для голоса — с частотой 8000 Гц) на цифро-аналоговый преобразователь. По мере поступления следующих кадров с замерами голоса операция должна повториться. Если кадры будут прибывать достаточно синхронно, то качество голоса может быть достаточно высоким. Однако, как мы уже знаем, кадры в компьютерных сетях могут задерживаться как в конечных уз­лах (при ожидании доступа к разделяемой среде), так и в промежуточных комму­никационных устройствах — мостах, коммутаторах и маршрутизаторах. Поэтому качество голоса при передаче в цифровой форме через компьютерные сети обычно бывает невысоким. Для качественной передачи оцифрованных непрерывных сиг­налов — голоса, изображения — сегодня используют специальные цифровые сети, такие как ISDN, ATM, и сети цифрового телевидения. Тем не менее для передачи внутрикорпоративных телефонных разговоров сегодня характерны сети frame relay, задержки передачи кадров которых укладываются в допустимые пределы.