Professional Documents
Culture Documents
File 4135
File 4135
Кодтау
Кодирование
t
0
Оңдық және екілік кодтар
t
0
Равномерные и неравномерные коды
n
Количество кодовых комбинаций: N 2
Единично-десятичный код
Пример
352: 0011 0101 0011
149: 0001 0100 1001
Екілік-оңдық код
Мысалы
352: 0011 0101 0011
149: 0001 0100 1001
Код Морзе
А ·– A И ·· I С ··· S Щ ––·– Q
Б –··· B К –·– K Т – T Ы –·–– Y
В ·–– W Л ·–·· L У ··– U Ю ··–– U
Г ––· G М –– M Ф ··–· F Я ·–·–
Д –·· D Н –· N Х ···· H Й ·––– J
Е · E О ––– O Ц –·–· C ЬЪ –··– X
Ж ···– V П ·––· P Ч –––· Э ··–··
З ––·· Z Р ·–· R Ш ––––
Морзе коды
1 1 1 0 1 0 1
– . .
А ·– A И ·· I С ··· S Щ ––·– Q
Б –··· B К –·– K Т – T Ы –·–– Y
В ·–– W Л ·–·· L У ··– U Ю ··–– U
Г ––· G М –– M Ф ··–· F Я ·–·–
Д –·· D Н –· N Х ···· H Й ·––– J
Е · E О ––– O Ц –·–· C ЬЪ –··– X
Ж ···– V П ·––· P Ч –––· Э ··–··
З ––·· Z Р ·–· R Ш ––––
Помехозащищенные коды
n = 1: 0 1 0
1
1
d=1
n = 2: 00 01 00 00 00 01 01 10
01 10 11 11 10 11
10 11 01 10 11 10 11 01
d=1 d=1 d=2 d=1 d=2 d=1
Кодтық қашықтық
n = 1: 0 1 0
1
1
d=1
n = 2: 00 01 00 00 00 01 01 10
01 10 11 11 10 11
10 11 01 10 11 10 11 01
d=1 d=1 d=2 d=1 d=2 d=1
Кодовые расстояния при n = 3
101 111
000
000
000
011
011 101 110 110
001 011 011 101 110 101
d=2 d=2 d=2 d=2
101 111
000
000
000
011
011 101 110 110
001 011 011 101 110 101
d=2 d=2 d=2 d=2
dmin r s 1
dmin r s 1
dmin 2
dmin 2
C52 : N = 10
11000 01010 01100 00101 00110
10010 00011 01001 10001 10100
C73 : N = 35
1010100 0101010 1110000 0000111 1001001
0010101 1101000 1011000 0110100 0101100
…
Комбинациялардағы бірліктер мен
нөлдердің тұрақты саны бар код
Кодтық комбинациялардың жалпы саны:
n!
N C nl
l !n l !
l – n ұзындығы бар сөздегі бірліктер саны.
C52 : N = 10
11000 01010 01100 00101 00110
10010 00011 01001 10001 10100
C73 : N = 35
1010100 0101010 1110000 0000111 1001001
0010101 1101000 1011000 0110100 0101100
…
Распределительный код
dmin 2
Тарату коды
dmin 2
Код с проверкой на четность
n k 1,
k – количество информационных символов
(разрядов) в кодовой комбинации.
Информационные Контрольные Кодовая
символы символы комбинация
11011 0 110110
10101 1 101011
00010 1 000101
11000 0 110000
11110 0 111100
11111 1 111111
N 2k 2n 1 d min 2
Жұптыққа тексеру коды
n k 1,
k – код комбинациясындағы ақпараттық
символдардың (разрядтардың) саны.
Ақпараттық Бақылау Кодтық
символдар символдары комбинация
11011 0 110110
10101 1 101011
00010 1 000101
11000 0 110000
11110 0 111100
11111 1 111111
N 2k 2n 1 d min 2
Код с числом единиц, кратным трем
n k 2,
k – количество информационных символов
(разрядов) в кодовой комбинации.
Информационные Контрольные Кодовая
символы символы комбинация
11011 11 1101111
10101 00 1010100
00010 11 0001011
11000 01 1100001
11110 11 1111011
11111 01 1111101
N 2k 2n 2 d min 2
Үшке еселі бірліктер саны бар код
n k 2,
k – код комбинациясындағы ақпараттық
символдардың (разрядтардың) саны.
Ақпараттық Бақылау Кодтық
символдар символдары комбинация
11011 11 1101111
10101 00 1010100
00010 11 0001011
11000 01 1100001
11110 11 1111011
11111 01 1111101
N 2k 2n 2 d min 2
Код с удвоением элементов
(корреляционный код)
Каждый элемент двоичного кода на все
сочетания передается двумя символами:
1 преобразуется в 10, а 0 – в 01.
Двоичный код на все Корреляционный код
сочетания
11011 1010011010
10101 1001100110
00010 0101011001
11000 1010010101
11110 1010101001
11111 1010101010
N 2n / 2 d min 2
Элементтердің екі еселенуімен код
(корреляциялық код)
Екілік кодтың әр элементі барлық
комбинацияларға екі таңбамен беріледі:
1 – 10-ға, ал 0 – 01-ге айналады.
Барлық комбинацияларға Корреляциялық код
екілік код
11011 1010011010
10101 1001100110
00010 0101011001
11000 1010010101
11110 1010101001
11111 1010101010
N 2n / 2 d min 2
Инверсный код
n k 2,
k – количество информационных символов
(разрядов) в кодовой комбинации.
Информационные Контрольные Кодовая
символы символы комбинация
11011 11011 1101111011
10101 01010 1010101010
00010 11101 0001011101
11000 11000 1100011000
11110 11110 1111011110
11111 00000 1111100000
N 2k 2n / 2 k 2 3 ≥4
dmin 2 3 4
Инверсиялық код
n k 2,
k – код комбинациясындағы ақпараттық
символдардың (разрядтардың) саны
Ақпараттық Бақылау Кодтық
символдар символдары комбинация
11011 11011 1101111011
10101 01010 1010101010
00010 11101 0001011101
11000 11000 1100011000
11110 11110 1111011110
11111 00000 1111100000
N 2k 2n / 2 k 2 3 ≥4
dmin 2 3 4
Коды с обнаружением и исправлением
ошибок
dmin 3
коды Хэмминга;
циклические коды;
итеративные коды.
Қателерді анықтау және түзету кодтары
dmin 3
Хэмминг кодтары;
циклдық кодтары;
итеративті кодтар.
Коды Хэмминга
2m n 1 2m k m 1
k 4 k 3 k2 k1 k4 k3 k2 m3 k1 m2 m1
Разряды двоичных m1 k1 k2 k4
чисел Сим-
волы m2 k1 k3 k4
3 2 1 кода
m3 k2 k3 k4
0 0 1 m1 Кодиро- m1 = k1 ^ k2 ^ k4
вание: m2 = k1 ^ k3 ^ k4
0 1 0 m2 m3 = k2 ^ k3 ^ k4
0 1 1 k1 Декоди- l1 = m1 ^ k1 ^ k2 ^ k4
рование: l = m ^ k ^ k ^ k
1 0 0 m3 2 2 1 3 4
l 3 = m 3 ^ k2 ^ k3 ^ k4
1 0 1 k2 l3 l2 l1 – бұрмаланған
бит номері
1 1 0 k3
Хэмминг кодтары: кодтау және декодтау
k 4 k 3 k2 k1 k4 k3 k2 m3 k1 m2 m1
Екілік сандардың m1 k1 k2 k4
разрядтары Код
симво m2 k1 k3 k4
3 2 1 лдары
m3 k2 k3 k4
0 0 1 m1 Кодтау: m1 = k1 ^ k2 ^ k4
m2 = k1 ^ k3 ^ k4
0 1 0 m2 m3 = k2 ^ k3 ^ k4
0 1 1 k1 Декодтау l1 = m1 ^ k1 ^ k2 ^ k4
: l 2 = m 2 ^ k1 ^ k3 ^ k4
1 0 0 m3
l 3 = m 3 ^ k2 ^ k3 ^ k4
1 0 1 k2 l3 l2 l1 – номер
искаженного бита
1 1 0 k3
Контрольная сумма блока данных
123 47 170
0111 1011 0010 1111 1010 1010
125 45 170
0111 1101 0010 1101 1010 1010
123 47 170
0111 1011 0010 1111 1010 1010
125 45 170
0111 1101 0010 1101 1010 1010
101101 = X5 + X3 + X2 + 1, X=2
Приводимый полином – полином, который можно
представить в виде произведения многочленов
низших степеней
Неприводимый полином – полином, который нельзя
представить в виде произведения многочленов
низших степеней
P ( X1 ) X+1 11 3
P ( X2 ) X2 + X + 1 111 7
P ( X3 ) X3 + X + 1 1011 11
P ( X3 ) X3 + X2 + 1 1101 13
P ( X4 ) X4 + X + 1 10011 19
Циклдық кодтар
101101 = X5 + X3 + X2 + 1, X=2
Келтірілетін полином – төменгі дәрежелі көпмүшелер
көбейтіндісі ретінде ұсынылатын көпмүшелік
P ( X1 ) X+1 11 3
P ( X2 ) X2 + X + 1 111 7
P ( X3 ) X3 + X + 1 1011 11
P ( X3 ) X3 + X2 + 1 1101 13
P ( X4 ) X4 + X + 1 10011 19
Сложение полиномов
1010 0110
^
0100 1111
1110 1001
Полиномдарды қосу
11100110 1010
1010 11010
1000
1010
01011
1010
0010
Полиномдарды бөлу
11100110 1010
1010 11010
1000
1010
01011
1010
0010
Метод построения циклического кода
P(X) = X + 1 → 11
G(X) = X2 + X → 0110 G(X) = X3 + X + 1 → 1011
G(X)·X1 → 01100 G(X)·X1 → 10110
01100 11 10110 11
11 0100 11 1101
0000 11
11
010
11
1
P(X) = X + 1 → 11
G(X) = X2 + X → 0110 G(X) = X3 + X + 1 → 1011
G(X)·X1 → 01100 G(X)·X1 → 10110
01100 11 10110 11
11 0100 11 1101
0000 11
11
010
11
1
P(X) = X + 1 → 11
0→00000
P(X) = X + 1 → 11
0→00000
3 2 1 0 № бита
Выдвигаемый Выровненное
бит сообщение
1 0 1 1 1 = обр. полином
1. R = 0
2. В хвостовую часть сообщения добавляется m
нулевых битов
3. Сдвиг влево на 1 бит
4. Если выдвинут бит со значением 1, R=R^P(X)
5. Если обработаны не все биты, переход к п.3
Циклдық кодты құру алгоритмі
3 2 1 0 № бита
Ұсынылған Тураланған
бит хабарлама
түзуші
1 0 1 1 1 =
полином
1. R = 0
2. Хабарламаның аяқ жағына m нөлдік бит
қосылады
3. 1 битке солға жылжу
4. Егер 1 мәні бар бит ұсынылса, R=R^P(X)
5. Егер барлық биттер өңделмесе, 3-тармаққа өтіңіз
Алгоритм построения циклического кода
1. CRC = FFFF
2. С использованием значения X очередного байта
выполняется операция CRC=CRC^X
3. Сохраняется значение младшего бита CRC:
L=CRC&1
4. CRC сдвигается вправо на 1 бит
5. Если L=1, выполняется операция CRC=CRC^A001
6. Если выполнено меньше 8 сдвигов CRC,
происходит переход к п.3
7. Если обработаны не все байты блока данных,
происходит переход к п.2
16 биттік артық циклдік кодты есептеу
алгоритмі
1. CRC = FFFF
2. Кезекті байттың X мәнін қолдана отырып,
CRC=CRC^X операция орындалады
3. Кіші биттің мәні сақталады CRC: L=CRC&1
4. CRC 1 бит оңға жылжиды
5. егер L=1, онда CRC=CRC^A001 орындалады
6. Егер CRC жылжудан 8ден кем орындалса, онда
п.3 өтіңіз
7. Егер деректер блогының барлық байттар
өңделмесе, 2-тармаққа өтіңіз