1. Introduction
Increasing the productivity of computer systems by reducing the size of the element base of computer technology at the current level of technology development is problematic. In this regard, the problem of parallel data processing is a promising direction. One of the ways to maximize parallel computing is to use the system of residual classes (RNS) as an alternative to traditional positional numeral systems (PSS) [
1,
2]. Currently, RNS is widely used in cloud computing, digital signal processing, and image processing. Recent studies have proved convincingly that the use of a system of residual classes can significantly accelerate the digital signal processing [
3,
4]. Numerous algorithms on modular arithmetic [
5,
6], the implementation of the Fourier transform, number-theoretic transform, and fast convolution in the RNS [
7] have been developed. In addition, methods of modular realization of wavelet processing of signals using wavelets of fields of real and complex numbers [
8] have been developed. However, the transfer of such digital filters to the structure of finite rings and RNS fields, although it can significantly improve the performance and fault tolerance of the computer system, generates a number of serious difficulties which are associated with the occurrence of rounding errors and violation of the properties of accurate digital signal recovery [
3].
RNS is a system with a non-positional amount that allows breaking the number of long length by the number of independent bits of short length for faster calculations and organizing their parallelism. The main advantage of the system is the possibility of faster addition and multiplication in comparison to all other notation systems, which leads to a strong interest in RNS in the areas where calculations are necessary. Moreover, the use of low-bit numbers in the RNS calculations can significantly reduce power consumption of digital devices [
1]. It is useful for the synthesis of RNS computing facilities with a parallel structure, like FPGA (Field-Programmable Gate Array) or ASIC (Application-Specific Integrated Circuit).
However, some operations, including reverse conversion in positional form, comparison and division of numbers in RNS are computationally complex [
2,
9]. Most obvious approaches to performing non-modular operations in RNS are based on mixed Radix conversion (MRC) and Chinese residue Theorem (CRT) [
4]. However, recently much attention has been paid to the search for new alternatives to the implementation of the troubled operations of RNS.
The alternative method of spectral analysis of the variable speech signals is a relatively new wavelet analysis [
1,
10]. This method of analysis has recently become popular when it is applied to determine spatial or frequency features of the studied non-stationary signal, localization of singular points, data compression, filtering, speech recognition, and image enhancement [
1,
10,
11].
In this paper, we propose a new approach to overcome the difficulty of complex computation, based on the use of finite field wavelets in RNS. The theory of wavelet transform in finite fields is described in [
1,
3]. Here we propose to apply finite field wavelets in computational RNS structures since the basis of calculations in them is the arithmetics of finite rings and fields [
2,
5]. The work aims to demonstrate the inaccuracy of calculations when using non-integers. The absence of this is a drawback when performing a transformation in the target field.
2. RNS Background
In RNS, a positive integer is represented as a set of residues on the mutually simple bases selected. This approach allows the replacing of large integer operations with small numbers, which are presented in the form of remnants of the division of large numbers on pre-selected mutually simple modules
, if
Then, an integer
can be matched to the tuple
of the smallest nonnegative deductions by one of the corresponding classes. This correspondence will be one-to-one, so far, by
virtue of the Chinese theorem on Residues (Chinese Reminder Theorem) [
12]. A tuple
can be considered as one of the ways of representing an integer
in a computer—a modular representation or a representation in the RNS.
The main advantage of this representation is the fact that the operations of addition, subtraction, and multiplication are implemented very simply, according to the formulas:
These operations are called modular, because for their execution in the RNS; one cycle of processing of numerical values is enough, and this processing occurs in parallel, and the value of information in each discharge is independent of other bits.
At signal processing for each of the modules, wavelet transform filters of the finite field can be used (
Figure 1). Hardware implementation of analyzing
and synthesizing filters
for a speech single module requires the use of only modular adders and multipliers.
3. Model for a Large-Scale Signal Analysis
Wavelet analysis is a special type of linear transformation of functions of a rather wide class. The basis of eigenfunctions, on which the decomposition is carried out, has many special properties. The correct application of these properties allows the researcher to focus on those or other features of the analyzed process which cannot be identified by the traditionally used Fourier and Laplace transformations. The mathematical definition of the continuous wavelet transform is:
where
s(
x) is the signal and
ψab is the analysis function.
The wavelet function must also have the property of time shift and scalability:
The ability to calculate wavelet expansion coefficients without integration using algebraic convolution-based operations is represented as follows:
As one can see, only the addition and multiplication operations are used in Equation (1). The use of only these operations to calculate the discrete wavelet transform allows the most complete use of the capabilities of modular arithmetics to improve the performance of digital signal processing systems, compared with systems operating in traditional positional number systems.
It is proposed that Equation (1) is calculated in a system of residual classes. Choosing the pj module, the convolution can be expressed as:
The development of models, methods, and algorithms for digital signal processing in finite fields has recently attracted increased interest from the researchers. This fact is explained by the features of the structure of the finite field as an algebraic structure. In the finite fields, as well as in the fields of real and complex numbers, it is possible to perform arithmetic operations of addition, subtraction, multiplication, and division [
13]. On the other hand, the discrete nature of finite fields is effective in the processing of quantized quantities arising in digital signal processing.
Finite fields (Galois fields) are divided into two types: Simple fields
and polynomial fields
,
,
. A simple finite field
contains a number of elements equal to a prime number
. Any finite field of the elements
is isomorphic to the set of residues
so the operations of addition, multiplication, and subtraction in
can be considered as similar operations on integers taken by mod
. The arithmetic of polynomial fields
is more complex and is based on the properties of polynomials over
. In this paper, we will consider only simple fields
[
9,
14].
A wavelet transform in a finite field
is a map that maps a vector
to a sequence of coefficients
. The inverse transformation is carried out by the following:
In practice, the wavelet transform is implemented by using a set of filters.
Figure 1 shows a two-channel set of discrete wavelet transform filters [
4]. Here
and
are the analyzing filters,
is the decimation operator,
is the operator of the dilution of the sample,
and
are the synthesizing filters.
One of the most perspective discrete wavelet transforms is the Daubechies transform (
Figure 2) [
15,
16]. Daubechies wavelets are wavelets with a compact support, which provides the approximation properties of wavelet expansions. They do not have explicit expressions and are set by the coefficients of the filter. Analyzing (decomposing) the high-frequency
h and low-frequency
g coefficients of the filter, coefficients of the Daubechies (Db4) are given by the following coefficients [
1,
17]:
We will develop a mathematical model for a large-scale analysis based on the Daubechies discrete wavelet transform, which will be implemented in an algebraic system possessing a property of ring and field [
5]. The matrix associated with this set of filters is:
For the set of filters to possess the property of exact recovery of the signal (perfect reconstruction), it is necessary that the matrix
is paraunitary, that means:
where
I is the unit matrix [
15].
4. Practical Calculation
We consider the implementation of the large-scale signal transformation using the Daubechies discrete wavelet transform. It follows from the coefficient definition that this transformation uses four filter coefficients (3).
The Daubechies transform matrix will be as follows:
Let the input sequence be defined by eight counts
(
Figure 3).
Using Matrix (5) to the original input sequence, the following result has been obtained [
18]:
Thus, during a large-scale wavelet transform Db4, a signal image consisting of four smooth coefficients that correspond to even spectral components , which together form the basis of the smoothing filter, is obtained H1.
Hence, it is clear that a wavelet transform of any signal can, therefore, be viewed as passing the original image through a quadrature mirror filter (QMF) that consists of a pair of a low-pass filter (H) and of a high-pass filter (G) [
7].
Now, we consider the signal reconstruction procedure by using the inverse wavelet transform. To carry out this operation, it seems necessary to use a transposed matrix. Then the Daubechies inverse transform matrix will be as follows [
8,
13]:
We will use Matrix (7) to compute the inverse transform.
Using
as the input vector, we get:
Applying this matrix to the calculated input spectral sequence, we obtain the following result:
As can be seen from Equation (8), the result differs from the input data; this difference is due to the different rounding calculations (
Figure 4).
To build the matrix of direct conversion in the whole numbers, it is necessary to determine the basis of the field in which transformation and calculation of matrices will be carried out. Here, the basis of the expression p = 28559 is used. Thus, the conversion factors in the specified field will take the following values C1 = 5070, C2 = 12252, C3 = −19265, C4 = −26447.
By determining the base of the field and conversion factors, we can build a direct transformation matrix:
Let us perform direct transformations over the same vector of input data, but with an integer matrix:
Then we use Matrix (9) to compute the inverse transform . Using as the input vector, we get .
The average error can be evaluated as follows:
and in this particular case is 0.0015.
This example can be used as a stage of construction of a mathematical model of a digital wavelet filter that calculates the coefficients of one of the selected modules in RNS. One can build a similar system in RNS for each of the other modules, or only for some of them. As a result, the resulting system will enable even more parallel processing of data, so that consequently the speed will be increased.
Simulation of calculations was carried out in MATLAB integrated programming environment.
The examples show that the proposed approach of speech signal processing in RNS can reduce rounding errors when performing the multiscale signal analysis. The use of wavelet transforms in RNS makes it possible to provide high accuracy of calculations, since the coefficients of filters, which are real numbers, are represented as integers, which under certain conditions of execution of the Daubechies wavelet transform will lead to the exit beyond the working range—all this will negatively affect the accuracy of calculations.
The calculated data indicate that the use of wavelet transforms is reversible. In this case, due to rounding errors, which are determined by the positional number system, the final result of the inverse wavelet transform is slightly different from the original. One of the ways to solve this problem can be connected with the use of non-positional modular codes. The integer processing implementation will reduce rounding errors. The application of the system of residual classes for the implementation of the Daubechies wavelet transform is shown in [
10,
18].
Thus, we have proven a criterion for the construction of matrices of any paraunitary size and order over a finite field and have also shown how to use constructed paraunitary matrices to create multi-channel sets of filters in a system of residual classes with the property of accurate signal recovery, and to accelerate digital processing.
6. Conclusions
A new approach to filtering in RNS based on the use of finite field wavelets is proposed. The use of RNS with simple modules allows implementing the wavelet processing of signals within the framework of finite field arithmetics. At the same time, the use of finite field wavelets avoids rounding errors that inevitably occur when using the traditional wavelets of real and complex numerical fields in RNS.
The calculated data show that the use of the wavelet transforms is, in fact, a reversible transform. However, due to rounding errors, which are determined by a positional number system, the final result of the inverse wavelet transform is slightly different from the original. The solution to this problem could be found by using non-positional modular codes. The integer processing, provided by them, will reduce the number of rounding errors when processing the speech signals. Thus, the proposed algorithm can also be applied in graphics and video data streams processing and encoding [
14], in addition to speech signal processing.
Further work in this important direction should be in the development of new, fast methods of construction of the paraunitary matrices of the finite field. The successful solution of this problem will open up prospects for the study of other signal processing methods and algorithms.