Организация внешних запоминающих устройств
МИНОБРНАУКИ
РФ
Государственное
образовательное учреждение высшего профессионального образования
Пензенский
государственный технологический университет
Кафедра ВМиС
КОНТРОЛЬНАЯ
РАБОТА
Организация
внешних запоминающих устройств
Пенза - 2014
Задание 1
Создать циклический код по задающему полиному
методом порождающей матрицы. Провести анализ полученных комбинаций. Найти
минимальное кодовое расстояние D0
для любых пяти соседних комбинаций полученного кода. Сделать вывод о
корректирующих способностях кода.
Согласно варианту, задающий полином g(x)
имеет вид: x4+x3+x+1.
Ему соответствует кодовая комбинация: 11011.
Степень полинома r=4.
Общая длина слова n=8.
Количество информационных разрядов k=4.
Первые 4 строки матрицы G(8,4)
получим, циклически сдвигая исходную кодовую комбинацию 11011: 00011011,
00110110, 01101100, 11011000.
Суммируя по модулю 2 имеющиеся строки, получаем
следующие:
G(8,4)=
Всего требуется 2k=24=16
комбинаций. Получаем остальные:
G(8,4)=
Проведем анализ полученных комбинаций. Для этого
делим комбинации матрицы на задающий полином. Нулевой остаток будет говорить о
том, что комбинация действительно принадлежит коду.
)
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
1
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
)
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
1
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
|
3)
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
1
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
|
|
)
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
|
|
|
)
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
1
|
1
|
|
|
|
|
|
|
0
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
)
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
1
|
0
|
1
|
|
|
|
|
|
0
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
)
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
0
|
0
|
1
|
|
|
|
|
0
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
)
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
1
|
1
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
|
)
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
0
|
1
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
|
)
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
1
|
0
|
0
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
)
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
1
|
1
|
1
|
|
|
|
|
|
1
|
0
|
1
|
1
|
0
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
)
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
0
|
1
|
1
|
|
|
|
|
1
|
0
|
1
|
1
|
0
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
)
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
1
|
0
|
1
|
|
|
|
1
|
1
|
1
|
0
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
)
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
1
|
1
|
0
|
|
|
|
1
|
0
|
1
|
0
|
0
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
)
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
1
|
1
|
1
|
|
|
|
1
|
0
|
0
|
0
|
0
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
1
|
0
|
1
|
1
|
0
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
)
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
1
|
1
|
0
|
0
|
|
|
|
1
|
1
|
0
|
1
|
0
|
|
|
|
|
|
|
|
|
|
1
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
1
|
0
|
1
|
|
|
|
|
|
В 16) получили ненулевой остаток, следовательно,
комбинация 10110001, полученная дальнейшим циклическим сдвигом начальной
комбинации 11011, не принадлежит данному циклическому коду (так же получается и
с комбинациями 01100011, 11000110, 10001101, полученными дальнейшим циклическим
сдвигом). То есть, наша матрица будет иметь вид:
G(8,4)=
Находим минимальное кодовое расстояние для любых
5ти соседних комбинаций. Берем комбинации 00011011, 00110110, 01101100,
11011000, 00101101. Их сумма по модулю 2 составит 10110100. Следовательно,
минимальное кодовое расстояние D0=4,
то есть код имеет корректирующие способности и может исправлять ошибки.
код полином внешний запоминающий
Задание 2
Создать систематический ЦК по задающему
полиному. Закодировать любые 2 комбинации ЦК по методу ЧМ. Изобразить
кодограммы комбинаций для оптического и магнитного ВЗУ. Составить таблицу
полиномов и синдромов одиночных ошибок для полученного ЦК.
Согласно варианту, задающий полином g(x)
имеет вид: x4+x3+x+1=11011.
Степень полинома r=4.
Общая длина слова n=8.
Количество информационных разрядов k=4.
Исходными комбинациями являются все k-разрядные
двоичные комбинации:
0000
|
0100
|
1000
|
1100
|
0001
|
0101
|
1001
|
1101
|
0010
|
0110
|
1010
|
1110
|
0011
|
0111
|
1011
|
1111
|
Каждую k-разрядную
комбинацию умножим на xn-k=x4,
что эквивалентно сдвигу комбинации влево:
0000
0000
|
0100
0000
|
1000
0000
|
1100
0000
|
0001
0000
|
0101
0000
|
1001
0000
|
1101
0000
|
0010
0000
|
1010
0000
|
1110
0000
|
0011
0000
|
0111
0000
|
1011
0000
|
1111
0000
|
Теперь каждую полученную комбинацию разделим на
заданный полином.
Полученный остаток от деления прибавим к
делимому - результат будет являться комбинацией ЦК.
Исходная
комбинация
|
Остаток
от деления
|
Искомая
комбинация
|
0000
0000
|
0
|
0000
0000 - не прин. ЦК
|
0001
0000
|
0000
1011
|
0001
1011
|
0010
0000
|
0000
1101
|
0010
1101
|
0011
0000
|
0000
0110
|
0011
0110
|
0100
0000
|
0000
0001
|
0100
0001
|
0101
0000
|
0000
1010
|
0101
1010
|
0110
0000
|
0000
1100
|
0110
1100
|
0111
0000
|
0000
0111
|
0111
0111
|
1000
0000
|
0000
0010
|
1000
0010
|
1001
0000
|
0000
1001
|
1001
1001
|
1010
0000
|
0000
1111
|
1010
1111
|
1011
0000
|
0000
0100
|
1011
0100
|
1100
0000
|
0000
0011
|
1100
0011
|
1101
0000
|
0000
1000
|
1101
1000
|
1110
0000
|
0000
1110
|
1110
1110
|
1111
0000
|
0000
0101
|
1111
0101
|
ЦК имеет вид:
0001
1011
|
0010
1101
|
0011
0110
|
0100
0001
|
0101
1010
|
0110
1100
|
0111
0111
|
1000
0010
|
1001
1001
|
1010
1111
|
1011
0100
|
1100
0011
|
1101
1000
|
1110
1110
|
1111
0101
|
Составим таблицу полиномов и синдромов. Чтобы
получить синдром ошибки, делим полином ошибки на задающий полином (например,
делим х0=00000001 на 11011, получаем остаток 1 - это и будет синдром
ошибки):
Полином
ошибки
|
Синдром
ошибки
|
х0=0000
0001
|
1
|
х1=0000
0010
|
10
|
х2=0000
0100
|
100
|
х3=0000
1000
|
1000
|
х4=0001
0000
|
1011
|
х5=0010
0000
|
1101
|
х6=0100
0000
|
1
|
х7=1000
0000
|
10
|
Кодируем комбинацию 01011010 по методу ЧМ:
Кодируем комбинацию 01000001 по методу ЧМ:
0
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Задание 3
Построить структурную и принципиальную схему
многотактного фильтра для заданного полинома. Построить таблицу прохождения
кодовой комбинации через фильтр. Сделать вывод.
Согласно варианту, задающий полином g(x)
имеет вид: x4+x3+x+1.
Число разрядов регистра соответствует степени
полинома r=4.
Число сумматоров по модулю 2 равно числу
ненулевых элементов, уменьшенному на 1: 4-1=3.
Составляем структурную схему:
По заданной структурной схеме построим
принципиальную схему:
Составляем таблицу прохода комбинации 11000011:
№
такта
|
Вход
|
Содержимое
разрядов регистра
|
Выход
|
|
|
М1
|
М2
|
М3
|
М4
|
|
0
|
11000011
|
0
|
0
|
0
|
0
|
“---”
|
1
|
1100001
|
1
|
0
|
0
|
0
|
0
|
2
|
110000
|
1
|
1
|
0
|
0
|
0
|
3
|
11000
|
0
|
1
|
1
|
0
|
0
|
4
|
1100
|
0
|
0
|
1
|
1
|
0
|
5
|
110
|
1
|
1
|
0
|
0
|
1
|
6
|
11
|
0
|
1
|
1
|
0
|
0
|
7
|
1
|
1
|
0
|
1
|
1
|
0
|
8
|
“---”
|
0
|
0
|
0
|
0
|
1
|
На выходе получили результат деления кодовой
комбинации 11000011 на задающий полином 11011: 1001.
Задание 4
Провести синтез кода Хемминга для закодированных
комбинаций. Построить принципиальную схему кодирования и декодирования
информации.
Для синтеза кода Хемминга построим таблицу.
Столбцы k3(x4),
k2(x2),
и k1(x1)
- это контрольные разряды, они считаются следующим образом:
k3(x4)=х5х6х7;
k2(x2)=х3х6х7;k1(x1)=х3х5х7
Столбцы у0, у1, и у2
- это разряды корректирующего числа, они считаются следующим образом:
у2= х4х5х6х7;
у1= х2х3х6х7;у0=
х1х3х5х7
х7
|
х6
|
х5
|
k3(x4)
|
x3
|
k2(x2)
|
k1(x1)
|
y0
|
y1
|
y2
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
Принудительно введем ошибку в любую комбинацию:
1001100 -> 1101100.
Подсчитываем корректирующее число: y0
=
0, y1 =
1, y2
= 1. Получили 1102 =610, следовательно, ошибка в 6м
разряде: 1101100; исправляем и получаем 1001100.
Строим принципиальную схему
кодирования-декодирования информации: