Multithreaded Convolution Implementation Based on Block Methods

A multithreaded convolution implementation based on block algorithms is considered. Convolution is essentially the basis of many methods that solve the problem of determining the degree of similarity or independence of two processes, in other words, when it is necessary to determine the degree of correlation. The algorithm itself is executed with a significant delay, because for its execution it is necessary to accumulate the entire signal and then process it. The analysis showed that one of the possible ways to reduce time costs is a multithreaded implementation of convolution based on block algorithms. The article shows the main features of the convolution implementation by the overlap method with addition and the overlap method with addition, as well as numerical examples. The results obtained show that the application of these methods without the use of a window function leads to significant distortions in the signal spectrum. Based on the results of the analysis, a universal scheme for performing convolution based on multithreaded processing of an input data block is proposed. This allows to achieve a good compromise between computational complexity, system architecture, and time costs.