Analog Computers

Reference / Paper · 2020

Analog and Hybrid Computer Programming

Read the PDF (283 pp) ↗

A comprehensive textbook by Prof. Dr. Bernd Ulmann covering the theory and practice of programming analog and hybrid computers, from foundational computing elements (summers, integrators, multipliers, potentiometers, comparators) through basic and advanced programming techniques, special functions, and a wide range of application examples including chaotic attractors, celestial mechanics, and partial differential equations. All worked examples are implemented on the Analog Paradigm Model-1, with discussion of how setups translate to classic EAI and Telefunken machines. The book also addresses hybrid computer architectures that couple analog and digital processors, and includes appendices on Laplace transforms and operational calculus.

Manufacturer
De Gruyter Oldenbourg
System
Analog Paradigm Model-1
Author
Bernd Ulmann
Year
2020
Type
Reference / Paper
Language
English
Learning track
general theory
Pages
283
Credit
Published by Walter de Gruyter GmbH, Berlin/Boston, 2020. ISBN 978-3-11-066207-8. Accessed via EBSCOhost eBook Collection (AN: 2483366).
  • Analog Paradigm Model-1
  • De Gruyter Oldenbourg
  • analog computer programming
  • hybrid computing
  • differential equations
  • simulation

← Back to the Reference Library

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 ulmann@analogparadigm.com 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 ‚nˆlogon (“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