On Computer Transcription of Manual Morse (1959)

A radio telegrapher can, by operating a key, turn a transmitter on or off for any desired period. International radio-telegraph (Morse) code is predicated on controlling these parameters of key position and duration of the signal. The messages to be sent are represented by a sequence of five elementary symbols: the dot, dash, intra-character space, inter-character space, and inter-word space. In terms of an arbitrary time unit determined by the sender 1 , a dot results from closing the key for one and a dash for three time units. An intra-character space results from opening the key for one unit, an inter-character space for three, and an inter-word space for seven time units (see table 1). All letters, numerals, punctuation marks, and several brevity codes are represented by sequences of dots, dashes, and intra-character spaces between successive occurrences of inter-character or inter-word spaces. The sequences that are used in international radio-telegraph are shown in table 2. The letter “A”, for example, is represented by an inter-character space (shared with the preceding character) followed by a dot, an intra-character space, a dash, and an inter-character space (shared with the succeeding character). Thus any message that can be transmitted by a sequence of characters can be broken down into a sequence of the five primary elements for transmission by radio-telegraph. If manual Morse senders transmitted accurately, it would be easy to construct equipment to copy them. Indeed, just such devices have been constructed for signals sent by machine. Most human operators, however, are unable to control the duration of elements with sufficient precision to be copied by these. An idea of the variability of durations formed by a manual Morse operator can be gained from figure 1. Although all of these patterns are a single operator's sending of the same symbol (a question mark), a great deal of variation is apparent in their formation. Despite these variations, the basic structure of the symbol, that is, the · · —— · · pattern, is immediately evident to both the eye and the ear. This remains true, although the variation is greater, when symbols sent by different operators are compared. To make a machine transcribe Morse as accurately as a human being, we must find some means of conserving the basic information conveyed by the form of the pattern and eliminating the effects of the nonsignificant variations. Many attempts have been made to construct a machine that will automatically transcribe hand-sent Morse into printed copy. 2 In the past, each new proposal has been tested by constructing an operating model of the device. The results of these efforts have been uniformly disappointing, with resultant waste of time, talent and equipment. At the outset of our research in this field, it seemed clear that we could learn a valuable lesson from our predecessors. Clearly, we needed a flexible means of implementing translation techniques to insure that no great loss would accrue from the changes that would undoubtedly be necessary as we better understood its shortcomings. Second, previously constructed devices have suffered from faults that, owing to the nature of the equipment, could not definitely be assigned to engineering or logic. We determined, therefore, to solve the problems of logic independently of those of engineering. These considerations led to the decision to attempt to simulate manual Morse transcription devices on a general-purpose digital computer. 3 A really good manual Morse operator can transmit about 35 words per minute. Thirty-five words per minute corresponds to approximately 28 short elements a second (a short element is a dot or an intra-character space). At this rate, therefore, the shortest duration is about 36 milliseconds. A digital computer which requires 100 microseconds to perform its simple operations (add, etc.) is considered to be moderately slow; yet a computer which operates at this rate is capable of performing 360 instructions during the duration of the shortest element at the highest speed that one normally expects to encounter in manual Morse. Most Morse transmissions are substantially slower than 35 w.p.m., and many computers have substantially faster operation times than 100 microseconds. It seemed reasonable, therefore, to expect a computer to have the speed capability of transcribing manual Morse. In order to use a digital computer for transcribing Morse code, we had to devise a method of converting the keying information into a numerical form which represents the variables of key position and duration. To minimize programming complications, we decided to use an external device to convert the audible signal into a facsimile of the original key operations (i.e., a demodulator). For laboratory-type signals (no noise, fading, etc.), there are demodulators which are able to perform this conversion accurately. The state of the key can be specified by a single binary digit; the duration can be designated by the number of time units 4 that the key has remained in a given position. 5 The values of these two parameters arranged in time sequence convey the information contained in a radio-telegraph signal. 6 There are several ways of converting the original signal into numerical form. First we shall consider the method which requires a minimum of special purpose equipment. Assuming the machine has a conditional jump which is contingent upon the position of an external switch—a facility available in nearly all digital computers—we need only attach the contacts of the telegraph key or demodulator relay in parallel with the contacts of this external switch. The program is written so that the elapsed time between successive conditional jumps, regardless of the path taken, is constant. The amount of time that the key remains in a given position is determined by “sampling” (performing the conditional jump) at these periodic intervals and counting the number of samples between successive changes of position. 7 For example, prior to the beginning of the message, the key is open. The operator closes the key to send the first element of the first character and the next conditional jump detects that the key has been closed; this jump causes the program to add one to a previously cleared counter and, after a predetermined period, sample the key again. If the key is still closed, the program again adds one to the counter and proceeds as before. Several milliseconds later the operator opens the key to indicate the end of the first element of the first character of the message; the next conditional jump detects the change. At this time the accumulated count is the number of time units that the key remained closed; the program stores this value in the first position of the keying time sequence, clears the counter and resumes sampling to determine the duration of the succeeding key-open. The key-open duration is measured in precisely the same manner and stored as the next item in the list. The process continues until a very long key-open indicates the end of the transmission. Clearly, this procedure will convert the key information into a sequence of numbers which indicate the successive states of the key with the duration of each state. 8 The necessity for periodic examination of the key becomes quite burdensome. For, in order to perform all the functions involved in transcribing a signal into printed copy, the program must have many alternative paths. If the machine is to sample the key periodically, it is necessary to insure that every path that can be traced through these alternatives requires the same amount of time, so that the difference between successive samplings is constant. Although this can be and has been done, it places a very severe burden on the programmer. Recall that the computer must sample the key periodically only because it must maintain durations in terms of a fixed time interval. Programming is made far simpler by supplying an independent clock which is advanced periodically and which can be examined by the program to determine element durations. Of course, it is still necessary for the program to examine the key frequently. However, it is considerably less difficult to write a program that samples the key about every 10 milliseconds than it is to write a program which must sample it exactly every 10 milliseconds. The addition of a program interrupt when the key changes state would further simplify programming. The distinguishing, and crucial, characteristic of manual Morse transcription schemes is the method of determining which element is to be assigned to each duration. The sequence of durations is, in effect, a numerical representation of a set of approximations to the five basic elements. Assigning these approximate patterns (durations) to the “ideal” patterns (elements) which they represent is a one-dimensional pattern recognition problem. Virtually each attempt to transcribe Morse has used a different procedure for assigning durations to elements. Even a cursory discussion of