- •Основные параметры помехоустойчивых кодов.
- •Коды с общей проверкой на чётность и коды с повторениями: их корректирующие способности, описание с помощью матриц, алгоритмы кодирования и декодирования.
- •Итеративные прямоугольные и треугольные коды: их корректирующие способности, описание с помощью матриц, алгоритмы кодирования и декодирования.
- •Группы и их основные свойства. Смежные классы.
- •Поле Галуа. Свойства конечных полей.
- •Расширенное поле Галуа. Вычисления в конечных полях.
- •Неравномерные эффективные коды. Проблема декодирования. Вектор Крафта.
- •Основные информационные характеристики источника сообщений. Коды Шеннона—Фано.
- •Сжатие информации кодами Хаффмана.
- •Алгоритм арифметического кодирования информации, пример.
- •Алгоритм арифметического декодирования информации, пример.
- •Словарные методы кодирования. Метод Зива—Лемпела.
- •17) Общие сведения о линейных кодах.
- •18) Описание линейных блоковых кодов при помощи матриц: формирование проверочной матрицы и порождающей матрицы.
- •19) Декодирование линейных кодов: декодирование методом максимального правдоподобия.
- •20) Декодирование кодов Хэмминга. Понятие синдрома
- •21) Декодирование линейных кодов: мажоритарное декодирование.
- •22) Коды Хэмминга, модификации кодов, формирование.
- •23) Декодирование кодов Хэмминга, области применения данных кодов.
- •24) Описание циклических кодов с помощью матриц.
- •25) Декодирование циклических кодов.
- •26) Описание циклических кодов с помощью полиномов.
- •27) Кодирование информации циклическими кодами.
- •28) Параметры и построение кодов Рида–Маллера.
21) Декодирование линейных кодов: мажоритарное декодирование.
Мажоритарное декодирование базируется на системе проверочных равенств,
вытекающих из основного уравнения кодирования. Поскольку код избыточен, то система
неравенств может быть разрешена относительно каждой из переменных не
единственным образом. Мажоритарное декодирование есть голосование по большинству
правильных проверочных уравнений.
Мажоритарное
декодирование (т. е. декодирование по принципу большинства). Применим он тогда,
когда для каждого символа uj существует система проверок, обладающая тем
свойством, что в правую часть каждой проверки входят символы, отличные от uj, и
всякий такой символ входит не более чем в одну проверку. Такая система проверок
называется ортогональной (или разделенной). Если число проверок, входящих в каждую
ортогональную систему, не меньше s, то путем голосования могут быть исправлены
любые t ошибок, где t<(s+1)/2. В самом деле, ошибка в одном символе влияет в силу
ортогональности не более чем на одну проверку, следовательно, среди значений
символа uj, которые даются всеми соотношениями, неправильными могут оказаться не
более t, т. е. не более половины значений. Тогда, сравнивая значения правых частей
проверок, а также значение самого символа uj, мы по большинству голосов
определяем верное значение этого символа. Если же (при нечетном s) t =(s+1)/2, то
имеет место равенство голосов, ошибка при этом хотя и обнаруживается, но не
исправляется.
К достоинствам метода мажоритарного декодирования прежде всего можно
отнести простоту технической реализации предельно (особенно в случае двоичных
циклических кодов).
22) Коды Хэмминга, модификации кодов, формирование.
Коды Хэмминга имеют параметры (n; k) = (2q–1; 2q–1–q) и обычно задаются
проверочной матрицей. Столбцами проверочной матрицы являются все ненулевые
двоичные числа длиной q.
При q = r полные коды Хэмминга имеют, например, параметры (n;k)=(7;4), (15;11),
(63;57).
Столбцы с номерами 1,2,4, образующие единичную подматрицу и являются
проверочными.
Определим корректирующую способность кодов Хэмминга. Весом w(u) слова u
называется число ненулевых элементов в слове, и в линейном коде расстояние d (u,b)
между двумя словами u и b равно весу некоторого третьего слова u+b, то есть d (u,b) =
w(u+b).
Для определения минимального расстояния воспользуемся равенством
u×НТ = 0.
Предположим, что d(u, b)=1. Тогда в коде существует слово весом 1, что невозможно, так
как для слов весом один uНТ≠0. Теперь предположим, что
d(u, b)=2. Тогда в коде существует слово весом 2, что также невозможно, поскольку
никакие два столбца проверочной матрицы не дадут в сумме нулевой вектор.
Следовательно, d(u, b)≥3. Простым подбором нетрудно найти слово весом 3, для
которого uНТ=0 (т.е. в матрице Н можно подобрать три столбца, которые в сумме дадут
нулевой вектор). Окончательно получим dmin = 3, т.е. коды Хэмминга исправляют и
обнаруживают соответственно любую одиночную и двойную ошибки. Поскольку все 2m–
1 векторов, задающих одиночные ошибки, принадлежат различным смежным классам, то
этими смежными классами и кодовым пространством исчерпываются все 2m смежных
классов. Их образующими являются нулевой вектор и векторы единичного веса.
Следовательно, коды Хэмминга являются совершенными.