Популярные статьи | |
Сейчас на сайте | Гостей: 9
На сайте нет зарегистрированных пользователей
Пользователей: 9,955
новичок: Logyattella
|
|
2.4.7.3 Исправление одиночных и обнаружение двойных ошибок |
Для того, чтобы исправить одиночную ошибку в принятой комбинации из n разрядов, необходимо определить, какой из разрядов был искажён. Это можно сделать в том случае, если каждой одиночной ошибке соответствует свой опознаватель. Так как в циклическом коде опознавателями ошибок являются остатки от деления многочленов на образующий многочлен кода g(x), то g(x) должен обнаруживать требуемое число различных остатков. При степени многочлена m = n – k, он может дать 2n-k – 1 ненулевых остатков (нулевой остаток является опознавателем безошибочной передачи). Необходимым условием исправления одиночной ошибки является выполнение неравенства:
, (2.4.22)
где Сn - общее число разновидностей одиночных ошибок в кодовой комбинации из n символов.
Находим степень образующего многочлена кода:
. (2.4.23)
Образующий многочлен g(x) должен быть делителем двучлена х4 + 1. Допустим, что многочлен типа х2m-1 + 1 = хn + 1 может быть представлен произведением всех неприводимых в матрице многочленов, степени которых являются делителями числа m (от 1 до m включительно). Тогда для любого m существует по крайней мере один неприводимый многочлен степени m, входящий сомножителем в разложение двучлена х4 + 1. Наибольшие значения k и n рассчитываются и сведены в таблицу 2.4:
Таблица 2.4
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
Пример: Выберем образующий многочлен для случая n=15 и m=4. двучлен х15+1 можно записать в виде произведение всех неприводимых многочленов, степени которых являются делителями числа 4(1,2,4).
x+1
x2+x+1
x4+x+1
x4+x3+1
x4+x3+x2+x+1
В таблице неприводимых многочленов находим: один из сомножителей четвёртой степени может быть принят за образующий многочлен кода. Возьмём х4+х3+1, или 11001. Чтобы убедиться, что каждому вектору ошибки соответствует отличный от других остаток, необходимо поделить каждый из этих векторов на 11001. таким образом можно убедиться, что число различных остатков при выбранном g(x) равно 15 и, следовательно, код, образованный таким образом, способен исправить любую одиночную ошибку. однако не все многочлены могут быть использованы в качестве g(x). Некоторые использовать нельзя по той причине, что они могут входить не только в разложения х15+1, но и других двучленов, например: х5+1. таким образом, в качестве образующего следует выбирать такой многочлен g(x), который является делителем двучлена хn+1, но не входит в разложение ни одного двучлена типа х+1, где
Таблица 2.5
Показатель
неприводимого
многочлена Образующий многочлен Число
остатков Длина
кода
2 х2+х+1 3 3
3 х3+х+1 7 7
3 х3+х2+1 7 7
4 х4+х3+1 15 15
4 х4+х+1 15 15
5 х5+х2+1 31 31
5 х5+х3+1 31 31
|
|
Комментарии |
Добавить комментарий |
Пожалуйста залогиньтесь для добавления комментария.
|
Рейтинги |
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
|
|
Гость |
Вы не зарегистрированны? Нажмите здесь для регистрации.
Забыли пароль? Запросите новый здесь.
|
Мини-чат | Вам необходимо залогиниться.
Нет присланных сообщений.
|
|