# Peculiarities of Applying Partial Convolutions to the Computation of Reduced Numerical Convolutions
## 6 Discussion  
### Justification of the Constructiveness of the Proposed Approach  
The advantages of formula (49) over operations of the form (30) are as follows. The calculations used in formula (49) use only integers. Consequently, the speed of execution of this kind of operation is obviously higher than the speed of execution of operations in which the division operation is used. Moreover, all of these operations, in principle, can be realized by means of specific adders and multipliers modulo integers. Circuits of this kind of adders and multipliers are known [29; 30; 31; 32] and they continue to be improved. It should also be taken into account that integrated circuits with configurable logic are now known too [52; 53]. However, even disregarding the above considerations, the computation by formula (51) is known to have an advantage over operations such as (30). Indeed, the range of variation of each partial convolution in the computation in Galois fields \(GF(p_{i})\) is organised by the integer \(p_{i}\) and, hence, all summands appearing in formula (51) will not exceed \(w_{1}=1+\prod_{1}^{N}p_{j}\). Let us underline, that actual range of the convolution computation (before reduction to the original scale) is \(w_{1}w_{2}=\Bigl{(}1+\prod_{1}^{N}p_{j}\Bigr{)}\prod_{1}^{N}p_{j}\). This is what preserves the original sampling scale when computing the convolution. Let us consider a concrete example illustrating this advantage. We will use the ring of modulo 110 residue classes. The elements of such a ring are represented in the form  
\[u\equiv 55\cdot u_{1}+66\cdot u_{2}+100\cdot u_{3}\ \text{mod}\ 110 \tag{50}\]  
where  
\[u_{1}=0,1,\ u_{2}=0,1,\ldots,5,\ u_{3}=0,1,\ldots,10 \tag{51}\]  
The relation (12) is also fulfilled  
\[55+66+100\equiv 1\ \text{mod}\ 110 \tag{52}\]  
The prime number 11 is representable in the form (39): \(11=1+2\cdot 5\). Consequently, formula (50) can be considered as the result of increasing the number of digits in the number system corresponding to the ring of subtraction classes modulo 10. In this ring  
\[u\equiv 5\cdot u_{1}+6\cdot u_{2}\ \text{mod}\ 10 \tag{53}\]where  
\[u_{1}=0,1,\ u_{2}=0,1,\ldots,5, \tag{54}\]  
It can also be written as  
\[u\equiv 11\cdot(5\cdot u_{1}+6\cdot u_{2})+100\cdot u_{3}\bmod 110 \tag{55}\]  
Accordingly, the calculation formula (49) for the considered particular case takes the following form  
\[\left\lfloor\frac{U}{w_{1}}\right\rfloor=(5\cdot u_{1}+6\cdot u_{2}-u_{3}) \bmod 10 \tag{56}\]  
where \(u_{i}\) are the values of the digits of the numbers resulting from the calculation of partial convolutions in the number system corresponding to formula (50). Let us apply the formula to calculate the convolution of model functions. As the first of such functions, we will use the function \(f_{1}\), shown in Figure 3, curve 1. As the second model function \(f_{2}\) we will use the rectangle function given by the relation  
\[f_{2}(k)= \begin{cases}0,\ |k|>5\\ 1,\ |k|\leq 5\end{cases}  \tag{57}\]  
It can be seen that \(f_{1}\) models a function describing some noisy transient process. Its convolution with the function \(f_{2}\) corresponds to the moving average calculation, which provides noise filtering. If fractional values are allowed, the convolution of functions \(f_{1}\) and \(f_{2}\) is expressed by the usual moving average formula  
\[\left\langle f_{1}(k)\right\rangle=\frac{1}{11}\sum_{i=k-5}^{i=k+5}f_{1}(k) \tag{58}\]  
Formula (60) takes into account that function (59) is different from 0 at 11 clock cycles, including the clock with index 0. Accordingly, the summation starts at clock \(k-5\) and ends at clock \(k+5\). The calculations according to formula (58) are also presented in Figure 3, curve 2. It can be seen that the result of convolution calculation really gives a function describing the model transient process. The function obtained by applying the convolution operation in the form (58) is indeed quite smooth, i.e., this operation suppresses the noise present in the model function, as one would expect.