- •Ключевые слова и словосочетания к главе 1
- •1. Дискретизация сообщений
- •Общие положения о дискретизации сообщений и представлении их функциями
- •Квантование сообщений по уровню
- •Контрольные вопросы к пп. 1.1. И 1.2
- •Временная дискретизация сообщений. Спектральное и импульсное представление сигналов
- •Контрольные вопросы к п. 1.3
- •Ключевые слова и словосочетания к главе 2
- •2. Кодирование сообщений
- •2.1. Основные положения о кодировании сообщений
- •2.2. Помехоустойчивое кодирование
- •2.2.1. Процедура построения группового кода
- •1. Расчет числа информационных и избыточных разрядов.
- •2. Построение таблицы опознавателей ошибок (табл. 2.2).
- •3. Определение проверочных равенств.
- •4. Построение алгоритма кодирования.
- •2.2.2. Процесс кодирования и декодирования
- •Контрольные вопросы к пп. 2.1. И 2.2
- •2.3. Эффективное кодирование
- •Контрольные вопросы к п. 2.3
- •Список литературы
- •Оглавление
2.2.1. Процедура построения группового кода
Исходная информация для построения кода:
тип исправляемых ошибок – некоррелированные;
кратность исправляемых ошибок - S = 1;
объем кода (число кодируемых сообщений) - Q = 15.
Процедура состоит из четырех этапов.
1. Расчет числа информационных и избыточных разрядов.
Так как необходимо исправлять только однократные ошибки, то число информационных и избыточных разрядов должно определяться из соотношений
2k – 1 ≥ Q; 2n - k – 1 ≥ n; k = 4; n = 7; n - k = 3;
где k - число информационных разрядов; n - число разрядов помехоустойчивого слова; (n – k) - число избыточных разрядов;
Дополнительных разрядов в кодовом слове должно быть столько, чтобы породить нужное число запрещенных слов или классов смежности, а именно 2n - k - 1 (см. выше прямоугольную таблицу разбиений). Число классов смежности должно быть не меньше, чем число исправляемых ошибок, поэтому здесь 2n - k – 1 n.
2. Построение таблицы опознавателей ошибок (табл. 2.2).
Каждой ошибке соответствует собственный опознаватель. Если для кодов, исправляющих однократные ошибки, в качестве опознавателей однократных ошибок используют соответствующие номерам искаженных разрядов двоичные числа, то такой код называется кодом Хэмминга (1-я и 3-я колонки табл. 2.2).
Таблица 2.2
-
Векторы ошибок
Опознаватели
(данный код)
Опознаватели
(код Хэмминга)
а7
а6
а5
а4
а3
а2
а1
0
0
0
0
0
0
1
101
001
0
0
0
0
0
1
0
110
010
0
0
0
0
1
0
0
001
011
0
0
0
1
0
0
0
100
100
0
0
1
0
0
0
0
010
101
0
1
0
0
0
0
0
011
110
1
0
0
0
0
0
0
111
111
n = 7 n - k = 3
3. Определение проверочных равенств.
Проверочное равенство представляет собой одно из преобразованных уравнений алгоритма кодирования. Пусть уравнение, с помощью которого формируется содержимое некоторого избыточного разряда, включает в себя в качестве известных величин содержимое определенных информационных разрядов, которые суммируются по модулю 2. В таком случае проверка дешифратором каждого из этих уравнений сводится к проверке на четность.
Если проверка дешифратором уравнения, определяющего данный избыточный разряд, показала нарушение принятого условия (четности), то соответствующий разряд опознавателя окажется равным 1. Просмотр во второй колонке таблицы содержимого данного разряда всех опознавателей ошибок позволяет выделить номера разрядов помехоустойчивого кодового слова, в которых возможно искажение. Для разрабатываемого кода разряды опознавателя определяются следующими группами разрядов помехоустойчивого кодового слова:
1 - й (младший) - а1 а3 а6 а7;
2 - й - а2 а5 а6 а7;
3 - й - а1 а2 а4 а7
(здесь знак соответствует логическому “или”).
При отсутствии однократных ошибок в слове дешифратор вычислит нулевой опознаватель (состоящий из одних нулей - 000). Поэтому можно записать проверочные равенства дешифратора в виде следующей системы уравнений:
a
- уравнения, формирующие 1-й, 2-й и 3-й
разряды опознавателя.
a2 a5 a6 a7 = 0
a1 a2 a4 a7 = 0
При построении группового кода исправляющего, кроме однократных , ошибки большей кратности, необходимо учитывать следующее:
опознаватели всех подлежащих исправлению векторов ошибок должны быть разными;
число разрядов опознавателя ошибки должно быть по возможности меньшим, чтобы уменьшить избыточность кода;
опознаватели векторов ошибок с единицами в нескольких разрядах устанавливаются как суммы по модулю 2 опознавателей однократных ошибок в этих разрядах, поэтому для определения правил построения кода и составления проверочных равенств достаточно правильно подобрать только опознаватели однократных ошибок в каждом из разрядов;
выбирая в качестве опознавателей однократных ошибок в i-м разряде двоичную комбинацию с числом разрядов меньшим i, необходимо убедиться в том, что для всех остальных подлежащих исправлению векторов ошибок, имеющих единицы в i-м и более младших разрядах , получаются опознаватели, отличные от уже использованных.
В табл. 2.3 приведены опознаватели одиночных ошибок для кодов, исправляющих однократные и двукратные независимые ошибки вплоть до 15 разряда [1].
Таблица 2.3
N разряда |
Опознаватель |
N разряда |
Опознаватель |
N разряда |
Опознаватель |
1 |
00000001 |
6 |
00010000 |
11 |
01101010 |
2 |
00000010 |
7 |
00100000 |
12 |
10000000 |
3 |
00000100 |
8 |
00110011 |
13 |
10010110 |
4 |
00001000 |
9 |
01000000 |
14 |
10110101 |
5 |
00001111 |
10 |
01010101 |
15 |
11011011 |