Скачиваний:
139
Добавлен:
01.05.2014
Размер:
903.17 Кб
Скачать

6.7. Коды расширения и укорочения.

Одним из альтернативных путей построения новых кодов может служить метод, основывающийся на модификации известных. Существует набор простых преобразований, которые, незначительно изменяя исходный код, приводят к новому. Если новый код также оказывается линейным, то эти преобразования соответствуют незначительным изменениям порождающей матрицы . Например, можно добавить в эту матрицу столбец или строку, выбросить из нее столбец или строку, одновременно добавить или выбросить указанные элементы матрицы. Выделяют шесть основных преобразований кода, к числу которых относятся:

расширение кода – это увеличение длины кода путем добавления новых проверочных символов, что приводит к возрастанию числа столбцов порождающей матрицы;

удлинение кода – это увеличение длины кода путем добавления новых информационных символов, следствием чего является увеличение обоих размеров порождающей матрицы на одно и то же число;

выкалывание кодовых координат – это уменьшение длины кода за счет удаления проверочных символов и, следовательно, большего размера порождающей матрицы;

укорочение кода – это уменьшение длины кода путем удаления информационных символов, что приводит к уменьшению порождающей матрицы на одно и то же число по обоим размерам;

пополнение кода – это увеличение числа информационных символов без увеличения длины кода, т.е. возрастает число строк порождающей матрицы;

код с выбрасыванием – это уменьшение числа информационных символов без изменения длины кода, что приводит к снижению меньшего размера порождающей матрицы.

Рассмотрим более подробно процедуры, связанные с расширением и укорочением кода.

Расширенный код.

Любой линейный кодможет быть легко расширен до кодас параметрамипутем добавления еще одного проверочного символа, образованного за счет операции общей проверки на четность. Пусть, например,– произвольное кодовое слово исходноголинейного кода. Тогда соответствующее ему слово расширенного кодаможет быть построено по правилу, где, причем результат суммирования берется по модулю 2. Очевидно, что для любого кодового слова расширенного кода выполняется соотношение

,

и, следовательно, его вес будет четным. Тогда при нечетном кодовом расстоянии исходного кодаминимальное расстояние расширенногоувеличится на единицу, став. Таким образом, любой линейныйкод с нечетным, исправляющийошибок, может быть трансформирован в расширенныйкод, исправляющий ошибки кратностии обнаруживающий ошибки кратности. Порождающая матрицарасширенного кода будет состоять из исходной порождающей матрицыи дополнительного столбца, образованного общей проверки на четность строк.

Коды Хэмминга очень продуктивны для иллюстрации описанной выше процедуры. При минимальном весе исходного кода, равном трем, после расширения получаем код, исправляющий любую однократную и обнаруживающий любую двукратную ошибки. Примером практического применения расширенного (32,26) кода Хэмминга служит СРНСGPS NAVSTAR (США), в которой он используется при передаче цифровой информации с борта ИСЗ.

Пример 6.7.1. Ранее (см. пример 6.6.1) были построены порождающая и проверочнаяматрицы (7,4) кода Хэмминга. Применяя процедуру расширения, получаем следующие матрицы для расширенного кода:

,

где пунктирная линия отделяет исходные части матрицы от вновь полученных.

Построение матриц расширенного кода можно начать и с проверочной, добавив в исходную матрицу строку из всех единиц:

.

Различие между двумя представлениями проверочной матрицы расширенного кода Хэмминга можно устранить, если поэлементно сложить первые три строки с последней по модулю 2.

Укороченный код.

Укороченный код формируется из исходного систематического путем выбора только таких кодовых слов, в начале которых стоят нулевых символов. Поскольку нулевые символы не несут никакой информации, длину кода можно уменьшить насимволов с одновременным сокращением числа информационных символов и кодовых слов. Результирующийкод будет обладать тем же кодовым расстоянием, что и исходный. Легко показать, что порождающая матрицаукороченного кода получается из канонической матрицыисходного удалением из нее первыхстрок и столбцов.

Пример 6.7.2. Обратившись к канонической порождающей матрице (7,4) кода Хэмминга примера 6.6.1, после удаления первых двух столбцов и строк получаем каноническую порождающую матрицу (5,2) кода вида:

.

Очевидно, что, как и исходный, укороченный код исправляет любую однократную ошибку.

Соседние файлы в папке Конспект по ТОИ