
гуменюк / Код 1
.docКод 1.
Часть 1: построение кода.
Исходная информация для построения кода:
- тип исправляемых ошибок – некоррелированные;
- код – алгебраический групповой;
- кратность исправляемых ошибок – S=1;
- объём кода – Q=19.
1. Расчёт числа информационных разрядов.
2k-1≥Q
2k≥Q+1|lg2
k≥lg2(Q+1)
k=lg2(19+1)
k=5
2. Расчёт числа дополнительных разрядов.
2n-k-1≥n
n=9
m=n-k=9-5=4
3. Построение таблицы опознавателей ошибок.
Векторы ошибок |
Опознаватели |
|||||||||||
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
4 |
3 |
2 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
4. Построение проверочных равенств.
a1 v a2 v a3 v a6=0
a2 v a4 v a6 v a7 v a9=0
a3 v a4 v a6 v a7 v a8=0
a5 v a6=0
a1 + a2 + a3 + a6=0
a2 + a4 + a6 + a7 + a9=0 проверочные
a3 + a4 + a6 + a7 + a8=0 равенства
a5 + a6=0
5. Построение алгоритма кодирования
a1 = a2 + a3 + a6
a9=a2 + a4 + a6 + a7 алгоритм
a8=a3 + a4 + a6 + a7 кодирования
a5= a6
6. Кодирующая таблица.
Входное слово |
Слово на выходе кодера |
||||||||||||
5 |
4 |
3 |
2 |
1 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
Часть 2: моделирование процесса кодирования,
передачи и декодирования в условиях помех.
1. Передача без помех.
канал связи
декодер
кодер
00101 010001011 010001011 00101
2. Вектор ошибки однократный
кодер
канал связи
декодер
01100 100111001 100011001 01100
Искажение помехой:
100111001
+
000100000 – вектор ошибки
100011001 – запрещённое кодовое слово
Декодирование:
- вычисление опознавателя ошибки:
1+0+0+0=1 (первый разряд)
0+1+0+0+0=1 (второй разряд)
0+1+0+0+0=1 (третий разряд)
1+0=1 (четвёртый разряд)
1111 (опознаватель ошибки) – 000100000 (вектор ошибки)
- исправление ошибки:
000011001 – запрещённое слово
+
000100000 – вектор ошибки
000111001 – разрешённое слово
На выходе декодера - 01100.
3. Вектор ошибки иной, ошибка только обнаружена.
кодер
канал связи
декодер
01111 110111111 001010111 ошибка
Искажение помехой:
110111111
+
111101000 – вектор ошибки
001010111 – запрещённое кодовое слово
Декодирование:
- вычисление опознавателя ошибки:
1+1+1+0=1 (первый разряд)
1+0+0+1+0=0 (второй разряд)
1+0+0+1+0=0 (третий разряд)
1+0=1 (четвёртый разряд)
1001 (опознаватель ошибки) – отсутствует в таблице.
На выходе декодера – ошибка.
4.Ошибка не исправлена и не обнаружена.
кодер
канал связи
декодер
10010 101000101 110000110 00011 – не верное
слово
Искажение помехой:
101000101
+
011000011 – вектор ошибки
110000110 – запрещённое кодовое слово
Декодирование:
- вычисление опознавателя ошибки:
0+1+1+0=0 (первый разряд)
1+0+0+0+1=0 (второй разряд)
1+0+0+0+1=0 (третий разряд)
0+0=0 (четвёртый разряд)
0000 (опознаватель ошибки) – ошибка не обнаружена
На выходе декодера – 00011 – не верное слово.