Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Приложения теории информации к задачам радиотехники. Учебное пособие
.pdf
2.7. Построение группового кода
1010010
§·
¨¸
1001011
¨¸
G
4,7
¨¸
0011001
¨¸
1011100
©¹
.
Решение. Используем свойство группового кода, заключающееся в
том, что если складывать строки матрицы по 2, 3,…, то вновь будем получать кодовые комбинации, принадлежащие этому коду. Проделывая эту
процедуру многократно с исходной матрицей, получим
1000101
§·
¨¸
0100011
¨¸
G
4,7
¨¸
0010111
¨¸
0001110
©¹
.
Пример 39. Пусть задана образующая матрица
1000101
§·
¨¸
0100011
¨¸
G
4,7
¨¸
0010111
¨¸
0001110
©¹
и кодовая комбинация E = 0110. Определить контрольные элементы и
сформировать кодовую комбинацию группового кода. Построить проверочную матрицу.
Решение. Определяем контрольные элементы, используя подмат-
рицу контрольных элементов:
01 10 11 01 1,
c
uuuu
1
0 0 11 11 01 0,
c
u uu u
2
01 11 11 0 0 0.
c
uuu u
3
Тогда кодовая комбинация группового кода E = 0110100.
Поскольку
HQI
mn mn
T
|,|
,,
, то в нашем случае проверочная матрица
имеет вид
1011100
§·
¨¸
H
0111010
4,7
¨¸
¨¸
1110001
©¹
.
131

2. Кодирование информации
Пример 40. Построить корректирующий код, который будет пере-
давать 34 сообщения и обнаруживать две ошибки. Закодировать в спроектированном коде сообщение, соответствующее десятичному числу 12.
Решение. Число информационных символов кода определим по
формуле
@>
.
634log2 m
Поскольку код должен обладать свойствами только обнаружения
двух ошибок (т.е. r = 2), то определения кодового расстояния используем
формулу (61)
.
3321
min
t rd
d = 3 – нечетное, поэтому для определения числа контрольных сим-
волов используем формулу (61). Поиск осуществляем в соответствии с
итерационной процедурой, начиная с k = 1:
при k = 1, n = m + k = 6 + 1 = 7:
13
2
i
72
i
0
1
i
¦¦
72
0
i
1
0
CCCC
7
72
2
371loglogloglog1
t
,
1 ≥ 3 – неравенство не выполняется;
при k = 2, n = m + k = 6 + 2 = 8:
13
2
i
82
0
i
1
i
¦¦
72
0
i
1
0
CCCC
8
82
t
2
17,381loglogloglog2
,
2 ≥ 3,17 – неравенство не выполняется;
при k = 3, n = m + k = 6 + 3 = 9:
13
2
i
92
0
i
1
i
¦¦
92
0
i
1
0
CCCC
9
92
2
t
32,391loglogloglog3
,
3 ≥ 3,32 – неравенство не выполняется;
при k = 4, n = m + k = 6 + 4 = 10:
13
2
i
92
i
0
1
i
¦¦
102
i
0
1
0
CCCC
10
102
2
46,3101loglogloglog4
t
,
4 ≥ 3,46 – неравенство выполняется.
132

2.7. Построение группового кода
Итерационную процедуру прекращаем, следовательно, число контрольных символов k = 4. Образующая матрица должна содержать 6 строк
(по числу информационных символов) и 10 столбцов (по общему количеству символов передаваемого сообщения n = m + k = 6 + 4 = 10). Матрицу
запишем в каноническом виде, она будет содержать единичную квадратную матрицу размерности 6u6 и подматрицу контрольных элементов размерности 6u4. Построим шестнадцать комбинаций простого кода (2k =
4
= 16), выберем любые шесть, удовлетворяющие условиям построения
= 2
матрицы R
контрольных элементов, а именно вес кодовой комбинации
6,4
должен быть не менее чем d – 1 = 3 – 1 = 2, а отличаться между собой кодовые комбинации должны не менее чем в d – 2 = 3 – 2 = 1 разрядах.
Образующая матрица группового кода (10, 6) имеет следующий вид:
0011
1101
0101
0110
1001
1010
.
10,6
100000
010000
001000
G
000100
000010
000001
Образующая матрица полностью задает групповой код.
Требуется сформировать кодовую комбинацию, соответствующую
десятичному числу 12 в разработанном коде. Переведем 12 в двоичный
код – это 1100. Поскольку в коде 6 информационных разрядов, то доба-
вим слева нули, т.е. информационная часть кодовой комбинации будет
E = 001100. Контрольные символы сформируем на основании соотношения (65), т.е.
перемножим информационные разряды на элементы кон-
трольной подматрицы образующей матрицы:
c
=0u00u11u01u00u10u1= 0,
1
c
=0u00u11u11u10u00u0= 0,
2
c
=0u10u01u01u10u00u1= 1,
3
c
=0u10u11u11u00u10u0= 1.
4
В разработанном групповом коде окончательно кодовая комбинация для передачи по каналу связи будет следующая: E* = 0011000011.
Пример 41. Построить матрицу группового кода, способного исправ-
лять одиночную ошибку при передаче 16 символов первичного алфавита.
133

2. Кодирование информации
Решение. Поскольку необходимо передавать 16 различных сообще-
ний, соответствующих 16 символам первичного алфавита, поэтому количество информационных разрядов равно
@>
2
. Зная, что код
416log
m
должен исправлять одиночную ошибку, для определения кодового расстояния используем формулу (59)
.
311212
min
t sd
d = 3 – нечетное, поэтому для определения числа контрольных сим-
волов используем формулу (61). Поиск осуществляем в соответствии с
итерационной процедурой, начиная с k = 1:
при k = 1, n = m + k = 4 + 1 = 5:
13
2
i
52
0
i
1
i
¦¦
52
0
i
1
0
CCCC
5
52
2
t
58,251loglogloglog1
,
1 ≥ 2,58 – неравенство не выполняется;
при k = 2, n = m + k = 4 + 2 = 6:
1
¦
i
i
62
0
1
0
CCC
6
62
2
t
81,261logloglog2
,
2 ≥ 2,81 – неравенство не выполняется;
при k = 3, n = m + k = 4 + 3 = 7:
1
¦
i
i
72
0
1
0
CCC
7
72
2
371logloglog3
t
,
3 ≥ 3 – неравенство выполняется.
Итерационную процедуру прекращаем, следовательно, число контрольных символов k = 6. Образующая матрица должна содержать 4 строки и 7 столбцов. Матрицу запишем в каноническом виде, в качестве строк
контрольной подматрицы будем брать трехзначные двоичные комбинации с весом не менее чем d – 1 = 3 – 1 = 2, и отличающихся
между собой
не менее чем в d – 2 = 3 – 2 = 1 разрядах. Благодаря таким параметрам
кода можно построить несколько вариантов образующей матрицы:
1110001
или
G
7,4
0110010
1010100
G
7,4
1101000
1110001
,
1000010
0110100
1011000
134

2.7. Построение группового кода
1111000
0110100
1010010
1100001
7,4
G
или
.
Пример 42. Постройте корректирующий код (образующую и про-
верочную матрицу), который будет передавать 29 сообщений, обнаруживать 2 ошибки и исправлять 1 ошибку.
Решение. Определяем число информационных символов кода
log 29 5m
@>
2
. Из формулы кодового расстояния определяем, что
12114drst
. Поскольку d – четное, то для определения числа
контрольных символов используем формулу
2
d
2
1log 1log 1log
kC CCC
t
ii
¦¦
21 21 211
nnnn
00
ii
1
01
.
при k = 1 – условие
1 1 log 1 log 1 5 1 log 6 1 2.58 3.58CCt
01
25 5 2 2
не выполняется,
при k = 2 – условие
2 1 log 1 log 1 6 1 log 7 3.81CCt
01
26 6 2 2
не выполняется,
при k = 3 – условие
3 1 log 1 log 1 7 1 log 8 4CCt
01
27 7 2 2
не выполняется,
при k = 4 – условие
4 1 log 1 log 1 8 1 log 9 4.17CCt
01
28 8 2 2
не выполняется,
при k = 5 – условие
5 1 log 1 log 1 9 1 log 10 4.32CCt
01
29 9 2 2
выполняется.
Следовательно, получили код (10, 5). Построим образующую матрицу, в которой подматрица контрольных элементов должна быть выбрана таким образом, чтобы вес каждой строки был не менее d – 1 =
= 4 – 1 = 3, а две любые строки отличались друг от друга не менее чем в
d – 2 = 4 – 2 = 2 разрядах.
135

2. Кодирование информации
1000011100
§·
¨¸
0100001110
¨¸
¨¸
G
0010000111
5,10
¨¸
0001010101
¨¸
¨¸
0000110011
©¹
.
Пример 43. Построить код для передачи 25 сообщений, который
будет обнаруживать и исправлять одну ошибку.
Решение. Поскольку методика построения групповых кодов де-
тально продемонстрирована в примерах 40–42, то приведем в данном случае только результаты, а промежуточные расчеты предлагается выполнить самостоятельно. Таким образом при М = 25, m = 5, s = 1, r = 1, d
= 3.
Число контрольных разрядов k = 4.
Образующая и проверочная матрицы имеют вид:
100000011
01000011 0
G
00100011 1
5,9
00010100 1
00001110 0
,
0001 11000
0110 10100
H
4,9
1110 00010
1011`00001
.
Пример 44. Сформировать все кодовые комбинации группового
кода, заданного производящей матрицей
1110001
.
G
7,4
0110010
1010100
1101000
Решение. В порождающей матрице четыре строки, следовательно,
кодовые комбинации будут содержать m = 4 информационных разрядов и
k = 7 – 4 = 3 контрольных разрядов. При m = 4 число возможных инфор-
4
мационных комбинаций равно 2
= 16:
1) 0000 5) 0010 9) 0001 13) 0011
2) 1000 6) 1010 10) 1001 14) 1011
3) 0100 7) 0110 11) 0101 15) 0111
4) 1100 8) 1110 12) 1101 16) 1111.
136

2.7. Построение группового кода
110
110
101
111
000
110
101
011
Находим последовательно корректирующие разряды всех информационных комбинаций путем суммирования по модулю 2 тех строк подматрицы контрольных символов, номера которых совпадают с номерами
разрядов, содержащих единицы в информационной части кода. Приведенная ниже процедура показывает процесс формирования контрольных
символов и иллюстрирует особенности структуры групповых кодов:
111
1) 000 2) 111 3) 110 4)
011
100
111
5) 101 6)
111
101
010
7)
011
8)
101
110
011
101
001
9) 011 10)
13)
14)
101
110
011
111
11) 110 12)
110
001
15)
16)
111
100
001
111
011
101
110
111
Окончательно все кодовые комбинации заданного группового кода
имеют следующий вид:
1) 0000000 5) 0010101 9) 0001011 13) 0011110
2) 1000111 6) 1010010 10) 1001100 14) 1011001
3) 0100110 7) 0110011 11) 0101110 15) 0111000
4) 1100001 8) 1110100 12) 1101100 16) 1111111.
Пример 45. Групповой код задан проверочной матрицей
000111000
§·
¨¸
011010100
¨¸
H
4,9
¨¸
111000010
¨¸
101110001
©¹
.
137

2. Кодирование информации
Записать уравнения для формирования контрольных элементов.
Применить к принятой кодовой комбинации E* систему проверочных соотношений и определить, имеется ли в E* ошибка:
1) E* = 11010 1001; 2) E* = 00111 0011.
Решение. Уравнения для формирования контрольных элементов:
bbc
451
bbbc
2352
bbb c
1233
bbb b c
13454
0,
0,
0,
0.
Результаты проверок следующие:
1) для E* = 11010 1001 2) для E* = 00111 0011
1011,
d
1
10001,
d
2
d
110 00,
3
d
101011;
4
1100,
d
1
01100,
d
2
d
00110,
3
d
011110.
4
В первом случае D = 1101, код фиксирует наличие ошибки, во вто-
ром случае D = 0000 – ошибки нет.
Тот же результат можно получить, если умножить E* на транспо-
нированную проверочную матрицу.
Пример 46. Известно, что в кодовой комбинации E*, принадлежа-
щей групповому коду, заданному проверочной матрицей Н
, содержится
2,3
ошибка. Определить, достаточно ли корректирующей способности кода,
чтобы исправить ошибку.
010111000
§·
¨¸
011010100
¨¸
H
4,9
¨¸
111000010
¨¸
101110001
©¹
1) E* = 110011101;
2) E* = 001100111.
Решение. Для этого необходимо умножить принятую кодовую ком-
бинацию на транспонированную проверочную матрицу и проверить совпадение синдрома ошибки со строкой полученной матрицы. Если совпа-
138

2.7. Построение группового кода
дения есть, то определяем номер разряда, в котором произошла ошибка,
если нет, то код не может исправить ошибку.
0011
§·
¨¸
1110
¨¸
¨¸
Транспонируем матрицу
0011
§·
¨¸
1110
1)
|110011101 | |1101 |
¨¸
¨¸
0111
¨¸
1001
¨¸
¨¸
u
1101
¨¸
1000
¨¸
¨¸
0100
¨¸
0010
¨¸
¨¸
0001
©¹
0111
¨¸
1001
¨¸
T
¨¸
H
1101
4,9
¨¸
1000
¨¸
¨¸
0100
¨¸
0010
¨¸
¨¸
0001
©¹
, есть совпадение с 5-й строкой
.
транспонированной матрицы, следовательно, код может исправить ошибку (ошибка произошла в 5-м разряде);
0011
§·
¨¸
1110
2)
| 011100101| | 0101|
¨¸
¨¸
0111
¨¸
1001
¨¸
¨¸
u
1101
¨¸
1000
¨¸
¨¸
0100
¨¸
0010
¨¸
¨¸
0001
©¹
, совпадений нет, следовательно,
код не может исправить такую ошибку.
Пример 47. Групповой (7, 4)-код задан порождающей матрицей:
139

2. Кодирование информации
1000011
0100101
G
7,4
0010110
.
0001111
Учитывая связь элементов порождающей и проверочной матриц,
представленных в канонической форме, имеем
H
7,4
0111100
1011010.
1101001
Проиллюстрируем способность разработанного (7, 4)-кода исправлять одиночные ошибки. Пусть передаваемая кодовая комбинация
v (7, 4)-кода образована путем сложения первой, второй и четвертой строк
матрицы G
, тогда v = 1101001.
7,4
Предположим, что при передаче по каналу произошла ошибка в
третьем разряде кодовой комбинации v. В этом случае на приемной стороне канала будет получена кодовая комбинация v' = 1111001. Умножим
принятую кодовую комбинацию на транспонированную проверочную
T
матрицу
:
H
7,4
001
101
110
11110 01 ||11 0||
u
111
.
100
010
001
Отличие от нуля синдрома ошибки свидетельствует о том, что произошла ошибка. Чтобы определить, в каком разряде кодовой комбинации
T
произошла ошибка, проверим, с какой строкой матрицы
совпадает
H
7,4
синдром. Как видим, он совпадает с третьей строкой. Отсюда следует, что
ошибка произошла в третьем разряде кодовой комбинации. В декодирующих устройствах систем передачи информации результат перемножения
принятой кодовой комбинации на проверочную матрицу (синдром ошиб-
140
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
