Выбор образующего многочлена по заданному объему кода и заданной корректирующей способности

Теория информации
Понятие информации. Задачи и постулаты прикладной теории информации Бит = 3,32 бит Энтропия при непрерывном сообщении Условная энтропия Взаимная энтропия Эффективное кодирование Энтропия алфавита Кодирование информации для канала с помехами Связь корректирующей способности кода с кодовым расстоянием Понятие качества корректирующего кода Математическое введение к линейным кодам Линейный код как пространство линейного векторного пространства Составление таблицы опознавателей Определение проверочных равенств Мажоритарное декодирование групповых кодов Технические средства кодирования и декодирования для групповых кодов Построение циклических кодов Выбор образующего многочлена по заданному объему кода и заданной корректирующей способности Обнаружение и исправление независимых ошибок произвольной кратности Технические средства кодирования и декодирования для циклических кодов Кодирующие устройства Декодирующие устройства
229704
знака
44
таблицы
52
изображения

4.10 Выбор образующего многочлена по заданному объему кода и заданной корректирующей способности

По заданному объему кода однозначно определяется число информационных разрядов k. Далее необходимо найти наименьшее n, обеспечивающее обнаружение или исправление ошибок заданной кратности. В случае циклического кода эта проблема сводится к нахождению нужного многочлена g(x).

Начнем рассмотрение с простейшего циклического кода, обнаруживающего все одиночные ошибки.

4.10.1 Обнаружение одиночных ошибок

Любая принятая по каналу связи кодовая комбинация h(x), возможно содержащая ошибку, может быть представлена в виде суммы по модулю два неискаженной комбинации кода f(x) и вектора ошибки ξ(x):

 

h(x) = f(x) Å ξ(x)

При делении h(x) на образующий многочлен g(x) остаток, указывающий на наличие ошибки, обнаруживается только в том случае, если многочлен, соответствующий вектору ошибки, не делится на g(x): f(x)-неискаженная комбинация кода и, следовательно, на g(x) делится без остатка.

Вектор одиночной ошибки имеет единицу в искаженном разряде и нули во всех остальных разрядах. Ему соответствует многочлен ξ(x) = xi. Последний не должен делиться на g(x). Среди неприводимых многочленов, входящих в разложении хn+1, многочленом наименьшей степени, удовлетворяющим указанному условию, является x + 1. Остаток от деления любого многочлена на x + 1 представляет собой многочлен нулевой степени и может принимать только два значения: 0 или 1. Все кольцо в данном случае состоит из идеала, содержащего многочлены с четным числом членов, и одного класса вычетов, соответствующего единственному остатку, равному 1. Таким образом, при любом числе информационных разрядов необходим только один проверочный разряд. Значение символа этого разряда как раз и обеспечивает четность числа единиц в любой разрешенной кодовой комбинации, а, следовательно, и делимость ее на xn + 1.

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

4.10.2 Исправление одиночных или обнаружение двойных ошибок

Прежде чем исправить одиночную ошибку в принятой комбинации из п разрядов, необходимо определить, какой из разрядов был искажен. Это можно сделать только в том случае, если каждой одиночной ошибке в определенном разряде соответствуют свой класс вычетов и свой опознаватель. Так как в циклическом коде опознавателями ошибок являются остатки от деления многочленов ошибок на образующий многочлен кода g(x), то g(x) должно обеспечить требуемое число различных остатков при делении векторов ошибок с единицей в искаженном разряде. Как отмечалось, наибольшее число остатков дает неприводимый многочлен. При степени многочлена m = n-k он может дать 2n-k - 1 ненулевых остатков (нулевой остаток является опознавателем безошибочной передачи).

Следовательно, необходимым условием исправления любой одиночной ошибки является выполнение неравенства

2n-k- 1³ = n,

где  - общее число разновидностей одиночных ошибок в кодовой комбинации из п символов; отсюда находим степень образующего многочлена кода

 

m = n – k ³ log2(n+1)

и общее число символов в кодовой комбинации. Наибольшие значения k и п для различных m можно найти пользуясь табл. 4.13.

Таблица 4.13.

M 1 2 3 4 5 6 7 8 9 10
N 1 3 7 15 31 63 127 255 511 1023
K 0 1 4 11 26 57 120 247 502 1013

Как указывалось, образующий многочлен g(x) должен быть делителем двучлена хn+1. Доказано, что любой двучлен типа х2m-1+ 1 = хn+1 может быть представлен произведением всех неприводимых многочленов, степени которых являются делителями числа т (от 1 до т включительно). Следовательно, для любого т существует по крайней мере один неприводимый многочлен степени т, входящий сомножителем в разложение двучлена хn+1.

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

Пример 35. Выберем образующий многочлен для случая n = 15 и m = 4.

Двучлен x15 + 1 можно записать в виде произведения всех неприводимых многочленов, степени которых являются делителями числа 4. Последнее делится на 1, 2, 4.

В таблице неприводимых многочленов находим один многочлен первой степени, а именно x+1, один многочлен второй степени x2 + x + 1 и три многочлена четвертой степени: х4 + x + 1, х4 + х3 + 1, х4 + х3 + х2 + х + 1. Перемножив все многочлены, убедимся в справедливости соотношения (х + 1)(х2 + х + 1)(х4 + х+ 1)(х4 + х3+ 1)(х4 + х3 + х2 + х + 1) = x15 + 1

Один из сомножителей четвертой степени может быть принят за образующий многочлен кода. Возьмем, например, многочлен х4 + х3 + 1, или в виде двоичной последовательности 11001.

Чтобы убедиться, что каждому вектору ошибки соответствует отличный от других остаток, необходимо поделить каждый из этих векторов на 11001.Векторы ошибок m младших разрядов имеют вид: 00…000, 00…0010, 00…0100, 00…1000.

Степени соответствующих им многочленов меньше степени образующего многочлена g(x). Поэтому они сами являются остатками при нулевой целой части. Остаток, соответствующий вектору ошибки в следующем старшем разряде, получаем при делении 00...10000 на 11001, т.е.

Аналогично могут быть найдены и остальные остатки. Однако их можно получить проще, деля на g(x) комбинацию в виде единицы с рядом нулей и выписывая все промежуточные остатки:


При последующем делении остатки повторяются.

Таким образом, мы убедились в том, что число различных остатков при выбранном g(x) равно п = 15, и, следовательно, код, образованный таким g(x), способен исправить любую одиночную ошибку. С тем же успехом за образующий многочлен кода мог быть принят и многочлен х4 + х + 1. При этом был бы получен код, эквивалентный выбранному.

Однако использовать для тех же целей многочлен х4 + х3 + x2 + х + 1 нельзя. При проверке числа различных остатков обнаруживается, что их у него не 15, а только 5. Действительно,

Это объясняется тем, что многочлен x4 + х3 + х2 + х + 1 входит в разложение не только двучлена x15+ 1, но и двучлена x5 + 1.

Из приведенного примера следует, что в качестве образующего следует выбирать такой неприводимый многочлен g(x) (или произведение таких многочленов), который, являясь делителем двучлена хп + 1, не входит в разложение ни одного двучлена типа хλ+ 1, степень которого λ меньше п. В этом случае говорят, что многочлен g(x) принадлежит показателю степени п.

В табл. 4.14 приведены основные характеристики некоторых кодов, способных исправлять одиночные ошибки или обнаруживать все одиночные и двойные ошибки.

Таблица 4.14.

Показатель неприводимого многочлена Образующий многочлен Число остатков Длина кода

2

3

3

4

4

5

5

x2 + x + 1

x3 + x + 1

x3 + x2 + 1

x4 + x3 + 1

x4 + x + 1

x5 + x2 + 1

x5 + x3 + 1

3

7

7

15

15

31

31

3

7

7

15

15

31

31

Это циклические коды Хэмминга для исправления одной ошибки, в которых в отличие от групповых кодов Хэмминга все проверочные разряды размещаются в конце кодовой комбинации.

Эти коды могут быть использованы для обнаружения любых двойных ошибок. Многочлен, соответствующий вектору двойной ошибки, имеет вид ξ(х) = хi – хj, или ξ(x) = хiji+ 1) при j>i. Так как j – i<n, a g(x) не кратен х и принадлежит показателю степени п, то ξ(x) неделится на g(x), что и позволяет обнаружить двойные ошибки.

4.10.3 Обнаружение ошибок кратности три и ниже

Образующие многочлены кодов, способных обнаруживать одиночные, двойные и тройные ошибки, можно определить, базируясь на следующем указании Хэмминга. Если известен образующий многочлен р(хт) кода длины п, позволяющего обнаруживать ошибки некоторой кратности z, то образующий многочлен g(x) кода, способного обнаруживать ошибки следующей кратности (z + 1), может быть получен умножением многочлена р(хт) на многочлен х + 1, что соответствует введению дополнительной проверки на четность. При этом число символов в комбинациях кода за счет добавления еще одного проверочного символа увеличивается до n + l.

В табл. 4.15 приведены основные характеристики некоторых кодов, способных обнаруживать ошибки кратности три и менее.

Таблица 4.15.

Показатель неприводимого многочлена Образующий многочлен Число информационных символов Длина кода

3

4

5

(x+1)(x3 + x + 1)

(x+1)(x4+ x + 1)

(x+1)(x5+ x + 1)

4

11

26

8

16

32


Информация о работе «Теория информации»
Раздел: Информатика, программирование
Количество знаков с пробелами: 229704
Количество таблиц: 44
Количество изображений: 52

Похожие работы

Скачать
63729
48
3

... порядок чередования букв формируется согласно правилам, заданным верхними иерархическими уровнями текста, то есть не «снизу вверх», а «сверху вниз». Что же касается исполь­зуемой теорией информации вероятностной функции энтропии, то она может быть использована в качестве точного математического инструмента только на нижних уровнях иерархии текста, поскольку только на этих уровнях удается найти ...

Скачать
12754
0
0

... , 1968. - 340 с.]. В связи с этим логично было бы далее предположить, что она не предполагает строго количественного эквивалента, подобно энергии или материи. Но парадокс классической теории информации именно в том и состоит, что в её основе лежит предположение Р.Хартли, согласно которому информация допускает количественную оценку [Hartley R.V.L. Transmission of Information // BSTJ.- 1928. - V.7 - ...

Скачать
88587
0
39

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

Скачать
96932
1
1

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

0 комментариев


Наверх