Рассмотрим комбинацию 0 1 1 1 1 0 0, которая соответствует числу 12. Пусть при передаче символ на 5-й позиции изменился (1 перешла в 0). Искаженная кодовая комбинация стала 0 1 1 1 0 0 0. Из таблицы 2 позиции первой проверки 1, 3, 5, 7. Проверка дала нечетное число - ставим 1. Вторая проверка на позициях 2, 3, 6, 7 дала четное число – ставим 0. Третья проверка дала нечетное число – ставим 1. В итоге проверочное число 1 0 1 = 5. Следовательно, на 5-й позиции произошла ошибка. Значение на этой позиции необходимо изменить на обратное 0 ® 1.
Будем использовать коды Хэмминга при проверке на нечетность, которые исправляют одиночные ошибки, для построения системы связи. Позициям кодов сопоставим номера узлов, а числам – номера сетей. Запишем проверочную матрицу кода Хэмминга (7, 4), т.е. при n = 7, n0 = 4, при проверке на нечетность, взяв, например, числа 6, 3, 15. В нашем случае имеем (см. таблицу 5).
Таблица 5. Коды Хэмминга для десятичных чисел (проверка на нечетность)
Номера сетей |
Номера узлов |
Десятичное представление двоичных чисел на позициях 3, 5, 6, 7 |
1 2 3 4 5 6 7 |
||
1 2 3 |
1 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 1 0 1 1 1 |
6 3 15 |
При использовании такой матрицы для построения системы связей между парами узлов в сети не обеспечивается прямая связь. Например, отсутствует прямая связь между узлами 1 и 2, 1 и 3 и т. д. Для преодоления этого недостатка нарастим матрицу за счет добавления новых строк, представляющих собой линейную комбинацию строк исходной матрицы.
Для обеспечения взаимосвязи узлов 1 и 2 используем линейную комбинацию строк 1 и 2; для прямой взаимосвязи узлов 1 и 3 возьмем линейную комбинацию строк 1 и 3; для прямой связи узлов 2 и 3 – линейную комбинацию строк 2 и 3 исходной матрицы. В результате получаем расширенную матрицу следующего вида (см. таблицу 6)
Таблица 6. Расширенная матрица кодов Хемминга
Номера строк |
Номера узлов |
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 |
1 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1 1 1 1 0 0 |
Здесь для каждой пары столбцов имеется не менее одной строки, на пересечении с которой эти столбцы имеют элементы равные 1. Например, для столбцов 1 и 2 такой строкой является строка 4, для столбцов 4 и 5 такими строками являются строки 1 6 и т. д.
Система связи будет содержать 6 отдельных сетей. Первая из этих сетей связи будет объединять узлы 1, 4, 5, 6. Вторая сеть связи будет объединять узлы 2, 4, 6, 7. Узел 1 одновременно подключен к сетям связи 1, 4 и 5. Узел 2 подключен к сетям связи 2, 4, 6 и т.д. На рисунке 2 приведена структура сетей связи.
Рис. 2. Полная система сетей связи (однократное соединение)
Если добавить еще одну строку, являющейся линейной комбинацией строк 1, 2 и 3, то получим структуру системы связи, обладающей отказоустойчивостью (l = 2). В этой структуре системы связи между каждой парой узлов обеспечивается связь с помощью двух сетей связи. Соответствующая матрица, использующая код Хэмминга (7,4) приведена в таблице 7.
Таблица 7 Матрица отказоустойчивой сети
Номера строк |
Номера узлов |
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 7 |
1 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 1 0 0 1 0 |
Эта матрица по своим свойствам соответствует
блок-схеме с параметрами N = B =7;
k = r = 4; l = 2. На рисунке 3 приведена
структура системы связи.
Рисунок 3. Полная система сетей связи (двукратное соединение)
Рассмотрим эвристический алгоритм построения системы связи на базе проверочных матриц помехоустойчивых кодов. Алгоритм формирования матриц инциденций имеет следующий вид:
1. Выбрать очередную пару столбцов с номерами i и j, которые еще не рассматривались на предыдущих шагах.
2. Проанализировать наличие в матрице хотя бы одной строки, содержащей единицы на i-й и j-й позициях. Если такая строка имеется, то перейти к п.4. Если такой строки нет, то перейти к п.3.
3. Сформировать из линейно независимых строк матрицы новую линейную комбинацию, содержащую единицы на позициях i и j, и дополнить матрицу этой строкой.
4. Проверить, все ли коды столбцов просмотрены. Если просмотрены все, то перейти к п.1.
5. Минимизировать число УК в сетях и число соединений УК с сетями удаляя «лишние» единицы в строках и столбцах, сохранив заданное l.
Аналогичным образом осуществляется поиск матрицы для систем связи повышенной надежности (l > 1). В этом случае п.2 изложенного алгоритма связан с анализом наличия в матрице не менее l строк, содержащих элементы равные 1 на рассматриваемых столбцах.
Выбор в качестве исходной матрицы проверочной матрицы корректирующих кодов (например, кодов Хэмминга) обоснован тем, что предлагаемые матрицы хорошо структурированы, содержат линейно независимые строки, а в теории помехоустойчивого кодирования хорошо развит аппарат построения таких матриц.
1.Задание с указанием расшифровки условных обозначений переменных.
2.Краткое описание метода получения заданной системы связи.
3.Матрица и рисунок, описывающие систему сетей связи.
4.Текст проверяющей программы (с подробными комментариями). Программа должна иметь возможность изменения исходных данных.
5.Результаты экспериментов по изменению матрицы.
Варианты заданий
N |
Основа построения |
Тип соединения |
Параметры |
|||
N |
B |
k |
r |
|||
1 |
Уравновешенные неполные блок-схемы |
Односвязные(λ = 1) |
4 |
6 |
2 |
3 |
5 |
5 |
10 |
2 |
4 |
||
9 |
9 |
12 |
3 |
4 |
||
13 |
13 |
13 |
4 |
4 |
||
2 |
Двусвязные (λ = 2) |
4 |
4 |
3 |
3 |
|
6 |
6 |
10 |
3 |
5 |
||
10 |
7 |
7 |
4 |
4 |
||
14* |
10 |
15 |
4 |
6 |
||
17* |
11 |
11 |
5 |
5 |
N |
Основа построения |
Тип соединения |
Исходные числа матрицы |
||
3 |
Проверочные матрицы кодов Хэмминга при проверке на нечетность |
Однократное (λ = 1) |
5 |
11 |
13 |
7 |
5 |
13 |
14 |
||
11 |
3 |
7 |
13 |
||
15 |
0 |
2 |
13 |
||
18 |
3 |
4 |
9 |
||
20 |
4 |
10 |
11 |
||
22 |
7 |
8 |
12 |
||
23 |
3 |
8 |
12 |
||
24 |
6 |
10 |
11 |
||
4 |
Двукратное (λ = 2) |
11 |
13 |
14 |
|
8 |
9 |
11 |
13 |
||
12 |
6 |
9 |
11 |
||
16 |
3 |
5 |
13 |
||
19 |
3 |
9 |
12 |
||
21 |
7 |
9 |
13 |
Примечание. *-усложненный вариант.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.