Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 23.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
152.23 Кб
Скачать

Разработка кода (8, 2)

Ответ на вопрос, как выбираются кодовые слова из пространства  8-кортежей, неоднозначен, хотя определенные ограничения выбора все же существуют. Ниже перечислены некоторые моменты, которые могут указать наилучшее решение.

1. Количество кодовых слов .

2. Среди кодовых слов должен быть нулевой вектор.

3. Следует учесть свойство замкнутости — сумма двух любых кодовых слов в пространстве должна давать кодовое слово из этого же пространства.

4. Каждое кодовое слово содержит 8 двоичных разрядов.

Поскольку , весовой коэффициент каждого кодового слова (за исключением нулевого) также должен быть не менее 5 (в силу свойства замкнутости). Весовой коэффициент вектора определяется как число ненулевых компонентов этого вектора.

5. Предположим, что код является систематическим; значит, 2 крайних правых бита каждого кодового слова являются соответствующими битами сообщения.

Далее предлагается вариант набора кодовых слов, удовлетворяющих всем перечисленным выше требованиям.

Сообщения Кодовые слова

00

00000000

01

11110001

10

00111110

11

11001111

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

Циклические коды

Важным подклассом линейных блочных кодов являются двоичные циклические коды. Код легко реализуется на регистре сдвига с обратной связью; на подобных регистрах сдвига с обратной связью вычисляется синдром; алгебраическая структура циклического кода естественным образом позволяет эффективно реализовать методы декодирования. Итак, линейный код (n, k) называется циклическим, если он обладает следующим свойством. Если n-кортеж  является кодовым словом в подпространстве S, тогда , полученный из U с помощью циклического сдвига, также является кодовым словом в S. Или, вообще, , полученный i циклическими сдвигами, является кодовым словом в S.

Компоненты кодового слова  можно рассматривать как коэффициенты полинома

Полиномиальную функцию можно рассматривать как "заполнитель" разрядов кодового слова , т.е. вектор n-кортежа описывается полиномом степени  или меньше. Наличие или отсутствие каких-либо членов в полиноме означает наличие 1 или 0 в соответствующем месте n-кортежа. Если -й компонент отличен от нуля, порядок полинома равен . Удобство такого полиномиального представления кодового слова станет более понятным по мере дальнейшего обсуждения алгебраических свойств циклических кодов.

Алгебраическая структура циклических кодов

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

или, умножая обе части уравнения на ,

что в модульной арифметике можно описать следующим образом.

Здесь по модулю у" означает остаток от деления х на у. Ниже справедливость выражения демонстрируется для случая i = 1

К последнему выражению прибавим и вычтем или, поскольку мы пользуемся арифметическими операциями по модулю 2, можем прибавить дважды.

Поскольку порядок равен , этот полином не делится на , можно записать следующее.

Обобщая, приходим к уравнению.

Пример 6.7. Циклический сдвиг вектора кода

Пусть U = 1 1 0 1 для n = 4. Выразите кодовое слово в полиномиальной форме и выполните третий циклический сдвиг кодового слова.

Решение

полином записан в порядке возрастания степени

, где

Разделим на и найдем остаток, используя полиномиальное деление.

X6  +  X4  +  X3

X4  +  1

X2  +  1

остаток U(3)(X)

X6                       +  X2

+  1

           X4  +  X3  +  X2

           X4                

                      X3  +  X2       +  1

Записываем остаток в порядке возрастания степеней: 1 + X2 + X3, кодовое слово U=1011 представляет собой три циклических сдвига U= 1 1 0 1. Напомним, что для двоичных кодов операция сложения выполняется по модулю 2, так что + 1 = -1, и, следовательно, в расчетах знаки "минус" не отражены.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]