Analog and Hybrid Computer Programming
Copyright 2020. De Gruyter Oldenbourg. All rights reserved. May not be reproduced in any form without permission from the
publisher, except fair uses permitted under U.S. or applicable copyright law.
EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/14/2023 7:53 AM via
AN: 2483366 ; Bernd Ulmann.; Analog and Hybrid Computer Programming
Account: ns335141
Bernd Ulmann
Analog and Hybrid Computer Programming
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
Also of interest
Photonic Reservoir Computing
Optical Recurrent Neural Networks
Ed. by Daniel Brunner, Miguel C. Soriano, Guy Van der Sande, 2019
ISBN 978-3-11-058200-0, e-ISBN (PDF) 978-3-11-058349-6,
e-ISBN (EPUB) 978-3-11-058211-6
Analog Electronic Circuit
Ed. by Ning, Beijia
Together with China Science Publishing & Media Ltd., 2018
ISBN 978-3-11-059540-6, e-ISBN (PDF) 978-3-11-059386-0,
e-ISBN (EPUB) 978-3-11-059319-8
Dynamic Fuzzy Machine Learning
Fanzhang Li, Li Zhang, Zhao Zhang, 2017
ISBN 978-3-11-051870-2, e-ISBN (PDF) 978-3-11-052065-1,
e-ISBN (EPUB) 978-3-11-051875-7
Discrete Algebraic Methods
Arithmetic, Cryptography, Automata and Groups
Volker Diekert, Manfred Kufleitner, Gerhard Rosenberger,
Ulrich Hertrampf, 2016
ISBN 978-3-11-041332-8, e-ISBN (PDF) 978-3-11-041333-5,
e-ISBN (EPUB) 978-3-11-041632-9
Analog Computing
Bernd Ulmann, 2013
ISBN 978-3-486-72897-2, e-ISBN (PDF) 978-3-486-75518-3
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
Bernd Ulmann
Analog and
Hybrid Computer
Programming
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
Mathematics Subject Classification 2010
Primary: 34-04, 35-04; Secondary: 92C45, 92D25, 34C28, 37D45
Author
Prof. Dr. Bernd Ulmann
Schwalbacher Str. 31
65307 Bad Schwalbach
[email protected]
ISBN 978-3-11-066207-8
e-ISBN (PDF) 978-3-11-066220-7
e-ISBN (EPUB) 978-3-11-066224-5
Library of Congress Cataloging-in-Publication Data
A CIP catalog record for this book has been applied for at the Library of Congress.
Bibliographic information published by the Deutsche Nationalbibliothek
The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie; detailed
bibliographic data are available on the Internet at http://dnb.dnb.de.
© 2020 Walter de Gruyter GmbH, Berlin/Boston
Printing and binding: CPI books GmbH, Leck
www.degruyter.com
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
For Rikka.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
“An analog computer is a thing of beauty and a joy forever.”1
1 John H. McLeod, Suzette McLeod, “The Simulation Council Newsletter”, in Instruments
and Automation, Vol. 31, March 1958, p. 488.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
Acknowledgments and disclaimer
This book would not have been possible without the support and help of many
people. First of all, I would like to thank my wife Rikka Mitsam who never
complained about the many hours I spent writing this book. In addition to that,
she did a lot of proofreading and post-processed all of the oscilloscope screenshots
and various pictures to make them print-ready.
I am also greatly indebted to Dr. Chris Giles who not only gave much constructive criticism but also pointed out lots of additional interesting literature and
programming examples. He also extended Occam’s razor into Occam’s chainsaw
during the process of proofreading and enhancing this book. :-)
In addition, I wish to express sincere thanks to Dr. Duncan Cadd, Maikel
Hajiabadi, Felix Letkemann, Bernd Johann, Nicole Matje, Oliver Bach,
Jens Flemmer, Dr. Christian Kaminski, Dr. Robert Schorr and Ian S. King
who have proofread this book and offered helpful advice. Discussions with Jens
Breitenbach greatly enhanced appendix C for which I am very grateful. He also
spotted numerous errors and inconsistencies which were rectified accordingly.
I am also indebted to Mr. Mirko Holzer who programmed the digital portion
of the hybrid computer setup described in section 7.5.
Last but not least, I would like to thank Tibor Florestan Pluto for his
permission to use some of his photographs in this book (figure 6.53 and the title
picture).
All of the worked examples in the book have been implemented on an Analog
Paradigm Model-1 analog computer, for two reasons. First, the author is one of
the main developers of this system and second, the machine seems to be the only
analog computer currently available on a commercial basis. All of the examples
can be (and have been to a large degree) programmed on other machines, like the
classic Telefunken or EAI table-top computers, if the relatively minor differences
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
in operation and patching are taken into account. Using the Model-1 was not intended for promotional purposes. Many of the examples were previously published
online in abbreviated form as application notes.
A wealth of information about typical systems, such as EAI or Telefunken
table-top computers, including user manuals, schematics etc., can be found in the
library section of http://analogmuseum.org.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
Contents
1
1.1
1.2
1.3
1.4
Introduction
1
What is an analog computer?
1
Direct vs. indirect analogies
2
A short history of analog computing
Characteristics of analog computers
2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
Computing elements
11
Machine units
11
Summer
12
Integrators
18
Free elements
25
Potentiometers
26
Function generators
32
Multiplication
36
Comparators and switches
Input/output devices
40
3
Analog computer operation
43
4
4.1
4.1.1
4.1.2
4.1.3
4.2
4.3
Basic programming
49
Radioactive decay
51
Analytical solution
52
Using an analog computer
Scaling
56
Harmonic functions
58
Sweep
64
53
4
9
38
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
4.4
4.4.1
4.4.2
4.5
4.5.1
4.5.2
4.5.3
Mathematical pendulum
65
Straightforward implementation
66
Variants
67
Mass-spring-damper system
68
Analytical solution
69
Using an analog computer
71
RLC-circuit
73
5
Special functions
77
5.1
Inverse functions
77
5.1.1
Square root
78
5.1.2
Division
79
5.2
f (t) = 1/t
80
5.3
Powers and polynomials
81
5.4
Low pass filter
82
5.5
Triangle/square wave generator
83
5.6
Ideal diode
85
5.7
Absolute value
86
5.8
Limiters
86
5.9
Dead-space
88
5.10
Hysteresis
89
5.11
Bang-bang
90
5.12
Minimum/maximum holding circuits
5.13
Sample & Hold
93
5.14
Time derivative
94
5.15
Time delay
95
5.15.1
Historic approaches to delay
97
5.15.2
Digitization
98
99
5.15.3
Sample and hold circuits
5.15.4
Analog delay networks
101
6
6.1
6.2
6.3
6.3.1
6.3.2
6.3.3
6.4
6.4.1
6.4.2
6.4.3
91
Examples
109
Chemical kinetics
109
Damped pendulum with external force
Mathieu’s equation
116
Introduction
116
Scaling and programming
117
Results
118
119
Van der Pol’s equation
Introduction
119
Programming
121
Results
123
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
114
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
6.19
6.20
6.21
6.22
6.23
6.24
6.25
6.26
Solving the one-dimensional Schrödinger equation
Ballistic trajectory
126
Charged particle in a magnetic field
127
Rutherford-scattering
131
Celestial mechanics
132
Bouncing ball
137
Zombie apocalypse
141
Rössler attractor
143
Lorenz attractor
145
Another Lorenz attractor
147
Chua attractor
148
Nonlinear chaos
152
Aizawa attractor
153
Nosé-Hoover oscillator
155
Rotating spiral
157
Flow around an airfoil
157
Heat transfer
162
Two-dimensional heat transfer
168
Systems of linear equations
170
Human-in-the-loop
176
Inverted pendulum
179
Double pendulum
186
7
7.1
7.2
7.3
7.4
7.5
Hybrid computing
193
Hybrid controllers
194
Basic operation
196
Shell trajectory
198
Data gathering
201
Training an AI with an analog computer
8
Summary and outlook
A
Solving the heat equation with a passive network
B
B.1
B.1.1
B.1.2
B.1.3
B.1.4
B.2
B.3
221
The Laplace transform
Basic functions
222
Step function
222
Delta function
223
Ramp function
223
Exponential and trigonometric functions
Laplace transforms of basic operations
Further characteristics
226
123
204
211
224
225
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
215
B.4
B.5
B.6
Inverse Laplace transform
226
Example
227
Block diagrams and transfers functions
C
C.1
C.2
C.3
Mikusiński’s operational calculus
Introduction
231
Trigonometric functions
234
Example
235
D
An oscilloscope multiplexer
237
E
A log() function generator
241
F
A sine/cosine generator
G
A simple joystick interface
H
The Analog Paradigm bus system
I
HyCon commands
231
243
245
247
249
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
228
CHAPTER
1
Introduction
1.1 What is an analog computer?
A book about programming analog and hybrid computers may seem like an
anachronism in the 21st century – why should one be written and, even more
important, why should you read it? As much as analog computers seem to be forgotten, they not only have an interesting and illustrious past but also an exciting
and promising future in many application areas such as high performance computing (HPC for short), the field of dynamic systems simulation, education and
research, artificial intelligence (biological brains operate, in fact, much like analog
computers), and, last but not least, as coprocessors for traditional stored-program
digital computers, forming so-called hybrid computers.
From today’s perspective, analog computers are mainly thought of as being
museum pieces and their programming paradigm seems archaic at first glance. This
impression is as wrong as can be and is mostly caused by the classic patch field
or patch panel onto which programs are patched in form of an intricate maze of
wires, resembling real spaghetti “code”. . . On reflection, this form of programming
is much easier and more intuitive than the algorithmic approach used for storedprogram digital computers (which will be just called digital computers from now
on to simplify things). Future implementations of analog computers, especially
those intended as coprocessors, will probably feature electronic cross-bar switches
instead of a patch field. Programming such machines will resemble the programming of a field programmable gate array (FPGA), i. e. a compiler will transform
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
2
1 Introduction
a set of problem equations into a suitable setup of the crossbar-switches, thus
configuring the analog computer for the problem to be solved.
The notion of an analog computer has its roots in the Greek word nlogon
(“analogon”) which lives on in terms like “analogy” and “analogue”. This quite
aptly characterizes an analog computer and separates it from today’s digital computers. The latter have a fixed internal structure and are controlled by a program
stored in some kind of random access memory.
In contrast, an analog computer has no program memory at all and is programmed by actually changing its structure until it forms an analogue, a model,
of a given problem. This approach is in stark contrast to what is taught in programming classes today (apart from those dealing with FPGAs). Problems are
not solved in a step-wise (algorithmic) way but instead by connecting the various
computing elements of an analog computer in a suitable manner forming a circuit that serves as a model of the problem under investigation. Figures 1.1 and
1.2 illustrate these two fundamentally different approaches to computing. While
a classic digital computer works more or less in a sequential fashion, the computing elements of an analog computer work in perfect parallelism with none of the
synchronization issues that are often encountered in digital computing.
1.2 Direct vs. indirect analogies
When it comes to analogies in general, it is necessary to distinguish between direct
and indirect analogies, which depend on the underlying principles of the problems
being solved and the analogies used to solve them. In short, a direct analogy has
its roots basically in the same physical principles as the corresponding problem,
i. e. a soap-bubble being used to model a minimal surface, a metal sheet with
heaters and thermocouples to investigate heat-flow patterns etc. If the physical
principles underlying the problem and analog computer differ, the computer is
called an indirect analog computer.
For the remainder of this book only indirect analogies will be considered,
as these are much more versatile in application than their direct counterparts.
Typically, such machines are based on analog-electronic computing elements such
as summers, integrators, multipliers and the like.
Although it sounds like a contradiction, analog computers can be implemented
using purely digital components. Two such types of machine are digital differential
analyzers (DDAs) and stochastic computers, examples of which have been built
over many years and whilst they enjoy periodic renaissances, they have never
entered the mainstream of computing. Programming these machines follows basically the same lines as programming analog-electronic analog computers (simply
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
1.2 Direct vs. indirect analogies
3
Fig. 1.1. Principle of operation of a stored-program digital computer (see [Truitt et al. 1960,
p. 1-40])
Fig. 1.2. Structure of an analog computer (see [Truitt et al. 1960, p. 1-41])
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
4
1 Introduction
called analog computers). These digital analog computers will not be discussed
further in the book.2
1.3 A short history of analog computing
The idea of analog computing is, of course, much older than today’s predominantly
algorithmic approach. In fact, the very first machine that might aptly be called
an analog computer is the Antikythera mechanism, a mechanical marvel that was
built around 100 B. C. It has been named after the Greek island AntikÔjhra (Antikythera) where its remains were found in a Roman wreck by sponge divers in
1900. At first neglected, the highly corroded lump of gears aroused the interest of
Derek de Solla Price, who summarized his scientific findings as follows:3
“It is a bit frightening to know that just before the fall of their great civilization the
ancient Greeks had come so close to our age, not only in their thought, but also in their
scientific technology.”
Research into this mechanism, which defies all expectations with respect to an ancient computing device, is still ongoing. Its purpose was to calculate sun and moon
positions, to predict eclipses and possibly much more. The mechanism consists of
more than 30 gears of extraordinary precision yielding a mechanical analogue for
the study of celestial mechanics, something that was neither heard of or even
thought of for many centuries to come.4
Slide rules can also be regarded as simple analog computers as they allow the
execution of multiplication, division, rooting etc. by shifting of (mostly) logarithmic scales against each other. Nevertheless, these are rather specialized analog
computers, just as planimeters, which were (and to some extent still are) used to
measure the area of closed figures, a task that frequently occurs in surveying but
also in all branches of natural science and engineering.
Things became more interesting in the 19th and early 20th century with the
development and application of practical mechanical integrators. Based on such
developments, William Thomson, later Lord Kelvin, developed the concept
of a machine capable of solving differential equations. Although no usable computer evolved from this, his ideas proved very fruitful. Specifically, his approach
2 More information on DDAs may be found in [Forbes 1957], [Forbes 1972], [Winkler 1961,
pp. 215], [Beck et al. 1958], [Klein et al. 1957, pp. 1105 ff.], [Goldman 1965], [Jackson 1960,
pp. 578 ff.], [Ulmann 2010, pp. 157 ff.], [Shileiko 1964], and [Bywater 1973]. Stochastic computers are covered in [Massen 1977].
3 See [Freeth 2008, p. 7].
4 See [Freeth 2010].
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
1.3 A short history of analog computing
5
Fig. 1.3. Vannevar Bush’s mechanical differential analyzer (source: [Meccano 1934, p. 443])
to programming such machines is still used today and called the Kelvin feedback
technique.5
Figure 1.3 shows a mechanical analog computer, called a differential analyzer.
On both sides of the long table-like structure in the middle of the picture, various
computing elements such as integrators (discernible by the small horizontal disks),
differential gears, plotter tables etc. can be seen. The elongated structure in the
middle is the actual interconnect of these computing devices which consists of a
myriad of axles and gears. Programming such a machine was a cumbersome and
time consuming process as the interconnection structure had to be more or less
completely dismantled and rebuilt every time the machine was configured to solve
the differential equations which describe the new problem.
Figure 1.4 shows a simple setup of a differential analyzer to integrate a function
given in graphical form. A central motor, shown on the left, drives all computing
elements of the machine. On the upper left a so-called input table is visible. It
consists of a magnifier with crosshairs which is mounted in such a way that it will
be moved by the central motor horizontally while its vertical position is controlled
manually by a hand crank which is turned so that the crosshairs always follow the
line of the input function.6
5 Lord Kelvin is often cited as having proposed the use of analog computers for fire control but
although mechanical differential analyzer techniques were successfully employed for purposes
such as naval gun fire control in the early 1900s, it took Vannevar Bush to realize that these
components could be configured into a general purpose computer.
6 A steady hand is required for this task which was quickly automated in order to eliminate
this rather unpredictable source of error during a computation.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
6
1 Introduction
Fig. 1.4. A simple differential analyzer setup for integration (cf. [Karplus et al. 1958, p. 190],
[Soroka 1962, p. 8-10])
At the heart of this setup is an integrator shown at the bottom of the figure.
Basically, it consists of a rotating flat disk driven by the central motor and a
friction-wheel rolling on the surface of the disk. The radial position of this wheel
on the disk is now controlled by the vertical component of the crosshairs on the
input table. Given some angular velocity of the rotating disk, the angular velocity
of the friction-wheel depends on its radial position. If it were located directly
above the disk’s axis, it would not rotate at all while its angular velocity would
be at its maximum if it were positioned at the edge of the disk. Thus, this device
effectively performs an integration operation of the basic form
ZT
f (τ ) dτ
0
where τ represents the machine time (more about that later) – in this case the
rotation of the horizontal disk – and f (τ ) controls the radial position of the frictionwheel. The integrator is running during the time interval [0, T ]. Figure 1.5 shows
an actual implementation the integrator which was used in the Oslo differential
analyzer.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
1.3 A short history of analog computing
7
Fig. 1.5. Integrator from the Oslo differential analyzer (see [Willers 1943, p. 237])
The output from the friction-wheel is then used in this setup to control the
vertical position of the output table’s7 (upper right of the picture) pen position
while its horizontal position is controlled by the central motor. The resulting figure
is the graph of the integral over the input function.
Mechanical differential analyzers like this one were only used for a short period
of time as their disadvantages could not easily be overcome. Their setup is cumbersome and time-consuming, the many mechanical parts require a lot of maintenance
work, and their speed of computation is limited due to the non-negligible masses
of the rotating and moving parts.
There were some attempts to build electro-mechanical differential analyzers
in which basic computing elements were still purely mechanical while their interconnection was accomplished by servo-motors and synchros.8 The outputs of
the synchros could be connected to the inputs of the servo-motors by means of
a central electric patch field, thus at least simplifying the basic setup of such a
computer.
Mechanical and electro-mechanical analog computers were used in staggering
numbers in the form of fire control systems during World War II. Being very
specialized analog computers, these machines had no direct influence on the further
development of the art.
7 Today, this device would be called a plotter.
8 A synchro is basically a transformer with its primary winding on a rotor which is surrounded
by typically three secondary windings. When the primary is fed with an AC signal, signals
corresponding to the angular position of the rotor are induced in the stator windings which
can then be used to determine the angle of the rotor. Arnold Nordsieck used these devices
in his differential analyzer, see [Nordsieck 1953] and [Brock 2019].
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
8
1 Introduction
Fig. 1.6. Helmut Hoelzer’s general purpose analog computer after World War II
Analog-electronic analog computers were developed independently, beginning
in the early 1940s by Helmut Hoelzer in Germany, George A. Philbrick,
and A. B. Macnee in the United States. Their goals were very different.
Hoelzer worked in Peenemünde, Germany, on the development of the famous
A4 rocket (also known as the V2 ) and was responsible for what would be called
its on-board computer in today’s terms. The result of his work was the world’s
first electronic stabilization and control system for a rocket. In addition to this,
he developed the world’s first true general purpose analog computer, which was
used during the A4 development. After World War II this unique computer was
transferred to the United States and was used at the Redstone Arsenal for further
rocket developments well into the 1950s. This machine is shown in figure 1.6.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
1.4 Characteristics of analog computers
9
On the other side of the Atlantic, Philbrick’s electronic analog computer,
named Polyphemus due to its peculiar appearance with a single oscilloscope
mounted in the top position of its rack, was not aimed at military applications at
all. His machine was designed and used to solve problems that typically arise in
process control in the chemical industry.
Macnee’s machine, developed at MIT, was a purely academic research instrument and probably the first high-speed electronic analog computer capable of
repetitive operation, in which a problem is solved over and over again at such high
speed that a (nearly) flicker-free picture of the solution can be displayed on an
oscilloscope screen.
From today’s perspective, these early analog computers seem quite familiar.
Except for their particular implementation with vacuum tubes, they already featured all of the typical analog computing elements such as summers, integrators,
multipliers, function generators etc. Furthermore, they were programmed employing the same techniques that are still used today. More information on the history
of analog computing can be found in [Ulmann 2013]9 and [Small 2001].
1.4 Characteristics of analog computers
Although computing by setting up indirect analog computers by myriads of interconnecting wires looks like a disadvantage at first sight, it is probable that this
method of programming will soon be replaced by intricate and highly integrated
cross-bar switches controlled by an accompanying digital computer. But even with
a traditional patch panel interconnecting a variety of computing elements instead
of having an algorithm stored in some memory has some tremendous advantages.
First of all, there is no need for memory lookup operations at all in an analog
computer, speeding up the overall computation considerably. Further, without
any memory there is nothing like a critical section, no need to synchronize things,
no communications overhead, nothing of the many trifles that haunt traditional
parallel digital computers. There is no equivalent to Amdahl’s law 10 in the realm
of analog computation. All computing elements work in perfect parallelism.
Another basic advantage of analog computers is their extremely low power consumption, which easily outperforms classic digital computers. This makes analog
computing attractive for applications where low power consumption is of utmost
importance, such as medical application, embedded devices powered by energy
harvesting etc. Furthermore, analog computers are ideal for high performance
9 German readers might want to refer to [Ulmann 2010] instead.
10 See [Amdahl 1967].
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
10
1 Introduction
computing (HPC) where power is available in abundance and sheer computing
power is required.
Finally, analog computers are not prone to problems such as poor stability
as is sometimes the case with numerical algorithms for classic digital computers
operating on floating point numbers. Even stiff differential equations are normally
easily solvable by an analog computer whilst many numerical procedures require
at least excessive run-times for such problems.
These characteristics of analog computers have led to the recent and impressive increase in interest in this particular model of computation. The most common
form of an analog computer in the near future will be as part of a hybrid computer setup, i. e. closely coupled with a digital computer, thereby relieving it from
calculations involving differential equations etc.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
CHAPTER
2
Computing elements
The following sections introduce the basic elements which comprise an electronic
analog computer. Furthermore, the notion of the machine unit will be introduced
because the representation of values is of central importance for all of the following
concepts. The examples shown have been implemented on an Analog Paradigm
Model-1 analog computer.
2.1 Machine units
Voltages or currents are the natural way of representing values within a calculation on an analog computer. Since the majority of historic and modern analog
computers use voltages instead of currents, the following sections are restricted to
this technique.
Obviously, values represented by voltages are limited by some minimum/maximum voltages, known as machine units, m− and m+ , which are fixed for a given
analog computer. Historic vacuum tube based machines often used units of ±100 V
and sometimes ±50 V while later and modern analog computers feature machine
units of ±10 V and sometimes even as low as ±5 V.
All voltages representing variables in a computer setup are bound by these
machine units, so it is normally necessary to scale a problem to be solved on an
analog computer accordingly to avoid an overload condition in which a variable
exceeds the machine unit voltage. If this happens, typically an overload indicator
will be lit, identifying the affected computer element. In addition to this, the
computer run can be halted automatically to determine the cause of the overload
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
12
2 Computing elements
condition. Overloads normally result from erroneous scaling or patching and do
not harm the computer but will impair or invalidate the computed results.
Since the machine units are of utmost importance in an analog computer, they
are typically highly stabilized with temperature compensated reference elements.
With machine units of ±10 V the computing elements are typically powered by a
±15 V supply to leave some headroom to detect overloads etc. So in the case of
an overload, the output voltage of the affected element can reach values as high
as about ±15 V on a modern analog computer.
Scaling a problem to be solved on an analog computer has two objectives:
1. Guarantee that no variable exceeds the limits imposed by the machine units.
2. Make the best use of the available interval [m− , m+ ] for each variable of a
computer setup to minimize the unavoidable errors caused by the computing
elements.
Consequently, it is necessary to distinguish between the problem variables in which
the problem itself is stated, and the machine variables which are the scaled versions
of the problem variables. The underlying scaling process is called variable scaling.
A second scaling process concerns the speed at which the machine will solve a
problem in contrast to the speed at which the original problem will act. This is
called time scaling as it affects the speed of integration and typically does not
directly affect the scaling of variables.11
Generally, it is a good idea to abstract further from the actual machine units
m− and m+ and to think within the interval [−1, 1] instead. Analog computers
featuring voltmeters as their output devices have those typically scaled accordingly
so that the machine units correspond to a display of ±1 machine units instead of
±10 or ±100 Volts.
2.2 Summer
The simplest active element of an electronic analog computer is the summer. Its
abstract symbol is shown in figure 2.1. A summer yields the negative sum of the
voltages applied to its inputs at its output, labelled eo in the figure. Each input
has a so-called weight, a fixed multiplicative factor applied to the input. Typical
weights are 1 and 10, while some machines also feature values of 4 or 5. If no
weight is noted next to an input, it is assumed to be 1. Accordingly, all three
inputs e1 , e2 , and e3 in figure 2.1 are weighted by 1.
11 See section 2.3.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
2.2 Summer
13
SJ
e3
e2
e1
eo
Fig. 2.1. Abstract symbol of a summer with three inputs e1 , e1 , e2 and summing junction input
Q
−Q
Q
Q
+
Fig. 2.2. Graphical symbol of an operational amplifier
To understand the behaviour of a summer a look at its implementation is
necessary. Like most other analog computer elements, it is based on an operational
amplifier, opamp for short, the graphical symbol of which is shown in figure 2.2.
An operational amplifier has two inputs, one inverting and one non-inverting,
denoted by − and + in the figure. It yields the sum of the values applied to
these inputs, amplified by its large (ideally infinite) open-loop gain A that is
characteristic for a particular operational amplifier. Typically, gains of 105 to 109
can be achieved.12 The use of this type of amplifier in analog computers gave rise
to the name operational amplifier, as they form the basis of computing elements
implementing certain mathematical operations.
In a typical analog computer circuit, the non-inverting input of the operational
amplifiers is grounded, i. e. connected to the analog ground rail, usually denoted
by GND, which is at the potential representing the value zero; this effectively
disables this input.13
To build a summer based on an operational amplifier the concept of negative
feedback is essential. This technique was pioneered by Harold Stephen Black
in 1927. The basic idea is to use part of the signal at the output of the operational
amplifier and feed it back to its inverting input, thus basically controlling the
overall behaviour of the resulting circuit by the feedback circuit, instead of relying
on the characteristics of the bare amplifier. This idea is central to nearly all oper-
12 Operational amplifiers are rather complex devices. More in-depth information can be found
in [Jung 2006].
13 In classical analog computers, this non-inverting input was normally not connected to
ground directly, but used to implement an active drift-compensation. More details on this can
be found in [Goldberg et al. 1954], [Korn et al. 1964, pp. 137 ff.], [Ulmann 2013, pp. 61 ff.]
etc.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
14
2 Computing elements
Rf
Ri
ei
eo
Fig. 2.3. Operational amplifier with negative feedback
ational amplifier circuits, including analog computing elements, such as summers
and integrators. Figure 2.3 shows the basic circuit of an operational amplifier with
negative (resistive) feedback.
This simple circuit has a single input ei which is connected to the inverting
input of the operational amplifier by the resistor Ri . The output signal eo is also
connected to the inverting input via a feedback resistor Rf . Since all inputs as well
as the feedback path are connected to the inverting input, this is called summing
junction, SJ or sometimes just S for short. Most implementations of summers
(and integrators) make this summing junction available at the patch panel so that
additional feedback circuits or additional input resistors etc. can be connected.
With A denoting the open-loop gain of the operational amplifier (i. e. the gain
it exhibits without any negative feedback), and eSJ representing the voltage at the
summing junction,
eo = −AeSJ
can be derived for the output voltage of the circuit in figure 2.3.14 This implies
eSJ = −
eo
A
(2.1)
for the voltage at the summing junction itself. Accordingly, the following currents
flow into and out of the summing junction:
ei
Ri
eo
if =
Rf
(input current due to Ri )
ii =
(feedback current due to Rf )
i– ≈ 10−9 A
(input current of the amplifier)
Due to Kirchhoff’s first law, the sum of the currents flowing into and out of
a junction must be zero, yielding
i– = ii + if =
ei − eSJ
eo − eSJ
+
.
Ri
Rf
14 All voltages are measured with respect to GND.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
(2.2)
2.2 Summer
15
Since the input current i– of a typical operational amplifier is less than a few nA
at most, it can be neglected, so that (2.2) simplifies to
eo − eSJ
ei − eSJ
=−
.
Ri
Rf
Substituting (2.1) into this yields
eo
eo
eo +
A =−
A.
Ri
Rf
ei +
Some rearranging results in
1
1
ei
1
+
+
=−
eo
ARi
Rf
ARf
Ri
which can then be solved for eo :
ei
Ri
eo =
Rf + ARi + Ri
ARi Rf
−
ei
ARi Rf
Ri
=
Rf + ARi + Ri
−
Rf
− ei
Ri
.
=
1 Rf
1+
+1
A Ri
(2.3)
Since A is typically very large15 and Rf /Ri is typically ≤ 10, the denominator
of (2.3) can normally be neglected, yielding the simplified form
eo = −
Rf
ei
Ri
(2.4)
describing the output voltage of the feedback circuit shown in figure 2.3.16
15 In fact, classical high-precision operational amplifiers used in analog computers had gains
of up to A = 109 .
16 A more informal approach to the behaviour of such circuits is to assume that the openloop gain of the operational amplifier is extremely large, therefore, the voltage at the summing
junction is approximately zero. Since the input current of the amplifier is negligible, applying
Kirchhoff’s law to the currents at the summing junction shows that the current through
the feedback element is minus the sum of the currents through the input resistors. Applying
Ohm’s law then readily yields the output voltage of the computing element.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
16
2 Computing elements
Rf
SJ
R1
e1
..
.
en
eo
R2
e2
Rn
Fig. 2.4. Summer with several inputs based on an operational amplifier with negative feedback
This shows that the behaviour of this circuit is basically determined by the
resistors at the input and in the feedback path. If more input resistors are added
as shown in figure 2.4, a useful summing circuit results whose overall behaviour is
readily described by
n
X
eo
ei
=− .
(2.5)
Ri
Rf
i=1
The voltage at the output of this circuit is thus the negative of the sum of the
voltages at its inputs. The ratios
ai =
Rf
Ri
define the weights of the various inputs. Typical values for ai are 1 and 10. If
unusual values are required for a certain setup, the necessary resistors can be
connected to the summing junction SJ, thus effectively extending the number of
inputs of the summer.
Summer basics:
The behaviour of an (ideal) summer is described by
n
X
eo = −
ai ei
i=1
with the weights ai being typically 1 or 10. It yields the negative sum of the
weighted voltages applied to its inputs. Typical summers have about six inputs,
three of which have input weight 1 while the remaining three inputs are weighted
by 10.
In some cases it is necessary to disconnect the resistive feedback loop of a
summer in order to introduce an external feedback circuit. This case is represented
by the symbol shown in figure 2.5. This element is no longer called summer but
open amplifier or high gain amplifier instead. This element always requires some
external feedback in order to be stable.
EBSCOhost - printed on 2/14/2023 7:53 AM via . All use subject to https://www.ebsco.com/terms-of-use
2.2 Summer
e1
17
eo
Fig. 2.5. Graphical representation of an open amplifier
e3
e1
e2
eo
10
Fig. 2.6. Computer setup according to equation (2.6)
To show the application of summers in a typical analog computer setup, consider the circuit shown in figure 2.6. It solves the equation
e +e
1
2
eo = − 10 −
+ e3 = 5(e1 + e2 ) − e3 .
(2.6)
2
The connection between the output of the first summer and one of its inputs17
introduces a second feedback resistor parallel to Rf , thus effectively doubling the
effect of the feedback loop. This, in turn, halves all other input weights of the
summer yielding
e1 + e2
−
2
at the output of the left summer. This output is now connected to an input of
the right summer, weighted with 10. Another input of this summer is fed with e3
finally yielding eo = 5(e1 + e2 ) − e3 .
Figure 2.7 shows the front panel of a Analog Paradigm SUM8 This module
contains eight summers, each featuring five inputs, three of which have weight 1
and two have weight 10. The four summers in the top row have a special feature
which allows the built-in feedback resistor path to be opened by patching a connection between the two jacks labelled FB and ⊥ (this symbol denotes ground),
thus turning a summer into an open amplifier.18 The summing junction SJ is also
available on all eight summers.
17 Since no explicit weight is denoted next to the input, its weight is equal to 1.
18 On these four summers, the feedback resistor Rf is split into a series connection of two
resistors of half the size of Rf . The connection between these two resistors