УДК 621.396.4, 519.876.5
Модель фрагмента сети цифровой радиосвязи
Шаптала В.С., Солнцев Д.В.
Аннотация. В статье ставится задача продемонстрировать результаты эволюционного развития модели цифровой сети радиосвязи в распределенной вычислительной среде. Целью работы является моделирование опытного района сети цифровой радиосвязи в коротковолновом диапазоне. При моделировании используются методы кроссплатформенного программирования и цифровой обработки сигналов. Новизна решения состоит в создании набора приложений, которые могут использоваться для тестирования и демонстрации возможностей целевого комплекта программ. К результатам работы следует отнести моделирование опытного района, оценку выигрыша по производительности при переходе к многопоточному приложению и графическое представление доступности абонентов сети радиосвязи. Практическая значимость работы заключается в возможности демонстрации работы опытного района без использования специального оборудования - требуется только вычислительная среда (Intel или ARM, Windows, Linux или Android). В демонстрации используется специальное программное обеспечение. Графическое приложение в системе технических расчетов Matlab позволяет представить доступность абонентов сети радиосвязи.
Ключевые слова: распределенные вычисления; цифровая обработка сигналов; архитектура программного обеспечения.
Введение
В статье рассматривается построение модели опытного района цифровой сети радиосвязи, с использованием рабочих станций или серверов начального уровня на платформе Intel (подробнее см. в [1, 2]). В исследовании представлено решение следующих задач: тестирование работы опытного района радиосвязи, оценка использования вычислительных ресурсов, сравнение работы однопоточной и многопоточной реализации целевого программного обеспечения и оценка алгоритмов взаимодействия с терминальным оборудованием. Приложения и компоненты используют кроссплатформенный фреймворк Qt 5.13.1, 64-разрядный компилятор (MinGW 7.3 для Windows и GCC5 для Linux) и собираются в интегрированной среде разработки QtCreator 4.11.2. Все результаты получены для сборки приложений и компонент в режиме «Release». Также использовались некоторые дополнительные библиотеки и модули Qt: libfftw (реализация быстрого преобразования Фурье - БПФ), qcustomplot, qdatavisualization (2-D, 3-D графика).
Структура программного обеспечения
Программное обеспечение для проведения моделирования строится из различных компонент (см. табл. 1), а их комбинации образуют приложения (applications). Компоненты, в свою очередь, состоят из трех слоёв: примитивы интерфейса пользователя (widgets), системные библиотеки (systems) и цифровая обработка сигналов (signals). Компоненты уровня цифровой обработки сигналов написаны на языке C, а остальные уровни на языке C++.
В табл. 1 представлены только те компоненты и приложения, которые необходимы для моделирования опытного района, в действительности их больше. Количество абонентов опытного района не должно превышать логическую емкость сети. В рамках этой статьи под абонентом понимается приложение fhss-dte (DTE, data terminal equipment), а в качестве аппаратуры передачи данных (АПД) выступает fhss-dce (DCE, data communication equipment). Приложение fhss-multichannel - это многоканальная модель радиоканала, которая имитирует совместную работу радиосредств.
Таблица 1 - Матрица программного обеспечения
Applications fhss-dce fhss-dte fhss-multichannel
Widgets qt-channel-panel X
qt-channel-plot X
qt-dce-panel X
qt-dce-plot X
qt-3dSurface Widget X
qt-customplot X X
Systems fhss-protocols X X X
Signals fhss-modem X
fhss-channel X
eml X X
Модель опытного района
Опытный район состоит из 5 центров радиосвязи, которые связаны между собой, в соответствии с рис. 1.
Port 4001 Addr 1-4 City MSK
4002
5-8 SVS
4003 9-12 EKB
4004
13-16 UUD
4005 17-20 KHB
5
10
11 12
13
14
15
17
18
Рис. 1. Графическое представление опытного района
Выбор разных портов допускает моделирование работы радиосети на одной рабочей станции или сервере, и служит признаком территориальной принадлежности. Пул адресов равномерно распределен между пятью центрами только для визуального удобства. В действительности, номера могут быть любыми - главное, чтобы они не повторялись.
Описание тестового окружения
Запуск системы производился на рабочей станции под управлением ОС Windows 10 со следующими основными характеристиками: CPU Intel Core i5 3450 @ 3.1 GHz, 8 Gb DDR3 RAM. Его дисковая подсистема не имеет большого значения, поскольку в рамках тестирования системы она практически не используется.
Модель запускалась на одной рабочей станции, обмен производился посредством интерфейса localhost. Для целей настоящей работы также использовались сторонние средства: диспетчер задач Windows для оценки использования ресурсов CPU и оперативной памяти, а также программа Wireshark v.3.2.3 для оценки трафика между программами сервера и клиента системы.
Принцип моделирования опытного района
Моделирование может происходить в двух режимах:
- c использованием системного времени в приложении fhss-multichannel, что пока возможно только на высокопроизводительных рабочих станциях (режим real time). После оптимизации программного обеспечения, которое включает полную поддержку многозадачности, этот режим не будет требовать высокой производительности;
- без использования таймера в приложении fhss-multichannel, что допускает использование любых рабочих станциях (режим virtual time). В этом случае, моделирование
9
6
может происходить или с опережением реального времени, если быстродействие распределенной вычислительной системы велико, или медленнее, в случае недостаточного быстродействия системы.
Для взаимодействия fhss-dce и fhss-multichannel используются два протокола RTSP [3, 4] и RTP [5]. Взаимодействие fhss-dte и fhss-dce происходит с использованием проприетарного транспортного протокола, в который инкапсулирован текстовый протокол JSON.
Основной принцип работы приложения можно пояснить упрощенным алгоритмом:
1) fhss-multichannel запускается и начинает моделировать искажения по заданному количеству рабочих частот;
2) fhss-dce подключается по протоколу RTSP и сообщает свой абонентский адрес;
3) fhss-multichannel, зная количество подключенных клиентов, запрашивает у всех данные на передачу по протоколу RTSP и получает комплексный сигнал по протоколу RTP;
4) в fhss-multichannel происходит искажение сигналов для всех рабочих частот, а не только для тех на которых в данный момент работают fhss-dce;
5) после этого fhss-multichannel возвращает искаженный сигнал каждому fhss-dce по протоколу RTP и цикл (3-5) повторяется снова. Длительность этого цикла определим как Tв мс.
Цикл 3-5 в реальной аппаратуре должен выполняться за 50 мс. Интегральным показателем эффективности работы системы можно считать коэффициент ускорения, т. е. величину, которая определяет, как происходит работа распределенного приложения -быстрее или медленнее реального времени, поэтому допустимо определить данный коэффициент следующим образом: k = 50/T. Коэффициент ускорения доступен в приложении fhss-multichannel. Если он превышает 1 хотя бы на 30%, то допускается переход в режим работы real time. Приложение fhss-dce может работать как самостоятельно, так и управляться приложением fhss-dte. В этом случае происходит не только моделирование взаимодействия между сервером (fhss-multichannel) и клиентом (fhss-dce), но и моделирование работы и взаимодействия терминального оборудования (fhss-dte) с аппаратурой передачи данных. Важно понимать, что приложение fhss-multichannel - это сервер по отношению к клиенту fhss-dce, а он, в свою очередь, сервер по отношению к клиенту fhss-dte.
Тестирование производительности распределенного приложения
В этом разделе распределенное приложение состоит только из сервера (fhss-multichannel, всегда используется только один поток) и клиента (fhss-dce). В рамках данной работы были подготовлены и протестированы две версии клиента:
- все добавляемые модемы работают в одном потоке. В таком случае, все модемы работают в GUI потоке программы, а все обмены с сервером осуществляются последовательно со стороны клиента, хотя и в случайном порядке;
- при добавлении модема создается отдельный вычислительный поток, с которым взаимодействует только данный модем. В таком случае, все модемы работают независимо как друг от друга, так и от GUI потока программы, а все обмены с сервером осуществляются параллельно со стороны клиента и в случайном порядке.
Многопоточность в рамках приложения клиента была реализована в соответствии с рекомендациями разработчиков фреймворка и с дополнительными замечаниями на профильных порталах. На рис. 2 показаны результаты сравнений двух версий клиента по коэффициенту ускорения, в зависимости от количества модемов. Можно заметить, что коэффициент ускорения для обеих версий клиента практически не отличается в случае, если создан и работает только 1 модем. При увеличении количества созданных модемов в версии клиента с использованием многопоточности коэффициент ускорения падает не так сильно, как в однопоточной версии.
2,80 2,60
ос
i 2,40 ш
о 2,20 и
>- 2,00 I-
х
1,80 ■е- 1,60
о 1,40 1,20 1,00
1 поток N потоков
2
4
12
14
16
6 8 10 Количество модемов
Рис. 2. Коэффициент ускорения в зависимости от количества модемов
Рассмотрим далее эффективность использования CPU тестового стенда. На рис. 3 показан процент загрузки CPU для однопоточной версии клиента, на рис. 4 - процент загрузки CPU для многопоточной версии клиента. Справочно приведены также загрузки CPU для программы сервера тестируемой системы.
30 -1-1-1-1-1-1-1-
25 —
20
■а
° 15
Q.
и
10
■DCE ■Server
30
25
20
■а
° 15 ^
а.
U 10
2 4 6 8 10 12 14 16
Количество модемов
Рис. 3. Загрузка процессора при использовании однопоточной версии клиента
DCE Server
2 4 6 8 10 12 14 16
Количество модемов
Рис. 4. Загрузка процессора при использовании многопоточной версии клиента
5
0
0
5
0
0
Обе версии демонстрируют схожее поведение - с ростом числа модемов загрузка CPU программой клиента растет, а загрузка CPU программой сервера падает. При этом, в случае однопоточной версии зависимость между данными величинами практически обратно пропорциональная, в то время как в случае версии с многопоточностью она выражена не так явно. Так же следует отметить, что версия с многопоточным клиентом загружает CPU более равномерно при увеличении количества модемов.
Далее рассмотрим влияние работы различных версий клиента на размер занимаемой памяти приложения клиента, в целом, и эффективность использования сетевых ресурсов. Для оценки используемой памяти используется диспетчер задач Windows, а для оценки нагрузки на сетевой интерфейс, - встроенный в программу Wireshark инструмент график ввода/вывода. В табл. 2 приведена статистика для однопоточной версии клиента, в табл. 3 -для многопоточной.
Таблица 2 - Статистика работы однопоточной версии клиента
Количество модемов Использование памяти DCE, мБ Сетевая нагрузка общая Сетевая нагрузка полезная
pkts/sec kbytes/sec pkts/sec kbytes/sec
0 5,60 - - - -
1 8,20 400 420 200 400
2 9,50 740 790 370 740
3 10,60 1050 1130 525 1060
4 11,70 1330 1410 660 1340
5 12,90 1560 1660 780 1570
6 14,10 1775 1890 890 1770
7 15,40 1980 2100 990 1990
8 16,50 2225 2360 1100 2240
9 17,70 2400 2525 1200 2400
10 19,00 2525 2700 1270 2550
11 20,10 2675 2850 1350 2700
12 21,30 2825 3000 1400 2825
13 22,40 2950 3125 1475 2975
14 23,50 3025 3250 1525 3075
Таблица 3 - Статистика работы многопоточной версии клиента
Количество модемов Использование памяти DCE, мБ Сетевая нагрузка общая Сетевая нагрузка полезная
pkts/sec kbytes/sec pkts/sec kbytes/sec
0 5,60 - - - -
1 8,20 400 430 200 410
2 9,60 780 850 385 805
3 10,80 1125 1190 560 1125
4 12,10 1440 1540 720 1460
5 13,30 1800 1870 900 1775
6 14,70 2100 2200 1050 2075
7 15,90 2400 2500 1200 2360
8 17,20 2650 2770 1325 2630
9 18,50 2900 3030 1450 2870
10 19,80 3200 3300 1600 3120
11 21,00 3400 3550 1700 3400
12 22,10 3600 3720 1800 3540
13 23,60 3800 3900 1900 3700
14 24,60 3900 4100 1950 3920
Исходя из полученных результатов, можно отметить, что использование памяти программой клиента практически не зависит от версии клиента. Как в случае с однопоточной версией, так и с многопоточной версией клиента потребление памяти увеличивается равномерно на одинаковую величину.
Из приведенной выше статистики также следует, что система с многопоточной версией клиента более эффективно использует сетевой интерфейс, нагружая его в большей степени, чем система с однопоточной версией клиента. При увеличении количества модемов
однопоточный клиент, в отличие от многопоточного, вынужден тратить все больше вычислительных ресурсов на свои внутренние нужды (последовательную модуляцию и демодуляцию сигналов), следовательно, меньше нагружая сетевой интерфейс.
Моделирование информационного взаимодействия в опытном районе
В соответствии со схемой на рис. 1, на рабочей станции запускается один экземпляр приложения fhss-multichannel и по пять экземпляров приложений fhss-dce и fhss-dte. Используя DTE, на каждом центре создается заданное количество DCE для образования 7 радиолиний. Перед информационным обменом необходимо провести процедуру синхронизации времени от выбранного DCE. Его номер может быть любым, но желательно, чтобы все синхронизировались от него для предотвращения увеличения погрешности. Допускается последовательная синхронизация, когда, например, 2 синхронизируется от 1, а 3 от 2, но желательно этого избегать. После чего можно моделировать установление соединения или широковещательную передачу, поскольку эти процедуры возможны только тогда, когда вся сеть функционирует в рамках единого времени. Модель терминального оборудования позволяет, в ограниченном объеме, проверять служебное и информационное взаимодействие с аппаратурой передачи данных. Модель радиоканала работает на 128 частотах, а каждое DCE использует 32 частоты. Доступны проверки адаптации по рабочим частотам и скорости передачи.
Моделирование доступности центров радиосети в опытном районе
Используя разработанное программное обеспечение АПД и модель радиоканала, которая позволяет моделировать различное отношение сигнал/шум и замирания сигнала и результаты моделирования состояния ионосферы в системе инженерных расчетов Matlab была реализована утилита (см. рис. 5), которая позволяет визуально представить доступность между центрами радиосвязи для указанной даты и времени в интервале года. Эта утилита позволяет построить диаграмму доступности, в двумерном или трехмерном виде, между центрами радиосвязи по разным критериям: отношение сигнал/шум, доступная скорость передачи, вероятность ошибки и вероятность доставки пакета с использованием метода повышения достоверности без решающей обратной связи.
Рис. 5. Утилита в системе Matlab
Примеры представлены на рис. 6-8. Графики соответствуют 12 января 2019 года и радиоканалу со средними замираниями.
Рис. 6. Доступная скорость передачи, 3D представление
Рис. 7. Доступная скорость передачи, 2D представление
BER Good 1-12 MUF MHz
■■■■□■□■■■■■□■■□■■■■■■■а
□□□■□■□■■■■□□■□■□□□□■■■в ■■■■□■□■■■■■□■■□■■■■■■■в
□□□□■■□□■■□□□■■□□□□□■□□и
□□□□□□□□□□□□□□□□□□□□□□□□i □□□□■□□□□□□□■■□□□□□□□□□a-
ппппипппппппиипппппппппп-
KHB-: uud -
uud -msk -
svs-:
msk -
KHB-:
EKB
uud -
EKB-:
svs
EKB
msk -
ekb
uud ■ KHB ■msk ■uud msk ■svs ekb KHB •ekb uud ekb svs •ekb msk
Рис. 8. Вероятность ошибки, 2D представление
Выводы
Разработанный набор компонент позволяет моделировать работу цифровой сети радиосвязи таким образом, что тестируется целевое программное обеспечение fhss-dce. Используя эти компоненты, разработчик получает широкие возможности по тестированию и разработке терминального и телекоммуникационного оборудования. Результаты работы могут быть использованы при проведении предварительных и государственных испытаний для демонстрации работоспособности цифровой радиосети без радиосредств и, как следствие, без необходимости заказа рабочих частот на период их проведения. Использование только программной вычислительной среды позволяет вести разработку и построение стендов с минимальными финансовыми затратами.
Литература
1. Шаптала В.С. Моделирование системы цифровой коротковолновой радиосвязи // Техника средств связи. 2019. № 2 (146). С. 154-156.
2. Шаптала В.С. Модель цифровой сети радиосвязи в распределенной вычислительной среде // Техника средств связи. 2019. № 3 (147). С. 70-76.
3. RFC 2326 URL: https://www.ietf.org/rfc/rfc2326.txt (дата обращения 12.05.2019).
4. RFC 7826 URL: https://tools.ietf.org/html/rfc7826 (дата обращения 12.05.2019).
5. RFC 3550 RTP: A Transport Protocol for Real-Time Applications URL: https://tools.ietf.org/html/rfc3550 (дата обращения 12.05.2019).
6. Java Script Object Notation. URL: https://www.json.org (дата обращения 12.05.2019).
7. RFC 8259 URL: https://tools.ietf.org/html/rfc8259 (дата обращения 12.05.2019).
8. ECMA-404. The JSON Data Interchange Syntax URL: https://www.ecma-international.org/publications/standards/Ecma-404.htm (дата обращения 12.05.2019).
9. Multithreading Technologies in Qt URL: https://doc.qt.io/qt-5/threads-technologies.html (дата обращения 12.05.2019).
10. QThreads general usage URL: https://wiki.qt.io/QThreads_general_usage (дата обращения 12.05.2019).
11. The correct way to exit a thread in Qt with finished signal and make clean_up URL: https://stackoverflow.com/questions/23268331/the-correct-way-to-exit-a-thread-in-qt-with-finished-signal-and-make-clean-up (дата обращения 12.05.2019).
12. When or how to delete QThread in Qt URL: https://stackoverflow.com/questions/27190364 /when-or-how-to-delete-qthread-in-qt?rq=1 (дата обращения 12.05.2019).
13. Дорогов А.Ю. Моделирующий комплекс для радиосетей КВ диапазона / III Международная научная конференция по проблемам управления в технических системах (СTS'2019). Сборник докладов. Санкт-Петербург. 30 октября - 1 ноября 2019 г. СПб.: СПбГЭТУ «ЛЭТИ». С. 163166.
References
1. Shaptala V.S. Modelirovanie sistemy cifrovoj korotkovolnovoj radiosvyazi. Tekhnika sredstv svyazi [Building a digital short-wave radio system. Means of communication equipment]. 2019. No. 2 (146). Pp. 154-156 (in Russian).
2. Shaptala V.S. Model' cifrovoj seti radiosvyazi v raspredelennoj vychislitel'noj srede. Tekhnika sredstv svyazi [Model of digital radio network in distributed computing system. Means of communication equipment]. 2019. No. 3 (147). Pp. 70-76 (in Russian).
3. RFC 2326 URL: https://www.ietf.org/rfc/rfc2326.txt.
4. RFC 7826 URL: https://tools.ietf.org/html/rfc7826.
5. RFC 3550 RTP: A Transport Protocol for Real-Time Applications URL: https://tools.ietf.org/html/rfc3550.
6. Java Script Object Notation. URL: https://www.json.org.
7. RFC 8259 URL: https://tools.ietf.org/html/rfc8259.
8. ECMA-404. The JSON Data Interchange Syntax URL: https://www.ecma-international.org/publications/standards/Ecma-404.htm.
9. Multithreading Technologies in Qt URL: https://doc.qt.io/qt-5/threads-technologies.html.
10. QThreads general usage URL: https://wiki.qt.io/QThreads_general_usage.
11. The correct way to exit a thread in Qt with finished signal and make clean_up URL: https://stackoverflow.com/questions/23268331/the-correct-way-to-exit-a-thread-in-qt-with-finished-signal-and-make -clean-up.
12. When or how to delete QThread in Qt URL: https://stackoverflow.com/questions/27190364/when-or-how-to-delete-qthread-in-qt?rq=1.
13. Dorogov A.Yu. Modeling complex for HF radio networks. III International Conference on Control in Technical Systems CTS'2019. October 30 - November 1, 2019 at Saint Petersburg Electrotechnical University, St. Petersburg, Russia. Pp. 163-166 (in Russian).
Статья поступила 15 мая 2020 г.
Информация об авторах
Шаптала Василий Сергеевич - Начальник лаборатории ПАО «Интелтех». Кандидат техн.
наук.
Солнцев Денис Викторович - Инженер-программист ПАО «Интелтех». Тел. 8 (812) 448-19-09.
E-mail: shaptalavs@inteltech.ru. Адрес:197342, г. Санкт-Петербург, Кантемировская ул., д.8.
Model of pilot area of digital radio network
V.S. Shaptala, D.V. Solntsev
Abstract. This paper aims at demonstrating the results of evolutionary development of digital communication system model in distributed computational environment. The main goal of this paper is creating and testing the model of pilot area of digital radio network in shortwave radio spectrum. For modelling purposes, we make use of cross platform development techniques and digital signal processing algorithms. The novelty of discussed solution is in creating a number of software applications, that can be used for testing and demonstration the capabilities of target set ofprograms. he results of this paper include modelling the work of the pilot area, estimation of performance gain as we transition to multithreaded application and graphical representation of available subscribers in radio network. Practical significance of this paper consists in ability to demonstrate the work of digital radio network in pilot area without the need of using special equipment - only computational environment is required (Intel or ARM, Windows, Linux or Android). Special software packages were used for demonstration purposes. Graphical application built in Matlab allows us to demonstrate availability of subscribers in radio network.
Keywords: distributed computing; digital signal processing; software architecture.
Information about Authors
Shaptala Vasilij Sergeevich - Head of laboratory PJSC "Inteltech". Ph.D. in communications.
Solntsev Denis Viktorovich - Software engineer of PJSC "Inteltech".
Tel. 8(812)448-19-01 (12-15). E-mail: shaptalavs@inteltech.ru.
Address: Russia, 197342, Saint-Petersburg, Kantemirovskaya street 8.
Для цитирования: Шаптала В.С., Солнцев Д.В. Модель фрагмента сети цифровой радиосвязи // Техника средств связи. 2020. № 2 (150). С. 71-79.
For citation: Shaptala V.S., Solntsev D.V. Model of pilot area of digital radio network. Means of communication equipment. 2020. N 2 (150). P. 71-79 (in Russian).