Institute of Applied Computer Science, Lodz University of Technology, 90-537 Lodz, Poland.
Sensors (Basel). 2021 Jun 15;21(12):4123. doi: 10.3390/s21124123.
The extension for high-performance STFT (Short-Time Fourier Transform) algorithm written entirely in Java language for non-parallel computations is presented in the current paper. This solution could compete with the best available and most common algorithms supplied by libraries such as FFTW or JTransform. The main idea was to move complex computations and expensive functions to the program generation phase. Thus, only core and essential operations were executed during the runtime phase. Furthermore, new approach allows to eliminate the necessity for a rearrangement operation that uses the bit-reversal permutation technique. This article presents a brief description of the STFT solution that was worked out as an extension for the original application, in order to increase its efficiency. The solution remains a Stockham algorithm adapted using metaprogramming techniques and entails an additional reduction its execution time. Performance tests and experiments were conducted using a Java Platform and JMH library, which allowed for accurate execution time measurements. Major aspects of the Java VM like warm-up effects were also taken into consideration. Solution was applied into Electrical Capacitance Tomography measurement system in order to measure the material changes during the silo discharging industrial process.
本文提出了一种完全用 Java 语言编写的用于非并行计算的高性能 STFT(短时间傅里叶变换)算法扩展。该解决方案可以与 FFTW 或 JTransform 等库提供的最佳和最常用算法相媲美。其主要思想是将复杂的计算和昂贵的函数移动到程序生成阶段。因此,仅在运行时阶段执行核心和基本操作。此外,新方法允许消除使用位反转排列技术的重排操作的必要性。本文简要介绍了作为原始应用程序扩展开发的 STFT 解决方案,以提高其效率。该解决方案仍然是使用元编程技术改编的 Stockham 算法,并需要进一步减少其执行时间。使用 Java 平台和 JMH 库进行了性能测试和实验,这允许进行准确的执行时间测量。还考虑了 Java VM 的主要方面,如预热效果。该解决方案已应用于电容层析成像测量系统,以测量料仓卸料工业过程中材料的变化。