УДК 004.415.23 + 004.052.44+004.942 В. А. КУЛЬБИДА
Управление делами Правительства Омской области
ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ИССЛЕДОВАНИЯ КОРРЕКТИРУЮЩИХ СВОЙСТВ АЛГОРИТМОВ ПОМЕХОУСТОЙЧИВОГО КОДИРОВАНИЯ-ДЕКОДИРОВАНИЯ
В работе описывается разработанный автором программный комплекс, служащий инструментом для исследования корректирующих свойств помехоустойчивых кодов, используемых при построении систем передачи дискретной информации. Данный программный комплекс помогает подбирать оптимальные параметры кодирования-декодирования при проектировании систем передачи информации. С помощью разработанного программного комплекса проведены исследования корректирующих свойств предложенного автором универсального непрерывного векторного кода.
Ключевые слова: программный комплекс, система передачи информации, помехоустойчивый код, кодирование, адаптация, универсальный код.
Введение. Для исследования корректирующих свойств алгоритмов кодирования и декодирования разработан при помощи Borland C++ Builder 6 программный комплекс (далее — ПК), названный AnalysisCode. Данный ПК при помощи компьютерного и имитационного моделирования [1—4] осуществляет симуляцию системы передачи дискретной информации (далее — СПДИ) (рис. 1) и позволяет автоматически проводить серию экспериментов при разных вероятностях появления ошибок (помех) в канале связи (далее — КС), при этом каждый раз измеряя вероятность появления ошибок после их декодирования, тем самым получая динамику изменений корректирующей способности исследуемых алгоритмов кодирования и декодирования.
AnalysisCode является уникальным компьютерным исследовательским и технологическим стендом — СПДИ, в которую включены системы помехоустойчивости, используемые в реальных сетях связи, в частности, сверточный алгоритм кодирования и декодер Витерби. Включенные в состав AnalysisCode алгоритмы помехоустойчивого кодирования и декодирования необходимы для специалистов, занимающихся разработками цифровых сетей передачи данных. Предлагаемый ПК позволяет оценить возможность применения различных алгоритмов кодирования и декодирования в разрабатываемых системах. Это создает возможность правильного проектирования всех узлов создаваемых новых коммуникационных систем с учетом требуемых уровней надежности, сложности, скорости реализации и других критериев выбора систем. Современные системы кодирования стали настолько сложными и трудными для понимания техническими специалистами, занимающимися смежными вопросами, что принятие правильных решений об этих важнейших компонентах сетей связи стало актуальной проблемой [1, 3, 5]. Применение AnalysisCode
в процесс проектирования систем связи полностью снимает эту проблему.
Как видно из рис. 2, программа обладает интуитивно понятным интерфейсом. В верхней части окна задаются параметры эксперимента: информационная последовательность и диапазон эксперимента.
Информационная последовательность — это данные, передаваемые через КС, которые подвергаются кодированию и декодированию выбранными ниже алгоритмами. Эта последовательность может состоять целиком из нулей, единиц, либо получена при помощи генератора случайных величин (ГСВ), при этом необходимо будет указать в появившейся области 1 (рис. 2) объем (в битах) этой последовательности. Также эту последовательность пользователь может задать через файл, указав в строке 2 (рис. 2) путь к выбранному файлу при помощи кнопки 3 (рис. 2). При этом нужно будет указать, какие символы в выбранном файле — однобитовые или однобайтовые.
Диапазон эксперимента. Данный параметр позволяет менять р, среднюю вероятность появления ошибки в одном бите при прохождении данных через КС, на отрезке [Начало; Конец] с определенным шагом. При условии, что Начало<Конец, Конец^, Начало>0, а шаг^0. Так же можно указать количество итераций на одну точку, тем самым изменяя достоверность получаемых данных [6].
В средней части окна задаются параметры КС, в нашем случае применяется модель двоичного симметричного канала связи (ДСК) [5], которая характеризуется вероятностью p. Диапазон изменения p указывается выше в диапазоне эксперимента, а формирование случайных величин (т.е. вероятность появления ошибки в текущем бите) происходит при помощи равномерного ГСВ [1, 4, 6], который характеризуется точностью п и начальной позицией.
ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №3 (133) 2014
Рис. 4. Окно результата моделирования
Точность п выставляется при помощи поля 4 (рис. 2). Тем самым получаем случайные величины (а*Ш-п), где 0<а<10п и а — натуральные целые числа получены при помощи ГСВ.
Начальную позицию можно задать двумя способами. При помощи временной инициализации, тем самым при повторном эксперименте каждый раз получать новый набор случайных величин, т.е. новый набор векторов ошибок. Или задать начальную позицию Ь ГСВ при помощи поля 5 (рис. 2) (Ь=[с 10п]), тем самым обеспечив возможность при повторном эксперименте каждый раз получать одинаковый набор случайных величин. Таким образом, вектора ошибок при повторном эксперименте будут совпадать, что позволяет проводить моделирование в одинаковых условиях состояния КС.
При помощи поля 6 (рис. 2) выбирается код, параметры которого можно настроить, нажав на соответствующую кнопку «Настройки кодера/декодера». В результате в соответствии с выбранным кодом появляется окно настроек (рис. 3).
При нажатии на кнопку «Моделирование» (рис. 2) в соответствии с произведенными настройками, описанными выше, проводится серия экспериментов (рис. 4) при разных вероятностях появления ошибок в КС р, при этом каждый раз измеряется вероятность появления ошибок после их декодирования Ри.
Результат эксперимента отображается в графическом виде, где по оси абсцисс (р) — средняя вероятность появления ошибки в одном бите при прохождении данных через КС, а по оси ординат (РЬ) — средняя вероятность появления ошибки после декодирования. Кривая на графике носит название, которое было вписано в поле 7 (рис. 2) перед началом моделирования.
Полученный результат можно сохранить для сравнения с результатом при других параметрах кодирования/декодирования или двойным щелчком на графике очистить его для последующих экспе-
риментов. Кроме того, для последней кривой, построенной на графике, отображается таблица значений, где Рк = р, а Рср=РЬ. Также в статусной строке выдается время, потраченное на кодирование и декодирование всех данных, которое отображается в миллисекундах и зависит от технических характеристик компьютера, на котором производится моделирование.
Универсальный непрерывный векторный код и егоисследавание. Для СПДИ с адаптивным по-мехоустойвлтыпмкосвлеванием [7 — С] автсоос был предложен универсальный непрерывный векторный вос (УВК) [П 10] (ртп. 5), котодый был получен в резульвате синтеза сверточносоОН 11 и векторного кода [12, 13] при модификации последнего.
УВК можно осытять следующими параметрами:
М — число информационных разрядов, поступающих на твав со^рт вы один °нол крдл°тпенон;
К — писло проверочных разрядов, формируемых в результате одного цикла кодирования;
N — — дат кодового ввави. 1^=М+х, есаи код си-стемевачеооий, т[-Н=С- тВОМЫ, если код несистематический;
Ь — копсвруктитивс дайна пвдс;
г — скорость кодирования ;
В. — наСзор) -ода^ющих матриц размерностью ((М + 1)хЦ, где 1<КК;
В =
I
Ъ'п Ъ21
Ъ12
Ъ1 22
Ъ1ь
Ъ2Ь
Ъ1
Ъ
Ъ1
(М +1)1 Ъ(М +1)2
Ъ
(М +1)1,
где 1<1<К, 1<]<(М + 1) и 1<т<Ь; 5 — векторвесовкодирующихматриц 5={5.|,
i матрица №K
1матрица_№_1
|матвица_№1.
I матрица №0
1 m
I
41
21
1М1
------------> d
► d
d.
jm
1L
2L
ML
[Комбинация связей из ячеек матрицы и проверочного регистра
Рис. 5. Универсальный непрерывный векторный код
0,005
0,004
0,003 £ 0,002
0.001
а - УВК(Ь=3, М=4, i=4/(2+4), S=const) б - УВК(Ь=5, М=4, i=4/(2+4), S=const) в - УВК(Ь=2, М=4, i=4/(2+4), S=const) г - УВК(Ь=7, М=4, i=4/(2+4), S=const)
0,006 р 0,004 0,002
L=5, уы=4, г=4/(2+4)
а - yBK(S={4,5}) 6-yBK(S={3,3}) в - yBK(S={ll,12} г - yBK(S={7,8}) д - yBK(S={5,6}) yBK(S={9,10})
0.008
0.006
0.004
0.002
Рис. 6. Корректирующая способность УВК при разных параметрах(гдеp — вероятностьошибкивКС, Pb — вероятность ошибки после декодирования)
M + i где 1 </<K, s. = У
1 ] 11т = 1>т Кэтомукодубылиразработаны соответствующие алгоритмы кодирования и декодирования [14, 15].
С помощью разработанного программного ком-плекса[16] были проведены исследования корректирующих способностей УВК. Уаоализируя получ ен-ные результатыисследований (рис. 6) с учетом проведенных ранее экспериментов [7, 14, 15, 17], можно сделать следующие основные вывады:
1) корректирующая способность УВК улучшает-1 ^ *
ся с уменьшением г, где — < г < 1, т.к. должновы-
полняться условие К<М из-за описанного противоречия [15];
2) ори ]эзвныхг кодоектирующая спа7обность ЛуЧШЗ у ТОгоУВК,у КОТОрОГОЕЫХ1ЧИНЫ ВЗ, О Я7И !мзнные, т.е. матрица взлжлатшеть миномальный размер;
3) до7 увелв7енив ких]И(чктко7^к5п^е^5] сзосоТтоСТИ УВК при вы боре параметров М, К и Ь необходимо в ыполыят7ограничедп7:
K < M,
+1 < L
н^и условии](М+К(^З)^гшп;
4) при этом размер кодирующих матриц зависит от векторов весов этихматриц 5;
С) веса б. додирующки здтрвцВ. азв ыовыше-ния корректирующей способности должны лежать в в^денах:
ты-ч
M < s < г
2
6) корректирующаяспособность УВК зависит от конфигурации кодирующей матрицы B. При этом «хорошие» кодирующие матрицы могутбытьнай-дены только путеммоделирования.
Заключение. Для исследования корректирующих свойств алгоритмов кодирования и декодирования разработан программный комплекс при помощи Borland C+ + Builder 6, на который было получено свидетельствоорегистрации электронного ресурса[16]. ДанныйПК можетиспользоваться как висследовательских целях, таки в учебныхцелях в рамках предмета помехоустойчивого кодирования. Воснову разработанногоПК был заложенмодуль-ныйпринциппостроения программ[1, 3], что обеспечивает возможность дальнейшего расширения егофункциональных возможностей приминималь-ных затратах. Например, введение новых алгоритмов кодирования и декодирования, построение других моделей канала связи и изменения, расширяющие модель СПДИ.
Библиографический список
1. Бусленко, Н. П. Моделирование сложных систем / Н. П. Бусленко. — 2-е изд., перераб. — М. : Наука, 1978. — 399 с.
2. Советов, Б. Я. Моделирование систем : учеб. пособие для вузов по направлению «Информатика и вычисл. техника» и «Информ. системы» / Б. Я. Советов, С. А. Яковлев. — 3-е изд., перераб. и доп. — М. : Высш. шк., 2001. — 343 с.
3. Армстронг, Дж. Р. Моделирование цифровых систем / Дж.Р. Армстронг. — М. : Мир, 1992. — 174 с.
4.Марков, А. А. Моделирование информационно-вычислительных процессов / А. А. Марков. — М. : МГТУ им. Н. Э. Баумана, 1999. — 360 с.
5. Золотарёв, В. В. Помехоустойчивое кодирование. Методы и алгоритмы: Справочник / В. В. Золотарёв, Г. В. Овечкин. — М. : Горячая линия-Телеком, 2004. — 126 с.
6. Вентцель, Е. С. Теория вероятности / Е. С. Вентцель. — М. : Наука, 1969. — 576 с.
7. Кульбида, В. А. Система передачи дискретной информации с адаптивным помехоустойчивым кодированием / В. А. КукьНкда 71 Ов7киЯ наллаыйлестнвк. — 1011. — № 3 (103) — С. 284-289.
8. Кул7кл7к В.А; дк7доб дуплексной передачи сообщений сауаптттным нскиракднием 1Л.К. Луиобида // Прикладная математика и информационные технологии : сб. науч. и метод. 7И да Км ск : имгзи/, 2005. — У. 1О9-16З.
9. Кульбида, В. А. Способы помехоустойчивого кодирования и декодирования для построения систем связи с адаптацией этих способов к состоянию канала / В. А. Кульбида // Техника радиосвязи. Науч.-техн. сб. — Омск : ОНИИП, 2006. — Вып. 11 — С. 40-51.
10. Кульбида, В. А. Математическое моделирование в системе передачи дискретной информации / В. А. Кульбида // Омский научный вестник. — Омск : ОмГТУ, 2010. — № 3 (93). — С. 236— 239.
11. Морелос-Сарагоса, Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение / Р. Морелос-Сарагоса ; пер. с англ. ; под ред. В. Б. Афанасьева. — М. : Техносфера, 2005. — 320 с.
12. Скотт, Э. Исправление многобитовых ошибок при помощи одного контрольного бита на слово / Э. Скотт // Электроника. — 1981. — № 9. — С. 40-47.
13. Шафеева, О. П. Обнаружение и исправление ошибок в вычислительных системах многовекторными кодами : учеб. пособие / О. П. Шафеева. — Омск : ОМПИ, 1991. — 76 с.
14. Кульбида, В. А. Помехоустойчивый код с гибкой структурой и универсальный алгоритм его декодирования /
В. А. Кульбида // Вестник ТГУ. Приложение. — Томск : ТГУ, 2006. — № 17. — С. 310-315.
15. Кульбида, В. А. Универсальный непрерывный векторный код и исследование алгоритмов кодирования и декодирования / В. А. Кульбида // Системы управления и информационные технологии. Научно-технический журнал. — Воронеж : Научная книга, 2009. — Вып. 1.1 (35). Перспективные исследования. — С. 172-177.
16. Исследование корректирующих свойств помехоустойчивых кодов: свидетельство о регистрации электронного ресурса № 17920 / Кульбида В. А. № 50201250231 ; заяв. 20.02.2012; опубл. 22.02.2012. Алгоритмы и программы № 50, 1 с.
КУЛЬБИДА Владимир Александрович, консультант Управления делами Правительства Омской области. Адрес для переписки: [email protected]
Статья поступила в редакцию 08.09.2014 г. © В. А. Кульбида
УДК °°4.41 А. А. КУРЧАНОВ
Е. Б. ЮДИН
Омский государственный технический университет
ПРОГРАММА РАСЧЕТА МЕТРИЧЕСКИХ ХАРАКТЕРИСТИК БОЛЬШИХ ГРАФОВ
Решается задача расчета метрических характеристик больших графов. Разработанный программный модуль реализует последовательный и параллельный алгоритмы Дейкстры. Тестирование модуля проводится на данных реальных сетей с использованием вычислительного кластера ОмГТУ.
Ключевые слова: большой граф, списки смежных вершин, кратчайший путь, метрические характеристики графа, вычислительный кластер, язык программирования C++.
Работа выполнена при поддержке грантов РФФИ 14-01-31551 мол-а, РФФИ 12-07-00149-а.
Введение. Графы широко применяются для описания систем сетевой структуры. Графом называют совокупность множества V вершин и множества Е дуг (и/или ребер), соединяющих пары вершин. Большой популярностью графы пользуются при исследованиях коммуникационных сетей, химических и генетических структур.
Довольно часто при решении прикладных задач количество вершин в графе превышает десятки и сотни тысяч. Графы с количеством вершин больше десяти тысяч будем называть большими графами.
Приведем несколько примеров прикладных задач, в которых графы используются для описания изучаемых систем:
— транспортные задачи, в которых вершинами графа являются пункты назначения, а ребрами — дороги, их соединяющие;
— социологические задачи, в которых вершина-
ми графа являются люди в коллективе, а ребрами — отношения между ними.
Для решения приведенных выше задач требуется найти одну или несколько метрических характеристик графа.
Метрическими характеристиками графа называют характеристики, определяемые через расстояния между вершинами графа: эксцентриситет вершины, радиус, диаметр, центр и периферийные вершины. При этом расстояние от любой вершины vi до вершины V. определяется как длина кратчайшего пути, ведущего из vi в V.. Длина пути — это число проходимых дуг (ребер) графа или сумма их длин, если дуги графа взвешены.
Эксцентриситетом вершины называют расстояние до максимально удаленной от нее вершины. Радиусом и диаметром называют минимальный и максимальный из эксцентриситетов вершин, соот-