{'fraction_non_alphanumeric': 0.0229459659511473, 'fraction_numerical': 0.0, 'mean_word_length': 5.201834862385321, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Revisiting Linear Convolution, Circular Convolution and Their Related Methods

For any linear and time-invariant system, its output is the linear convolution between the variable input sequence and the constant system impulse response. When the input is long and the system impulse response is much shorter, the overlap and add method (OA), and the overlap and save method (OS) are efficient for calculating the response. During the calculation, the long input sequence is sectioned into short blocks and the block circular convolution is computed by the fast Fourier transform (FFT) algorithm. In this paper, we revisit the linear convolution and circular convolution, bring some new perspectives, and make detailed explanations for OA and OS. Firstly, based on the definition of linear convolution, we make comments and also propose a so-called tabulation method for it. Then we establish a relationship between the circular convolution and linear convolution of two same finite-length sequences, and derive a similar tabulation method for the circular convolution. Moreover, we provide an interpretation for OA from the point of view of the tabulation method. Finally, after illustrating OS, we provide a sound proof for it based on the derived relationship between the linear convolution and circular convolution and also make some comments on it.