Единицы количества информации




 

Бит – очень мелкая единица измерения количества информации. Более крупная единица – байт, состоящий из восьми битов. (Восьмибитный байт стал стандартным только с распространением системы IBM System 360 (ЕС ЭВМ), до того в разных вычислительных системах использовались байты разного размера.)

Применяются и более крупные единицы:

- Килобайт (Кбайт) – 1024 байт – 210 байт

- Мегабайт (Мбайт) – 1024 Кбайт – 220 байт

- Гигабайт (Гбайт) – 1024 Мбайт – 230 байт

- Терабайт (Тбайт) – 1024 Гбайт – 240 байт

- Петабайт (Пбайт) – 1024 Тбайт – 250 байт

В качестве единицы количества информации можно было бы выбрать количество информации, содержащееся, например, в выборе одного из десяти равновероятных сообщений. Такая единица будет называться дит или десятичной единицей.

Кодирование информации

 

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

Наиболее распространены следующие коды:

- NRZ (Non-Return to Zero – без возврата к нулю) – потенциальный код, состояние которого прямо или инверсно отражает значение бита данных

- дифференциальный NRZ – состояние меняется в начале битового интервала для “1” и не меняется при “0”

- NRZI (Non-Return to Zero Inverted – без возврата к нулю с инверсией) – состояние меняется в начале битового интервала при передаче “0” и не меняется при передаче “1”. Используется в FDDI, 100BaseFX.

- RZ (Return to Zero – с возвратом к нулю) – биполярный импульсный самосинхронизирующийся код, представляющий “1” и “0” импульсами противоположной полярности, длящимися половину такта (вторую половину такта состояния устанавливается в нулевое); всего используется три состояния

- AMI (Bipolar Alternate Mark Inversion – биполярное кодирование с альтернативной инверсией) – используется три состояния: 0, + и –, для кодирования логического нуля используется состояние 0, а логическая единица кодируется по очереди состояниями + и –. Используется в ISDN, DSx.

- Манчестерское кодирование (manchester encoding) – двухфазное полярное самосинхронизирующееся кодирование, логическая единица кодируется перепадом потенциала в середине такта от низкого уровня к высокому, логический ноль – обратным перепадом (если необходимо представить два одинаковых значения подряд, в начале такта происходит дополнительный служебный перепад потенциала). Используется в Ethernet.

- Дифференциальное манчестерское кодирование (differential manchester encoding) – двухфазное полярное самосинхронизирующееся кодирование, логический ноль кодируется наличием перепада потенциала в начале такта, а логическая единица – отсутствием перепада; в середине такта перепад есть всегда (для синхронизации). В Token Ring применяется модификация этого метода, кроме “0” и “1”, использующая служебные биты “J” и “K”, не имеющие перепада в середине такта (“J” не имеет перепада в начале такта, “К” – имеет).

- MLT-3 – трехуровневое кодирование со скремблированием без самосинхронизации, логический ноль кодируется сохранением состояния, а логическая единица кодируется по очереди следующими состояниями: +V, 0, -V, 0, +V и т.д. Используется в FDDI и 100BaseTX.

 

                   
                   
NRZ                  
                   
Diff. NRZ                  
                   
NRZI                  
                   
RZ                          
                           
                   
AMI                  
                 
                   
Manchester                                    
                   
Diff. Manch.                                    
                   
MLT-3                  
                 
                   
2B1Q                  
                 
                 
                   
                                                           

 

Рис. 4.1. – Способы цифрового кодирования данных

 

- PAM5 (Pulse Amplitude Modulation) – пятиуровневое биполярное кодирование, при котором каждая пара бит данных представляется одним из пяти уровней потенциала. Применяется в 1000BaseT.

- 2B1Q (2 Binary 1 Quarternary) – пара бит данных представляется одним четвертичным символом, т.е. одним из четырех уровней потенциала. Применяется в ISDN.

 

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

 

Некоторые разновидности цифрового кодирования очень чувствительны к характеру передаваемых данных. Например, при передаче длинных последовательностей логических нулей посредством потенциального кода типа NRZ или AMI сигнал на линии долгое время не изменяется, и приемник может ошибиться с моментом считывания очередного бита. Для кода NRZ подобные проблемы возникают и при передаче длинных последовательностей логических единиц. Логическое кодирование (которому может подвергаться исходная последовательность данных) должно внедрять в длинные последовательности бит, биты с противоположным значением, или вообще заменять их другими последовательностями. Кроме исключения “проблемных” битовых последовательностей, логическое кодирование позволяет также увеличить кодовое расстояние между символами (для упрощения декодирования), улучшить спектральные характеристики сигнала, а кроме того передавать в общем потоке служебные сигналы. В основном для логического кодирования применяются три группы методов: вставка бит, избыточное кодирование и скремблирование.

Вставка бит (bit stuffing) – наиболее прямолинейный способ исключения длинных последовательностей, например, логических единиц. Если в передаваемой последовательности встречается непрерывная цепочка “1”, то передатчик вставляет “0” после каждой, например, пятой “1”. Приемник отбрасывает все эти лишние “0”, которые встречаются после пяти “1”. Разумеется, можно проводить и обратную операцию – вставку “1” в длинные последовательности “0”. Схема вставки бит применяется, например, в протоколе HDLC.

Избыточное кодирование основано на разбиении исходной последовательности бит на участки одинаковой длины – символы. Затем каждый символ заменяется (как правило, табличным способом) на новый, имеющий либо большее количество бит, либо другое основание системы счисления (например, на символ, состоящий из троичных разрядов). Рассмотрим некоторые распространенные схемы логического кодирования.

Логический код 4B/5B заменяет каждые 4 бита входного потока (исходный символ) на 5-битный выходной символ. Так как количество различных 5-битных символов равно 32, а исходные символы могут содержать лишь одну из 16 битовых комбинаций, среди возможных выходных кодов можно отобрать 16 “удобных” комбинаций – не содержащих большого количества нулей (больше трех подряд), среди оставшихся кодов выделить служебные символы (для поддержания синхронизации, выделения границ кадров и их полей и т.д.), а оставшиеся коды считать запрещенными.

 

 

Таблица 4.1.

 

Входной символ Выходной символ Входной символ Выходной символ
       
       
       
       
       
       
       
       

 

Накладные расходы при кодировании 4B/5B составляют 25% (один лишний бит на четыре бита данных), соответственно для достижения той же пропускной способности, что и без логического кодирования, передатчик должен работать на повышенной на 25% частоте. Код 4B/5B используется в FDDI и Fast Ethernet: 100BaseFX и 100BaseTX.

Логический код 8B/10B заменяет каждый 8-битный исходный символ 10-битным выходным символом. При том же уровне накладных расходов (25%), что в случае кода 4B/5B, обладает 4-кратной избыточностью (1024 выходных символов и 256 исходных символов). При кодировании 8B/10B каждому исходному символу сопоставлено два выходных символа, выбор из которых осуществляется в зависимости от последнего бита предыдущего переданного символа. В результате код обеспечивает стабильное соотношение “0” и “1” в выходном потоке, независимо от исходных данных. Это свойство важно для лазерных передатчиков, поскольку от данного соотношения зависит их нагрев и количество ошибок приема. Код 8B/10B используется в Gigabit Ethernet: 1000BaseSX, 1000BaseLX, 1000BaseCX.

Логический код 8B/6T кодирует каждые 8 бит исходной информации шестью троичными (T – ternary, троичный) разрядами, принимающими значения {+, 0, –}. Например, “00000000” = “+–00+–“, “11111110” = “–+0+00”. Избыточность кода 8B/6T выше, чем у кода 4B/5B и составляет 36/28 = 729/256 = 2,85. Применяется в Fast Ethernet – 100BaseT4.

Скремблирование заключается в побитном вычислении выходной последовательности на основании значений бит исходной последовательности и уже вычисленных бит результата. Например, скремблер может вычислять для каждого бита следующее выражение: Bi=AiÅBi-5Å Bi-7, где Ai – i-й бит исходной последовательности, Bi – i-й бит результата скремблирования, Å – операция сложения по модулю два. Различные алгоритмы скремблирования отличаются разным количеством слагаемых и разным сдвигом между слагаемыми (в приведенном выше примере используется два слагаемых со сдвигами 5 и 7). Например, в ISDN используется два варианта скремблирования: со сдвигами 5 и 23, и со сдвигами 18 и 23.

Существуют специальные методы скремблирования, применяемые совместно определенными методами физического кодирования. Например, для улучшения кода AMI применяются методы B8ZS и HDB3. Метод B8ZS (Bipolar win 8-Zeros Substitution, биполярный с заменой 8 нулей) заменяет последовательности, состоящие из 8 нулей на “000V10V1”, где V – сигнал единицы запрещенной в данном такте полярности, а 1 – сигнал единицы корректной полярности. Если на 8 тактах приемник наблюдает три начальных нуля и два искажения полярности, то он заменяет эти 8 бит на 8 логических нулей. Метод HDB3 (High-Density Bipolar 3-Zeros, биполярный трех-нулевой высокой плотности) заменяет последовательности из четырех идущих подряд нулей на один из четырех четырехразрядных биполярных кодов в зависимости от предыстории – полярности предыдущего импульса и предыдущей замены.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: