- •Раздел 2 Кодирование сигналов
- •2.1 Основные принципы кодирования сигналов
- •2.2 Помехоустойчивое кодирование
- •2.3 Методы кодирования сигналов
- •2.3.1 Код Шеннона-Фано
- •2.3.2 Кодирование по методике Хаффмена
- •2.3.3 Кодирование с проверкой на четность
- •2.3.4 Кодирование с удвоением элементов
- •2.3.5 Инверсное кодирование
- •2.3.6. Код Хемминга
- •2.4 Современные методы кодирования
- •2.5 Задачи по разделу 2
- •2.6 Задачи для самостоятельного решения
2.5 Задачи по разделу 2
Пример 1. Приняты две кодовые комбинации 0001 и 1111. Определить значность кодовых комбинаций, их вес и кодовое расстояние между комбинациями.
Решение:
определение значности соответствует количеству разрядов – n в кодовой комбинации: n1=n2=4.
определение веса по количеству «1» в комбинации: V1=1;V2=4.
кодовое расстояние между комбинациями – определяется как вес суммы по модулю два кодовых комбинаций:
;
d=3.
Пример 2.
Принята кодовая комбинация 101011. известно,
что вектор ошибки
.
Найти исходную кодовую комбинацию.
Решение:
Для нахождения
кодовой комбинации определим сумму по
модулю два для принятой комбинации и
вектора ошибки:
;
;
;
Пример 3.
Передана кодовая комбинация 1100. Известно,
что вес
вектора ошибки равен 2. Найти:
возможные варианты искаженных комбинаций.
кодовое расстояние, необходимое для обнаружения и устранения всех ошибок.
Решение:
Возможные варианты комбинаций состоят из тех комбинаций, которые отличаются от исходной двумя позиционными местами, т.к.
.
Возможные варианты:1010, 1001, 0110, 0101, 0000.
Проверим комбинации,
сложив их по модулю два с исходной
комбинацией:
.
Для обнаружения и исправления всех ошибок необходимо, чтобы кодовое расстояние
,
где
– обнаруживаемые ошибки;
– исправляемые ошибки. При разрядности
нашего числа
могут возникнуть четырехкратные ошибки.
Следовательно,
для их исправления и обнаружения
необходимо, чтобы кодовое расстояние
удовлетворило условию:
необходимо увеличить разрядность кода.
Пример 4. Определить корректирующую способность кода, имеющего следующие разрешенные комбинации: 00000, 01110, 10101, 11011.
Решение:
Построим таблицу и определим кодовые расстояния между комбинациями.
Кодовое расстояние
;
;
.
Следовательно, код обнаруживает
двукратные и однократные ошибки.
Устраняет
однократные ошибки , т.к.
;
при
,
;
.
При кодовом расстоянии
код исправляет ошибки.
При
,
,
код исправляет одиночные и двукратные
ошибки.
Пример 5. Определить значность кода n, обеспечивающего исправление всех однократных ошибок при количестве разрешенных комбинаций N=8.
Решение:
Определим значность кода по формуле:
.Определим количество информационных символов- m:
;
;
.
При
т.к. m<n
условие
не выполняется;
условие
не выполняется;
n=6
условие
выполняется.
Следовательно, значность кода n=6.
Пример 6. Заданы кодовые комбинации: 0010, 11011. Образовать для этих комбинаций коды с четным и нечетным числом единиц, код с удвоением элементов и инверсный код.
Решение:
Код с четным числом единиц:
0010
10010;
11011 011011.
Код с нечетным числом единиц:
0010 00010;
11011 111011.
Код с удвоением элементов: 1 10; 0 01.
0010 01 01 10 01;
11011 10 10 01 10 10.
Инверсный код:
0010 00101101;
11011 1101111011.
Пример 7. Для кодовых комбинаций определить код Хемминга.
Решение:
исходная комбинация 10011.
Представим информационные и проверочные разряды: для комбинации 10011 m=5, разрядность кода n=9. Для 9-и разрядного кода символы а1, а2, а4 и а8 – проверочные (контрольные), остальные – информационные.
а9 а8 а7 а6 а5 а4 а3 а2 а1
И П И И И П И П П
1 1 0 0 1 1 1 1 1
Находим значение проверочных символов из выражения:
;
;
;
;
;
;
;
;
Причем, Si =0. Вписываем значение проверочных разрядов и получим комбинацию кода Хемминга: 10011 110011111.
Исходная комбинация 111110; m=6;
.
Проверочные символы: , , , .
Информационные
символы:
,
,
,
,
,
.
а10 а9 а8 а7 а6 а5 а4 а3 а2 а1
И И П И И И П И П П
1 1 0 1 1 1 1 0 1 1
Определим проверочные символы из выражения:
Исходная комбинация преобразуется в код Хемминга: 111110 1101111011.
Пример 8. Принята искаженная кодовая комбинация, закодированная кодом Хемминга. Определить разряд, где произошла ошибка.
111110110;
1101010111.
Решение:
1) исходная комбинация:
Найдем суммы Si и определим двоичное число
N=S4 S3 S2 S1=0100. В четвертом разряде произошла ошибка, т.е. не искаженная комбинация - 111111110.
2) исходная комбинация:
Найдем суммы Si и определим двоичное число
;
;
;
;
N=0001 , следовательно в первом разряде произошла ошибка
Пример 9. Определить и исправить ошибку в передаваемой комбинации вида:
Для контроля использовать метод четности.
Решение:
Проведем проверку на четность по строкам: k1=0; k2=1; k3=0; по столбцам: k4=0; k5=0; k6=0; k7=1; k8=0; k9=0; k10=0. Проверка показала, что ошибка возникла в разряде второй строки четвертого столбца.
Запишем правильный вариант:
.
