Algebra in Electronic Design
February 1952 Radio-Electronics

February 1952 Radio-Electronics

February 1952 Radio-Electronics Cover - RF Cafe[Table of Contents]

Wax nostalgic about and learn from the history of early electronics. See articles from Radio-Electronics, published 1930-1988. All copyrights hereby acknowledged.

Squee Light Sensitive Electronic Beast - RF CafeAlthough this "Algebra in Electronic Design" article in the February 1952 issue of Radio−Electronics magazine does not claim to be the second part of author Edmund Berkeley's "Light Sensitive Electronic Beast" article from the previous December's issue*, it does help to know that the "Squee" mentioned here came from there. Squee is a Robot Squirrel which has four sensing organs, three acting organs, and a small electronic and relay brain. "Although Squee is not a very clever robot, he does have a small amount of memory and of reasoning ability." Boolean logic (aka Boolean algrbra), a common part of modern electronic circuits and systems, was a relatively new concept only recently adopted from the field of theoretical mathematics for use in digital computers. Applications were basic AND, OR, and NOT "gates" comprised of discrete diodes (and vacuum tubes at that) since transistors and solid state diodes had only been commercially available for a couple years. In fact, solid state diode schematic symbol appears in the article along with vacuum tube diode symbols. Regardless of the symbols used, this is still a useful introduction to digital logic.

* I do not yet own that issue, but you can find it here.

Algebra in Electronic Design

By Edmund C. Berkeley

In our previous article, "Light Sensitive Electronic Beast," we talked about Squee and about Boolean algebra, and introduced the ideas and rules of Boolean algebra. We said that Boolean algebra had a number of important applications in the design and simplification of circuits, and that it was used in the design of Squee and proved very useful. Some of the use of Boolean algebra in the design of Squee will be given in this article; but unfortunately there will be no space here to give all the construction information for Squee. However, we shall be glad to try to help any reader who wants to learn about or construct Squee (or other small robots).

What is Boolean algebra?

Basic switch or relay, circuit relations expressing Boolean algebra - RF Cafe

Fig. 1 - Basic switch or relay, circuit relations expressing Boolean algebra.

Boolean relations in rectifiers - RF Cafe

Fig. 2 - Boolean relations in rectifiers.

How triodes fit into the picture - RF Cafe

Fig. 3 - How triodes fit into the picture.

In the last article we gave three interpretations of Boolean algebra: classes of things; factors of a number such as 30; and relations of contacts of switches or relays, as shown again in Fig. 1 here.

What are a, b, and c in Fig. 1? They are not actually contacts or wires; they stand for states, conditions, or reports about contacts or wires. They stand for reports such as "Current flowing" or "No current flowing." They always have just one out of two values, such as yes or no, all or nothing, true or false, 1 or 0. They are called binary variables, variables which have only two values. Any letter labeling a contact or a wire has the value 1 if its contact is energized or closed or if its wire is carrying current. It has the value 0 if its contact is open or not energized, or if its wire is not carrying current. Contacts are always drawn in the unenergized (double-contact relays) or open (single-contact relays) position. This is referred to as the "not" position and is written a', b', etc.

The algebra of 1 and 0

This leads us to a fourth interpretation of Boolean algebra that is most important for our purposes. This is the algebra of propositions or statements. Suppose that P, Q, R stand for propositions or statements such as "Motor A is on," "Photocell B registers light," "Relay C is energized," etc. Let T ( ... ), where the space ... is filled with a statement, stand for the "truth value of ... ," equal to 1 if the statement is true and 0 if the statement is false. Then the 1's and 0's of truth values are a Boolean algebra.

We write T(P) = p, T(Q) = q, T (R) = r. In other words, a convenient abbreviation for the truth value of a statement represented by a capital letter is the corresponding small letter.

Now it can easily be shown that the following rules hold:

T (P AND Q) = p • q

T (P OR Q) = P v q = p + q - pq

T (NOT - P) = p' = 1- p

In the form of tables, we can list all the cases:

Boolean logic table - RF Cafe

How do we convince ourselves of these tables and formulas? Let us first ask "When is the statement P AND Q true?" Now we know from our use of AND that this is only true if P is true (p = 1) and Q is true (q = 1). The table shows 1 for p • q only in that case. That is what we mean by AND when we put it between statements.

By OR we ordinarily mean " ... OR ... OR BOTH." Sometimes we mean OR ELSE; but in the connection of switch and relay contacts in parallel and often elsewhere, the inclusive-OR is more useful than the exclusive-OR. The table above shows 1 for p v q when one or the other or both of p and q is 1.

By NOT we mean that when P is true, NOT-P is false, and when P is false, NOT-P is true. And this relationship the table of p and p' accurately summarizes.

As we see in the tables, we can easily write down formulas of ordinary elementary algebra using plus, minus, times, 1, 0, which will do the same work as Boolean formulas. In fact AND and TIMES are indistinguishable. The algebra formulas p v q = p + q - pq and pi = 1 - p' are interesting and occasionally useful, but most of the time the operators v (or) and ' (not) of Boolean algebra are more compact and fit more neatly with the expression of circuits.

Interpreting rectifiers

But there are many other types of circuit elements and other mechanisms that have just two states, on and off, closed or open, moved to one side or moved to the other, positioned forward or positioned back. And it is easy, logical, and efficient to represent these two-fold conditions by Boolean algebra also. Each new type of element leads to another interpretation of Boolean algebra.

For example, a fifth interpretation of Boolean algebra is in terms of rectifiers (see Fig. 2). Under the term rectifiers we include vacuum tube diodes, germanium and selenium crystal diodes, etc., any circuit element in which current flows in one direction only.

In Fig. 2, 0 represents "low voltage" and 1 represents "high voltage." In the OR circuit, the output line c will have a high voltage if and only if either a or b or both have a high voltage, because then the potential drop will be all across resistor R. In the AND circuit, the output line c will have a high voltage if and only if both a and b are at a high voltage; for only in that case is there no drop across the resistor.

There is no direct representation of NOT-a using rectifiers; but if the inputs to a rectifier network include all the binary variables needed, a, b, ... , and their individual negatives, a', b', ... , then the rectifier network can yield all Boolean functions needed.

A good example of the use of Boolean algebra in a rectifier network to change one set of signals into another set of signals is given in Part 12 of the series "Constructing Electric Brains," by Berkeley and Jensen, appearing in the September, 1951, issue of Radio-Electronics, pp. 45-46.

Interpretation of triodes

Example of how circuits can be simplified with the help of Boolean algebra - RF Cafe

Fig. 4 - Example of how circuits can be simplified with the help of Boolean algebra.

The sensation circuits of Squee - RF Cafe

Fig. 5 - The sensation circuits of Squee.    

Hypothetical Squee steering circuit - RF Cafe

Fig. 6 - Hypothetical steering circuit.

Squee motor circuitry - RF Cafe

Fig. 7 - Motor circuitry.

Diagrams of light scanning and motor control circuits in Squee - RF Cafe

Figs. 8 and 9 - Diagrams of light scanning and motor control circuits in Squee.

Squee steering motor control circuit - RF Cafe

Fig. 10 - Steering motor control circuit.

A sixth interpretation of Boolean algebra is. in terms of triodes (see Fig. 3). Fig. 3-a is a triode with a signal a on the grid, and a signal c on the plate. If the voltage of the grid is high (a = 1), the tube will conduct and the voltage of the plate will be low (c = 0). If the voltage of the grid is low (a = 0), the tube will not conduct and the voltage of the plate will be high (c = 1). The circuit expresses c = a'.

In Fig. 3-b, we have two triodes with the cathodes connected. If the voltage on both grids is low (a = 0, b = 0), then neither tube will conduct, and the voltage of the cathodes will be low (c = 0). In the other three cases, the voltage of the cathodes will be high (c = 1). The circuit expresses c = a v b.

In Fig. 3.c, we have two triodes with the plates connected. The voltage on the plates will be high (cv= 1) if and only if the voltage on both grids is low (a = 0, b = 0). The table shows the situation. What is the equation for c?

There is a useful, general rule of Boolean algebra (which we shall call general rule No.1) that we can use:

1.   Suppose we have a complete table of 1's and 0's showing the behavior of some binary variables.

2.   Suppose y is the dependent variable and a, b, c, ... , are the independent variables.

3.   Note all the cases where y = 1.

4.   If any independent variable a = 0, write a"; if any independent variable b = 1, write b.

5.   For each case, associate a', b, ... , with AND.

6.   For all the cases, associate them with OR.

For example, suppose we have the following table:

Squee logic table - RF Cafe 

Now y = 1 in two cases: case 2 where a = 0, b = 0, c = 1, and case 7 where a = 1, b = 1, c = 0. Applying the rule, y = a' b' c v a b c'

The present instance is Fig. 3-C, and we have:

c = a' • b' = (not-a and (not-b)

In ordinary English, c here equals "neither a nor b."

How do we connect triodes to get a AND b? In Fig. 3-d, a manner of connection is shown. The outputs of the two upper triodes have to be negated in the two lower triodes (plate-connected) in order to give c = a • b. Obviously, therefore, if we are using triodes and want to economize, we should prefer to work with OR and NEITHER-NOR relations, instead of OR and AND relations.

Enough has been said, perhaps, to show that many different kinds of circuit elements may be used to express AND, OR, NOT, EXCEPT, and other relations of Boolean algebra. For example, pentodes could be used to represent relations of Boolean algebra. But how can Boolean algebra simplify circuits?

Let us now take an example of a circuit and its simplification using Boolean algebra.

Suppose we have the circuit shown in Fig. 4-b, which energizes relay Z by means of contacts of relays W, X, and Y shown in 4-a. Our problem is to simplify this circuit.

Looking at 4-b, we see seven (two-way) relay contacts in this circuit, and six wire connections. This makes a total of thirteen events that modify information carried in the wires of the circuit. Wherever there is an event of this type, the effect on the information is a Boolean algebra operation, as may be seen in the isolated examples shown in Fig. 4-d, 4-e, and 4-f. In either the forking contact of 4-d or the associating contact of 4-e, change in the position of the armature may change the information in the output. In the junction of Fig. 4-f, changing the input from one conductor to the other is the "event" which changes the information in the output.

So we go back to 4-b, and draw blue lines across the circuit, in such a way as to isolate each event, from No.1 to No. 13. Now we go down through the circuit, calculating the information which is in each wire of the network. Event 1 is the contact w; hence the right-hand output wire contains w (contact actuated), and the left-hand one not-w, or w' (contact not actuated). Event 2 is the contact x. Hence the right-hand output wire contains wx and the left-hand one wx'. Event 3 is a join. Hence the output wire contains W' v wx', which reduces to w' v x', by Boolean algebra. This modifies the information in the incoming wires, but in this present type of case, where we want to calculate what information energizes the relay W at the bottom of the diagram, it is not necessary to go back and modify the descriptions of information in the earlier wires. There are however circuits where this step is necessary - this is the problem of "back-circuits."

And so we may go through the whole network, at each event computing the information in each output wire, and finally after event 13 reach the wire which energizes relay Z. The expression for the information in this wire is

w' y v wxy' v x' v wxy

which simplifies into

w v x' v y.

This expression of course represents a very simple circuit, of three contacts in parallel, and is shown in Fig. 4-c. The circuit of 4-b (provided the contacts have the functions expressed by the labels) reduces to the circuit of 4-c.

The process we have illustrated here is a powerful, general method, and can be applied in many kinds of situations.

Example of circuit design

Boolean algebra may be used in more ways than just simplifying circuits. It may for example be used in the design of circuits, because it can express the "yes-no" elements in the word language describing the problem, just as well as is can express the yes-no elements in the electrical language describing the mechanism.

For an example, let's take the problem of designing the circuits for controlling the steering of Squee.

a. Associating sensations and behavior

We can work through this problem in stages. The first stage is associating the sensations of Squee with Squee's behavior.

The sensations of Squee for steering purposes are those that are derived from the two phototubes, the "right eye" and the "left eye." In this first stage of the problem, we shall ignore distinctions about kind of light, a.c. or d.c. So, let R equal the truth value of "Squee's right eye sees light," and let L equal the truth value of "Squee's left eye sees light."

The behavior of Squee for steering purposes consists of three states: steering clockwise, steering counterclockwise, and no steering at all. Let:

C equal the truth value of "Squee is steering clockwise,"

U equal the truth value of "Squee is steering counterclockwise," and

N equal the truth value of "Squee is not steering."

Squee must choose between these three kinds of behavior depending on Squee's sensations. How do we associate behavior with sensations? In Fig. 5 we see the various cases displayed; and we can see what we want to arrange. This is summarized in the following table:

Squee sensation table - RF Cafe 

Using our general rule No.1, we have:

C = R'L' v RL' which reduces to L'

U = R'L, and

N = RL.

Translating these equations into words: Squee should steer clockwise when the left eye does not see light; Squee should steer counterclockwise when the left eye sees light but the right eye does not see light; and Squee should not steer at all when both eyes see light.

Suppose that we had relays corresponding to C steering clockwise, U steering counterclockwise, and N no steering, the schematic for the behavior of Squee would be as in Fig. 6.

b. Associating behavior and action

But Squee does not have "acting organs" corresponding directly to the three states of behavior. Instead, Squee has a steering motor, whose normal direction is such that Squee steers clockwise, and a relay, by means of which the motor may be run in either direction. See Fig. 7. So, let X equal the truth value of "The motor is running" and let W equal the truth value of "The reversing relay is energized."

How do we associate actions X and W with behavior C, U, N? The logical association is shown in the following table:

IMAGE HERE

which expresses the conditions:

(1) The motor is running if and only if C or U;

(2) The motor is reversed if U, and mayor may not be reversed if N. From this table and general rule No.1, we obtain:

X = C v U = L v R'L = R' v L'

W = either U, or U v N = either R'L, or R'L v RL, which latter reduces to L. Since we may use either one of the two expressions for W, we can of course use the simpler one, W = L. The schematic circuit that corresponds to these equations is shown in Fig. 8.

c. Taking into account a.c. or d.c. light, and homing on the nest or seeking nuts

We have proceeded thus far ignoring the distinction between a.c. and d.c. light, and whether Squee should be homing on the nest, or seeking nuts. But at this stage, we need to take the distinction into account, and we need to translate the previously assumed R and L sensations into appropriate sensations of a.c. and d.c. light depending on Squee's program.

The information reported by the amplifying circuits attached to the photo-cells is shown schematically in Fig. 9.

Four relays labeled Ra, Rb, La, Lb, are energized in the plate circuits running from the amplifier tubes. The labels are also used for truth values:

Ra: the truth value of "The right photocell sees a.c. light";

Rb: the truth value of "The right photocell sees any light";

La: the truth value of "The left photocell sees a.c. light";

Lb: the truth value of "The left photocell sees any light."

Looking at Fig. 9, we can see that the amplifying circuit does not report directly "the photocell sees doc. light." This information must be obtained indirectly.

The H relay shown is the "program" relay which remembers whether Squee is homing on the nest or seeking nuts. If the "relay is energized, Squee should pay attention only to a.c. light. If the relay is not energized, Squee should pay attention only to d.c. light. Whether or not it is energized depends on other sensations of Squee (the "tongue" switch, etc.) , The letter H, taken from the first letter of "homing," is used to label the relay and also to stand for the truth value of "Squee is homing on the nest".

Now, how do we convert the assumed sensations R and L that we used earlier, into the actual sensations Ra, Rb, La, Lb, with. due regard to the program H? We can make two tables and fill in the cases according to our understanding of what is to happen:

Squee logic table - RF Cafe 

We can see from Fig. 9 that the case Ra equals 1 and Rb equals 0 is impossible and so it does not have to be listed. Using general Rule 1 to summarize the table we have:

R =Ra' Rb • H' v Ra • Rb • H

L = La' • Lb • H' v La' • Lb • H

Since Ra • Rb' is impossible, Ra is the same as Ra • Rb. Therefore,

R = Ra' • Rb • H' v Ra • H

L = La' • Lb • H' v La • H

Now,

X·= R' v L'

= (Ra' • Rb • H' v Ra • H)' v

(La' • Lb • H' v La • H)'

Using the Boolean algebra rule:

(mk v nk')' = m'k v n'k',

we have:

X = (Ra' • Rb)' • H' vV Rq' • H

v (La' • Lb)' H'

v La' • H

= (Ra v Rb') • H' v Ra' • H

v (La v Lb') • H' v La' H

= (Ra v Rb' v La v Lb') • H'

v (Ra' v La') H

Also,

W = L

= La' • Lb • H' v La • H

We now have precisely the Boolean expressions that we want, to write down a circuit for controlling the steering of Squee. We obtain X by using four R and L contacts in parallel, running to the negative side of an H contact, and two more Rand L contacts in parallel running to the positive side of the same H contact. Similarly we obtain W. See Fig. 10.

This brings us to the end of our short introduction to Boolean algebra, and its use in the design and simplification of circuits involving "yes" and "no" elements. We shall be glad to hear from any reader who is interested in Boolean algebra or in the design and' construction of small robots or computers.

 

 

Posted February 16, 2022