Multi-threaded Approach to Software High-speed Algorithms for Spectral Analysis of Multi-component Signals
V. N. Yakimov, Borislav Jeduardovich Zaberzhinskij, A. V. Mashkov, Yuliya Bukanova · 2019
The article discusses the development of specialized software measuring-computing system, designed to operational spectral analysis of multicomponent signals based on data processing, obtained by simulating the procedure of binary sign-function quantization. The need to create specialized software measuring-computing system that implements the evaluation of the spectral components of multicomponent processes is caused by the fact that existing proprietary software products either have redundant functionality to solve highly specialized tasks or do not provide the necessary flexibility in the provision, support and modification of libraries that meet specific requirements. The software structure consists of the following main software components: a module for visualization of measurement data, a module for implementing the algorithm for spectral analysis of multicomponent signals, and a data processing converter between the user interface and the module for implementing algorithms. The graphical user interface is implemented using the high-tech integrated development environment Intellij IDEA in the Java 8 multi-platform programming language, which allows extending the functionality of the measurement system. The modules of the metrologically significant part of the software that perform the functions of processing, storing and transmitting measurement data and spectral analysis results are implemented in the resource efficient C ++ 17 language. The use of C ++ provided an opportunity to apply a multi-threaded programming approach in order to improve the performance of the procedures for calculating spectral estimates. Using the mechanism of multithreaded algorithm execution, it became possible to parallelize processor calculations and input-output operations and, as a result, reduce the computational costs of obtaining estimates of the time-frequency characteristics of signals by introducing alternation mechanisms for performing various weakly interconnected subtasks requiring simultaneous execution into a separate multithreading subsystem. The results of experimental testing showed the resource efficiency of the software implementation of complex data processing algorithms based on the sign model of analog-stochastic quantization in the process of complex analysis of signals.