Lecture on

A.H. Reeves, O.B.E., A.C.G.I., D.I.C., M.I.E.E.,

Lecture delivered by Mr. A. H. Reeves at the meeting of the Joint Professional Group J.4 held at the Institution of Electrical Engineers on Friday 15th April, 1966, at 5.30 p.rn. (tea, at 5.00 p.m. )

AHR/JL

Standard Telecommunication Laboratories,

Harlow 12th March, 1966.

(About 70 mins. to speak - perhaps 1 hr-40 mins. with demonstrations.)

Talk to IEE on 15/4/66 "The Equilibrium Coder"

**Abstract**

The talk will be a glimpse into the future, where coding speed requirements may be well in excess of present normal demands. The subject is a rather new type of analogue-to-digital. convertor believed to have good possibilities at speeds of 1000 megabits per second or higher, in real time. It has feedback combined with feed forward, and needs to use only 2-terminal high-speed devices. As serious study of the high-speed modes started only in 1966, and the analysis of the nonlinear network is not yet complete, the explanations will be mainly qualitative, with only salient quantitative theory. No detailed circuit embodiments will be discussed, only possible principles.

A mechanical model will illustrate the low-speed modes in which the operation approaches normal logic. It will then illustrate the possibility of using delayed coding decisions, with accelerated decision-device rise times without external high-speed, high-gain feedback loops, to increase the speeds about five times. This will be followed by a demonstration of stabilised triCer thresholds by inertia loading.

"Stored negative feedback", a powerful method for stabilising digit eights, and giving further correction to the trigger thresholds will be discussed, using pilot-signal or stochastic inputs. Finally, high-speed sampling-gate problems will be discussed, with new solutions.

A fair knowledge of the theory and, practice, of modern coding will be assumed.

**Opening Remarks**

I shall be talking tonight about a principle, rather than about details of its embodiments. In my organisation we have, of course, done quite a bit of work en transforming the concept of "equilibrium coding" into circuit forms. But it is the main idea behind it that interests me most. This is nearly always my own, personal approach to a problem. I see, or think I see, a need. I then relax and ruminate about it, allowing full sway for a time to any possible solution to it that comes into my head, sensible or crazy. Sometimes I then draw blank for a bit, seeing at once that all the ideas that have come are unsound. Them comes an exciting moment, one of intense intellectual
pleasure - for I just know, without proof yet, that some further idea is not only sound but that it can be a winner. I then work on it, by ordinary logical steps. This is where the hard work comes in, not in getting the idea itself - for even when you know a diamond is there, it can still be an effort to pull it out of hard ground, and cut it into shape.

To my mind, all truly creative work, even in a technical profession like ours, is an art just as much as it is a science, and we should polish and use all our modern, powerful tools of logical analysis,
computer-aided and direct, in this second stage, not the first: to extract and cut the diamond, not directly to try to find it.

Though a simple way of getting higher coding speeds was the main thing that spurred the invention to be made. Owing to other priorities serious study of the equilibrium coding concept in its high-speed modes was started only in the middle of January of this year, and the complete analysis, quite difficult, is by no means yet finished. This is my excuse for not giving you rigorous formulae concerning the complicated dynamic events that can occur during the coding of a level. Instead, our demonstrator, Mr. Barton, will be showing you later on some of these movements,
illustrated by the mechanical model, so that you can see them for yourselves.

Tonight, then, rather than giving you a talk in the usual way, describing work already done, I invite you to sit back and relax from the more mundane professional cares that have to govern many of us most of the time, ways of meeting specifications, cost figures, production dates and the like - and I invite you instead to listen in to an interim report on a study that has not yet reached those duller stages, but is still in the more exciting phase of being largely unexplored and wide open to any application that may need it. The equilibrium coder is exciting to me, too, for a special reason : it is a good example of what I call a true non-linear, dynamic structure - in electronic form, of true non-linear circuitry, defined here as the challenging, potentially broad interface between linear or nearly linear designs on the one hand, and digital logic methods on the other. This area so far has been somewhat neglected, mainly, I think, because of the difficulties of its exact analysis, often even in quite simple embodiments. But believe me, it is one that will reap rich rewards. So I make a plea for courage in circuitry designs. Of course we must
keep our feet on the ground. But let us not hesitate too much from adventuring away from the well beaten paths, even if our exact theory does lag behind. The exact non-linear control theory of walking down stairs is quite complicated; but people have been walking about for quite a time!

Everything I say will really be quite simple. But some of my ways of putting things, now an ingrained habit, may be unfamiliar to some of you. You may find that to follow same parts of this talk you'll need to give it very close attention.

If any of you still have difficulties, even after the discussion, don't worry - for if you are really interested I shall be pleased to go into as much further detail as I'm allowed to with the visitor
concerned, if you'll ring up my secretary and fix a date for you to see me in my lab. in Harlow.
I'm afraid this talk will go an a little longer than they usually do -with the interspersed demonstrations, for about 1 hour 40 minutes, in fact. So if any of you want to leave before the end, please don't hesitate to do so.

As I go on you'll soon be wondering whether what I'm saying has anything to do with practical electronic coders at all. But please be patient - for I promise you that I will explain this matter, at least in outline, in several places after the first half hour or so of this talk. It is the principle of the thing that I must get over first.

Now, what is equilibrium coding? It can be described as a variety that has both feedback and feed forward, with log_{2} n decision devices if there are "n" quantised levels to be coded.

Next, as there are at least 57 varieties of coder already, what can this one do that others can't? Why you should believe me I don't know, as we haven't proved it yet; but it will be able to code up to at least 1 Gc. bit rates, even with present devices; and appreciably reduce the cost of meeting present closest tolerances at speeds that we can now handle (just), e.g. about 220 Mbit - rates for really good TV purposes. The need in the nearer future for that first aim is highly debatable; but I think you'll agree that the second is worth looking at.

Before we really start, another point. I suggested to our Mr. Arkell that in any notice about this talk we should say that a fair knowledge of the theory and practice of modern coding would be assumed. After trying out bits of this "on the dog", though, some of my colleagues, I feel new that the statement is all right except that I should have said the opposite: that only people with no knowledge of coders should be admitted.

I'll tell you why: it's because the quickest way of understanding the principle is to forget that you know anything at all about anything, more or less, (easy to me, for the older I get the more sure I am that I don't), and start again, from first principles. It has been suggested to me that some of you may be interested if I add a little of the history behind the idea of equilibrium coding. So I have. If it bores you, my apologies.

**The Birth of the Idea**

I have a simple mind. I have great respect for people who can play several games of chess at once, or can remember all the threads of a cybernetics "truth table", both accomplishments that are far
beyond me. This is clear - for, by hindsight, PCM itself is so simple and obvious that it looks hardly worth patenting at all. I saw first a general principle: that energy was frittered away by
indecisiveness. I saw it in the heating of a switch that has a bad contact - in the better power efficiency of Class C radio transmitters - in the act of human decision making. I saw that as far as possible the switch, the valve, the brain signal to the motor nerves should be either definitely
"on" or "off". I labelled this principle: I called it **The Principle of Decisive Action**. It led at once to the work of me and my team on PTM, Pulse Time Modulation. We did some simple calculations on expected signal-to-noise improvements with given bandwidth increases. We made some bread boards to check. The rough proofs were quick and easy. We had got something.

Next, it became clear that we had not used the Principle far enough; for though in PTM the action of the trigger giving the outgoing pulses is decisive, time modulation by the noise could make these triggering moments decisively wrong! So the cure, still following this Principle of Decisive Action, led to PCM, which got over the remaining basic troubles.

You'll notice that at every stage the mathematics, the logical proofs, followed the concepts, not led them. This is hour my mind works - for better or worse.

The idea behind equilibrium coding came into my mind in a similar way. I had followed with interest the evolution of practical coder designs. At periods I had been supervising some of this work. I had made same contributions, on fairly usual lines. I was very pleased that the advent of the semiconductor era had made economically possible some quite complex circuits, each with its own advantages. A few years ago I was still more pleased when I saw that practical applications of PCM to the civil telephone networks was not only certain, but imminent. But I knew inside, too, that something was going wrong - for the complexity of some of the designs, for quite good surface reasons, was getting out of all proportion to the size of the real problem to be solved. It was getting like using an Atlas computer to do the household accounts. Though it was clear that integrated circuitry would before very long come into widespread use, and that with rising demands its falling price could soon justify a lot of extra transistors and diodes when really necessary, what was happening offended my engineering sense. It was inelegant,- and therefore not optimal. For high-speed working my feeling of inelegance about things was still stronger, and justified logically - for the various feedback sequential coders did net (and do not) use the coding time at all efficiently. From this standpoint the various time-counting coders were still worse. And parallel coders, though as fast as anything could be for given device elements, were so wasteful in the number of their components that they had nearly all been rightly abandoned. Some of the designs based on "forward wave" principles wars much better, in that they wasted no coding time, or very little. The most recent example of this class, the Bell Labs' solid-state 224 Mbit design, was then in its early stages. It is now an outstanding achievement of good engineering, to which I want to take this opportunity of paying my sincere respects. I am sorry that my friend Dr Mayo of Bell Labs, who was responsible for this work, has found it impossible to be here tonight, to hear me say so. Its use of the Gray code, the reflected binary, gives it nearly the speed a parallel coder would have with similar components, and in real time. But it is still in some ways a sledge hammer to crack a nut, particularly in that its operational amplifiers, eighteen in all, need very careful design and stability to meet the needed very close tolerances in the full-wave rectifier characteristics. And its speed is limited by those of transistors; if it could use only modern two-terminal devices in its high-speed parts, this coder unit proper could work a let faster.
So even Gray-type coders, for high speeds, left me with that same dissatisfied feeling.

So I knew that I couldn't really rest until I or someone else had found an answer, at least in principle, that was much more elegant in its whole conception. In the principle behind equilibrium coding I have found such an answer, in the main - though there are still a few inelegant points that to my mind stick up like sore thumbs, and will make me annoyed with myself until they have been put right.

**Equilibrium Coding : the Principle**

I asked myself, "'What is the simplest possible concept of all that could code?" Then, "Could it use the coding time efficiently? And could it be practical with components available even now, or soon?" If I felt (not proved) three "yesses" to these questions I'd know I had get what I was looking for. The concept, with these three "yesses", came quite quickly this time.

To myself, I call the concept **The Principle of Cooperation**. In my private, childish language, it is "letting the apparatus do what it naturally wants to do". In more scientific terms, it means that when we use an analogue-to-digital converter we must arrange things so that we store energy internally during the process, directly, in the simplest possible way, in such a manner that when the coding is complete this stored energy, then potential not kinetic, is a minimum. This gives us a feedback coder but of a direct and simple form, the feed back loops involving merely connecting wires with nothing added. You'll see, too, that it involves a "feed forward" feature as well, for what happens at the beginning of the coding process can influence the later parts of it. I saw this most simple, elementary concept first in various mechanical shapes, some of which is shown in Fig. 1. It is a 3-digit mechanical coder with horizontal distance as the coded parameter.

The curved lines represent rails on which run three rollers of given weights. I called the curved rails the "profiles". The left-hand, largest profile is fixed. The other two I imagined as sliding horizontally without friction. Each of the two smaller profiles is connected to the roller on its immediate left by stiff, weightless rods. The smallest, right-hand roller is connected by a weightless rod to a spring with negligible mass. The right-hand end of the spring is moved in the horizontal plane, from its zero position, furthest to the right, by a distance X equal to the output from an imaginary, mechanical sampling gate, not shown on fig. 1. If

* D _{1} = 2D _{ 2} = 4D_{3},*

I think you'll see at a glance that the thing has 8 stable equilibrium regions (i.e. 2m where "m" is the number of bi stables or digits - provided that the spring is not too strong, - and that with symmetrical profiles the: centre: of each of these regions represents correctly two of the possible 8 quantised values of distance X, in Simple Binary Code, when the right-hand end of the spring, with the rollers starting at positions O, O, O, is moved to the left. It's obvious, too, that at the centre of each of the 8 stable regions the total potential energy stored in the system is a minimum. A moment's thought will show you as well that when the spring's movement pushes or pulls any roller to a position of maximum slope on its profile, to a point of inflection on that curve, it will be at a point of unstable equilibrium, the next little push or pull in the same direction bringing the roller, and therefore the whole interlinked system, onto the start of an unstable region. You'll see too that if any one roller is at the centre of a stable region, then all the others must be, as well; i.e., that for any of the 2^{m} little regions there is only one value of
X, that can make the total internally stored energy a minimum (or zero, if the horizontal plane on which the profiles slide is taken as the reference point), and therefore give the system maximum over-all stability.

There is obviously a general tendency for the system to end in this condition. But equally clearly, we have to be sure for all input levels that this most stable arrangement of roller positions can always be reached, by simple means.

The first demonstration on the model will show you these 2^{m} most stable regions. But first I'll explain why we troubled to build such models at all, - and then explain those parts of this one that we'll first be using. Note, that there are stable regions, not exact points. The mechanical bistables are "spongy", not definite "bang-bang" things like relays, or ideal triggers in logic circuitry. If you try to think of equilibrium coding bistables in these "bang-bang" terms you'll
never get the true concept.

**Why Mechanical Models**

In my organisation we use all modern methods for studying our problems, including, of course, digital computers, both for mathematical analysis and simulation. But particularly for non-linear circuitry problems, even the most modern mathematical techniques often have severe limitations, leading for example to insoluble, non-linear, high - order differential equations even when the circuit represented is extremely simple. In my view this is a criticism of the basis on which these
techniques, especially of differential equations, has been built. We live in a non-linear world. The idea that a linear relation between two parameters is the simplest, because it is the "most natural", is false. From many aspects we need to start again, on suitable non linear foundations. It need be no mere difficult - it needs new foundation stones, that's all. All we need to do is to start again. And it would be far more relevant to real life in most of its forms. Aids such as the Poincare-Liapunov graphical method, and mere recently, extensions to Volterra Expansion techniques, are often useful; but these again do not get to the real root of our difficulties. Digital computers have given us a powerful way out. But to me, at least, their results tell little of why a
thing happens, only what.

Modern oscilloscopes used on breadboard circuits tell me a lot more. But a main limitation here is not in the scopes but in the breadboards. It is often difficult and time consuming to tailor the shape of some non-linear parameter at will. But if we represent it by its mechanical analogue, for example this flexible roller profile the change can be made in a few seconds. Anyway, my childish mind nearly always sees new circuit principles first as their mechanical equivalents. For these reasons I have introduced simple, mechanical models into at least one part of my area of my organisation, when I think they will be useful.

A stray visitor in this lab. of mine can be taken aback when he hears me ask one of my staff to "add a resistor in series with a flywheel". But I know that my own colleague will understand - for they are learning to think in these dual terms.

To me, this model here has been, and is still being, essential towards understanding the full potentialities of equilibrium coding,- (and also of other applications, later, of this same approach to a problem). It has had to be made better than it looks - for example, - in many cases quantitative work can be done on it to better than 1% accuracy.

It is on the lines of the diagram you've already seen in Fig.1 but it has four digits instead of three. On the model, to support the profiles we use low-friction wheels on these trolleys. To help you see the digit movements, a "0 and 1" scale has been attached to each digit, with a pointer. A "0 to 15" scale, with pointer, has been added to the left-hand trolley, to which the output of an imaginary mechanical sampling gate is applied (not to the smallest digit, as in Fig. 1). This scale, then, shows you roughly the value to be coded. (There is a more accurate scale in front of the operator.) On digits 2, 3 and 4, shaped ball bearings are used instead of rollers. A photo of a digit on its profile is on Slide 1.

The roof of the profile, is merely for mechanical stiffening. The spring of Fig. 1 has been replaced by an extra collar, on a profile, of this shape :Fig. 2

The effective weights of the rollers have been adjusted by sliding these brass pieces on their connecting rods. The restoring force due to the effective weight of the roller on its parabolic slope, from here to here, has the effect of a linear spring, while from here to here the restoring force is nearly zero. Ignore for the moment the other gadgets on the model - I'll explain there later. And think only in mechanical terms - as I said at the start, it is the principle that I must get over to you first. We'll now show the 16 most stable roller-to-profile arrangements, the middles of the 16 code positions, and the unstable regions between then.

We've new seen how the needed 16-stability system is obtained. We must new find a simple, direct way by which we can always be sure of getting to them. But first, let me illustrate the problem, on the model. You'll see that with the given parameters (fairly typical) we can code levels 1, 2, and 3 correctly, starting from zero, just by increasing the sample.
But when we try to code level 4 it stops on 3, nothing happening until level 6 which is correct.
You'll see how levels 4 and 5 are missed and that after a wide gap level 6 is coded correctly. Things go wrong again at level 8, nothing happening till we get to level 12 , which comes on correctly.

It can be shown, starting from zero input, that when any level comes on that in Simple Binary Code ends with more than one '0', there is an analogue error of half the decoded value of the last code digit that ends in a 'l' and that smaller errors must occur for a given number of quantum steps afterwards.

At this stage of the history of the equilibrium method, I asked myself this question - Is there any perfectly general principle that could be used to get over these difficulties? - Yes, there is - and my colleague Ken Cattermole, who at that time was working with me on the method, used one application of it on an early breadboard before I'd spotted the needed general concept. It's so simple as to be obvious and commonplace - as old as the hills. It is used for a rather simpler result every time that someone levels sand in a tray by shaking it - or again for a simpler result, in demagnetising a piece of iron. The thing we have: to overcome in achieving that 'arrangement of lowest internal potential energy' is the backlash, coercively, 'internal friction' of the system components, of the bistable or multistable elements inside it.

Basically, all we have to do after applying the sampling gate output, is to give the digits of the mechanical analogue, or of the actual electronic circuit, a suitable 'shake-up'. What should be the waveform of the "shaking" wave, that in equilibrium coding we now call the 'ripple'? One or two salient points about it are clear. For example, when the inertial or other delay-causing terms can be neglected, the optimum form is an AC wave, not sinusoidal in all cases, having a frequency *Nf/2*, where *f* is the bit rate and *N* is an integer not less than 1, and having an envelope decaying exponentially. We have calculated the design formulae for such cases, for both linear and segmented-law companding types. It was not difficult. And we have made successful breadboards, for 24-channel speeds, of 16-level tunnel diode types, using no transistors except at the audio inputs, and a 128-level linear breadboard and with transistor-pair bistables, proving the feasibility of tolerances at least equal to competitive designs.

The method used in that 128-level equilibrium coder, calculated and developed mainly by my colleague Mr. McNeilly here, works well for the low spends for which it was designed - the bit rate of about 1.6Mc needed for 24-channel, commercial speech operation. But because each digit, each bistable, has to settle down to within a planned fraction of a quantum step before the next smaller can start to code correctly, as with normal sequential coders, in a strictly programmed manner, each digit settling down before the next smaller can do so, coding time is wasted. We could never exceed the speeds of sequential coders in that way. So it does not use that needed further 'general principle'. So I shall not dwell on this past work. As I said at the beginning, it is the future of the method that is of real interest - its applicability to really high speeds. The low speed operation approaching normal logic circuitry, does not itself give a true clue to the main principle that we need to find, grasp and use. That principle, that I know was there to be found, at first without proof, is ideal, both in its simplicity and its power as a solution. So naturally we had to find it, and in its true form; it would have been foolish and lazy in the extreme to have allowed ourselves to be put off by anything second best, when we knew that that ideal concept was buried, right under our noses.

The tray of sand gave a further clue - for in shaking it we gain next to nothing by using a waveform that is mathematically exact. Neither dots it matter if in the process some of the larger grains, or pebbles, continue to move, by their momentum, after a particular half-cycle of oar slaking wave has stopped. There are built-in feed back loops causing built-in tolerances, wide ones, with nothing added to get them - they cost nothing. Now we're getting nearer!

The sand tells us several other things as well. First, if some part of it is sticky, has high 'coercivity', at same portion of our shaking wave we must use bigger amplitudes, high enough to over-ride that higher 'coercively'. Second, that this higher amplitude shake must occur somewhere at the beginning rather than at the end - for if we finish with it we may end up with a ripply surface as bad as before we started doing anything at all.

Further, if we gave the sand a shake of just one period, of high amplitude, to cater for the sticky part of it, and then followed by just one or two periods at low amplitude, to make sure that the
more mobile parts of the sand do not end up by being displaced again into a ripply surface, we should probably end up with the mediumly coercive sand region more or less unaffected, and unsmoothed - our aims only partly achieved. All this is familiar, too, when demagnetising a piece of iron. We must have enough gauss in the centre of our 50-cycle solenoid to overcame the maximum coercively parts of the iron; but if we remove our watch too quickly we are liable again
to have an imperfect result.

In language that may help some but is not precise enough for others, closer thought will reveal this that to cater optimally, in speed and accuracy of result, for all our sand particles, our shaking
wave must continuously decay in amplitude, and at the moment after which each sand particle no longer moves back again its 'decision point', the shaking wave must have an amplitude within a tolerance not wider then half the amplitude of the backlash of the smallest grains in its immediate vicinity.

Now there is a further vital point revealed by that 'closer thought'. Returning to the mechanical model for optimal high-speed working. The decision moments of each digit must not be pre-planned and fixed, but must be allowed to vary, in a slightly complex manner according to the analogue input level - as we'll show on the model later. To cater, then, for all planned fractions
of all levels, we must either

(a) make our ripple wave contain so many periods that there will always be at last one of correct amplitude for every level: or

(b) have a much smaller number of ripple half-periods, (down to m, if there are m digits),

and for each digit make the ripple amplitude self-adjusting, so that for all decision instants of any digit its amplitude: is sufficiently correct. Method (a) is clearly out, for high speeds - for it would need a linear, not exponential decay rate, with *sn/2* periods, where *n* is the number of linearly spaced levels, and *s* is that fraction of a quantum step that is the design tolerance. Method (b) looks difficult to achieve - but such is the elegant simplicity of the 'general concept' needed here - one that we have had the good luck to unearth, without much effort, not to manufacture - that we've found we can in fact achieve it quite easily, requiring almost no additions or changes except ones of adjustment. We believe too, that the same will apply to practical electronic versions. The self-adjusting action can take place only when the inertial or other delay-causing terms in the relevant equations start becoming limiting factors to the coding speeds, i.e. when it is needed, not when it is not.

I can't yet give you rigorous proofs of every claim I am now making. The analysis is by no means
complete - which is perhaps not surprising as it was started by parts only of two men, on January 15th of this year. It is not very easy. You'll not be surprised to hear that the relevant differential
equations have no solutions, except in special cases, (while I'm sure that a new kind of mathematics could do it easily!).

Now we'll show you how, in equilibrium coding, a decision device may be slowed down by interial forces so much that when we increase the coding speed by a factor of up to about 3 it could not possibly code properly by a strictly sequential process, while still doing so correctly by this equilibrium method. But first, let's examine its mode of operation when the coding speed is not too high for sequential methods. In these circumstances it can easily be shown that there is
an optimum adjustment, in the absence of delay-causing terms, if the ripple wave has the form *ae ^{at}.R*, where

We'll new show this on the model. The flywheel, acting as a rotational pendulum, with the large copper bar in the magnetic field, makes a damped tuned circuit to supply the "ripple".The sample will be applied at your left hand end. Take the first swing past zero as the first ripple half-period.

(Demonstrate Levels 8 and 10, and one request.) (Bottom gear - Wts. on)

You'll have noticed that the decision times of the digits followed the simple, fixed law that I stated. The exact time-constants of the bistables (e.g. between their 10% and 90% points) didn't matter, as they were small enough compared with the bit period.

We'll now look at level 8 again, but this time at its lower end, near its balance point with level 7.

(Demonstration - 8/7, just on 8)

The behaviour was as before.

Now see what happens if we raise the bit rate, and the ripple frequency. We may have to try five or six times before we get just what I want to show, - as the mechanical "noise", though small, is not zero. We'll wait for a good one, coding only just on level 8 ... Note particularly the behaviour of the largest digit - the one on your left ... What I want to show you is that the model still codes correctly, though no longer in a strictly sequential mode at all.

(Demonstration 8/7, at balance) (Wts. on middle gear)

It coded correctly, with about the same sample input as before. But you'll have seen that strict times for the digit decision points were not kept. If I could reduce the mechanical noise far enough (which I can't) I could show you still more clearly what happens in the limit, where the analogue input is only just far enough from the balance point between levels 7 and 8 as to need the total coding time available before the largest digit settles down,

The first half-period of the ripple, adjusted at an amplitude

The displacement

As I've said, the adjustments are such that on the first swing of the ripple, Digit 1 comes to a momentary halt just past its point of balance, its halfway position. The parameters are also such that after this halt, if the ripple wave then changed fairly quickly to zero and stayed there, digit 2 would stay in code position 1, and digits 3 and 4, and the spring roller, would return to their zero settings. (The adjustment needed is not a difficult one to get, if the noise is low enough). If the peak of the digit 1 profile is exactly at the midpoint horizontally, we then have an exact balance (with perfect digit profiles) of digit 2 against the half-max. of digit 1, each having a value of

if that energy has been large enough to allow digit 1 to reach a point on its slope where

exceeds

(where

If now we set

The important fact we now get is this; that if we arrange things so that the 'critical digit' for any analogue input level fairly quickly reaches it point of balance, and then oscillates round that balance point by a decaying amplitude while keeping on a slope that continues to steepen with the displacement off balance, until that oscillation has been reduced to

It needs a little time and thought to grasp this vital point clearly. I would be pleased to explain in my Harlow lab to anyone really interested. It should be possible to go up to a decay factor of 6dB per bit (and ripple) period without contravening the principle. It has shown success on the model up to about 4.5 dB.

For simplicity, and to save time, I've left out a number of finer points, in the theory even as far as are know it, and concerning the needed adjustments. But I think that what I have said, and still say, will be enough to show the salient features.

There is one further point used in the model and later on in electronic versions, that is worth mentioning here. It is an example of what I call the 'billiard ball' principle.

The top line of the figure shows a roller at the left-hand trough of its profile. Here is a mass m

where 'w' is the weight of the roller of mass

As we use the model there is a compromise, as there is no sharp impact, but a finite, short time interval while contact is made. So the triggering point depends on the throw of the roller rod and the profile shape, particularly distance X

I shall now explain how the equilibrium coder principle can give coding speeds nearly as fast as a parallel coder with similar components. To do this we'll leave the model for a few moments and speak more generally. In present-day practical high-speed coder designs there are a number of speed-limiting factors. First, the sampling gate. With modern 'charge storage' diodes to supply the opening wave for the gating bridge itself, square enough sampling output waveforms have already been obtained which, by my estimate, could give coding speeds even now of up to about 250 Mbits, and with accuracies of one part in several thousand. But it takes careful design and good engineering to do it - and careful selection of the bridge diodes, which are therefore more expensive. The chief troubles, apart from the bridge balance, are very high-frequency ripples on the sampling-pulse trailing edges, which it takes careful layout and impedance matching to get over. The 'hold' problem, too, gets more acute as the frequency is raised, as smaller 'hold' capacitors have to be used (e.g. about 100pF), which for a given price have worse tolerances on leakage time-constants.

Next, tolerances on the effective digit weightings. I say 'effective' weights, because it is the tolerance on the weighting current or voltage that can be switched on or off in the time available that matters. This tolerance is at present usually set by speed limitations of transistors, which are already being pushed in speed, in my view, almost beyond the basic useful limits of this type of device. There always comes a point beyond which it pays us better to find a radically now approach, rather than to spend exponentially more and more money in trying to scrape the last drop out of the earlier barrel.

Of course the ideal here would be to use no extra devices at all to put the digit weights on and off - which the equilibrium coder can do for us.

In feedback, strictly sequential coders, the usual speed limiting factor is something else, the settling time of the high-gain, wide-band amplifier needed in the feedback loop, to over-ride threshold changes at the first stage of the logic. We are main limited by the time-constants of 3-terminal devices, the transistors in it, so much so that these coder types are now accepted to be 'out' for truly high speeds.

Gray coding, by reflected binary methods, is a good way out - the best achieved so far, for high speeds with high level numbers and really close tolerances. But here again transistor speeds set a speed limit - for to meet the very close tolerances needed in the full-wave rectifier characteristics - at each step, for every digit - a high gain, wide-band transistor amplifier in each feedback loop is used, because we don't know of any other satisfactory way of meeting such tolerances. So reflected binary designs may be out, for the very highest speeds. (I say 'may' - there could be solutions not yet thought of.) But if we are left with some kind of sequential, or partly sequential design. - or any design in fact, that relies on a decision device to tell us whether an analogue value is above or below a threshold value - there must always remain a quite basic speed factor - the time-constant of the decision device itself. It's true that even now we could use tunnel diodes, for example, with time constants, defined between the 10% and the 90% points, of a small fraction of a nanosecond as equilibrium-coder decision devices in the strictly sequential modes then working if necessary at not less than about 1/3 of that speed, (I'll explain later), which would be quite enough for some time to come. But if instead of doing that we could allow the decision device, at the limits, to have a time constant 5 times as long, we could gain signal-to-noise ratio, in terms of power, by about that same figure of 5 - quite important in practical coders. (I've no time to explain that calculation now - it comes from super-regenerative-amplifier theory.)

As I've implied, the answer here comes from a more efficient use of the available coding time, to give in this respect the same advantage as a parallel or reflected binary coder.

In Fig 3 the abscissa shows the time axis, and the ordinate the voltage axis of the movement of an electronic decision device (the exact type doesn't matter), when it starts from a value near its point of balance, its dead centre.

Let its voltage

So

When it has reached amplitude

let its energy be dissipated during fixed time

q.2

The total tine the digit, the bistable, takes to come to rest is

If it starts from

giving a total time of

If the level code is, say, the border line between code 1000000 and 0111111, the largest digit is the critical one, - so as we've already seen, all the decisions can be made together in the last time slot. So the total coding time

If

By conventional programmed logic,

If there were no other limiting factors we should thus get a speed increase of 5 by the equilibrium method. If the code is of the form 1000100/1000011, for example, (region of balance)

The same argument applies generally. Thus there is a speed increase in this respect of 5 at all levels, for a constant tolerance in terms of

The fact that by various means, not just this one, we can get this result is not surprising - for consider what a human operator does when he uses a chemical balance. Assume he cannot see the sample to be weighed, and that his box of weights contains binary values. He starts with the largest weight in his box. He notes which way the pointer starts to move.

If he sees that he has not put in enough weight, but that the balance pointer moves very slowly, unless he is a lunatic he doesn't then add his next largest weight, but tries adding one that is several binary steps smaller. He observes and uses two parameters, not just one, so saving unnecessary steps in his weighing process - unlike usual sequential coders, but like the equilibrium variety.

We are naturally not devoid of ideas as to how to apply equilibrium coding in practice at the very high speeds of which I firmly believe it is capable. But this work is not yet complete enough to be discussed in detail. Neither have we had time yet to protect our ideas about it fully by patents. So you'll excuse me if I go into this part only in outline. As each bistable comes to its 'on' position from its 'off', it must tend to switch all the other digits that are then 'on' to 'off', and vice versa. This must occur directly by a voltage or current change in some common impedance. Therefore, for bistables with N-shaped current/voltage characteristics, as in tunnel diodes, voltage must be the coded parameter, the bistables being in series, while with Z-shaped characteristics, as with pnpn types, it is current that must be coded, the bistables being in parallel.

There are two main classes of bistable devices, "active", and "passive". A child's see-saw with its centre of gravity above its fulcrum, a coherent magnetic domain showing a single region of hysteresis-loop re-entrancy, a single electron having two stable spin directions in a magnetic field, and the digits of this model are examples of the passive type. Tunnel diodes, Schmidt triggers at a bistable setting, pnpn junction devices, cold-cathode gas tube elements, etc., are in the "active" class. The first difference is that active bistables require an external power supply to keep them bistable - while passive types do not, as their bistable action depends only on internal forces. A second difference is that active types, taking energy from the power pack, can give free oscillation unless prevented,- while with CD supplies, passive types cannot. But if free oscillations are prevented, e.g. by frequency-selective damping, to a first approximation the same theory, for our purpose, can apply to both types. Remembering that we are approximating we shall now look at the parameter correspondences between a digit on the model and a high-speed electronic equilibrium coder digit both in outline, in their simplest forms. Let us choose N-shaped devices, e.g. tunnel diodes.

For highest triggering speeds the tunnel diodes and their leads must, of course, have small (though not necessarily minimum) inductance, leaving the CR factors as the chief limits on these speeds. They are then lossy, in all regions of their characteristics. But our theory, and our interpretations of results on the model, have not yet gone far enough for us to predict faith any precision what equilibrium coders would do with that type of digit. To find out on it directly, we'd need to add, and probably will add, magnetic damping to the rollers, like that on the flywheel. So to correspond to the present model we'll assume that internal energy losses in the bistables are important only at their end stops when pushed appreciably past their 0 or 1 code positions, the remaining losses being due to energy transfers to the adjacent members. For all or most N-type devices this would need some deliberate inductance loading. We don't think that this assumption will make much difference to the over-all behaviour.

I can't give you a proof of this today; it is on the borderline of our present knowledge. But later on I know I shall be able to, I'm afraid my subconscious computer is faster than my conscious processes!

Here's another important point: on quite basic grounds, nothing can be bistable unless it stores energy. So to realise properly the parameter relations we must not look just at the usual load-line curves of the N-shaped devices, but see where this storage takes place.

There are several ways of doing this, simply, but only approximately. Fig 4 shows a tunnel diode, TD, suitably biassed via a resistor R. If

To be compatible with the mechanical model, E must be the same at both code positions, when static. From this we get

for this condition; where suffixes "a" and"b" apply to the "0" (low voltage) and "1" code positions respectively. Let us arrange this; it is easy.

If now the switch is closed momentarily on the battery (assumed to have a voltage higher than V

It is the "billiard ball" principle again. When static at any of the three eqm, positions, there must be a factor that we'll call E

The coded parameter is the voltage "V".

We can now make this table (fig 5)

Now go back to figure 4. The part of the circuit shown as L, C branching to L

As I've already explained, I'm not allowed yet to give you any details of our ideas on practical, high speed, electronic equilibrium coders. I'll simply say that we (or I, at any rate) firmly believe that we can do it.

I say again that 1 Gc. bit rate should be attainable, with a useful number of levels and useful tolerances, even with present-day components. A shorter-term application would be for a TV coder with reduced cost.

As to the ripple wave, 6dB decay per ripple and bit period, merely as an example, would give an input volume range of 60 dB, with a ripple frequency of 1 Gc., and a 10-digit code. There is no difficulty about supplying such a wave, with present solid-state devices, at the right power. Reed diodes, or gallium-arsenide Gunn Effect devices, might be the best. Or of course, if you won't be terribly shocked by the idea, it could easily have been done by valves even in 1940!

If the tunnel diodes have steep "end stops", i.e. steep current/voltage characteristics each side of their free bistable parameter swings, - either in themselves, or by adding suitable, back biassed pairs of straight diodes in parallel across them, - they can easily be over-driven into speeds much faster than their pure triggering modes. In equilibrium coding, this over-driving action, can take place to some extent on all the digits at times before the critical digit takes its decision. With correct design the resulting reduction in over-all coding speed can be almost negligibly small, if the right bistable devices are chosen.

As to the high-speed sampling gate, I have already made one or two remarks. The best solution of all of course, would be to eliminate it altogether. I have an idea that with equilibrium coding we can do that; but it would involve a further invention, that we've only just begun to think about.

I'd wanted to give a few details of a powerful method, again quite obvious, for automatically stabilising the digit weighting values, by slow feedback loops and ordinary logic, the voltage or current to be fed back being obtained stochastically from the normal signals in operation. I'm sure of this one; I have no doubt that it will work. As I've said already, the problem, by usual means, of meeting weight tolerances is quite difficult at very high speeds. And equilibrium coding, in its present form, does nothing to help us on this point.

The "slow loop" method can also stabilise further the threshold tolerances. But there is no time for it tonight.

Now we'll try to shoe you the last demonstration on the model, the effect of greatly increasing the bistable time-constant. We can show it only on one digit, the largest. We've replaced the one you saw before, with the roller on the largest profile, by this big "see-saw" contraption, which has its centre of gravity adjustably above its knife-edge fulcrum. In this may we can have much more inertia; now rotational, with very small fiction. The thread attaching the rod from digit 2 to the see-saw acts as an extra impedance, in series with that given by the "spring" roller at the other end.

By means of the small magnets, one on the moving arm of the see-saw, others fixed near it at suitable positions, acting in combination with gravity, we can get any law of displacement v. restoring force that we could ever reasonably want. At the moment gravity is the predominating factor.

We'l1 show you the: dead-centre region between levels 7 and 8. What I want you to note, particularly, is this: that the result is correct, at either 1000 or 0111, even when the see-saw uses nearly the whole coding time (4 ripple periods), to make up its mind.

I've come to the end now. I hope I have not only interested some of you in the idea of equilibrium coding itself, but perhaps more important, given some of you for the first time an inkling of the fascination, the sheer pleasures of working in the true non-linear circuitry field, which is as challenging as it will be rewarding: - If I have not, the fault is mine.

This talk and these demonstrations could not possibly have been given as a solo effort.

Before I sit down I want to thank quite a number of my colleagues fore their help, both tonight and for their scientific work that made it possible. In particular, Mr Joe McNeilly, the project leader of the team concerned, Mr Paul Barton, our demonstrator tonight, Mr Roger Manship, our viewgraph operator, and Mr Fred Hiles, responsible for the difficult task of organising and supervising the transport of the rather delicate apparatus that you have seen.

Mr Chairman and Gentlemen, I thank you for your attention and for your patience.