Способы кодирования информации
Кодированием сигналов называется совокупность правил, согласно которым осуществляется преобразование цифровых двоичных данных в потенциальные электрические сигналы определенного вида.
В настоящее время в компьютерных сетях использование более десяти различных схем кодирования, имеющих те или иные преимущества и недостатки.
При выборе того или иного способа кодирования необходимо обеспечить достижение определенных требований:
- упростить синхронизацию приемника и передатчика
- получить по возможности наименьшую полосу пропускания
- получить минимальную постоянную составляющую при передаче длинных последовательностей нулей и единиц
- обеспечить способность распознавания ошибок
- иметь низкую стоимость реализации.
Простейшая схема кодирования для 0 и 1 использует разные уровней напряжения. Кодирование может быть униполярным, полярным, биполярным.
Если используют несколько уровней, можно закодировать более чем один бит информации. При использовании четырех уровней можно представить сразу 2 бита информации. Для того чтобы разделить соседние биты данных источник и приемник должны быть синхронизированными. В большинстве современных схем кодирования синхронизация закладывается в передаваемые информационные биты, т.е. используют так называемые самосинхронизирующиеся коды.
На рис.1.9 показаны наиболее часто применяемые в компьютерных сетях схемы кодирования NRZ, NRZI, манчестерское кодирование МК, дифференциальное манчестерское кодирование ДМК, кодирование MLT-3.
Рисунок 1.9
Кодирование без возврата к нулю NRZ (Non-Return to Zero) относится к биполярным системам кодирования, так как использует в канале значения двух уровней напряжения +U и -U. При таком кодировании значение передаваемого бита определяется не уровнем напряжения, а наличием или отсутствием перехода от одного уровня напряжения на границах битовых интервалов ГБИ. В коде NRZ такие переходы осуществляются при изменении последовательности передаваемых цифр, в коде NRZI при передаче единиц. Это кодирование характеризуется простотой реализации, но не является самосинхронизирующимся.
В сетевых технологиях FDDI и Fast Ethernet используется трехуровневая система кодирования MLT-3. В соответствии с названием в этой системе используются три уровня: положительный, нулевой и отрицательный. Изменение уровня происходит при передаче единичных битов. Принят следующий порядок изменения уровней: от положительного напряжения к нулю, затем от нуля к отрицательному напряжению, далее снова выполняется переход к нулю, затем к положительному напряжению, после чего последовательность чередования уровней повторяется.
Манчестерное кодирование относится к бифазным системам кодирования и используется в сетях Ethernet. Это кодирование осуществляется по следующим принципам. В середине каждого битного интервала присутствует переход от одного уровня напряжения к другому. Единицы представлены переходом от -U до +U, а нули - переходом от +U до -U. В зависимости от значения передаваемых бит в начале битового интервала может присутствовать дополнительный переход.
ДМК также относится к бифазному кодированию и используется в сетях
Token Ring. Самосинхронизация в этом коде достигается за счет обязательных переходов в середине битового интервала. В зависимости от конкретной реализации ДМК переходы в начале битового интервала может осуществлять при передаче единицы, либо при изменении последовательности передаваемой информации по сравнению с предыдущим битовым интервалом.
Линейное кодирование 2B1Q использует четыре уровня выходного напряжения без возвращения к нулевому уровню. Алгоритм формирования кода приведен в табл. 1.6
Таблица 1.6
Кодовая группа | Кодовое напряжение |
-2,5 В | |
- 0,833 В | |
+ 2,5 В | |
+ 0,833 В |
Для формирования линейного кода входной информационный поток делится на кодовые группы по два бита вкаждой. Положительная полярность означает, что первый бит равен 1, а отрицательная, что он равен 0. Второй бит интерпретируется как 1 при низких уровнях напряжения и как 0 при высоких уровнях.
Таким образом закодированный в соответствии с правилами 2B1Q сигнал представляет собой последовательность скачкообразно изменяющихся напряжений с 4 возможными уровнями (рис. 1.10).
Рисунок 1.10
При сверточном кодировании преобразование информационных последовательностей в закодированные происходит непрерывно. Кодер двоичного сверточного кода СК содержит регистр сдвига на n-разрядов и сумматоры по модулю 2. Параметр n называют кодовым ограничением. Схема кодера n=3 представлена на рис.1.11.
Рисунок 1.11
Кроме регистра сдвига, выполненного на трех триггерах Т1-Т3, в состав кодера входят две схемы суммирования по mod 2 и ключ SW.
Сумматор DD4 позволяет получить значение T1+T2, сумматор DD5 - T1 +T3. Ключ задает очередность посылки выходных комбинаций в канал. Эффективная скорость передачи кода R составляет:
,
где n – число бит, поступающих в каждом такте на вход,
K – число бит, поступающих в каждом такте на выход.
Таблица переключения состояний триггеров и значения выходных
последовательностей S1 и S2 представлена ниже. Для входного кода 110101… выходной код будет представлен 110111101010.
Таблица 1.7
Входной код | T1 T2 T3 | S1S2 |
1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 | 1 1 1 0 1 1 0 1 0 1 0 1 |
Развертка состояний по времени образует решетчатую диаграмму. На решетке показаны узлами, а переходы – соединяющими линиями. После каждого перехода из одного состояния в другое происходит смещение на один шаг вправо. Решетчатая диаграмма изображает все разрешенные пути по которым может продвигаться кодер. Жирной линией показан путь по решетке при поступлении на вход последовательности 110101… .
Рисунок 1.12
Для декодирования сверточных кодов наиболее широко применяем алгоритм декодирования Витерби (алгоритм максимально правдоподобия). Функционирование декодера, как и кодера, основано на построении решетчатой диаграммы. Декодер вычисляет метрику пути как сумму метрик предыдущего состояния и метрик входящего пути. Метрика пути – сумма метрик ветвей, образующих некоторые пути на решетчатой диаграмме. Метрика данного состояния равна метрике пути, который заканчивается на данном состоянии. Производя попарные сравнения метрик путей, выбирают меньшую метрику и её считает метрикой данного состояние для следующего шага декодирования. Таким образом, на каждом шаге декодирования производят следующие действия.
1. Складывают метрику предыдущего состояния с метриками соответствующих ветвей.
2. Сравнивают метрики входящих путей.
3. Выбирают путь с наименьшими метриками, величины которых используют как метрики состояний на следующем шаге декодирования.
Если метрики сравниваемых путей одинаковы, то выбор одного из них осуществляют произвольным образом. Декодер прослеживает по решетке путь, имеющий минимальное расстояние от пути, который генерирует кодер. Различные варианты сверточного кодирования используют в XDSL-модемах, в сетях GE, в беспроводных сетей.
Дата добавления: 2015-02-16; просмотров: 1702;