Многофункциональный контроллер ВЗУРефераты >> Программирование и компьютеры >> Многофункциональный контроллер ВЗУ
Для двоичного кода М сообщений, каждое из которых имеет дину n, можно закодировать, если выполняется условие: 2n >=M или n>=log2 M.
Приведем примеры различных методов кодирования: Пусть имеются четыре события:
А1, А2, А3, А4, причем вероятности их появления различны: Р(А1)=0,5; Р(А2)=0,25; Р(А3)= Р(А1)=0,125. Равномерное кодирование - без учета вероятности появления того или иного события. Метод Фанно - А1=02; А2=102; А3=1102; А4=1112 . Это пример неравномерного кодирования с учетом вероятности появления события. Система Фанно однозначно декодируема, поскольку ни одно А не является префиксом следующего. Такие системы кодирования называют префиксными.
Основные характеристики кодов:
1. Длина кода |
n |
Число символов, составляющих кодовое слово |
2. Основание кода |
m |
Количество отличных друг от друга значений импульсных признаков, используемых в кодовом слове |
3. Мощность кода |
Мр |
число разрешенных кодовых слов |
Полное число кодовых слов |
М |
все возможные кодовые слова |
4. Число информационных символов |
k |
без комментариев |
5. Число проверочных символов |
r |
без комментариев |
6. Избыточность кода |
R |
R=r/n |
7. Скорость передачи кодовых слов |
R’ |
R’=k/n |
8. Кодовое расстояние |
d |
Число несовпадающих позиций двух кодовых слов |
Пусть должно прийти 9-разрядное число. Расположим приходящие разряды следующим образом:
В1 |
В2 |
В3 |
С1 |
Пусть |
В1Å В4Å В7 = С4 | |
В4 |
В5 |
В6 |
С2 |
В4Å В5Å В6 = С2 |
В2Å В5Å В8 = С5 | |
В7 |
В8 |
В9 |
С3 |
В7Å В8Å В9 = С3 |
В3Å В6Å В9 = С6 | |
С4 |
С5 |
С6 |
С7 |
С1 Å С2 Å С3 Å С4 Å С5 Å С6= С7 |
Пусть приходит число 011010001. Пусть произошла ошибка в 7-ом разряде
Передано |
Принято | |||||||||
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 | |||
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 | |||
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 | |||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 | |||
При сравнении В7Å В8Å В9 = С3 в строке
В1Å В4Å В7 = С4 в столбце
Следовательно, ошибочный разряд локализован можно исправить.
Но это был случай единичной ошибки, а с двойной ошибкой этот метод не справляется, то есть определить может, но исправить - нет.
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |