Estimation of the Maximum Integration Error of a Step Function by a Digital Integrator
Abstract Generated abstract
This paper estimates the maximum error arising when a digital integrator with cyclic-code counters integrates a step function, a case relevant to digital linear integrators and specialized computing devices. The authors formulate the exact and device-produced output quantities at integer pulse counts, expressing them through register length, pulse distributions from direct and inverse flip-flop outputs, and binary coefficients. Using inequalities for integer-part operations, they derive an upper bound for the integration error under the assumed worst case of participating digit outputs. The result shows that the absolute maximum error does not exceed one quarter of the number of interpolator register bits, while noting that increased register length also reduces the pulse division value.
Full Text
UDC 681.142.644.3.088
ESTIMATION OF THE MAXIMUM INTEGRATION ERROR OF A STEP FUNCTION BY A DIGITAL INTEGRATOR
V. S. Moskvin, V. K. Yasel’skii, E. M. Belov
(Presented by the scientific seminar of the Faculty of Physics and Technology)
Digital integrators are widely used in digital differential analyzers and in specialized computing devices.
In a number of works [1, 2], an analysis has been carried out in sufficient detail of the exact characteristics of digital integrators constructed with ordinary binary multipliers.
The use of cyclic-code counters in integrators gives a certain advantage, but in this case some special features arise in estimating the accuracy of their operation.
It should be noted that the problem of finding the error of a device containing digital integrators cannot, in the general case, be reduced to the problem of the accuracy of integrating a step function. The exception is digital linear integrators (their integrators operate in the mode of integrating a jump), by the example of which it is expedient to analyze the accuracy of carrying out the indicated operation [1].
Since digital computing devices give the values of the ordinates of a function at discrete points, it makes sense to consider the error at these same points for integer values of the argument, expressed as the number of pulses.
Suppose that \(N\) pulses have arrived at the input of the register of an integrator having \(n\) digits and operating in cyclic code. Then, from the \(N\) incoming pulses, from the direct output of the flip-flop of the \(i\)-th digit we shall take off
\[ \operatorname{ent}\left(N \cdot 2^{i-n-1}+\frac{3}{4}\right) \]
pulses, and from the inverse output
\[ \operatorname{ent}\left(N \cdot 2^{i-n-1}+\frac{1}{4}\right) \]
pulses.
The index \(i=0\) refers to the flip-flop of the last digit, \(i=1\) to the next-to-last digit, etc. The symbol \(\operatorname{ent}\) denotes extraction of the integer part of a number.
The number of pulses arriving at the input of the interpolator register per cycle is equal to
\[ \Delta x = 2^n . \]
By the error of integration of a step function we shall understand the difference between the value of the output quantity \(y_1\), corresponding to the exact performance of the integration operation, and the quantity \(y_2\) delivered by the device for one and the same value of the argument.
Obviously, in accordance with Fig. 1, where a step curve approximating a linear function of a given slope is presented, one may write
\[ y_1=\left(\frac{\Delta y}{\Delta x}\right)\cdot x, \tag{1} \]
where \(\Delta y\) is the total number of pulses received from the output of the device per cycle.
Taking into account the peculiarity of forming pulse sets in the integrator, we represent the total number of pulses specified by the code in the form
\[ \Delta y=\sum_{i=1}^{n-1}2^{i-1}K_i+\sum_{i=1}^{n-1}2^{i-1}\overline{K}_i+1\cdot K_0, \tag{2} \]
where \(K_i\) and \(\overline{K}_i\) take the values 1 and 0 and are the coefficients before the corresponding powers of the number two when specifying the number of pulses \(\Delta y\) in the binary number system.
Fig. 1. Approximation of a linear function of a given slope by a step curve
The coefficient \(K_i\) indicates which digit triggers and which of their output circuits participate in performing the integration operation.
\(K_0\) is the counting output of the trigger of the last digit;
\(\overline{K}_1\) is the inverse output of the trigger of the next-to-last digit.
On the basis of the reasoning carried out, we obtain
\[ y_1=1\cdot N\cdot 2^{-n}K_0+\sum_{i=1}^{n-1}N\cdot 2^{i-n-1}K_i+\sum_{i=1}^{n-1}N\cdot 2^{i-n-1}\overline{K}_i, \tag{3} \]
\[ y_2=\sum_{i=0}^{n-1}\operatorname{ent}\left(N\cdot 2^{i-n-1}+\frac{3}{4}\right)K_i +\sum_{i=0}^{n-1}\operatorname{ent}\left(N\cdot 2^{i-n-1}+\frac{1}{4}\right)\overline{K}_i. \tag{4} \]
Hence the error of integration of the step function is
\[ \Delta=y_1-y_2. \tag{5} \]
To ensure the necessary accuracy in performing the integration, it is important to know what maximum error may be expected from the adopted integration method for a given number of counter digits \(n\).
We shall use the inequalities
\[ \operatorname{ent}\left(N\cdot 2^{i-n-1}+\frac{3}{4}\right) \geq \left(N\cdot 2^{i-n-1}+\frac{3}{4}-1\right) \tag{6} \]
and
\[ \operatorname{ent}\left(N\cdot 2^{i-n-1}+\frac{1}{4}\right) \geq N\cdot 2^{i-n-1}. \tag{7} \]
In accordance with expressions (6) and (7), relation (5) can be rewritten in the form
\[ \Delta \leqslant N \cdot 2^{-n} \cdot K_0 + \sum_{i=1}^{n-1} N \cdot 2^{i-n-1} K_i + \sum_{i=1}^{n-1} N \cdot 2^{i-n-1} \overline{K_i} - \]
\[ {}-\sum_{i=0}^{n-1}\left(N \cdot 2^{i-n-1}-\frac{1}{4}\right)K_i -\sum_{i=0}^{n-1} N \cdot 2^{i-n-1}\overline{K_i}. \tag{8} \]
Suppose that, as \(i\) varies within the indicated limits, all the coefficients \(K_i\) and \(\overline{K_i}\) take values equal to one. This assumption makes it possible to write inequality (8) as follows:
\[ \Delta \leqslant N \cdot 2^{-n}+\frac{1}{4}\sum_{i=0}^{n-1} K_i - 2\cdot N \cdot 2^{-n-1}. \tag{9} \]
Carrying out some transformations, we obtain
\[ \Delta_{\max} \leqslant \frac{n}{4}. \tag{10} \]
Thus, the estimate made of the maximum error in integrating a step function shows that the absolute error increases with the number of bits of the interpolator, but does not exceed the value \(\frac{n}{4}\). It should be taken into account, however, that as \(n\) increases, the pulse division value decreases.
The obtained relation (10) makes it possible to estimate the maximum integration error at an arbitrary discrete point of the trajectory for different numbers of bits \(n\) of the interpolator register.
REFERENCES
-
A. A. Voronov, A. R. Garbuzov et al. Digital Analogs for Automatic Control Systems. Moscow, Publishing House of the Academy of Sciences of the USSR, 1960.
-
A. V. Kalyaev. Introduction to the Theory of Digital Integrators. Kiev, “Naukova Dumka,” 1964.