Помехоустойчивое кодирование

Содержание

Слайд 2

КОД ГРЕЯ при n = 4 0000, 0001, 0011, 0010, 0110,

КОД ГРЕЯ

при n = 4

0000, 0001, 0011, 0010, 0110, 0111, 0101,

0100, 1100, 1101, 1111, 1110, 1010, 1011, 1001, 1000
Слайд 3

КОД ГРЕЯ кодовый диск с двоичной кодировкой кодовый диск с кодировкой кодом Грея

КОД ГРЕЯ

кодовый диск с двоичной кодировкой

кодовый диск с кодировкой кодом Грея

Слайд 4

КОНТРОЛЬ ЧЕТНОСТИ/НЕЧЕТНОСТИ Пример. Переслать код 011101012

КОНТРОЛЬ ЧЕТНОСТИ/НЕЧЕТНОСТИ

Пример. Переслать код 011101012

Слайд 5

КОД ДЖОНСОНА КОД «1 из m»

КОД ДЖОНСОНА

КОД «1 из m»

Слайд 6

Пример 1. Кодовое расстояние между «кодом 1» и «кодом 2» равно

Пример 1. Кодовое расстояние между «кодом 1» и «кодом 2» равно

1.

Пример 2. Кодовое расстояние между «кодом 1» и «кодом 2» равно 2.

КОД ХЭММИНГА

Слайд 7

КОД ХЭММИНГА Правило расчета кодового расстояния При n=3 Кодовое расстояние =1

КОД ХЭММИНГА

Правило расчета кодового расстояния

При n=3

Кодовое расстояние =1

000, 001, 010, 011,

100, 101, 110, 111

001, 010, 100 , 111

Кодовое расстояние =2

(000, 011, 101 , 110)

010, 101

(000, 001, 011, 100, 110 , 111)

Кодовое расстояние =3

Слайд 8

КОД ХЭММИНГА Для четырехбитного кода Условие 1. Это условие будет выполняться

КОД ХЭММИНГА

Для четырехбитного кода

Условие 1. Это условие будет выполняться при N=7:

Условие

2. Определяем местоположение информационных и контрольных битов в коде.
Слайд 9

Условие 3. Определяем логические выражения для вычисления контрольных битов. Для этого

Условие 3. Определяем логические выражения для вычисления контрольных битов. Для этого

построим таблицу.

КОД ХЭММИНГА

Для четырехбитного кода

Слайд 10

Значения контрольных разрядов: С1=М1⊕М2⊕М4; С2=М1⊕М3⊕М4; С3=М2⊕М3⊕М4. Проверка правильности принятого кода приемником:

Значения контрольных разрядов:
С1=М1⊕М2⊕М4;
С2=М1⊕М3⊕М4;
С3=М2⊕М3⊕М4.
Проверка правильности принятого кода приемником:
С11=С1⊕М1⊕М2⊕М4;
С12=С2⊕М1⊕М3⊕М4;
С13=С3⊕М2⊕М3⊕М4.

КОД ХЭММИНГА

Для четырехбитного кода

Слайд 11

КОД ХЭММИНГА Для семибитового кода Условие 1. Это условие будет выполняться

КОД ХЭММИНГА

Для семибитового кода

Условие 1. Это условие будет выполняться при N=11:

Условие

2. Определяем местоположение информационных и контрольных битов в коде.
Слайд 12

КОД ХЭММИНГА Для семибитового кода Условие 3. Определяем логические выражения для

КОД ХЭММИНГА

Для семибитового кода

Условие 3. Определяем логические выражения для вычисления контрольных

битов. Для этого построим таблицу.
Слайд 13

Значения контрольных разрядов: С1=М1⊕М2⊕М4⊕М5⊕М7; С2=М1⊕М3⊕М4⊕М6⊕М7; С3=М2⊕М3⊕М4; С4=М5⊕М6⊕М7. Проверка правильности принятого кода

Значения контрольных разрядов:
С1=М1⊕М2⊕М4⊕М5⊕М7;
С2=М1⊕М3⊕М4⊕М6⊕М7;
С3=М2⊕М3⊕М4;
С4=М5⊕М6⊕М7.
Проверка правильности принятого кода приемником:
С11=С1⊕М1⊕М2⊕М4⊕М5⊕М7;
С12=С2⊕М1⊕М3⊕М4⊕М6⊕М7;
С13=С3⊕М2⊕М3⊕М4;
С14=С4⊕М5⊕М6⊕М7.

КОД ХЭММИНГА

Для семибитового кода

Слайд 14

Пример. В канал связи нужно передать следующий блок информации: 11012. Передатчик

Пример. В канал связи нужно передать следующий блок информации: 11012.

Передатчик формирует

код Хэмминга:

С1=М1⊕М2⊕М4=1⊕0⊕1=0;
С2=М1⊕М3⊕М4=1⊕1⊕1=1;
С3=М2⊕М3⊕М4=0⊕1⊕1=0,
тогда код, передаваемый в канал, будет:

Слайд 15

Случай, когда не было ошибки при передаче кода. Приемник проверяет правильность передачи кода: С11=С1⊕М1⊕М2⊕М4=0⊕1⊕0⊕1=0; С12=С2⊕М1⊕М3⊕М4=1⊕1⊕1⊕1=0; С13=С3⊕М2⊕М3⊕М4=0⊕0⊕1⊕1=0.

Случай, когда не было ошибки при передаче кода.

Приемник проверяет правильность передачи

кода:

С11=С1⊕М1⊕М2⊕М4=0⊕1⊕0⊕1=0;
С12=С2⊕М1⊕М3⊕М4=1⊕1⊕1⊕1=0;
С13=С3⊕М2⊕М3⊕М4=0⊕0⊕1⊕1=0.

Слайд 16

Случай, когда была ошибка при передаче кода. Приемник проверяет правильность передачи

Случай, когда была ошибка при передаче кода.

Приемник проверяет правильность передачи кода:

С11=С1⊕М1⊕М2⊕М4=0⊕0⊕0⊕1=1;
С12=С2⊕М1⊕М3⊕М4=1⊕0⊕1⊕1=1;
С13=С3⊕М2⊕М3⊕М4=0⊕0⊕1⊕1=0.

0112

ошибка

в бите № 3
Слайд 17

Пример. В канал связи нужно передать следующий блок информации: 11010102. Передатчик

Пример. В канал связи нужно передать следующий блок информации: 11010102.

Передатчик формирует

код Хэмминга:

С1=М1⊕М2⊕М4⊕М5⊕М7=0⊕1⊕1⊕0⊕1=1;
С2=М1⊕М3⊕М4⊕М6⊕М7=0⊕0⊕1⊕1⊕1=1;
С3=М2⊕М3⊕М4=1⊕0⊕1=0;
С4=М5⊕М6⊕М7=0⊕1⊕1=0,
тогда код, передаваемый в канал, будет:

Слайд 18

Случай, когда не было ошибки при передаче кода. Приемник проверяет правильность

Случай, когда не было ошибки при передаче кода.

Приемник проверяет правильность передачи

кода:

С11=С1⊕М1⊕М2⊕М4⊕М5⊕М7=1⊕0⊕1⊕1⊕0⊕1=0;
С12=С2⊕М1⊕М3⊕М4⊕М6⊕М7=1⊕0⊕0⊕1⊕1⊕1=0;
С13=С3⊕М2⊕М3⊕М4=0⊕1⊕0⊕1=0;
С14=С4⊕М5⊕М6⊕М7=0⊕0⊕1⊕1=0.

Слайд 19

Случай, когда была ошибка при передаче кода. Приемник проверяет правильность передачи

Случай, когда была ошибка при передаче кода.

Приемник проверяет правильность передачи кода:

С11=С1⊕М1⊕М2⊕М4⊕М5⊕М7=1⊕0⊕1⊕1⊕0⊕1=0;
С12=С2⊕М1⊕М3⊕М4⊕М6⊕М7=0⊕0⊕0⊕1⊕1⊕1=1;
С13=С3⊕М2⊕М3⊕М4=0⊕1⊕0⊕1=0;
С14=С4⊕М5⊕М6⊕М7=0⊕0⊕1⊕1=0.

0102

ошибка

в бите № 2
Слайд 20

Вычисление контрольного разряда на стороне приемника E10=Е0⊕ . С=0 и E10=0

Вычисление контрольного разряда на стороне приемника

E10=Е0⊕<сложенные по модулю 2 все остальные

биты принятого кода>.

С=0 и E10=0 – ошибок нет.

С≠0 и E10=1 – одиночная ошибка.

С≠0 и E10=0 – двойная ошибка.

Для кода (11,7) формат блока информации:

Слайд 21

Пример. В канал связи нужно передать следующий блок информации: 11010102. Передатчик

Пример. В канал связи нужно передать следующий блок информации: 11010102.

Передатчик формирует

код Хэмминга:

С1=М1⊕М2⊕М4⊕М5⊕М7=0⊕1⊕1⊕0⊕1=1;
С2=М1⊕М3⊕М4⊕М6⊕М7=0⊕0⊕1⊕1⊕1=1;
С3=М2⊕М3⊕М4=1⊕0⊕1=0;
С4=М5⊕М6⊕М7=0⊕1⊕1=0,
Е0=С1⊕С2⊕М1⊕С3⊕М2⊕М3⊕М4⊕С4⊕М5⊕М6⊕М7=
=1⊕1⊕0⊕0⊕1⊕0⊕1⊕0⊕0⊕1⊕1=0,
тогда код, передаваемый в канал, будет:

Слайд 22

Случай, когда не было ошибки при передаче кода. Приемник проверяет правильность

Случай, когда не было ошибки при передаче кода.

Приемник проверяет правильность передачи

кода:

С11=С1⊕М1⊕М2⊕М4⊕М5⊕М7=1⊕0⊕1⊕1⊕0⊕1=0;
С12=С2⊕М1⊕М3⊕М4⊕М6⊕М7=1⊕0⊕0⊕1⊕1⊕1=0;
С13=С3⊕М2⊕М3⊕М4=0⊕1⊕0⊕1=0;
С14=С4⊕М5⊕М6⊕М7=0⊕0⊕1⊕1=0,
Е10= Е0⊕С1⊕С2⊕М1⊕С3⊕М2⊕М3⊕М4⊕С4⊕М5⊕М6⊕М7=
=0⊕1⊕1⊕0⊕0⊕1⊕0⊕1⊕0⊕0⊕1⊕1=0.

С=0 и E10=0 – ошибок нет.

Слайд 23

Случай, когда была одиночная ошибка при передаче кода. Приемник проверяет правильность

Случай, когда была одиночная ошибка при передаче кода.

Приемник проверяет правильность передачи

кода:

С11=С1⊕М1⊕М2⊕М4⊕М5⊕М7=1⊕0⊕1⊕1⊕0⊕1=0;
С12=С2⊕М1⊕М3⊕М4⊕М6⊕М7=0⊕0⊕0⊕1⊕1⊕1=1;
С13=С3⊕М2⊕М3⊕М4=0⊕1⊕0⊕1=0;
С14=С4⊕М5⊕М6⊕М7=0⊕0⊕1⊕1=0,
Е10= Е0⊕С1⊕С2⊕М1⊕С3⊕М2⊕М3⊕М4⊕С4⊕М5⊕М6⊕М7=
=0⊕1⊕0⊕0⊕0⊕1⊕0⊕1⊕0⊕0⊕1⊕1=1.

E10=1 и С=0102

ошибка в бите № 2

Слайд 24

Случай, когда была двойная ошибка при передаче кода. Приемник проверяет правильность

Случай, когда была двойная ошибка при передаче кода.

Приемник проверяет правильность передачи

кода:

С11=С1⊕М1⊕М2⊕М4⊕М5⊕М7=1⊕0⊕0⊕1⊕0⊕1=1;
С12=С2⊕М1⊕М3⊕М4⊕М6⊕М7=0⊕0⊕0⊕1⊕1⊕1=1;
С13=С3⊕М2⊕М3⊕М4=0⊕0⊕0⊕1=1;
С14=С4⊕М5⊕М6⊕М7=0⊕0⊕1⊕1=0,
Е10= Е0⊕С1⊕С2⊕М1⊕С3⊕М2⊕М3⊕М4⊕С4⊕М5⊕М6⊕М7=
=0⊕1⊕0⊕0⊕0⊕0⊕0⊕1⊕0⊕0⊕1⊕1=0.

E10=0 и С=01112≠0

двойная ошибка

Слайд 25

Слайд 26

Функциональная схема блока микропрограммного управления

Функциональная схема блока микропрограммного управления