Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум_1Мышеву2_отпр.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
437.76 Кб
Скачать

Литература

  1. Мышев А.В. Основы прикладной теории кодирования

информации. Учеб. пособие по курсу «Теории кодирования информации». – Обнинск, ИАТЭ, 1999, - 77с.

  1. Мышев А.В. Модели активной памяти в технологиях

виртуализации каналов хранения и передачи информации // Программные системы и продукты, 2010, №1, - с.54-59.

  1. Морелос - Сарагоса Р. Искусство помехоустойчивого

кодирования. Методы, алгоритмы, применение. М.: Техносфера, 2005г., - 320 с.

  1. Электронные копии лекций, методичек и др. на накопи-

телях сервера кафедры.

Приложение 1

Кодирование для исправления ошибок: основные положения

Все коды, исправляющие ошибки, основаны на одной общей идее: для исправления ошибок, которые могут возникнуть в процессе передачи или хранения информации, к ней добавляется некоторая избыточность. По основной схеме, используемой на практике, избыточные символы дописываются за информационными, образуя кодовую последовательность или кодовое слово (codeword). На рисунке №1 показана геометрическая иллюстрация процедуры формирования блокового кода (bloch code). Такое кодирование называют систематическим (systematic).

Рис.1. Систематическое блоковое кодирование для исправления ошибок

Это означает, что информационные символы всегда появляются на первых k позициях кодового слова. Символы на оставшихся (n - k) позициях являются различными функциями от информационных символов, обеспечивающими тем самым избыточность, необходимую для обнаружения или исправления ошибок. Множество всех кодовых последовательностей называют кодом, исправляющим ошибки (error correcting code).

Приложение 2.

Корректирующая способность кода и его связь с кодовым расстоянием

Двоичный код С, представляющий собой множество 2n символьных последовательностей длины n исправляющий ошибки, если передает по информационному каналу не все возможные векторы, может обладать свойством помехоустойчивости. Код С является подмножеством n - мерного двоичного пространства R2 = {0,1}n таких, что его элементы максимально удалены друг от друга. В информационном пространстве V2 расстояние определяется как число позиций, в которых два вектора не совпадают. Пусть 1 = (х1,0;х1,1;х1,n-1) и 2 = (х2,02,1,…,х2,n-1) два вектора в V2, тогда хеммингово расстояние между векторами 1 и 2 , которое обозначим, как dx(x1,x2), равно

dx(x1,x2) = |{i1, ix2,i, 0in}|, (1.1)

где через |A| обычно обозначают число элементов в множестве А.

Для кода С минимальное хеммингово расстояние dmin определяется, как минимум хеммингова расстояния по всем возможным парам различных кодовых слов:

dmin = min {dx (V1, V2)| V1 ≠ V2 }. (1.2)

V1, V2 C

Пример. Простейшим примером является код повторения длины 3. Каждый информационный бит повторяется три раза. Таким образом, сообщение «0» кодируется вектором V1 =(000), а сообщение «1» - вектором V2 = (111). Так как два вектора различаются в трех позициях, то dx (V1,V2) =3. На рисунке №1 показано графическое представление этого кода. Трехмерное двоичное пространство соответствует 23=8 вершинам трехмерного единичного куба. Хеммингово расстояние между кодовыми словами V1 = (000) и V2 = (111) равно числу вершин, через которые проходит соединяющий их путь. Это эквивалентно числу координат, которые необходимо изменить, чтобы преобразовать V1 в V2 и наоборот. Таким образом, dmin = 3.

Двоичное векторное пространство V2 обычно называют хемминговым пространством. Пусть V - кодовое слово кода с Хемминговой сферой St(V) радиуса t с центром в точке V является множество векторов (точек) в V2 на расстоянии, меньшем или равном t от центра V.

St(V) ={x C| dx(x,V) ≤ t}. (1.3)

Следует заметить, что число слов в St(V) равно:

|St(V)| = , (1.4)

где = Cni = . (1.5)

Корректирующей способностью (error correcting capability) t кода С называют наибольший радиус хемминговой сферы St(V) для всех кодовых слов Vt C такой, что для любых различных пар Vi , Vj C соответствующие им хемминговы сферы не пересекаются, т.е.

t = max {l| Sl(Vi) Sl(Vj) = 0, Vi ≠ Vj } (1.6)

Vi, Vj l

Это соответствует более распространенному определению

t = [(dmin - 1)/2], (1.7)

где через [Х] обозначается целая часть Х, т.е. целое число меньше или равное х.

Отметим, что для определения минимального кодового расстояния произвольного кода С в соответствии с выражением (1.3) необходимо вычислить все 2k(2k-1) расстояний между различными парами кодовых слов. Это практически трудноразрешимая процедура даже для сравнительно коротких кодов.

Приложение 3

Порождающая и проверочная матрицы

Если С - двоичный линейный (n, k, dmin) код, который образует k - мерное подпространство, имеющее базис (V0,V1,…,Vk-1) такой, что любое кодовое слово V C может быть выражено через базис:

V = U0V0 + U1V1 +…+ Uk-1Vk-1, (1.8)

где Ui {0,1}, 0ik

Уравнение (1.8) может быть записано через породающую матрицу G и векторное сообщение U=(U0,U1,…,Uk-1)

V=UG , (1.9)

где G = = (1.10)

Так как G является k - мерным векторным пространством в V2 , то существует - мерное дуальное пространство (dual space) С┴, которое порождается строками матрицы Н, называемой проверочной матрицей (parity chech matrix), такой что GHT =0, где через HT обозначается транспонированная матрица Н. Следует заметить, что любое кодовое слово V C удовлетворяет условию

VHT =0. (1.11)

Уравнение (1.11) является фундаментальным для декодирования линейных кодов.

Линейный код С┴, который генерируется матрицей Н, является линейным (n, n-h, dmin) кодом, который называется дуальным коду С.