Количественная оценка информации
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: ответы, діяльність реферат
| Добавил(а) на сайт: Лагутов.
Предыдущая страница реферата | 2 3 4 5 6 7 8 9 10 11 12 | Следующая страница реферата
Неприводимые многочлены в теории циклических кодов играют роль образующих
(генераторных, производящих) многочленов. Если заданную кодовую комбинацию
умножить на выбранный неприводимый многочлен, то получим циклический код, корректирующие способности которого определяются неприводимым многочленом.
Предположим, требуйся закодировать одну из комбинаций четырехзначного двоичного кода. Предположим также, что эта комбинация - [pic]. Пока не обосновывая свой выбор, берем из таблицы неприводимых многочленов (табл. 2, приложение 9) в качестве образующего многочлен [pic]. Затем умножим [pic] на одночлен той же степени, что и образующий многочлен. От умножения многочлена на одночлен степени п степень каждого члена многочлена повысится на [pic], что эквивалентно приписыванию [pic] нулей со стороны младших разрядов многочлена. Так как степень выбранного неприводимого многочлена равна трем, то исходная информационная комбинация умножается на одночлен третьей степени:
[pic]
Это делается для того, чтобы впоследствии на месте этих нулей можно было
бы записать корректирующие разряды.
Значение корректирующих разрядов находят по результату от деления [pic]
на [pic]:
[pic] [pic] или
[pic]
Таким образом,
[pic] или в общем виде
[pic] (75) где [pic] - частное, a [pic] - остаток от деления [pic] на [pic].
Так как в двоичной арифметике [pic], а значит, [pic], то можно при сложении двоичных чисел переносить слагаемые из одной части равенства в другую без изменения знака (если это удобно), поэтому равенство вида [pic] можно записать и как [pic] и как [pic]. Все три равенства в данном случае означают, что либо [pic] и [pic] равны 0, либо а и [pic] равны 1, т. е. имеют одинаковую четность.
Таким образом, выражение (75) можно записать как
[pic] (76) что в случае нашего примера даст
[pic] или
[pic]
Многочлен 1101001 и есть искомая комбинация, где 1101 - информационная
часть, а 001 - контрольные символы. Заметим, что искомую комбинацию мы
получили бы и как в результате умножения одной из комбинаций полного
четырехзначного двоичного кода (в данном случае 1111) на образующий
многочлен, так и умножением заданной комбинации на одночлен, имеющий ту же
степень, что и выбранный образующий многочлен (в нашем случае таким образом
была получена комбинация 1101000) с последующим добавлением к полученному
произведению остатка от деления этого произведения на образующий многочлен
(в нашем примере остаток имел вид 001).
Таким образом, мы уже знаем два способа образования комбинаций линейных
систематических кодов, к которым относятся и интересующие нас циклические
коды. Эти способы явились теоретическим основанием для построения
кодирующих и декодирующих устройств.
Шифраторы циклических кодов, в том или ином виде, построены по принципу
умножения двоичных многочленов. Кодовые комбинации получаются в результате
сложения соседних комбинаций по модулю два, что, как мы увидим ниже, эквивалентно умножению первой комбинации на двучлен [pic].
Итак, комбинации циклических кодов можно представлять в виде многочленов, у которых показатели степени [pic] соответствуют номерам разрядов, коэффициенты при х равны 0 или 1 в зависимости от того, стоит 0 или 1 в
разряде кодовой комбинации, которую представляет данный многочлен.
Например,
[pic]
Циклический сдвиг кодовой комбинации аналогичен умножению
соответствующего многочлена на х:
[pic]
Если степень многочлена достигает разрядности кода, то происходит
«перенос» в нулевую степень при [pic]. В шифраторах циклических кодов эта
операция осуществляется путем соединения выхода ячейки старшего разряда со
входом ячейки нулевого разряда. Сложение по модулю 2 любых двух соседних
комбинаций циклического кода эквивалентно операции умножения многочлена
соответствующего комбинации первого слагаемого на многочлен [pic] если
приведение подобных членов осуществляется по модулю 2:
[pic] [pic]
т. е. существует принципиальная возможность получения любой кодовой комбинации циклического кода путем умножения соответствующим образом подобранного образующего многочлена на некоторый другой многочлен.
Однако мало построить циклический код. Надо уметь выделить из него
возможные ошибочные разряды, т. е. ввести некоторые опознаватели ошибок, которые выделяли бы ошибочный блок из всех других. Так как циклические коды
- блочные, то каждый блок должен иметь свой опознаватель. И тут решающую
роль играют свойства образующего многочлена [pic]. Методика построения
циклического кода такова, что образующий многочлен принимает участие в
образовании каждой кодовой комбинации, поэтому любой многочлен циклического
кода делится на образующий без остатка. Но без остатка делятся только те
многочлены, которые принадлежат данному коду, т. е. образующий многочлен
позволяет выбрать разрешенные комбинации из всех возможных. Если же при
делении циклического кода на образующий многочлен будет получен остаток, то
значит либо в коде произошла ошибка, либо это комбинация какого-то другого
кода (запрещенная комбинация), что для декодирующего устройства не имеет
принципиальной разницы. По остатку и обнаруживается наличие запрещенной
комбинации, т. е. обнаруживается ошибка. Остатки от деления многочленов
являются опознавателями ошибок циклических кодов.
С другой стороны, остатки от деления единицы с нулями на образующий
многочлен используются для построения циклических кодов (возможность этого
видна из выражения (76)).
При делении единицы с нулями на образующий многочлен следует помнить, что
длина остатка должна быть не меньше числа контрольных разрядов, поэтому в
случае нехватки разрядов в остатке к остатку приписывают справа необходимое
число нулей. Например,
[pic][pic]
начиная с восьмого, остатки будут повторяться.
Остатки от деления используют для построения образующих матриц, которые, благодаря своей наглядности и удобству получения производных комбинаций, получили широкое распространение для построения циклических кодов.
Построение образующей матрицы сводится к составлению единичной
транспонированной и дополнительной матрицы, элементы которой представляют
собой остатки от деления единицы с нулями на образующий многочлен
[pic][15]. Напомним, что единичная транспонированная матрица представляет
собой квадратную матрицу, все элементы которой - нули, кроме элементов, расположенных по диагонали справа налево сверху вниз (в нетранспонированной
матрице диагональ с единичными элементами расположена слева направо сверху
вниз). Элементы дополнительной матрицы приписываются справа от единичной
транспонированной матрицы.
Однако не все остатки от деления единицы с нулями на образующий многочлен
могут быть использованы в качестве элементов дополнительной матрицы.
Использоваться могут лишь те остатки, вес которых [pic] где [pic] -
минимальное кодовое расстояние. Длина остатков должна быть не менее
количества контрольных разрядов, а число остатков должно равняться числу
информационных разрядов.
Строки образующей матрицы представляют собой первые комбинации искомого
кода. Остальные комбинации кода получаются в результате суммирования по
модулю 2 всевозможных сочетаний строк образующей матрицы[16].
Описанный выше метод построения образующих матриц не является
единственным. Образующая матрица может быть построена в результате
непосредственного умножения элементов единичной матрицы на образующий
многочлен. Это часто бывает удобнее, чем нахождение остатков от деления.
Полученные коды ничем не отличаются от кодов, построенных по образующим
матрицам, в которых дополнительная матрица состоит из остатков от деления
единицы с нулями на образующий многочлен.
Образующая матрица может быть построена также путем циклического сдвига
комбинации, полученной в результате умножения строки единичной матрицы
ранга [pic] на образующий многочлен.
В заключение предлагаем еще один метод построения циклических кодов.
Достоинством этого метода является исключительная простота схемных
реализации кодирующих и декодирующих устройств.
Для получения комбинаций циклического кода в этом случае достаточно
произвести циклический сдвиг строки образующей матрицы и комбинации, являющейся ее зеркальным отображением. При построении кодов с [pic], [pic],
[pic] число комбинаций, получаемых суммированием по модулю 2 всевозможных
сочетаний строк образующей матрицы, равно числу комбинаций, получаемых в
результате циклического сдвига строки образующей матрицы и зеркальной ей
комбинации. Однако этот способ используется для получения кодов с малым
числом информационных разрядов. Уже при [pic] число комбинаций, получаемых
в результате циклического сдвига, будет меньше, чем число комбинаций, получаемых в результате суммирования всевозможных сочетаний строк
образующей матрицы.
Число ненулевых комбинаций, получаемых в результате суммирования по
модулю 2 всевозможных сочетаний строк образующей матрицы,
[pic] (77) где [pic] - число информационных разрядов кода[17].
Число ненулевых комбинаций, получаемых в результате циклического сдвига любой строки образующей матрицы и зеркальной ей комбинации,
[pic]
Рекомендуем скачать другие рефераты по теме: научный журнал, деньги реферат.
Категории:
Предыдущая страница реферата | 2 3 4 5 6 7 8 9 10 11 12 | Следующая страница реферата