_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Многофункциональный контроллер ВЗУ

Многофункциональный контроллер ВЗУ

Страница: 4/6

Имея один избыточных символ, можно обнаружить только нечетное количество ошибок. Поэтому используют другой метод. Объясним на примере:

Пусть должно прийти 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

Line Callout 3: Добавим проверочные символыС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

 

На рисунке видно, что, используя этот метод, нельзя понять, где произошла ошибка (В2 , В3 , В8 , В9).

Для дальнейшего объяснения d(x,y) между двумя кодовыми словами х и у называется число несовпадающих позиций. Пример: х=01101, у=00111 d(x,y)=2. Это расстояние называется кодовым расстояние Хемминга.

Итак, код способен исправить любые комбинации из q или меньшего числа ошибок тогда и только тогда, когда его кодовое расстояние > 2q. В настоящее время только для кодов с dmin  получено такое соотношение между числом проверочных символов r и длиной кода n:

r>= log2 (n+1).

 

Циклические коды

 

Циклическими  кодами называются такие коды, которые с любым своим вектором содержит также его циклический сдвиг. Циклические коды основаны на представлении передаваемых данных в виде полинома (многочлена) и используются при последовательной передаче информации между Процессором и ВЗУ.

а(х)= а0+а1 х+а2 х2+...+ аn-1 хn-1       Для вектора а(а0, а1, ..., аn-1). Циклический сдвиг а’(х)= аn-1 +а0x +а1 х2+...+ аn-2 хn-1 .

С помощью этих кодов можно обнаруживать:

·     Ошибки в 1 бите, если порождающий многочлен содержит > 1 члена,

·     Ошибки в 2 битах, если порождающий многочлен содержит 3 члена,

·     Ошибки в нечетном количестве битов, если порождающий многочлен содержит множитель (х+1),

·     Пакеты ошибок длиной менее к+1 бит, если порождающий многочлен содержит множитель (х+1), и один множитель с 3мя членами и более (к+1 - число бит порождающего многочлена).

 

Принцип построения циклических кодов

 

Каждая кодовая комбинация Q(x) умножается на одночлен xr , а затем делится на многочлен. Степень каждого одночлена, входящего в Q(x), повышается на r. При делении получается С(х) такой же степени, что и Q(x), и остаток Р(х) степени не более r-1, наибольшее число разрядов которого <=r.

 

Q(x) xr / g(x) = C(x)+ P(x)/g(x) ..............................(1)

 

В ЭВМ используется метод умножения кодовой комбинации Q(x) на одночлен xr  и прибавлением к этому произведению остатка Р(х) на порождающий многочлен g(x).

Реально умножается на фиксированный многочлен типа x3Å x2Å 1

 

 

 

 

 Схема умножения на многочлен.

 

 

 

Вначале все ячейки содержа 0. Пусть требуется умножить x4 Å x2 Å1 на x3 Å x2 Å1

1 такт

На вход поступает единичный коэффициент при старшей степени x4 , запоминается в 1-й ячейке памяти и передается на выход.

2 такт

На вход поступает 0-й коэффициент при x3. Содержимое первой ячейки приходит во вторую, на выходе сумматора появляется 1, которая, суммируясь с выходом 3-й ячейки, появляется на выходе 2-го сумматора

3 такт

На вход поступает  коэффициент при x2. Он запоминается в 1-й ячейке памяти и передается на выход.

4 такт

На вход поступает 0-й коэффициент при x1. Первый сумматор имеет на выходе 1, а второй - 0.

5 такт

На вход сумматора  поступает 1 - коэффициент при x0.

6-8

такты

Учитывая, что после умножения многочленов старший коэффициент имеет 7-ю степень, необходимо сдвинуть на 3 разряда (убираются разряды, содержащие 0)