Digital Differential Analyzer
Encyclopedia
A digital differential analyzer (DDA), also sometimes called a digital integrating computer, is a digital implementation of a differential analyzer. The integrator
s in a DDA are implemented as accumulator
s, with the numeric result converted back to a pulse rate by the overflow of the accumulator.
The primary advantages of a DDA over the conventional analog differential analyzer are greater precision of the results and the lack of drift/noise/slip/lash in the calculations. The precision is only limited by register size and the resulting accumulated rounding/truncation errors of repeated addition. Digital electronics inherently lacks the temperature sensitive drift
and noise level issues of analog electronics and the slippage and "lash
" issues of mechanical analog systems.
For problems that can be expressed as differential equation
s, a DDA can solve them much faster than a general purpose computer (using similar technology). However reprogramming a DDA to solve a different problem (or fix a bug) is much harder than reprogramming a general purpose computer. Many DDAs were hardwired for one problem only and could not be reprogrammed without redesigning them.
was the mechanical analog Bush differential analyzer. It influenced both the architecture and programming method chosen. However, although ENIAC as originally configured, could have been programmed as a DDA (the "numerical integrator" in Electronic Numerical Integrator And Calculator), there is no evidence that it ever actually was. The theory of DDAs was not developed until 1949, one year after ENIAC had been reconfigured as a stored program computer.
The first DDA built was the Magnetic Drum Digital Differential Analyzer
of 1950.
Where Δx causes y to be added to (or subtracted from) S, Δy causes y to be incremented (or decremented), and ΔS is caused by an overflow (or underflow) of the S accumulator. Both registers and the three Δ signals are signed values. Initial conditions for the problem can be loaded into both y and S prior to beginning integration.
This produces an integrator approximating the following equation:
where K is a scaling constant determined by the precision (size) of the registers as follows:
where radix is the numeric base used (typically 2) in the registers and n is the number of places in the registers.
If Δy is eliminated, making y a constant, then the DDA integrator reduces to a device called a rate multiplier, where the pulse rate ΔS is proportional to the product of y and Δx by the following equation:
Both of these error sources are cumulative, due to the repeated addition nature of DDAs. Therefore longer problem time results in larger inaccuracy of the resulting solution.
The effect of rounding/truncation errors can be reduced by using larger registers. However, as this reduces the scaling constant K, it also increases problem time and therefore may not significantly improve accuracy and in real time
DDA based systems may be unacceptable.
The effect of approximation errors can be reduced by using a more accurate numerical integration algorithm than rectangular integration (e.g., trapezoidal integration) in the DDA integrators.
Integrator
An integrator is a device to perform the mathematical operation known as integration, a fundamental operation in calculus.The integration function is often part of engineering, physics, mechanical, chemical and scientific calculations....
s in a DDA are implemented as accumulator
Accumulator (computing)
In a computer's central processing unit , an accumulator is a register in which intermediate arithmetic and logic results are stored. Without a register like an accumulator, it would be necessary to write the result of each calculation to main memory, perhaps only to be read right back again for...
s, with the numeric result converted back to a pulse rate by the overflow of the accumulator.
The primary advantages of a DDA over the conventional analog differential analyzer are greater precision of the results and the lack of drift/noise/slip/lash in the calculations. The precision is only limited by register size and the resulting accumulated rounding/truncation errors of repeated addition. Digital electronics inherently lacks the temperature sensitive drift
Drift (telecommunication)
In telecommunication, a drift is a comparatively long-term change in an attribute, value, or operational parameter of a system or equipment. The drift should be characterized, such as "diurnal frequency drift" and "output level drift." Drift is usually undesirable and unidirectional, but may be...
and noise level issues of analog electronics and the slippage and "lash
Backlash (engineering)
In mechanical engineering, backlash, sometimes called lash or play, is clearance between mating components, sometimes described as the amount of lost motion due to clearance or slackness when movement is reversed and contact is re-established...
" issues of mechanical analog systems.
For problems that can be expressed as differential equation
Differential equation
A differential equation is a mathematical equation for an unknown function of one or several variables that relates the values of the function itself and its derivatives of various orders...
s, a DDA can solve them much faster than a general purpose computer (using similar technology). However reprogramming a DDA to solve a different problem (or fix a bug) is much harder than reprogramming a general purpose computer. Many DDAs were hardwired for one problem only and could not be reprogrammed without redesigning them.
History
One of the inspirations for ENIACENIAC
ENIAC was the first general-purpose electronic computer. It was a Turing-complete digital computer capable of being reprogrammed to solve a full range of computing problems....
was the mechanical analog Bush differential analyzer. It influenced both the architecture and programming method chosen. However, although ENIAC as originally configured, could have been programmed as a DDA (the "numerical integrator" in Electronic Numerical Integrator And Calculator), there is no evidence that it ever actually was. The theory of DDAs was not developed until 1949, one year after ENIAC had been reconfigured as a stored program computer.
The first DDA built was the Magnetic Drum Digital Differential Analyzer
Magnetic Drum Digital Differential Analyzer
The Magnetic Drum Digital Differential Analyzer was a computer built by Northrop Aircraft Corporation in 1950.MADDIDA had 44 integrators implemented using a magnetic drum with six storage tracks. The interconnections of the integrators were specified by writing an appropriate pattern of bits onto...
of 1950.
Theory
The basic DDA integrator, shown in the figure, implements numerical rectangular integration via the following equations:Where Δx causes y to be added to (or subtracted from) S, Δy causes y to be incremented (or decremented), and ΔS is caused by an overflow (or underflow) of the S accumulator. Both registers and the three Δ signals are signed values. Initial conditions for the problem can be loaded into both y and S prior to beginning integration.
This produces an integrator approximating the following equation:
where K is a scaling constant determined by the precision (size) of the registers as follows:
where radix is the numeric base used (typically 2) in the registers and n is the number of places in the registers.
If Δy is eliminated, making y a constant, then the DDA integrator reduces to a device called a rate multiplier, where the pulse rate ΔS is proportional to the product of y and Δx by the following equation:
Error sources
There are two sources of error that limit the accuracy of DDAs:- Rounding/truncation errors due to the limited precision of the registers.
- Approximation errors due to the selection of numerical integration algorithm.
Both of these error sources are cumulative, due to the repeated addition nature of DDAs. Therefore longer problem time results in larger inaccuracy of the resulting solution.
The effect of rounding/truncation errors can be reduced by using larger registers. However, as this reduces the scaling constant K, it also increases problem time and therefore may not significantly improve accuracy and in real time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...
DDA based systems may be unacceptable.
The effect of approximation errors can be reduced by using a more accurate numerical integration algorithm than rectangular integration (e.g., trapezoidal integration) in the DDA integrators.