- •2. Задачи теории информации и кодирования
- •3. Формы представления информации. Модель системы передачи информации
- •4. Схема дискретной системы передачи
- •5. Понятие энтропии
- •6. Математические модели дискретных сигналов (абгш, канал с замиранием и т.Д.)
- •7.Понятие битовой ошибки (bit-error-rate)
- •8. Помехоустойчивое кодирование. Классификация помехоустойчивых кодов
- •Классификация помехоустойчивых кодов
- •9. Блоковые коды
- •10. Кодирующая способность блокового кода Расстояние Хэмминга
- •11. Примеры кодирования простыми блоковыми арифметическими кодами
- •12. Определение количества корректирующих символов блоковых кодов
- •13. Систематические групповые коды
- •14. Коды Хэмминга
- •15.Циклические коды. Представление двоичного кода в виде полинома
- •16. Идея построения циклических кодов
- •Алгебраическое описание
- •17. Порождающий полином циклического кода
- •18. Алгоритм получения разрешенных комбинаций циклического кода из простого линейного кода
- •19. Алгоритм определении я ошибки в цикличном коде
- •20. Схемная реализация циклического кодирования
- •21. Сверточные коды. Представление двоичного кода виде полинома
- •22. Схема сверточного кодера
- •23. Типы декодера сверточного кода.
- •24. Последовательные каскадные коды
- •25. Параллельные каскадные коды
- •26. Bpsk, qpsk модуляция
- •27. Система кодирования с адаптивной модуляцией
- •28. Система дискретной связи с адаптивной модуляцией и кодированием
16. Идея построения циклических кодов
Пусть слово длины n над алфавитом из элементовконечного поля иполином, соответствующий этому слову, от формальной переменной x. Видно, что это соответствие не просто взаимнооднозначное, но и изоморфное. Так как «слова» состоят из букв из поля, то их можно складывать и умножать (поэлементно), причём результат будет в том же поле. Полином, соответствующий линейной комбинации пары слови, равен линейной комбинации полиномов этих слов
Это позволяет рассматривать множество слов длины n над конечным полем как линейное пространство полиномов со степенью не выше n-1 над полем
Алгебраическое описание
Если кодовое слово, получающееся циклическим сдвигом на один разряд влево из слова, то соответствующий ему полиномc1(x) получается из предыдущего умножением на x:
, пользуясь тем, что ,
Сдвиг вправо и влево соответственно на j разрядов:
Если m(x) — произвольный полином над полем GF(q) и c(x) — кодовое слово циклического (n,k) кода, то m(x)c(x) mod(xn − 1) тоже кодовое слово этого кода.
17. Порождающий полином циклического кода
Определение Порождающим полиномом циклического (n,k) кода C называется такой ненулевой полином изC, степень которого наименьшая и коэффициент при старшей степени gr = 1.
Теорема 1 Если C — циклический (n,k) код и g(x) — его порождающий полином, тогда степень g(x) равна r = n − k и каждое кодовое слово может быть единственным образом представлено в виде
c(x) = m(x)g(x),
где степень m(x) меньше или равна k − 1.
Теорема 2 g(x) — порождающий полином циклического (n,k) кода является делителем двучлена xn − 1
Следствия: таким образом в качестве порождающего полинома можно выбирать любой полином, делитель xn − 1. Степень выбранного полинома будет определять количество проверочных символов r, число информационных символов k = n − r.
18. Алгоритм получения разрешенных комбинаций циклического кода из простого линейного кода
Пусть задан полином P(x) = ar−1 xr + ar−2 xr−1 + … + 1, определяющий корректирующую способность кода и число проверочных разрядов r, а также исходная комбинация простого k-элементного кода в виде многочлена Ak−1(x).
Требуется определить разрешенную кодовую комбинацию циклического кода (n, k).
Умножаем многочлен исходной кодовой комбинации на xr:
Ak−1(x) · xr
Определяем проверочные разряды, дополняющие исходную информационную комбинацию до разрешенной, как остаток от деления полученного в предыдущем пункте произведения на порождающий полином:
Ak−1(x) · xr ⁄ Pr(x) ⇒ R(x)
Окончательно разрешенная кодовая комбинация циклического кода определится так:
An−1(x) = Ak−1(x) · xr + R(x)
Для обнаружения ошибок в принятой кодовой комбинации достаточно поделить ее на производящий полином. Если принятая комбинация — разрешенная, то остаток от деления будет нулевым. Ненулевой остаток свидетельствует о том, что принятая комбинация содержит ошибки. По виду остатка (синдрома) можно в некоторых случаях также сделать вывод о характере ошибки, ее местоположении и исправить ошибку.
Пример. Пусть требуется закодировать комбинацию вида 1101, что соответствует A(х) = х3 + х2 + 1.
Определяем число контрольных символов r = 3. Из таблицы возьмем многочлен P(х) = х3 + х + 1, т. е. 1011.
Умножим A(х) на хr:
A(x) · xr = (x3 + x2 + 1) · x3 = x6 + x5 + x3 ⇒ 11010000
Разделим полученное произведение на образующий полином g(х):
A(x) · xr ⁄ P(x) = (x6 + x5 + x3) ⁄ (х3 + х + 1) = х3 + х2 + х + 1 + 1 ⁄ (х3 + х + 1) ⇒ 1111 + 001 ⁄ 1011
При делении необходимо учитывать, что вычитание производится по модулю 2. Остаток суммируем с h(х) · хr. В результате получим закодированное сообщение:
F(x) = (x3 + x2 + 1) · (x3 + x + 1) = (x3 + x2 + 1) · x3 + 1 ⇒ 1101001
В полученной кодовой комбинации циклического кода информационные символы A(х) = 1101, а контрольные R(х) = 001. Закодированное сообщение делится на образующий полином без остатка.