Файл: Методы кодирования данных (Основные понятия теории кодирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.03.2024

Просмотров: 32

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введем следующие обозначения:

  • ti – число (кратность) исправляемых ошибок;
  • d0 – расстояние между разрешенными комбинациями.

Следовательно, получим условие, при котором код сможет исправить ошибки (2):

d0 ≥ 2ti + 1 (2)

Для построения помехоустойчивого кода необходимо к k информационным разрядам добавить r проверочных. Число проверочных разрядов, которое требуется для построения кода, способного исправить одну ошибку вычисляется по формуле (3):

2r ≥ k + r + 1 (3)

При этом общее число разрядов равняется n = k + r. Код, построенный с такими параметрами называется [n, k] кодом. Например, для передачи четырехразрядной комбинации дополнительно нужно три проверочных символа. Следовательно, получается код [7, 4].

Экономичность и эффективность кодов с обнаружением ошибок определяют особые параметры: коэффициент избыточности (4) и коэффициент обнаружения (5).

RU = 1 – ln(M1) / ln(M) (4)

K0 = Q / (Q + Q1) (5)

где М = 2n – общее количество кодовых слов, которое может быть получено в n‑элементном коде;

М1 – число используемых комбинаций;

Q – общее число искаженных комбинаций, в которых может быть обнаружена ошибка;

Q1 – общее количество искаженных комбинаций, в которых не может быть обнаружена ошибка [1].

4.1. Коды Хэмминга

Рассмотрим правила построения [7, 4] кода Хэмминга, исправляющего одну ошибку в передаваемой информационной комбинации (a1, a2, a3, a4). Выпишем таблицу истинности для трех проверочных разрядов:

x2

x1

x0

0

0

0

0

0

1

b0

0

1

0

b1

0

1

1

a1

1

0

0

b2

1

0

1

a2

1

1

0

a3

1

1

1

a4

Где аi – информационные разряды, а bi – проверочные.


Тогда, проверочные разряды восстанавливаются по информационным по правилам (6-8):

b0 = a1  a2  a4 (6)

b1 = a1  a3  a4 (7)

b2 = a2  a3  a4 (8)

Таким образом, видно, что значение b0 формируется из всех ak, для которых х0 = 1. Значение b1 формируется из всех аk, для которых х1 = 1 и т.д.

На передатчик канала связи подается самокорректирующийся код Хэмминга [7, 4], имеющий вид (b0, b1, a1, b2, a2, a3, a4). На приемном конце считаются проверочные символы (9-11):

В0 = a1  a2  a4 (9)

В1 = a1  a3  a4 (10)

В2 = a2  a3  a4 (11)

Разница между принимаемыми Вi и передаваемыми bi проверочными разрядами позволяет обнаружить и локализовать ошибку.

4.2. Циклические коды

Циклические коды представляют собой обобщение кодов Хэмминга. В данном коде произвольная кодовая последовательность a = (a1, a2, …, an) принимает вид полинома (12):

u(x) = a1xn-1 + a2xn-2 + … + aт-2x2 + an-1x + an (12)

Так, например, кодовой последовательности 1011 соответствует многочлен u(x) = 1х3 + 0х2 + 1х1 + 1х0 = х3 + х + 1.

При этом вводятся понятия приводимых и неприводимых многочленов. Неприводимый многочлен – это такой, который не может быть представлен в виде произведения многочленов меньшей степени. Приводимый многочлен, напротив, может быть факторизован.

4.3. Сверточные коды

Прежде чем описывать сверточные коды, введем понятие автомата. Автоматом называется система, которая изменяет свое состояние под действием обрабатываемого входного сигнала. В этом случае значения выходного сигнала зависят не только от входного значение, но и от текущего состояния самой системы.

Для описания работы автомата требуется задать:

  • вектор значений входного сигнала a = (a1a2…an);
  • вектор внутренних состояний автомата s = (s1s2…sn).

Во время работы на вход автомата подается очередное значение сигнала ai. В зависимости от текущего состояния sk автомат изменяет значение сигнала на zi, но и сам под воздействием входного сигнала меняет свое состояние на sm. Следующее значение сигнала ai+1 автомат принимает находясь в состоянии sm и в соответствии со своим состоянием формирует выходное значение zi+1, а сам при этом меняет свое состояние на sn и т.д.


Следовательно, описание работы автомата дополнительно требует следующих параметров:

  • вектор возможных значений выходного сигнала z = (z1z2…zn);
  • функцию перехода g: (aksk) → (z), создающую значения выходного сигнала zk из входного sk с учетом текущего состояния автомата sk;
  • функцию перехода f: (aksk) → (sk+1­), меняющую состояние автомата sk на sm в зависимости от значения принятого сигнала ak и текущего состояния автомата sk.

Автомат, обрабатывающий двоичную последовательность и имеющий четыре возможных состояния s = (s0, s1, s2, s3) называется сверточным кодом. Его принято задавать в виде таблицы (см. таблицу 4).

Таблица 4 – Автомат сверточного кода

f

g

0

1

0

1

s0

s0

s2

00

11

s1

s0

s2

11

00

s2

s1

s3

10

01

3

s1

s3

01

10

ЗАКЛЮЧЕНИЕ

В рамках выполнения данной работы была раскрыта тема основных методов кодирования информации. Важно отличать процессы кодирования и шифрования. Код используется для передачи информации в более удобном виде. А шифр – для засекречивания.

Кодирование - изменяет форму, но оставляет прежним содержание. Для прочтения нужно знать алгоритм и таблицу кодирования.

Шифрование - Может оставлять прежней форму, но изменяет, маскирует содержание. Для прочтения недостаточно знать только алгоритм шифрования, нужно знать ключ [Лаш].

Задачей кодирования является перевод дискретного сообщения из одного алфавита в другой без потерь информации с целью его более сжатого представления, либо представления в виде, удобном для вычислений или других операций.

Существует множество способов классификаций методов кодирования. В данной работе рассмотрены основные из них, а именно:

  • по условию построения кодовых комбинаций (равномерные и неравномерные);
  • по числу уникальных символов (единичные, двоичные и позиционные);
  • по форме представления в канале передачи данных (последовательные и параллельные);
  • по возможности обнаружения и исправления ошибок (простые и корректирующие);
  • по числу одновременно кодируемых символов (алфавитные и блочные).

Рассмотрение методов кодирования проводилось по группам:

  • префиксные коды – коды переменной длины, удовлетворяющие условию Фано;
  • арифметические коды – коды упаковывания слов первичного алфавита на основании частоты использования символов;
  • цифровые коды – различные методы представления чисел.

Отдельное внимание уделяется методам помехоустойчивого кодирования. В основе идеи помехоустойчивого кодирования лежит добавление лишних символов к сообщению, которые помогают обнаружить ошибку. Таким образом, множество кодовых комбинаций разбивается на два:

  • множество разрешенных комбинаций;
  • множество запрещенных комбинаций.

Если в результате ошибки исходная комбинация перешла в множество запрещенных, то ошибку можно обнаружить.

Примерами кодов помехоустойчивого кодирования являются коды Хэмминга, циклические коды, а также сверточные коды.

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

  1. Гуменюк А.С. Теория информации и кодирования. – Омск: Изд-во ОмГТУ, 2015. -124 с.
  2. Думачев В.Н. Теория информации и кодирования – Воронеж: Воронежский институт МВД Росси, 2012. – 248 с.
  3. Лашина И.А. Использование заданий по кодированию информации во внеклассной работе по математике в начальной школе, – 2015. – 6 с.
  4. Поляков К.Ю., Еремин Е.А. Информатика - М. : БИНОМ. Лаборатория знаний, 2016. - 80 с.
  5. Понятов А.А.Теория информации и кодирования - М.: МИИТ, 2016. — 188 с.
  6. Чепкунова Е.Г. Пособие к подготовке к экзамену по дисциплине «Теоретические основы информатики». Раздел «Кодирование информации»: Учеб. пособие – Казань: Казанский университет, 2012. – 92 с.
  7. Шикина В.Е. Кодирование информации: методические указания – Ульяновск: УлГТУ, 2006. – 56 с.

Электронные ресурсы:

  1. Блочное двоичное кодирование. URL: http://studopedia.ru/3_83187_blochnoe-dvoichnoe-kodirovanie.html
  2. Большая энциклопедия нефти и газа. Равномерный код. URL: http://www.ngpedia.ru/id88203p1.html
  3. Методы арифметического кодирования информации и сравнение их коэффициентов сжатия. URL: http://bibliofond.ru/view.aspx?id=550668
  4. Новый принцип кодирования информации для получения субъективной реальности в искусственных нейронных сетях. URL: https://habr.com/post/399881
  5. Постановка задачи кодирования, Первая теорема Шеннона. URL: http://studopedia.ru/view_informatika.php?id=27