Инструменты пользователя

Инструменты сайта


модуль_спектрального_анализа

Это старая версия документа!


Модуль спектрального анализа

Назначение модуля

Модуль предназначен для обработки данных акселерометров или других датчиков за определенные интервалы времени для построения спектра колебаний и нахождения в полуавтоматическом режиме основных форм колебания и вычисления их параметров их пиков. Различает одиночные и двойные пики.

Технические требования

<font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Операционная система: Ubuntu 20/22, Linux OS 64 битная.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>PHP версии 7.3, модуль работы с PostgreSQL и ClickHouse.</font>

Требования к вычислительным ресурсам

1 ядро поддерживающее 64 битные вычисления, 500 Мбайт на жестком диске для временных данных.

=== <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Описание работы</font> === <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Структурно работу модуля можно поделить на две части: сбор, подготовку данных и отправку готовых данных, которую выполняет PHP скрипт «index.php». Обработка данных, формирование спектров и поиск основных форм колебаний выполняет программа RealTimeSpectrum.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Модуль может быть вызван или из системы или из консоли в контейнере docker «php». Для запуска работы модуля запускается PHP скрипт «index.php».</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Блок-схема работы модуля представлена на рисунке.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Вначале работы скрипта «index.php» загружаются конфигурационные данные модуля из файла «config.php», содержащего данные к подключению к базам данных, он находится на директорию выше модуля и файл конфигурации модуля «config.php», лежащего в директории модуля.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Далее выбираются шины типа «an-d3» и «com-an-d3», шины для подключения акселерометров. В выбранных шинах выбираются устройства типа «and_3». Далее просматриваются выбранные устройства и создается массив каналов этих устройств, у которых код равен «0.x» — ось X, «0.y» — ось Y, «0.z» — ось Z, «0.a» — модуль ускорения, обозначается через A.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>После формирования массива, обрабатываем оси. Проверяем, или есть настройка для каждого канала в конфигурационном файле модуля «config.php». Если данных настройки нет, по</font> <font inherit/inherit;;#000000;;inherit>обработка данной оси пропускается.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Если канал сконфигурирован, то запрашивается данные по этому каналу в интервале «$time_interval» до времени запрошенного в начале запуска скрипта, переменная «$timestamp».</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Далее проверяется и создаются папки для выходных файлов программы RealTimeSpectrum «/var/www/html/public/Spectr».</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Данные программой RealTimeSpectrum обрабатываются в двух вариантах. Первый — для полноценной спектральной мощности, данные записываются в директорию «/data», второй — для цветовой спектрограммы, данные записываются в директорию «/data_partial». Для спектрограммы спектральная мощность строится с меньшим частотным разрешением для увеличения быстродействия. Далее данные записываются в директории с именем равным id устройства, далее id канала, после год, и последняя директория месяц.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Для примера формирования пути, если id устройства 67, id канала 433, 2022 год и месяц сентябрь 9-й месяц, тогда путь будет выглядеть для первого случая «/var/www/html/public/Spectr/data/67/433/2022/09», для второго случая «/var/www/html/public/Spectr/data_partial/67/433/2022/09».</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Далее формируются конфигурационные файлы «ofs_options.ini» и «Config.path» для работы программы RealTimeSpectrum и записываются полученные данные в бинарном виде для обработки. Далее данные обрабатываются программой RealTimeSpectrum и полученные данные размещаются как указано выше, и полученные данные по пикам основных форм колебаний отправляются в базу данных. Обработка, формирование файлов и отправка данных выполняются для двух случаев подряд, так как для них используются одни и те же данные и должны использоваться одни и те же данные, что бы результаты были одинаковыми.</font> <font 14pt/inherit;;#000000;;inherit></font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Рисунок. Блок-схема модуля.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Основные файлы модуля</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>- config.php - файл настроек программы обработки спектров, должен быть в gitignore. config_example.php - пример файла настроек программы обработки спектров</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>-</font> <font inherit/inherit;;#000000;;inherit>Config.path - динамический файл настроек датчкиков для работы программы обработки спектров RealTimeSpectrus, формируется в процессе работы модуля, должен быть в gitignore.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>- ofs_options.ini - динамический файл общих настроек работы программы обработки спектров</font> <font inherit/inherit;;#000000;;inherit>RealTimeSpectrus, формируется в процессе работы модуля, должен быть в gitignore.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>- .gitignore - содержит список файлов и директорий, которые должны игнорироваться и не попадать в интедекс</font> <font inherit/inherit;;#000000;;inherit>git</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>-</font> <font inherit/inherit;;#000000;;inherit>RealTimeSpectrum - программа для обработки данных датчиков и формирования спектров и поиска пиков основных форм колебания.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>-</font> <font inherit/inherit;;#000000;;inherit>index.php - PHP скрипт вызываемый для обработки спектров. Непосредственно в нем берутся данные из базы данных, подготавливаются для обработки и вызывается программа RealTimeSpectrum. Скрипт формируют пути, куда записывается спектр сформированный RealTimeSpectrum и отправляет результаты определения частот и декрементов колебаний в базу данных.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>- data_processing.sh - bash скрипт для запуска модуля через cron в контейнере.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>-</font> <font inherit/inherit;;#000000;;inherit>source - директория с временными рабочими файлами модуля</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>-</font> <font inherit/inherit;;#000000;;inherit>index_check.php - вспомогательный PHP скрипт, позволяет проверить сколько в системе установлено устройств типа АНД-3</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>- data_processing_test.sh - вспомогательный bash скрипт для запуска index_check.php в контейнере</font>

RealTimeSpectrum

<font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Программа RealTimeSpectrum обрабатывает данные сформированные акселерометрами и строит спектры колебания.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Физический принцип, на котором основана работа программы, состоит в получении исходных данных ускорений с акселерометров от сборщика данных. Далее с помощью преобразования Фурье формируется спектральная мощность колебаний.</font> <font 14px/Arial,Helvetica,sans-serif;;#000000;;inherit>Метод определения основных форм колебаний и их дектементов является полуавтоматическим. Для его работы необходимо задать интервал частот, в котором необходимо искать пик колебаний, и так же указать ищется ли одинарный или двойной пик. Далее специальным методом с помощью метода наименьших квадратов аппроксимируется пик или два пика в зависимости от настроек, и по данным аппроксимации вычисляются частота максимума пика и по ширине на полувысоте аппроксимированного пика — декремент колебаний.</font>

модуль_спектрального_анализа.1674548857.txt.gz · Последнее изменение: 2023/12/21 15:28 (внешнее изменение)

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki