
гуменюк / Код 2
.docКод 2.
Часть 1: построение кода.
Исходная информация для построения кода:
- тип исправляемых ошибок – некоррелированные;
- код – алгебраический групповой;
- кратность исправляемых ошибок – S=1;
- объём кода – Q=17.
1. Расчёт числа информационных разрядов.
2k-1≥Q
2k≥Q+1|lg2
k≥lg2(Q+1)
k=lg2(17+1)
k=5
2. Расчёт числа дополнительных разрядов.
2n-k-1≥n n|-n=1
n=9
n|=10
m=n|-k=10-5=5
3. Построение таблицы опознавателей ошибок.
Векторы ошибок |
Опознаватели |
|||||||||||||
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
4. Построение проверочных равенств.
a1 v a2 v a4 v a8 v a9 =0
a2 v a3 v a4 v a8 v a9=0
a5 v a6 v a8 v a9=0
a6 v a7 v a9=0
a4 v a6 v a9 v a10=0
a1 + a2 + a4 + a8 + a9 =0
a2 + a3 + a4 + a8 + a9=0
a5 + a6 + a8 + a9=0 проверочные
a6 + a7 + a9=0 равенства
a4 + a6 + a9 + a10=0
5. Построение алгоритма кодирования
a1=a2 + a4 + a8 + a9
a3=a2 + a4 + a8 + a9
a5=a6 + a8 + a9 алгоритм
a7=a6 + a9 кодирования
a10 =a4 + a6 + a9
6. Кодирующая таблица.
Входное слово |
Слово на выходе кодера |
|||||||||||||
5 |
4 |
3 |
2 |
1 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
Часть 2: моделирование процесса кодирования,
передачи и декодирования в условиях помех.
1. Передача без помех.
канал связи
декодер
кодер
01100 1011100101 1011100101 01100
2. Вектор ошибки однократный
канал связи
декодер
кодер
01111 0011101111 0001101111 01111
Искажение помехой:
0011101111
+
0010000000 – вектор ошибки
0001101111 – запрещённое кодовое слово
Декодирование:
- вычисление опознавателя ошибки:
1+1+1+0+0=1 (первый разряд)
1+1+1+0+0=1 (второй разряд)
0+1+0+0=1 (третий разряд)
1+1+0=0 (четвёртый разряд)
1+1+0+0=0 (пятый разряд)
00111 (опознаватель ошибки) – 0010000000 (вектор ошибки)
- исправление ошибки:
0001101111 – запрещённое слово
+
0010000000 – вектор ошибки
0011101111 – разрешённое слово
На выходе декодера - 01111.
3. Вектор ошибки иной, ошибка только обнаружена.
канал связи
декодер
кодер
11000 1111000000 1101110100 ошибка
Искажение помехой:
1111000000
+
0010110100 – вектор ошибки
1101110100 – запрещённое кодовое слово
Декодирование:
- вычисление опознавателя ошибки:
0+0+0+0+1=1 (первый разряд)
0+1+0+0+1=0 (второй разряд)
1+1+0+1=1 (третий разряд)
1+1+1=1 (четвёртый разряд)
0+1+1+1=1 (пятый разряд)
11101 (опознаватель ошибки) – отсутствует в таблице.
На выходе декодера – ошибка.
4.Ошибка не исправлена и не обнаружена.
канал связи
декодер
кодер
10011 0101011111 1101010010 10001 – не
верное
слово
Искажение помехой:
0101011111
+
1000001101 – вектор ошибки
1101010010 – запрещённое кодовое слово
Декодирование:
- вычисление опознавателя ошибки:
0+1+0+0+1=0 (первый разряд)
1+0+0+0+1=0 (второй разряд)
1+0+0+1=0 (третий разряд)
0+1+1=0 (четвёртый разряд)
0+0+1+1=0 (пятый разряд)
00000 (опознаватель ошибки) – ошибка не обнаружена
На выходе декодера – 10001 – не верное слово.