Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
13.2 ЛИНЕЙНЫЕ ГРУППОВЫЕ КОДЫВ практике построения надежных средств вычислительной техники широкое распространение находят линейные групповые коды, отличающиеся достаточно просто реализуемыми функциями декодирования и несложным способом задания. Понятие линейных групповых кодов базируется на некоторых положениях математической теории групп. Первоначально ознакомимся с ними. Понятие группыОпределение. Группой Аксиома замкнутости. Выбранная бинарная операция может быть применена к любым двум элементам группы, ваятых в определенном порядке. Результат операции также является элементом группы. Аксиома ассоциативности. Если выбранная операция есть вложение, то для любых трех элементов
Если выбранная операция есть умножение, то для любых трех элементов
Аксиома единичного элемента. В группе существует единственный единичный элемент. Если выбранная операция есть сложение, то единичный элемент обозначается как 0 и определяется соотношением
где а — любой элемент группы, включая и единичный. Если выбранная операция есть умножение, то единичный элемент обозначается как 1 и определяется соотношением
Аксиома обратного элемента. Каждый элемент группы, кроме единичного, обл а дает единственным обратным элементом. Если выбранная операция есть сложение, то элемент, обратный элементу а группы, обозначается
Если выбранная операция есть умножение, то элемент, обратный элементу а, обозначается
Определение. Группа называется аддитивной, если в качестве операции группы используется операция сложения. Определение. Группа называется абелевой или коммутативной, если элементы группы удовлетворяют коммутативному закону, т. е. равенству а Определение. Группа, состоящая из конечного числа элементов, называется конечной. В теории помехоустойчивого кодирования используют понятие конечной коммутативной аддитивной группы. При этом в качестве групповой операции выбирается операция суммы по модулю 2, а элементами группы являются двоичные векторы. Порядок выполнения операции в таких группах значения не имеет. В дальнейшем, до особой оговорен» иости, под словом «сумма» будем везде понимать операцию суммы по модулю 2. Пример. Задано множество Для решения задачи достаточно проверить выполнение аксиом группы. Проверка аксиомы вамкнутости:
Результат операции всегда является элементом группы, следовательно, аксиома вамкнутости выполняется. Проверка аксиомы ассоциативности;
Результаты операции не аависят от места расположения скобок. Следовательно, аксиома ассоциативности выполняется. Проверка аксиомы единичного элемента. Очевидно, единичным элементом является 0, так как
т. е. выполняется соотношение для единичного элемента. Проверка аксиомы обратного элемента. Для каждого элемента множества
Представляется возможность показать самостоятельно справедливость следующих утверждений: 1. Множество 2. Множество Понятно линейного группового кодаОпределение. Линейным групповым кодом называется конечная аддитивная коммутативная группа Линейные групповые коды могут быть заданы двумя способами перечислением векторов; матричным представлением. Матричное представление позволяет компактно описывать линейные коды большой мощности и однозначно задавать процедуру их декодирования. Перед заданием линейных кодов в матричной форме введем некоторые определения. Определение. Линейно-независимыми двоичными векторами
где Максимальный набор линейно-независимых двоичных векторов образует порождающую матрицу некоторого кода. Любой вектор кода, не принадлежащий матрице, может быть получен как сумма некоторого числа векторов порождающей матрицы. Рассмотрим матрицу
Векторы, принадлежащие этой матрице, — линейно-независимы, т. е. матрица является порождающей матрицей некоторого кода Остальные векторы получаются суммированием векторов из порождающей матрицы. Пронумеруем векторы порождающей матрицы сверху вниз в порядке возрастания номеров. Тогда все векторы кода имеют
Таким образом код содержит семь векторов: три вектора принадлежат порождающей матрице, остальные векторы образованы как линейные комбинации векторов порождающей матрицы. Если код, порождаемый матрицей, определен как группа, то вектор Линейные групповые коды обычно задаются порождающей матрицей, представленной в так называемой левой канонической форме
где Так как единичная матрица 0 определяет мощность Пусть линейный групповой код задан своей порождающей матрицей
Определим все векторы кода и его мощность. Так как формат единичной матрицы (3 X 3), то мощность линейного кода равна
Минимальное расстояние линейного группового кода 1. Выписать все векторы линейного группового кода. 2. Для каждого ненулевого вектора найти его вес в смысле Хэмминга. Минимальный вес ненулевого вектора и равен Справедливость алгоритма вытекает из принадлежности нулевого вектора линейному групповому коду. Действительно, расстояние в смысле Хэмминга между нулевым вектором и вектором с минимальным числом единиц определяет В соответствии с рассмотренным алгоритмом определим кода
Так как минимальный вес в смысле Хэмминга
Порождающую матрицу группового линейного кода длины 1. Все векторы порождающей матрицы должны быть различны и линейно-независимы. 2. Нулевой вектор не должен входить в число векторов порождающей матрицы. 3. Каждый вектор 4. Расстояние в смысле Хэмминга между любыми двумя векторами Проверочная часть порождающей матрицы (матрица Р) строится в соответствии со следующими правилами: 1. Вес в смысле Хэмминга каждого проверочного вектора должен удовлетворять соотношению
2 Вес проверочною вектора 4, являющегося суммой по модулю 2 двух любых проверочных векторов, должен удовлетворять соотношению
Порождающая матрица линейного кода, построенная в соответствии с приведенными рекомендациями, должна быть проверена на соответствие полученного кода требуемой обнаруживающей и корректирующей способности. Для этого по полученной матрице выписываются все векторы линейного кода и находится Приведем рекомендации по построению линейного группового кода заданной мощности с заданной обнаруживающей (корректирующей) способностью (без ограничения на общую длину кода). Такая задача достаточно часто возникает при разработке средств вычислительной техники повышенной надежности. 1. Если Р — требуемая мощность линейного кода 2. Любой проверочный столбец порождающей матрицы формируется как сумма по модулю 2 некоторого числа ее информационных столбцов. При этом любой информационный столбец должен присутствовать в качестве компоненты суммы хотя бы для организации одного проверочного столбца. 3. Каждый вектор 4. Кодовое расстояние в смысле Хэмминга между двумя любыми векторами
5. Для проверки правильности получения кода по построенной порождающей матрице следует выписать все векторы и определить Построим порождающую матрицу линейного кода мощностью 16 и обнаруживающей способностью Так как
Для определения структуры проверочной части порождающей матрицы воспользуемся остальными рекомендациями для построения кода. Очевидно, вес любого вектора Таблица 13.3
Таблица 13.4
Очевидно, вектор
В полученной матрице каждый вектор имеет вес матрицы следующим образом!
либо добавим еще один проверочный столбец, образовав его как сумму второго и третьего информационных столбцов порождающей матрицы. Имеем
Полученные матрицы удовлетворяют всем требованиям. Однако необходимо проверить образованные коды на обнаруживающую способность. Для этого выписываем все векторы кодов (табл. 13.3, 13.4). Как следует из таблиц, оба кода имеют Декодирование линейных групповых кодовДля декодирования линейных кодов, т. е. для обнаружения ошибок заданной кратности, возникающих в векторе линейного кода, необходимо построить аналитическое соотношение, устанавливающее связь между информационными и проверочными разрядами линейного кода. При отсутствии ошибок в векторе это соотношение, очевидно, должно обращаться в тождество. Имея такое соотношение, легко построить схему, сигнализирующую о появлении ошибок в векторах кода. Задача вывода такого соотношения может быть поставлена так; задана порождающая матрица линейного группового кода, представленная в левой канонической форме; для любого вектора линейного кода необходимо записать аналитическое выражение любого проверочного разряда этого вектора через известные информационные. Решение задачи можно произвести следующим образом. Как известно, любой вектор линейного кода образуется в результате суммирования некоторых векторов его порождающей матрицы. Для упрощения объяснения в порождающей матрице
информационные разряды любого вектора обозначим буквами а с соответствующими индексами, а проверочные разряды — буквами некоторого вектора линейного кода удовлетворяет соотношению
или
где Выбрать проверочный столбец Построим уравнения декодирования для линейных кодов, заданных
и уравнения декодирования для кода, представленного матрицей
В силу справедливости преобразования
Очевидно, векторы Выявление необнаруживаемых линейными кодами ошибокС точки зрения аппаратного контроля средств вычислительной техники желательно знать максимальную способность рассматриваемого линейного кода к обнаружению всех возможных ошибок (произвольной кратности). Последнее особенно важно при аппаратном контроле средств вычислительной техники, реализованных на интегральных схемах повышенной степени интеграции из-за доминирования кратных ошибок на выводах корпусов таких интегральных схем. Оказывается, что линейные коды с известным минимальным расстоянием
Построим специальную матрицу ошибок М, содержащую все векторы одиночных ошибок. Здесь и далее под вектором ошибки будем понимать вектор, единичные компоненты которого есть компоненты, искаженные ошибкой. Таким образом, вектор одиночной ошибки имеете только одну единичную компоненту. Очевидно, матрица
Единица в разряде
найдем значение вектора синдрома
Очевидно, матрица значение синдромов для случая искажения информационных разрядов значение синдромов для случая искажения проверочных разрядов
Все варианты необнаруживаемых линейными кодами ошибок легко установить, используя матрицу ошибок М. Как известно, отсутствие ошибок в векторе линейного кода характеризуется наличием нулевого синдрома. Ненулевой синдром — признак ошибки в векторе кода. Для рассматриваемого случая каждый вектор одиночнойошибки имеет ненулевой синдром. Следовательно, приводимый линейный код обнаруживает любую однократную ошибку. Любой вектор двухкратной ошибки может быть получен суммированием двух векторов однократной ошибки, а синдром вектора двухкратной ошибки — суммированием соответствующих синдромов векторов однократной ошибки. Напомним, что везде выполняется операция суммы по модулю 2. Очевидно, двухкратная ошибка не будет обнаружена в случае появления нулевого синдрома. Производя последовательные суммирования векторов однократной ошибки и находя соответствующие синдромы, получаем матрицу
Как следует из матрицы М, рассматриваемый линейный код обнаруживает все двухкратные ошибки, так как каждому вектору двухкратной ошибки соответствует ненулевой синдром. Матрицы ошибок большей кратности строятся аналогично (например, для получения матрицы Тривиальные линейные групповые кодыК тривиальным линейным групповым кодам можно отнести коды с обнаружением однократной ошибки. Порождающая матрица таких кодов содержит только один проверочный столбец, образуемый суммой по модулю 2 всех ее информационных столбцов. Такие коды на практике известны как коды с одной проверкой по четности. Функция их декодирования представляет собой сумму по модулю 2 всех разрядов вектора кода и известна как свертка по модулю 2. Построим линейный групповой код с обнаружением однократной ошибки, мощностью 16. Очевидно, порождающая матрица требуемого кода содержит 4 информационных разряда.
Уравнение декодирования единственное и имеет вид
Очевидно, проверочный разряд каждого вектора такого кода принимает единичное значение в случае, если число единиц в информационном векторе нечетно. Исправление ошибок с помощью линейных групповых кодовИсправление ошибок осуществляется по виду ненулевого вектора синдрома. Для линейных кодов, исправляющих
исправляющего однократные ошибки, матрица однократных ошибок
В соответствии с матрицей Коды с простым повторениемЭти коды являются представителем линейных групповых кодов. Проверочные разряды в порождающей матрице такого кода дублируют информационные разряды. Код с простым повторением имеет минимальное расстояние в смысле Хэмминга Пример. Построить коде простым повторением мощности 8, Порождающая матрица С такого кода имеет вид
Уравнения, определяющие процедуру декодирования, имеют вид
Очевидно, декодирование кода с простым повторением сводится к сравнению проверочных и информационных разрядов. Коды с малой плотностью проверок на четностьКоды с малой плотностью проверок на четность относятся к линейным групповым кодам с простой процедурой декодирования. Порождающая матрица таких кодов содержит малое число единиц. Поэтому уравнения, определяющие процедуру декодирования, имеют простой вид. Описание кодов с малой плотностью проверок на четность обычно производится с помощью так называемой проверочной матрицы Я, которая может быть получена из порождающей матрицы по следующим правилам:
где Пример. По заданной порождающей матрице
Очевидно, матрица
Коды с малой плотностью проверок на четность обычно обозначаются как Условие существования такого кода с 1. Каждая из 2. Каждый из Из первого условия следует, что общее количество
Так как
Полученное неравенство является верхней границей для Построим код о малой плотностью проверок на четность при условии, что
Следовательно,
Отсюда порождающая матрица
Полученный код имеет матрице
|
1 |
Оглавление
|