На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

Специализированное программное обеспечение измерительной системы для оперативного оценивания спектрального состава многокомпонентных процессов

Specialized software of the measuring system for the operative estimating the spectral composition of multicomponent processes
Дата подачи статьи: 22.05.2018
УДК: 519.246.27
Статья опубликована в выпуске журнала № 1 за 2019 год. [ на стр. 159-166 ]
Аннотация:В статье рассматривается разработка ПО измерительной системы, предназначенной для проведения оперативного спектрального анализа многокомпонентных процессов. При разработке данного ПО выбрана парадигма модульного построения программных компонентов. Такой подход позволил обеспечить гибкость, расширяемость и масштабируемость ПО, а также заменяемость программных компонентов и возможность их повторного использования. В соответствии с выбранным подходом ПО измерительной системы состоит из модуля реализации алгоритма спек-трального анализа, модуля визуализации измерительных данных и конвертора обработки данных, обеспечивающего взаимодействие между этими модулями. Структура ПО основана на многоуровневой организации вычислительной сре-ды. В соответствии с этим выделены уровни представления и обработки данных. Это позволило отделить метрологически значимые и незначимые программные компоненты и обеспечить защиту измерительной информации от непреднамеренных и преднамеренных изменений. Уровень представления реализован на языке Java, а уровень обработки на языке С++. Вы-бор языка Java обусловлен наличием компонент поддержки цифровых технологий отображения данных и пользовательского интерфейса, что позволило сделать приложение функционально гибким в использовании, осуществлять управление процессом спектрального анализа, включая операции ввода данных, визуализации результатов в графическом и табличном представлениях. Процедуры вычисления спектральных оценок реализованы в модуле метрологически значимого ПО на языке C++, позволившего применить подход многопоточного программирования для повышения производительности обработки данных в ходе спектрального анализа.
Abstract:The paper considers the problem of software development of a measuring system for operative spectral analysis. The software development includes a modular paradigm for organizing software components. It allows ensuring flexibility and extensibility of the system, development process scalability, interchangeability of software components and the possibility of their reuse. According to the chosen approach, the visualization system software consists of a module of a spectral analysis algorithm, a module for measuring data visualization, and a data processing converter that provides communication between these modules. The software structure is based on a multi-level organization of the computing environment. The levels of data representation and processing are highlighted. This allows separating metrologically significant and insignificant parts and protecting measuring information against unintentional and deliberate changes. The presentation level is implemented in Java, and the processing lev-el is in C++. The choice of Java is due to the availability of support components for digital display technologies and user inter-face, which made it possible to make the application functionally flexible in use, to manage the spectral analysis process includ-ing data entry operations, graphical and tabular visualization of results. The procedures of calculating spectral estimates are implemented in the metrologically significant software module in C++, which enable multithreaded programming to improve data processing performance during the spectral analysis.
Авторы: Якимов В.Н. (yvnr@hotmail.com) - Самарский государственный технический университет (профессор), г. Самара, Россия, доктор технических наук, Машков А.В. (arintelligence@yandex.ru) - Самарский государственный технический университет (старший преподаватель), Самара, Россия, Желонкин А.В. (zhelonkin.ru@yandex.ru) - Самарский государственный технический университет (студент), Самара, Россия
Ключевые слова: многоуровневая структура, измерительная система, программное обеспечение, оперативный спектральный анализ, знаковый сигнал, аналого-стохастическое квантование, многокомпонентный процесс
Keywords: multi-level structure, information-measuring system, the software, operative spectral analysis, sign-function signal, analog-stochastic quantization, random process
Количество просмотров: 3908
Статья в формате PDF
Выпуск в формате PDF (6.60Мб)

Размер шрифта:       Шрифт:

Техническая диагностика работоспособности механических систем и оборудования во многих случаях требует оперативного оценивания спектральной плотности мощности (СПМ) многокомпонентных процессов. Одним из основных классических подходов к оцениванию СПМ является коррелограммный метод. Этот метод относится к наиболее устойчивым (робастным) методам спектрального анализа [1]. В настоящее время оценивание СПМ согласно коррелограммному методу, как правило, осуществляется в цифровом виде. При этом современные средства измерений, предназначенные для спектрального анализа, представляют собой высокоавтоматизированные измерительные системы, в которых операции, связанные с получением оценок СПМ, выполняются програм- мным способом [2–5].

Программный способ реализации коррелограм- много метода оценивания СПМ не вызывает существенных трудностей. Однако в своем классическом исполнении коррелограммный метод, во-первых, требует предварительного оценивания корреляционной функции (КФ), а во-вторых, его программная реализация связана с необходимостью выполнения большого числа цифровых операций умножения при вычислении оценок как КФ, так и СПМ. Все это ведет к снижению оперативности оценивания СПМ. Отсюда следует актуальность задачи разработки цифрового алгоритма оценивания СПМ, программная реализация которого обеспечивала бы вычислительную эффективность спектрального анализа.

Метод решения

Для решения поставленной задачи предложено использовать бинарное знаковое аналого-стохастическое квантование (БЗАСК) в качестве первичного преобразования непрерывного во времени анализируемого многокомпонентного процесса X(t) [6–8]:

где ξ(t) – вспомогательный случайный сигнал (ВСС).

ВСС ξ(t) является равномерно распределенным и изменяется в пределах от –xmax до +xmax. Здесь xmax ³ ½Xsup½, где ½Xsup½ – наибольшее по абсолютной величине значение динамического диапазона, в пределах которого может принимать свои значения многокомпонентный процесс X(t).

Особенностью БЗАСК является возможность осуществлять двухуровневое преобразование непрерывных процессов без систематической погрешности независимо от их статистических свойств. При этом его результат z(t) можно рассматривать как непрерывный во времени знаковый сигнал, ограниченный по уровню значениями –1 и +1.

В ходе выполнения двух процедур БЗАСК предва- рительно центрированной реализации  многоком- понентного процесса X(t), то есть после удаления постоянной составляющей, сформируем на интервалах времени 0 £ t £ T и 0 £ t £ 2T знаковые сигналы z1(t) и z2(t) соответственно.

Найдем оценку КФ [4]:

Тогда коррелограммная оценка СПМ с учетом четности КФ будет следующей:

  (1)

Для однозначного представления сигналов z1(t) и z2(t) во времени достаточно знать только их значения z1(t0) и z2(t0) в начальный момент времени квантования и моменты времени, в которые каждый из них пересекает нулевой уровень:

 и ,              (2)

где   и

На интервалах времени, определяемых моментами времени (2), знаковые сигналы z1(t) и z2(t) остаются постоянными. С учетом этого интегралы в (1) могут быть вычислены аналитически. Будем вычислять оценки СПМ на частотах fn = nDf, где Df = 1/T – предельное разрешение по частоте. Тогда после вычисления интегралов в (1) получаем:

,                   (3)

,      (4)

,

.

Отсчеты времени  соответствуют тем моментам, в которые знаковый сигнал z2(t) меняет свое значение на интервале от  до .

Соотношения (3) и (4) с учетом коэффициента A(Δf), который остается постоянным для заданного разрешения по частоте Df = 1/T, определяют процедуру дискретного вычисления оценок СПМ. Нетрудно заметить, что реализация этих соотношений не требует предварительного оценивания КФ анализируемого процесса, а также практически не связана с выполнением цифровых операций умножения. Основными операциями являются алгебраическое суммирование и вычитание отсчетов косинусоидальной функции . Отсутствие необходимости в вычислении оценок КФ и переход к более простым алгебраическим операциям существенно повышают оперативность цифровых процедур в ходе вычисления оценок СПМ.

Программная реализация алгоритма вычисления оценок СПМ

На основе (3) и (4) разработан алгоритм вычисления оценок СПМ в цифровом виде, который, в свою очередь, стал основой разработки специализированного ПО измерительной системы для спектрального анализа.

Необходимость в создании специализированного ПО измерительной системы, реализующего оценивание спектральных составляющих многокомпонентных процессов, вызвана тем, что существующие проприетарные программные продукты либо имеют избыточный функционал для решения узкоспециализи- рованных задач, либо не обеспечивают гибкости в предоставлении, поддержке и модификации библиотек, удовлетворяющих специфическим требованиям.

Разработанное ПО состоит из трех основных частей: системного, общего прикладного и метрологически значимого ПО.

Системное ПО представляет собой совокупность программных средств, обеспечивающих общее управление аппаратно-программными компонентами измерительной системы.

Общее прикладное ПО предназначено для выполнения типовых процедур обработки и обмена данными, которые предусмотрены процессом измерений.

Согласно требованиям к ПО средств измерений (ГОСТ 8.654-2015), метрологически значимое ПО представляет собой совокупность программных модулей, выполняющих функции сбора, передачи, обработки, хранения и представления измерительной информации.

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

Для реализации метрологически значимых и незначимых частей в структуре ПО измерительной системы выделены уровни представления и обработки данных. На рисунке 1 приведена обобщенная схема многоуровневой структуры ПО измерительной системы.

Уровень представления соответствует метрологически незначимой части ПО и отвечает за графическое представление данных и интерфейс взаимодействия с пользователем.

Уровень обработки данных соответствует метрологически значимой части ПО и содержит модуль реализации алгоритма вычисления оценок СПМ.

Уровень представления реализован на строго типизированном объектно-ориентированном языке программирования Java, а уровень обработки – на статически типизированном языке программирования общего назначения С++. Использование языка Java обеспечило создание программных конструкций с возможностью повторного использования. В свою очередь, C++ позволил применить подход многопоточ- ного программирования для повышения производительности обработки данных.

При разработке ПО измерительной системы была выбрана модульная парадигма организации структуры ПО. Это позволило обеспечить выполняемость таких критериев, как адаптивность и расширяемость системы, масштабируемость процесса разработки, заменяемость программных компонентов и возможность их повторного использования [9, 10]. ПО состоит из следующих основных модулей: модуль визуализации измерительных данных, модуль реализации алгоритма вычисления оценки СПМ и конвертор обработки данных между пользовательским интерфейсом и модулем реализации алгоритмов.

Основу пользовательского интерфейса составляет модуль графической визуализации данных, позволяющий отображать полученные результаты обработки данных в графической форме.

Модуль анализа данных представляет инструмент спектрального анализа на основе разработанного алгоритма вычисления оценок СПМ.

Модуль восстановления сигнала позволяет восстановить гармонические составляющие многокомпонентного процесса после проведения спектрального анализа.

Реализация программного кода модулей анализа данных и восстановления сигнала осуществляется через блок модулей конвертирования данных между языками программирования Java и C++. Использование связующих модулей позволяет заменить их при необходимости использования под другим графическим интерфейсом. Взаимодействие модулей ПО и организация обмена данными показаны на рисунке 2.

Дополнительно разработаны модуль моделирования многокомпонентного процесса, который обеспечивает формирование аддитивной смеси гармонических составляющих и широкополосного шума с заданными характеристиками, и модуль имитации БЗАСК. Эти модули предназначены для отладки и тестирования разработанного ПО в ходе его расширения и модификации.

Модульная архитектура ПО измерительной системы позволила обеспечить принцип разделения ответственности программных компонентов, где каждый компонент отвечает за выполнение только своей задачи и взаимодействует с компонентами других уровней по установленным связям через разработанные интерфейсы. При этом учтено требование конструктивной и функциональной однородности программных модулей [11, 12].

Пользовательский интерфейс системы реализован на языке Java в среде разработки Intellij IDEA 2017.1.4 на основе технологии JavaFX. Для удобства все элементы представления вынесены в fxml-разметку, а обработка событий в контроллеры.

Общая структура интерфейса приложения представлена на рисунке 3 в виде диаграммы классов универсального языка моделирования UML:

-     класс MainController является корневым обработчиком событий пользовательского интерфейса;

-     класс SignalTabController представляет общий обработчик вкладки сигналов и выборок целевых обработчиков;

-     классы RandomProcessController и ExcelProcess­Controller определяют программный и графический интерфейсы модуля загрузки данных анализируемого процесса;

-     класс SubSignalsTabController представляет обработчик вкладки создания вспомогательных сигналов;

-     класс AnalysisTabController представляет обработчик вкладки анализа данных колебательного процесса.

Основной задачей являлась разработка метрологически значимого ПО, которое реализует разработанный алгоритм вычисления оценок СПМ. ПО приложения, реализующего данный алгоритм, написано на языке C++ в среде разработки VisualStudio 2017. При этом используются библиотека xlnt для чтения электронных таблиц формата xlsx, а также механизм JavaNativeInterface (JNI) для запуска кода под управлением виртуальной машины Java (JVM), который напи- сан на языке С++. Для большей гибкости код, реализу- ющий алгоритм, разделен на две части: Core – модуль реализации процедур выполнения алгоритма; Java­Bridge – модуль преобразования java-объектов в стандартные типы данных языка С++.

Согласно концепции объектно-ориентированного программирования, основу информационного обеспечения измерительной системы составили четыре класса-контейнера.

1. Классы-контейнеры для передачи данных о моделируемом процессе:

-     класс QuantumBridge используется для загрузки нативных библиотек подсчета и анализа данных;

-     класс JNIRandomProcessModel хранит общие данные о модели анализируемого процесса: параметры гармонических составляющих, закон распределения шума, среднее значение и отклонение;

-     класс JNIRandomProcessComponent хранит данные гармонической составляющей: тип гармонического компонента, амплитуда, частота и фаза.

2. Классы-контейнеры для передачи данных о загружаемом реальном сигнале из Excel-файла:

-     класс JNIExcelProcessData хранит общие данные о загружаемом сигнале: путь до файла, расширение файла, тип аргумента, интервал дискретизации, номер колонки аргумента, коэффициент децимации, массив данных о загружаемых массивах;

-     класс JNIExcelProcessComponent хранит данные о загружаемом из файла массиве: номер колонки, номер первой строки, количество строк.

3. Классы-контейнеры для получения данных сигналов и их анализа:

-    класс JNIExcelSeriesResearch хранит общие данные о загруженных сигналах: матрица значений сигналов, массив контейнеров с результатами ана-лизов по каждому сигналу;

-     класс JNIExcelSeriesComponent хранит данные об анализе сигнала: максимальное и минимальное значения, абсолютное максимальное значение, математическое ожидание, дисперсия, среднее квадратическое отклонение, коэффициент корреляции, массив центрированных значений.

4. Класс-контейнер JNIFourierData хранит общие данные для спектрального анализа: массив сигналов, постоянная составляющая, среднее значение, отклонение, амплитуда, период и фаза вспомогательного сигнала, время анализа, интервал опроса, минимальное и максимальное значения частоты.

Общая структура адаптера для модуля подсчетов представлена на рисунке 4.

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

Наличие различных функциональных компонентов ПО обусловило разграничение интерфейса метроло- гически значимого ПО на интерфейс пользователя и программный интерфейс. При проектировании пользовательского интерфейса особое внимание уделено вопросам пространственного представления информации. Это качественный признак, определяющий, насколько правильно спроектированы структура ПО и эргономичный для пользователя интерфейс. Логиче- ски организованная информация обеспечивает удобную и единообразную навигацию как в пределах одного окна, так и в целом по множеству окон и вкладок. Пользовательский интерфейс ПО информационной измерительной системы показан на рисунке 5.

Вкладка «Сигнал» позволяет работать в двух режимах путем выбора типа источника данных:

-     «загрузка реального сигнала», который позволяет загрузить реальный процесс из текстового файла или электронной таблицы формата xlsx;

-     «модель реализации случайного процесса», который формирует тестовый процесс.

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

На рисунке 6 показана вкладка «Анализ», на которой задаются параметры для выполнения спектрального оценивания. На этой же вкладке расположен модуль визуального отображения графической информации. При этом имеется возможность выбора частотного диапазона для детального просмотра спектральных оценок с помощью двойного ползунка. Также выводится таблица численных значений результатов вычисления оценок СПМ с разрешением по частоте Df = 1/T.

Результаты экспериментального тестирования

Экспериментальные исследования алгоритма и те- стовые испытания ПО проводились с использованием специально разработанного модуля имитационного моделирования. Имитация центрированной реализа­ции  многокомпонентного процесса X(t) осуществлялась в виде суммы статистически независимых гармонических компонент и аддитивного шу- ма e(t).

Параметры гармонических компонент (значения частот и амплитуд) подбирались так, чтобы по их спектрам можно было судить о разрешающей способности и надежности идентификации спектральных составляющих. Амплитуды гармонических компонент принимали значения от нуля до единицы и интерпретировались как нормированные, их частоты также задавались нормированными: , где 0 < fk < fmax и fmax – верхняя частота диапазона, в границах которого имитировалось вычисление оценок СПМ. Нормирование частот обеспечило постоянство частотного диапазона спектрального оценивания от нуля до 0,5. Начальные фазы ji задавались в соответствии с равномерным законом распределения в пределах их периода следования. Шум e(t) представлял собой белый шум, который имел нулевое математическое ожидание и дисперсию . В частности, модель реализации  содержала семь гармонических компонент, параметры которых приведены в таблице. При этом дисперсия шума была равна единице.

Результаты анализа модели реализации  представлены на верхнем графике рисунка 6. Спектральные линии четко разрешимы по частоте, сильные гармонические компоненты не маскируют слабые. Даже при высоком уровне шума (дисперсия равна едини-це) гармонические компоненты с нормированной амплитудой 0,1 четко различимы на его фоне.

Параметры гармонических компонент модели реализации

Parameters of harmonic components of the signal model

k

ak/se, дБ

1

0,22

0,1

-20

2

0,23

0,3

-10

3

0,24

0,5

-6

4

0,25

1,0

0

5

0,26

0,5

-6

6

0,27

0,3

-10

7

0,28

0,1

-20

Заключение

Задача разработки цифрового алгоритма оценивания СПМ на основе коррелограммного метода, программная реализация которого обеспечивала бы вычислительную эффективность спектрального анализа, по своему характеру являлась комплексной и потребовала решения ряда сопутствующих задач.

Прежде всего был разработан цифровой алгоритм, который не требует предварительного оценивания КФ анализируемого процесса. При этом в отличие от классического подхода к цифровой реализации коррелограммного метода он не требует выполнения многочисленных операций цифрового умножения, связанных с обработкой многоразрядных отсчетов анализируемого процесса. Исключение процедуры вычисления оценок КФ и переход к более простым алгебраическим операциям суммирования и вычитания повышают оперативность цифровых процедур вычисления оценок СПМ.

Дополнительно повышение вычислительной эффективности разработанного алгоритма спектрального анализа решается на программном уровне за счет выбора концепции многоуровневой архитектуры построения ПО для его практической реализации. В результате использования данной концепции ПО измерительной системы имеет модульную структуру, где модули отвечают за выполнение только своей задачи и взаимодействуют с вычислительной средой через программные интерфейсы, представляющие собой классы-контейнеры. Такой подход обеспечил гибкость, расширяемость, масштабируемость и заменяемость программных компонентов, а также возможность их повторного использования.

Работа выполнена при финансовой поддержке РФФИ, грант № 19-08-00228-А.

Литература

1.     Марпл.-мл. С.Л. Цифровой спектральный анализ и его приложения. М.: Мир, 1990. 584 с.

2.     Tan Li, Jiang Jean. Digital signal processing fundamentals and applications. Acad. Press, 2013, 896 p. DOI: 10.1016/C2011-0-05250-X.

3.     Прохоров С.А., Столбова А.А. Программный комплекс ана- лиза неэквидистантных временных рядов на основе непрерывного вейвлет-преобразования // Программные продукты и системы. 2017. № 4. С. 668–671. DOI: 10.15827/0236-235X.120.668-671.

4.     Чижикова Л.А. Принципы проектирования модульной архитектуры программного обеспечения авиационной тематики // Программные продукты и системы. 2017. № 2. С. 291–300. DOI: 10.15827/0236-235X.118.291-300.

5.     Luo Fa-Long, Williams W., Rao R., Narasimha R., Montpetit Marie-José. Trends in signal processing applications and industry technology. IEEE Signal Process Mag. 2012, vol. 29, pp. 171–174. DOI: 10.1109/MSP.2011.943129.

6.     Макс Ж. Методы и техника обработки сигналов при физических измерениях. М.: Мир, 1983. Т. 1. 312 с.

7.     Мирский Г.Я. Характеристики стохастической взаимосвязи и их измерения. М.: Энергоиздат, 1982. 320 с.

8.     Якимов В.Н. Цифровой комплексный статистический анализ на основе знакового представления случайных процессов // Изв. СамНЦ РАН. 2016. Т. 18. № 4. С. 1346–1353.

9.     Гамма Э., Хелм Р., Джонсон Р., Влиссидес Д. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб: Питер, 2016. 366 с.

10.  Eeles P., Cripps P. The process of software architecting. Addison Wesley, 2010, 432 p.

11.  Якимов В.Н., Горбачев О.В. Программное обеспечение системы измерения амплитудных спектров колебательных процессов // Программные продукты и системы. 2013. № 2. С. 166–171.

12.  Якимов В.Н., Горбачев О.В. Программно-аппаратное обеспечение системы оценки амплитудного спектра многокомпонентных процессов // Приборы и техника эксперимента. 2013. № 5. С. 49–55.

References

  1. Marple S.L. Digital spectral analysis: with applications. Englewood Cliffs, NJ, Prentice Hall Publ., 1987, 492 p. (Russ. ed.: Moscow, Mir Publ., 1990, 584 p.).
  2. Li T., Jean J. Digital signal processing fundamentals and applications. 2nd ed., Academic Press, 2013, 896 p. DOI: 10.1016/C2011-0-05250-X.
  3. Prokhorov S.A., Stolbova A.A. A software package for nonuniform time series analysis based on continuous wavelet transformation. Software & Systems. 2017, vol. 4, pp. 668–671 (in Russ.). DOI: 10.15827/0236-235X.120.668-671.
  4. Chizhikova L.A. Design principles of modular software architecture in aviation. Software & Systems. 2017, vol. 2,
    pp. 668–671 (in Russ.). DOI: 10.15827/0236-235X.118.291-300.
  5. Luo Fa-Long, Williams W., Rao R., Narasimha R., Montpetit M.-J. Trends in signal processing applications and industry technology. IEEE Signal Process Mag. 2012, vol. 29, pp. 171–174. DOI: 10.1109/MSP.2011.943129.
  6. Max J. Methodes et techniques de traitement du signal et applications aux measures, physiques. Masson, 1981, vol. 1, 312 p. (Russ. ed.: Moscow, Mir Publ., 1983, 312 p.).
  7. Mirsky G.Ya. Characteristics of stochastic relations and their measurement. Moscow, Energoizdat Publ., 1982, 320 p.
  8. Yakimov V.N. Digital complex statistical analysis based on sign-function representation of random processes. Izvestia of Samara Scientific Center of RAS. 2016, vol. 18, no. 4, pp. 1346–1353 (in Russ.).
  9. Gamma E., Helm R., Johnson R., Vlissides J. Design patterns: elements of reusable object-oriented software. Addison Wesley Longman Publ., 1994, 416 p.
  10. Eeles P., Cripps P. The process of software architecting. Addison Wesley Publ., 2010, 432 p.
  11. Yakimov V.N., Gorbachev O.V. Software for  vibration processes amplitude spectrum measurement system. Software & Systems. 2013, vol. 2, pp. 166–171 (in Russ.).
  12. Yakimov V.N., Gorbachev O.V. Firmware of the amplitude spectrum evaluating system for multicomponent processes. Instruments and Experimental Techniques. Springer US Publ., 2013, vol. 56, no. 5, pp. 540–545.

Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=4572%25E2%258C%25A9=en
Версия для печати
Выпуск в формате PDF (6.60Мб)
Статья опубликована в выпуске журнала № 1 за 2019 год. [ на стр. 159-166 ]

Возможно, Вас заинтересуют следующие статьи схожих тематик: