Revised linear convolution

Abstract. It is assumed that linear time-invariant (LTI) system input signal samples are updated by a sensor in real time. It is urgent for every new input sample or for small part of new samples to update an ordinary convolution as well. The idea is that well-known convolution sum algorithm, used to calculate output signal, should not be recalculated with every new input sample. It is necessary just to modify the algorithm, when the new input sample renew the set of previous samples. Approaches in time and frequency domains are analyzed. An example of computation of the convolution in time area is presented.

output signal y(n), and the impulse response h(n). This equation allows each sample in the output signal y(n) to be calculated independently of all other samples in the output signal.
Thus, in a convolution scheme we consider a discrete-time finite duration realvalued signal x(n) of length N (i.e., x(n) = 0 for n < 0 and n N ) that is processed by LTI system having impulse response h(n) of length M in order to obtain the signal y(n) of length N + M − 1. If the input to a causal linear time-invariant system is a causal sequence (i.e., if x(n) = 0 for n < 0), the limits on the convolution sum formula are further restricted. In this case the two equivalent forms of the convolution formula become [4] y(n) = x(j)h(n − j). ( To summarize, in total, the process of computing the convolution between x(n) and h(n) involves the following four steps [2]: 1. Folding. Fold h(n) about n = 0 to obtain h(−n);

4.
Summation. Sum all the values of the product sequence to obtain the value of the output at time n = d. Here d is an integer.
Assume that at any moment t i the network of sensors is simultaneously evaluated the set of output samples y(n) by processing the signal samples x(n). At time moment t i+1 the new sample x(n) new enter processor memory and shift x(n) samples by one sample to the right, extending the length of previous x(n) samples till N + 1. The aim of the paper is to create the procedure in order to update the signal y(n) in the presence of x(0) new , x(0) new+1 , . . . , appearing at time moments t i+1 , t i+2 , . . . .

Two approaches for updating the convolution
It is not efficient to recalculate samples y(n) anew using the ordinary convolution algorithm (1), if only one new signal sample x(n) new or even a small portion of new samples emerges replacing previous samples in the set of x(n). Therefore, we will seek to solve of a linear convolution problem in time domain, applying the procedure as follows:           if the new sample x(n) new is apppearing at a time moment t i+1 , and  (Fig. 1b). Thus, there is not necessary to calculate y(n) new values for n more than M . It is needed only to rewrite the values of previous y(n) from M . Now, after entering x(0) new 1 = 23 and x(n) = {23, 22, 24, 8, 12, 16, 20, 6, 10, 14}, by given above procedure we obtain y(n) new 1 : {23, 2.45, 24.85, −9.8, 26.3, 5.45, 28.05, −23.7, 1.1, −17.2, −2.6, −3.9, −15.3, −11.2, −7, −6.5, −14}. The y(n) new 1 values that begin from M + 1 are determined without calculation, i.e., we equate y(M + 1) new1 = y(M ) new , y(M + 2) new1 = y(M + 1) new , . . . , y(M + M + 1) new1 = y(N + M ) new (Fig. 1c). The continuation of results is shown in Fig. 1d for x(n) new 2 = 24. There exist, nearby, the other approach, named the fast convolution [2], that is based on the frequency samples (f.s.), used to solve this problem. The idea is that fast Fourier transform (FFT) algorithm, used to calculate output f.s., should not be recalculated with every new input sample if it is possible. It is needed just to modify the convolution algorithm, when the new input sample replaces the previous one. In a convolution scheme we consider a discrete-time finite duration real-valued signal x(n) of length N that has the Fourier transform where j is the imaginary unit. When we sample X(ω) at equally spaced frequencies ω k = 2πk/N , ∀ k ∈ 0, N − 1, the resultant samples are [2]: The relation in (4) is called DFT of x(n). It is used for transforming the sequence x(n) into f.s. X(k) of length N . The DFT of (1) is known as a fast convolution [2]: where are DFTs of h(n) and x(n), respectively, N is the total number of samples of the basic real-valued signals x(n), y(n) and h(n), ∀ n ∈ 0, N − 1 under consideration. It is used for transforming the sequence x(n) into f.s. X(k) of length N . At any time moment t a signal y(n) can be recovered from f.s. Y (k), ∀ k ∈ 0, N − 1 by the IDFT (inverse DFT) [4,2]: At t i time moment in sensor network some new sample x(0) new of signal x(n) emerges and replaces the previous x(0) by shifting the whole set of samples. In such a case (4) can be rewritten as follows Herex(1) = x(0),x(2) = x(1), . . . ,x(N ) = x(N − 1) are shifted previous samples of x(n). The fast convolution for shifted input x(n) is In such a case, (6) can be rewritten as follows Thus, in order to obtain the updated output y ti (n) it is necessary to fulfill all restricted calculations once more. It should be emphasized that such a way, as compared with the technique given above, is non-effective one.

Conclusions
The linear convolution (2) have been proposed to determine by simple above presented procedure if one new signal sample or new small portion of samples emerge in the given period N of a realization x(n) by shifting previous samples. The number of operations for their speedy calculation is essentially reduced because the procedure does not require to repeat calculations for y(n) new values that start from M + 1 and finish at N + M + 1 + j (Fig. 1). In such a case, it is necessary only to use sequential previous y(n) values that start from M + j − 1 and finish at N + M + j − 2. Here j = 1, 2, . . . . The algorithm proposed here could be effective in real-time applications for very large N . The fast convolution approach, based on the formula (5) is not effective because it requires the recalculation of y(n) each time, when x(n) new j enters the memory of processor. On the other hand, the fast convolution could be effective, when new current sample or small set of new samples replace the previous samples in x(n) realization without its shift [3].