Читайте также:
|
|
1. Определим кодовое расстояние d в зависимости от требуемого числа обнаруживаемых ошибок r или исправляемых – s: d = r +s+1=2s+1=3.
2. Приняв в качестве исходного двоичный код (ДК), определим число информационных разрядов m по требуемому количеству кодовых комбинаций N
m = log2N = log27=3.
3. Определим количество контрольных символов k –
k= log2 [ (m+1)+ log2(m+1) ] = log2 [ (3+1)+ log2(3+1) ] =3
и длину кодовой комбинации n –
n=m+k=3+3=6.
4. Соберём двоичные кодовые комбинации f(x) с числом разрядов m=3 в информационную матрицу – 001, 010, 011, 100, 101, 110, 111.
5. По найденным d=3 и k=3 выбираем из таблицы генераторный полином G(x)=x3+x+1 ® g(x)=1011.
6. Умножая двоичные кодовые комбинаций f(x) информационной матрицы на генераторный полином g(x), получаем комбинации корректирующего циклического кода.
Первая, вторая и четвертая комбинации ДК после умножения на g(x) и дополнения справа нулями до 6-разрядной комплектности дают три комбинации циклического кода
001 × 1011 =1011 ® 001011 (а1);
010 × 1011 =10110 ® 010110 (а2);
100 × 1011 =101100 ® 101100 (а4).
Остальные – также результат перемножения f(x) × g(x), например, а3 и a5. Аналогично составляются комбинации а6 и a7
В результате получаем полную матрицу заданного циклического кода.
·Каждую принятую комбинацию a(g) перед декодированием делят на генераторный полином. Если принята неискаженная комбинация, например, a1,частное от деления a(g)/g(x)= q(х) соответствует f(x) без остатка. В случае одиночной ошибки
остаток r(x) > 0, покажет наличие искажения. Разрядность остатка r(x) на единицу меньше разрядности полинома g(x).
Предположим, принята комбинация a(g) = 101011. Разделив ее на g(x), получим остаток r(x) = 1112 =710, Он указывает на ошибку, но не определяет явно номер искаженного разряда.
Справа от матрицы приведены результаты расчета остатков r(x) при искажении в соответствующих комбинациях одной из позиций, начиная со старшего 6-го разряда.
Для любой комбинации при ошибке на одной и той же позиции остатки всегда одинаковы. Следовательно, они могут использоваться как опознаватели искаженных позиций.
В принятой комбинации r(x) =1112= r6 указывает на ошибку в старшем разряде, исправив которую, установим, что передавалась кодовая комбинация a1 = 001011.
·Для нахождения всех опознавателей ошибок достаточно выполнить соответствующие расчеты r(x) для любой одной комбинации составленного кода.
Полную матрицу опознавателей – выделенную верхнюю строку – можно получить и до составления кодовых комбинаций.
Применительно к рассмотренному примеру для этого следует разделить на генераторный полином 6-раз-рядные комбинации из нулей, но с одной единицей на искажаемой позиции. Практически все трехразрядные остатки можно получить за один расчет ® ® ®
· 2 способ.В качестве информационной необязательно использовать безизбыточный двоичноый код, можно выбрать матрицу комбинаций трёхразрядного единичного кода «1 из N» (т ´ т). Умножив их на генераторный полином g(x), получим три 6-разрядных комбинации с циклической перестановкой g(x)=1011. Они составляют образующую матрицу кор-ректирующего циклического кода (затонирована).
Остальные комбинации получим полусложением их в разных сочетаниях – см. например, а1 Å а2 = a4, и а1 Å а2 Å a3 = а7. ® ® ®
Аналогично найдём а1 Å а3 = a5, и а2 Å а3 = a6.
Выводы из рассмотренных вариантов кодов
Дата добавления: 2015-07-08; просмотров: 117 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Наибольший показатель степени х слагаемого с ненулевым коэффициентом определяет степень l полинома. | | | При разных исходных информационных матрицах получили один и тот же комплект кодовых комбинаций, имеются незначительные различия в размещении одних и тех же комбинаций в матрицах. |