
- •Глава 1
- •Введение
- •Структура системы передачи цифровой информации
- •Основные понятия и определения
- •1.4 Геометрическая интерпретация кодирования и декодирования
- •Линейные блоковые коды
- •1.6. Таблица декодирования
- •1.7. Предельные возможности блоковых кодов
- •Глава 2 элементы алгебры
- •2.1. Поле
- •2.2 Вычет
- •2.3. Идеал
- •2.4. Корни полинома
- •Глава 3 циклические коды
- •3.1. Построение циклических кодов
- •3.2 Код Хэмминга
- •3.3. Коды бчх
- •Глава 4 схемы кодирования и декодирования циклических кодов
- •4.1. Линейные переключательные схемы
- •4.2 Схемы кодирования для циклических кодов
- •1 2 K2 k1 2 1 Рис. 4.14. Схемы кодирования для кода бчх (15,7)
- •4.3. Декодирование циклических кодов
1.6. Таблица декодирования
Таблица декодирования, или стандартное расположение кода, используется, как правило, для теоретического анализа кодов.
Разберем построение таблицы декодирования на примере кода (7,3) (см. соотношение (1.12)).
Все
кодовые комбинации записываются в одну
строку, причем первым слева записывается
нулевой вектор. Таким образом, всего в
первой строке располагаются
слов
.
. .
(1.18)
Затем
под
записывается кодовая комбинация
которую наиболее вероятно получить из
,
т.е. комбинация с 1 на какой- то позиции
(см. табл. 1.3). Но комбинации
не
должна входить в уже записанные слова
,
это должна – новая комбинация. Во второй
столбец записывается
и
т.д. Так в первом столбце перебираются
все комбинации с весом
Затем в первый столбец записываются
слова с весом
и т.д. Так надо упорядочить все
кодовых комбинаций. Табл. 1.3- это таблица
декодирования для кода (7,3). Строки такой
таблицы называются смежными классами,
а векторы в первом столбце – образующими
смежных классов.
Ранее
(см.раздел 1.3) продемонстрировано, как
подобную таблицу использовать для
декодирования. По полученному вектору
V
будет
правильно декодирован вектор U,
если вектор [V-U]
является образующим смежного класса,
т.е.
Очевидно, что декодирование с помощью
таблицы очень громоздко и требует
большого объема памяти. [2]
Задача декодирования облегчается при использовании проверочной матрицы Н.
Известно, что все векторы, принадлежащие коду, удовлетворяют условию
Если вектор V не принадлежит коду, то в результате умножения получится вектор, отличный от нуля, с n-k компонентами.
Например,
,
Пусть,
т.е.
,
Произведение
называется синдромом.
Таблица 1.3
0000000 0000001 0000010 0000100 0001000 0010000 0100000 1000000 0000011 0000110 0001100 0011000 0000101 0001001 0100001 1000011
|
1001101 1001100 1001111 1001001 1000101 1011101 1101101 0001101 1001110 1001011 1000001 1010101 1001000 1000100 1101100 0001110 |
0101011 0101010 0101001 0101111 0100011 0111011 0001011 1101011 0101000 0101101 0100111 0110011 0101110 0100010 0001010 1101000 |
0010111 0010110 0010101 0010011 0011111 0000111 0110111 1010111 0010100 0010001 0011011 0001111 0010010 0011110 0110110 1010100 |
1100110 1100111 1100100 1100010 1101110 1110110 1000110 0100110 1100101 1100000 1101010 1111110 1100011 1101111 1000111 0100101 |
0111100 0111101 0111110 0111000 0110100 0101100 0011100 1111100 0111111 0111010 0110000 0100100 0111001 0110101 0011101 1111111 |
1011010 1011011 1011000 1011110 1010010 1001010 1111010 0011010 1011001 1001100 1010110 1000010 1011101 1010011 1111011 0011001 |
1110001 1110000 1110011 1110101 1111001 1100001 1010001 0110001 1110010 1110111 1111101 1101001 1110100 1111000 1010000 0110011 |
Если
V=U,
то синдром равен нулю; если же V
U,
то синдром отличен от нуля. Два вектора
принадлежат одному смежному классу, если их синдромы равны. Докажем это положение.
Пусть
.
Соответствующие синдромы равны
=
+
=
;
Но
,
следовательно,
,
т.е.
и
принадлежат одному смежному классу.
Таким образом, синдром однозначно
определяет образующий вектор смежного
класса. Используя это свойство, можно
предложить следующий порядок декодирования:
Вычисление синдрома s=V ;
Определение образующего Е по синдрому s;
Вычисление переданного кодового слова
U=V+E
При
такой процедуре памяти должно содержаться
векторов (по числу смежных классов).
Однако и это значение очень велико для
кодов с большой избыточностью. Поэтому
желательно использовать такие коды, в
которых декодирование и исправление
ошибок производится автоматически, а
не с помощью таблиц. Такие методы
рассмотрены в гл. 3.