# Error-Correction Coding Using Polynomial Residue Number System
## 1 Introduction
In this case, there is no possibility of simultaneous execution of arithmetical operations on both the informational and control parts of the error-correction code. Therefore, redundant arithmetical codes of RNS have found wide application in the construction of fault-tolerant DSP systems, as the usage of redundant arithmetical codes of RNS allows for the operability of the computing device to be maintained by detecting and correcting errors that occur during data processing. For example, the works [30; 31; 32; 33] consider the issues with building a fault-tolerant special processor operating in codes of RNS. The issues with increasing the fault tolerance of digital filters functioning in codes of RNS are considered in [34; 35; 36; 37]. Algorithms for detecting and correcting errors in the codes of the residue number system are based on positional characteristics (PC), which show the location of an integer represented as a redundant code combination of RNS relative to the range of allowed code combinations (the allowed range), which is determined by the product of \(k\) informational bases. If the number is within this range, then the code combination does not contain an error; otherwise the code combination is erroneous. One of the features of redundant modular codes of RNS is their multivariate of positional characteristics (PC). One of these characteristics is the number interval. Algorithms for calculating this PC, as well as their circuit implementations, are provided in [2; 38; 39; 40; 41]. Residues are sequentially excluded from the code combination and then compared with the allowed range in the method of projections. If all reduced code combinations (obtained during transformations) are less than the allowed range (i.e., they are within this range), then the code combination of RNS is an allowed one. Otherwise, all reduced code combinations will be greater than the allowed range except for one in which the erroneous residue is removed. The method of the extending the bases of a code of RNS used for error detection and correction is presented in [42; 43]. This method is based on the equality of informational and control residues, as they are all obtained from the original integer by calculating its residues' modulo bases of the code of RNS; \(r\) control residues are calculated using \(k\) informational residues. Then, the calculated residues are compared with control residues in the code combination. If they all match, then there is no error in the code combination of RNS. In the works [44; 45], the use of higher coefficients of mixed radix conversion (MRC) is proposed as a positional characteristic. This system is used to perform reverse conversion from a code of RNS to a positional code. If the higher MRC's coefficients are zero, this means that the code combination of RNS does not contain an error. Summarizing what has been said to this point, we can conclude that the theoretical foundations for the construction of redundant codes of RNS capable of detecting and correcting calculation errors are well developed, and that is why codes of RNS have found application in the construction of fault-tolerant high-speed DSP special processors. Codes of polynomial residue number system received their name based on the fact that irreducible polynomials are used as bases of the modular code [46; 47; 48]. It is necessary to represent an integer as a polynomial and then calculate residues of this polynomial's modulo bases of PRNS in order to obtain a code combination of PRNS. As the code is defined in the polynomial ring, there are modular operations for it (addition, subtraction and multiplication), which are performed in parallel and independently on the bases using small-bit residues [49; 50]. Such principles of constructing codes of PRNS make it possible to increase the speed of calculations. Therefore, these codes are used when orthogonal transformations of signals are being performed in real time [51].