- •Лекции Методы повышения достоверности передачи и приема
- •2.Применение помехоустойчивых видов модуляции
- •3.Применение помехоустойчивого кодирования
- •3.5. Разделение линий связи
- •3.5.1. Постановка задачи
- •3.5.2. Частотное разделение
- •3.5.3. Временное разделение
- •3.5.4. Фазовое разделение
- •3.5.5. Разделение по форме
- •3.5.7 Кодовое разделение
- •3.5.8. Комбинированные методы разделения.
- •5. Применение каналов с обратной связью.
- •Оптические линии связи
- •Сжатие данных Основные понятия
- •Характеристики алгоритмов сжатия данных
- •Алгоритмы сжатия без потерь
- •Статистические алгоритмы сжатия
- •Алгоритм Хаффмена
- •Алгоритм арифметического кодирования
- •Алгоритмы сжатия, использующие исключение повторов
- •Алгоритмы kwe
- •Словарные и словарно-статистические алгоритмы сжатия
- •Алгоритмы сжатия с потерями
- •Алгоритмы сжатия растровых статических изображений
- •Источники, рекомендуемые для углубленного изучения
- •Циклические коды некоторые обозначения и определения
- •Арифметика по модулю два
- •Двоичные циклические коды
- •Кодирование
- •Декодирование
Циклические коды некоторые обозначения и определения
Циклический код обычно имеет обозначение (n, m, d), где n – длина кодовой комбинации, m – длина информационной последовательности в кодовом слове и d – минимальное кодовое расстояние кода.
a(x) – полином, состоящий из x разной степени и коэффициентов a соответствующие им: . В свою очередь A представляет собой набор коэффициентов, упорядоченных в соответствии своему индексу: . В арифметике по модулю два коэффициент ai может принимать два значения – 0 или 1, поэтому набор коэффициентов A –двоичное число.
Степенью многочлена называют наибольшую степень x с ненулевым коэффициентом.
RB(A) = остаток ( ); CB(A) = частное ( ).
Весом W(A) кодовой комбинации A считается количество единиц в A. Например, A = 1001101, W(A) = 4;
Расстояние Хэмминга (кодовое расстояние) d называется расстояние между двумя кодовыми комбинациями. Кодовое расстояние равно весу результата от сложения двух кодовых комбинаций. Например, A = 1100101, В = 10010101, d(A, B) = W(AB) = 4.
W = 4.
Арифметика по модулю два
Итогом любой операции по модулю два является остаток от деления результата операции на 2. Таким образом, максимальное значение коэффициента а равно 1. В этом случае таблицы истинности умножения и сложения коэффициентов по модулю два будут выглядеть следующим образом:
,
где a, b, d – разряды двоичных чисел A, B, D.
Операция деление по модулю два выполняется с помощью сложения по модулю два «столбиком». Например,
Двоичные циклические коды
Наиболее изученными среди всех кодов являются циклические коды, так как они легко кодируются и содержат важнейшее семейство кодов Боуза-Чоудхури-Хоквингема (БЧХ). Кроме того, они используются для построения многих других кодов, таких как, кодов Керока, Препараты и Юстенсена.
Код С называется циклическим, если он линеен и любой циклический сдвиг разрешённой кодовой комбинации (кодовое слово) также является разрешённой кодовой комбинацией, т.е. если (с0,с1,…,сn-1) принадлежит C, то и (сn-1,с0,с1,…,сn-2) принадлежит С.
Порождающим многочленом g(x) циклического кода С длины n, является многочлен с максимальной степенью n – m, являющийся множителем двучлена xn + 1, где n – количество разрядов кодового слова, m – количество информационных разрядов (содержат данные).
Благодаря главной конструктивной особенности циклического кода возможен простой не ресурсоёмкий способ декодирования и обнаружения/исправления ошибок.
Основными операциями помехоустойчивого кода являются кодирование и декодирование.
Кодирование помехоустойчивым кодом – это процесс преобразования информационных разрядов в кодовое слово, путём ввода избыточности.
Декодирование помехоустойчивым кодом – это процесс извлечения информационных разрядов из принятого кодового слова с обнаружением и/или исправлением ошибок в них.
Кодирование
В зависимости от представления информационных символов в кодовом слове существует два метода кодирования: явный и неявный.
При неявном методе разряды данных и контрольных символов представлены в кодовом слове в неразделимом виде, т.е. извлечь информационные символы из кодового слова без специального преобразования нельзя. Такой способ кодирования требует дополнительных затрат в процессе декодирования для извлечения данных.
При явном методе кодирования получаются кодовые слова, в которых разделимы информационные и контрольные символы в явном виде, без специальных преобразований. Далее будем рассматривать только явный метод.
Известно два основных способа кодирования циклическим помехоустойчивым кодом:
табличный метод;
с помощью деления.
Суть табличного метода заключается в том, что все кодовые слова предварительно вычисляются и записываются в виде таблицы в память. Адресом в таблице служат данные, которые необходимо закодировать, а содержимым таблицы является либо само кодовое слово (рис. 1а), либо контрольные разряды (рис. 1б), которые присоединяются к информационному блоку.
Рис. 1. Табличное кодирование
D – информационный блок разрядности m; cW – кодовое слово разрядности n.
Во втором способе кодирования данные D, подлежащие кодированию, сдвигаются на n–m разрядов влево, затем производятся вычисление остатка от деления на образующий полином и подстановка остатка в младшие разряды кодового слова cW (рис. 2).
Рис. 2. Кодирование циклическим кодом