2019 Signal Processing: Algorithms, Architectures, Arrangements, and Applications (SPA) | 2019
GPU Implementation of Adaptive Fourier Decomposition
Adaptive Fourier decomposition (AFD) provides an expansion of an analytic function into a sum of basic signals, called mono-components. These signals are assumed to have non-negative phase derivative which means that their instantaneous frequency is physically meaningful. Unlike the conventional Fourier series, the AFD is based on adaptive rational orthogonal system. There are several types of the AFD including core AFD, unwinding AFD and cyclic AFD, but all of them determine decomposition parameters in accordance with maximal selection principle (MSP). The most common implementation for the MSP is the exhaustive search method, which is time-consuming. Modern graphics processing units (GPUs) support both graphics and general purpose (GP) computing. In this paper we show that the exhaustive search method for the MSP can be easily optimized using low-cost general purpose GPU technologies. We implemented the core AFD algorithm using OpenCL programming toolkit and clBLAS subroutines. Experimental results show that, comparing to the conventional MATLAB implementation, the GPU-based AFD obtains reduced computation time while maintaining similar accuracy.