- •Министерство образования и науки, молодёжи и спорта украины
- •Тема 1. Предмет теории информации и количественная мера информации
- •1.2 Этапы обращения информации
- •1.3 Система передачи информации
- •1.4 Задачи и постулаты прикладной теории информации
- •1.5. Количественная оценка информации дискретного источника. Энтропия.
- •1.6 Фундаментальные свойства энтропии
- •Тема 2. Основные виды энтропии дискретных источников. Условная и взаимная энтропии.
- •2.1 Условная энтропия.
- •2.2 Основные свойства условной энтропии.
- •2.3 Взаимная энтропия. Свойства энтропии объединения.
- •Тема 3. Эффективное кодирование источника дискретных сообщений в канале без помех.
- •3.1 Избыточность информации, причины ее появления.
- •3.2 Способы сокращения избыточности.
- •3.3 Теорема Шеннона для канала без помех.
- •4.1 Общие понятия и элементы теории кодирования
- •4.2 Цели кодирования
- •4.3 Оптимальные неравномерные коды
- •4.4 Коды Шеннона-Фэно
- •4.5 Коды Хаффмена
- •4.6 Особенности эффективных кодов.
- •Тема 4. Кодирование источника дискретных сообщений в канале с помехами. Общие принципы помехоустойчивого кодирования.
- •5.1 Кодирование информации для канала с помехами. Теорема Шеннона для канала с помехами.
- •5.2 Общие принципы использования избыточности
- •5.3 Связь корректирующей способности кода с кодовым расстоянием
- •6.1 Корректирующие свойства кодов с избыточностью.
- •6.2 Классификация корректирующих кодов
- •Тема 5. Регулярные методы построения двоичных помехоустойчивых кодов
- •7.1 Линейные коды. Общие медоды построения.
- •7.2 Определение числа добавочных разрядов r.
- •7.3 Построение образующей(порождающей) матрицы |om|.
- •7.4 Порядок кодирования
- •7.5 Порядок декодирования
- •7.6 Систематические коды. Код Хэмминга.
- •7.7 Обнаружение и исправление ошибок в коде Хэмминга
- •8.1 Двоичные циклические коды
- •8.2 Некоторые свойства циклических кодов
- •8.3 Матричное описание циклических кодов
- •8.4 Выбор образующего полинома
- •8.5 Декодирование циклических кодов
- •Тема 6. Построение кодов заданой помехоустойчивости. Применение недвоичных помехоустойчивых кодов.
- •9.1 Матричное описание циклических кодов.
- •9.2 Коды Боуза — Чоудхури — Хоквингема (бчх)
- •9.3 Систематический вид циклического кода.
- •9.4 Коды Рида–Соломона и их применение.
- •9.5 Циклический избыточный код crc
- •Тема 7. Информационные характеристики источников непрерывных сообщений. Источники с максимальной энтропией. Максимальная пропускающая способность канала связи с помехами.
- •10.1 Информационные характеристики источников непрерывных сообщений
- •10.2 Энтропия равномерного закона распределения
- •10.3 Энтропия гауссового закона распределения.
- •11.1 Пропускная способность канала связи с помехами для непрерывных сообщений
- •Тема 8. Методы кодирования информации со сжатием.
- •12.1 Подстановочные или словарно-ориентированные алгоритмы сжатия информации. Методы Лемпела-Зива.
- •13.1 Описание алгоритма сжатия lzw
- •Декодирование по lzw
- •Достоинства и недостатки lzw
- •13.2 Применение lz-алгоритмов упаковки данных
- •14.1 Кодирование длин повторений
- •14.2 Дифференциальное кодирование
- •Тема 9. Методы кодирования со сжатием и с потерями информации..
- •15.1 Методы сжатия с потерей информации
- •15.2 Точность. Помехи и искажения. Приближенное восстановление
- •15.5 Кодирование преобразований. Стандарт сжатия jpeg
- •Или же, в матричной форме,
- •Тема 10. Методы кодирования физических сигналов в компьютерных сетях.
- •16.1 Кодирование на физическом уровне.
- •16.2 Самонихронизирующиеся коды - коды rz и Манчестер-II
- •16.3 Несамосинхронизирующиеся коды. - код nrz
- •16.4 Высокоскоростные коды - код mlt-3 и pam 5
- •Еще более высокоскоростной код - код pam 5
- •16.5 Требуемая полоса частот для передачи данных и ширина спектра сигнала
- •Ширина спектра сигнала
Тема 6. Построение кодов заданой помехоустойчивости. Применение недвоичных помехоустойчивых кодов.
Лекция 9
Циклические коды.
Напомним еще раз, о методе кодирования в циклических линейных кодах.
Образование кодовых слов (кодирование) KC выполняется путем умножения информационного полинома (информационный полином – полином с коэффициентами, являющимися информационной последовательностью) Иi(X) порядка i<k на образующий полином:
КСm+i(Х) = gm(X) * Иi(X) .
9.1 Матричное описание циклических кодов.
Циклические коды можно, как и любые линейные коды, описывать с помощью матриц.
Вспомним, что KC(X) = gm(X)*И(Х) .
Это соответствует описанному выше упрощенному способу умножения матриц:
Образующая матрица ||OM|| это (k*n) - это матрица, при помощи которой происходит построение циклического кода. Образующая матрица получается в результате k- кратного циклического сдвига кодовой комбинации, соответствующей первой строке образующей матрицы. Первая строка образующей матрицы получается путем добавления слева от коэффициентов полинома gm(X) такого числа нулей, чтобы общая длина кодовой комбинации была равна n.
Например, образующий полином имеет вид G(X)=111010001=X8+X7+X6+X4+1 при n=15 и k=7. Тогда первая строка образующей матрицы примет вид: 000000111010001, а вся матрица:
0 0 0 0 0 0 1 1 1 0 1 0 0 0 1
0 0 0 0 0 1 1 1 0 1 0 0 0 1 0
0 0 0 0 1 1 1 0 1 0 0 0 1 0 0
0 0 0 1 1 1 0 1 0 0 0 1 0 0 0
0 0 1 1 1 0 1 0 0 0 1 0 0 0 0
0 1 1 1 0 1 0 0 0 1 0 0 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 0 0 0
Таким образом видно, что, если в качестве строк образующей матрицы взять наборы сдвинутых вправо коэффициентов образующего полинома, вычисление кодовых слов при помощи матриц полностью эквивалентно вычислению кодовых слов при помощи полиномов.
9.2 Коды Боуза — Чоудхури — Хоквингема (бчх)
Коды Боуза — Чоудхури — Хоквингема (БЧХ) являются подклассом циклических кодов. Их отличительное свойство — возможность построения кода БЧХ с минимальным расстоянием d не меньше заданного. Это важно, потому что, вообще говоря, построение кода с расстоянием не меньше заданного это очень сложная задача.
В БЧХ-коде образующий полинома представляет собой произведение нескольких неприводимых полиномов – мы далее посмотрим каких.
БЧХ коды, вообще-то говоря , как и линейные циклические коды в целом не обязательно являются двоичными., то есть с символами, из которых состоит код =1 или 0.
Символами КС слова могут быть например числа вида qm представленные в виде полиномов с недвоичными коэффициентами. Мы же рассматриваем двоичные коды, что позволяет избежать значительных усилий на знакомство с теорией полей Галуа.
В БЧХ-кодах построение образующего полинома, в основном, зависит от двух параметров: от длины кодового слова n=k+r и от числа исправляемых ошибок S.
Особенностью кода является, то что для исправления числа ошибок S>=2 еще недостаточно условия, что между комбинациями кода минимальное кодовое расстояние dmin=2*S+1. Необходимо также, чтобы длина кода n удовлетворяла условию
n = 2h - 1, (1)
где h -любое целое число.
При этом длина кода n всегда будет нечетным числом и принимать значения: 1,3,7,15,31,63,127..и.т.д, т.е не все значения динымогут быть заданы пользователем.
Выбранная по формуле (1) величина n определяет число контрольных символов r.
r<=h*S<=log2(n+1)*S. (2)
При решении задачи выбора допустимого числа информационных символов при заданных корректирующих свойствах удобно пользоваться таблицей, в которой приведены соотношения корректирующих и информационных разрядов для БЧХ кодов.
Построение образующего полинома G(X) производится при помощи таблицы неприводимых полиномов M(X). Образующий полином представляет собой произведение неприводимых полиномов и является их наименьшим общим кратным (НОК). Максимальный номер неприводимого полинома в их произведении
p = 2*S - 1 . (3)
Порядок полинома используется при определении числа сомножителей. Для построения G(X) используются только нечетные полиномы.
Например, при S=4 ими будут: M1(X); M3(X); M5(X); M7(X). Старший из них имеет номер p=2*S-1=7. Число их равно 4, т.е. равно числу исправляемых ошибок.
Число неприводимых полиномов, участвующих в построении образующего полинома
V = S, (4)
а старшая степень
v= h (5)
указывает строку в таблице неприводимых полиномов, из которой обычно выбирается полином для построения G(X). Для построения образующего полинома используются только нечетные полиномы степени v. Иногда допускается использование полиномов и меньшей степени. Степень образующего полинома, полученного в результате перемножения выбранных неприводимых полиномов,
b = r = v*S = h*S (6)
В общем виде G(X)=НОК[M1(X)M3(X)...Mp(X)].
Пример: Рассмотрим построение циклического кода длиной в 15 разрядов, исправляющего одну или две ошибки. Согласно (1) ,
n = 2h - 1, откуда h=log2(n+1) = log216 = 4
Число контрольных символов k, согласно (2),
r=log2(n+1)*S=4*2=8.
Номер старшего из неприводимых полиномов, cогласно (3)
p = 2*S-1 = 2*2 -1 = 3.
Количество неприводимых полиномов, участвующих в построении образующего полинома, согласно (4),
V= S = 2,
cтаршая степень, согласно (5),
v = h = 4.
Степень образующего полинома , согласно (6),
b = r = 8.
Из таблицы неприводимых полиномов выбираем полиномы степени v=4, из них выбираем два (V=2) неприводимых полинома , номер старшего из которых равен 3(p=3), т.е. выбираем неприводимые полиномы p1 и p3 .
G(X)=M1(X)*M3(X) = 10011 * 11111 = 111010001 = X8+X7+X6+X4+1.
Число информационных разрядов
k = n - m = 15 - 8 = 7.
Первая строка образующей матрицы получается путем добавления слева от G(X) такого числа нулей, чтобы общая длина кодовой комбинации была равна n. Образующая матрица получается в результате m кратного циклического сдвига кодовой комбинации, соответствующей первой строке образующей матрицы.
0 0 0 0 0 0 1 1 1 0 1 0 0 0 1
0 0 0 0 0 1 1 1 0 1 0 0 0 1 0
0 0 0 0 1 1 1 0 1 0 0 0 1 0 0
||ОМ|| = 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0
0 0 1 1 1 0 1 0 0 0 1 0 0 0 0
0 1 1 1 0 1 0 0 0 1 0 0 0 0 0
1 1 1 0 1 0 0 0 1 0 0 0 0 0 0
Остальные комбинации кода получаются путем умножения 27=128 строк различных информационных слов на образующую матрицу. Таким образом, мы получили набор кодовых комбинаций для приведенного выше примера состоящего из 128 кодовых слов.