![]() |
|
|
Шпаргалка: Лекции по количественной оценке информацииПо виду синдрома принятая комбинация
может быть отнесена к тому или иному смежному классу, образованному сложением
по модулю 2 кодовой комбинации Таблица 6.1 Принятая кодовая комбинация Векторы Тривиальные систематические коды.Код ХэммингаСистематические коды представляют собой такие коды, в которых информационные и корректирующие разряды расположены по строго определенной системе и всегда занимают строго определенные места в кодовых комбинациях. Систематические коды являются равномерными, т. е. все комбинации кода с заданными корректирующими способностями имеют одинаковую длину. Групповые коды также являются систематическими, но не все систематические коды могут быть отнесены к групповым. Тривиальные систематические коды могут строиться, как и
групповые, на основе производящей матрицы. Обычно производящая матрица строится
при помощи матриц единичной, ранг которой определяется числом информационных
разрядов, и добавочной, число столбцов которой определяется числом контрольных
разрядов кода. Каждая строка добавочной матрицы должна содержать не менее Код Хэмминга является типичным примером систематического кода.
Однако при его построении к матрицам обычно не прибегают. Для вычисления
основных параметров кода задается либо количество информационных символов, либо
количество информационных комбинаций Затем определяют значения контрольных коэффициентов (0 или 1), руководствуясь следующим правилом: сумма единиц на контрольных позициях должна быть четной. Если эта сумма четна, то значение контрольного коэффициента - 0, в противном случае - 1. Проверочные позиции выбираются следующим образом: составляется таблица для ряда натуральных чисел в двоичном коде. Число строк таблицы Первой строке соответствует
проверочный коэффициент Если в принятом коде есть ошибка, то результаты проверок по контрольным позициям образуют двоичное число, указывающее номер ошибочной позиции. Исправляют ошибку, изменяя символ ошибочной позиции на обратный. Для исправления одиночной и обнаружения двойной ошибки, кроме проверок по контрольным позициям, следует проводить еще одну проверку на четность для каждого кода. Чтобы осуществить такую проверку, следует к каждому коду в конце кодовой комбинации добавить контрольный символ таким образом, чтобы сумма единиц в полученной комбинации всегда была четной. Тогда в случае одной ошибки проверки по позициям укажут номер ошибочной позиции, а проверка на четность укажет наличие ошибки. Если проверки позиций укажут на наличие ошибки, а проверка на четность не фиксирует ошибки, значит в коде две ошибки Циклические коды Циклические коды [4, 6, 7, 9, 12, 13] названы так потому, что в них часть комбинаций кода либо все комбинации могут быть получены путем циклического сдвига одной или нескольких комбинаций кода. Циклический сдвиг осуществляется справа налево, причем крайний левый символ каждый раз переносится в конец комбинации. Циклические коды, практически[13], все относятся к систематическим кодам, в них контрольные и информационные разряды расположены на строго определенных местах. Кроме того, циклические коды относятся к числу блочных кодов. Каждый блок (одна буква является частным случаем блока) кодируется самостоятельно. Идея построения циклических кодов базируется на использовании неприводимых в поле[14] двоичных чисел многочленов. Неприводимыми называются многочлены, которые не могут быть представлены в виде произведения многочленов низших степеней с коэффициентами из того же поля, так же, как простые числа не могут быть представлены произведением других чисел. Иными словами, неприводимые многочлены делятся без остатка только на себя или на единицу. Неприводимые многочлены в теории циклических кодов играют роль образующих (генераторных, производящих) многочленов. Если заданную кодовую комбинацию умножить на выбранный неприводимый многочлен, то получим циклический код, корректирующие способности которого определяются неприводимым многочленом. Предположим, требуйся закодировать одну из комбинаций
четырехзначного двоичного кода. Предположим также, что эта комбинация - Это делается для того, чтобы впоследствии на месте этих нулей можно было бы записать корректирующие разряды. Значение корректирующих разрядов находят по результату
от деления или Таким образом, или в общем виде
где Так как в двоичной арифметике Таким образом, выражение (75) можно записать как
что в случае нашего примера даст или Многочлен 1101001 и есть искомая комбинация, где 1101 - информационная часть, а 001 - контрольные символы. Заметим, что искомую комбинацию мы получили бы и как в результате умножения одной из комбинаций полного четырехзначного двоичного кода (в данном случае 1111) на образующий многочлен, так и умножением заданной комбинации на одночлен, имеющий ту же степень, что и выбранный образующий многочлен (в нашем случае таким образом была получена комбинация 1101000) с последующим добавлением к полученному произведению остатка от деления этого произведения на образующий многочлен (в нашем примере остаток имел вид 001). Таким образом, мы уже знаем два способа образования комбинаций линейных систематических кодов, к которым относятся и интересующие нас циклические коды. Эти способы явились теоретическим основанием для построения кодирующих и декодирующих устройств. Шифраторы циклических кодов, в
том или ином виде, построены по принципу умножения двоичных многочленов.
Кодовые комбинации получаются в результате сложения соседних комбинаций по
модулю два, что, как мы увидим ниже, эквивалентно умножению первой комбинации
на двучлен Итак, комбинации циклических
кодов можно представлять в виде многочленов, у которых показатели степени Циклический сдвиг кодовой комбинации аналогичен умножению соответствующего многочлена на х: Если степень многочлена
достигает разрядности кода, то происходит «перенос» в нулевую степень при
т. е. существует принципиальная возможность получения любой кодовой комбинации циклического кода путем умножения соответствующим образом подобранного образующего многочлена на некоторый другой многочлен. Однако мало построить
циклический код. Надо уметь выделить из него возможные ошибочные разряды, т. е.
ввести некоторые опознаватели ошибок, которые выделяли бы ошибочный блок из
всех других. Так как циклические коды - блочные, то каждый блок должен иметь
свой опознаватель. И тут решающую роль играют свойства образующего многочлена С другой стороны, остатки от деления единицы с нулями на образующий многочлен используются для построения циклических кодов (возможность этого видна из выражения (76)). При делении единицы с нулями на образующий многочлен следует помнить, что длина остатка должна быть не меньше числа контрольных разрядов, поэтому в случае нехватки разрядов в остатке к остатку приписывают справа необходимое число нулей. Например, начиная с восьмого, остатки будут повторяться. Остатки от деления используют
для построения образующих матриц, которые, благодаря своей наглядности и
удобству получения производных комбинаций, получили широкое распространение для
построения циклических кодов. Построение образующей матрицы сводится к
составлению единичной транспонированной и дополнительной матрицы, элементы
которой представляют собой остатки от деления единицы с нулями на образующий
многочлен Однако не все остатки от деления
единицы с нулями на образующий многочлен могут быть использованы в качестве
элементов дополнительной матрицы. Использоваться могут лишь те остатки, вес
которых Строки образующей матрицы представляют собой первые комбинации искомого кода. Остальные комбинации кода получаются в результате суммирования по модулю 2 всевозможных сочетаний строк образующей матрицы[16]. Описанный выше метод построения образующих матриц не является единственным. Образующая матрица может быть построена в результате непосредственного умножения элементов единичной матрицы на образующий многочлен. Это часто бывает удобнее, чем нахождение остатков от деления. Полученные коды ничем не отличаются от кодов, построенных по образующим матрицам, в которых дополнительная матрица состоит из остатков от деления единицы с нулями на образующий многочлен. Образующая матрица может быть
построена также путем циклического сдвига комбинации, полученной в результате
умножения строки единичной матрицы ранга В заключение предлагаем еще один метод построения циклических кодов. Достоинством этого метода является исключительная простота схемных реализации кодирующих и декодирующих устройств. Для получения комбинаций
циклического кода в этом случае достаточно произвести циклический сдвиг строки
образующей матрицы и комбинации, являющейся ее зеркальным отображением. При
построении кодов с Число ненулевых комбинаций, получаемых в результате суммирования по модулю 2 всевозможных сочетаний строк образующей матрицы,
где Число ненулевых комбинаций, получаемых в результате циклического сдвига любой строки образующей матрицы и зеркальной ей комбинации,
где При числе информационных
разрядов Ошибки в циклических кодах обнаруживаются и исправляются при помощи остатков от деления полученной комбинации на образующий многочлен. Остатки от деления являются опознавателями ошибок, но не указывают непосредственно на место ошибки в циклическом коде. Идея исправления ошибок
базируется на том, что ошибочная комбинация после определенного числа
циклических сдвигов “ подгоняется ” под остаток таким образом, что
в сумме с остатком она дает исправленную комбинацию. Остаток при этом
представляет собой не что иное, как разницу между искаженными и правильными
символами, единицы в остатке стоят как раз на местах искаженных разрядов в
подогнанной циклическими сдвигами комбинации. Подгоняют искаженную комбинацию
до тех пор, пока число единиц в остатке не будет равно числу ошибок в коде. При
этом, естественно, число единиц может быть либо равно числу ошибок Место ошибки в кодовой
комбинации не имеет значения. Если Построение и декодирование конкретных циклических кодовI.
Коды,
исправляющие одиночную ошибку, 1. Расчет соотношения между контрольными и информационными символами кода производится на основании выражений (59) - (69). Если задано число информационных
разрядов Общее число символов кода Если задана длина кода Соотношение числа контрольных и
информационных символов для кодов с 2. Выбор образующего многочлена производится по таблицам неприводимых двоичных многочленов. Образующий многочлен 3. Выбор параметров единичной
транспонированной матрицы происходит из условия, что число столбцов
(строк) матрицы определяется числом информационных разрядов, т. е. ранг
единичной матрицы равен 4. Определение элементов дополнительной матрицы производится по остаткам от деления последней строки транспонированной матрицы (единицы с нулями) на образующий многочлен. Полученные остатки должны удовлетворять следующим требованиям: а) число разрядов каждого
остатка должно быть равно числу контрольных символов |
|
|||||||||||||||||||||||||||||
![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |