the ssr system: an open format event recording system with ... · an audio tape recorder for...

19
Behavior Research Methods & Instrumentation 1976. Vol. 8 (3), 259-277 MEmODS & DESIGNS The SSR system: An open format event recording system with computerized transcription GORDON R. STEPHENSON, DANIEL P. B. SMITH, and THOMAS W. ROBERTS The University of Wisconsin. Madison, Wisconsin 53706 The SSR system is an event recording system that encodes the incidence, duration, coincidence, and sequence of entries in real time onto magnetic tape for subsequent high-speed transcription by computer. The keyboard is light weight and battery powered for field as well as for laboratory applications. A conservative encoding scheme employs phase encoding and multiplexing circuitry to sample the set of 48 alphanumeric and other characters 20 times per second. The sampling rate provides a time base that is independent of tape speed. The encoding signal is recorded on an audio tape recorder at 1-7/8 ips (inches per second). A supplementary voice record can be made on a parallel track. At transcription, a small computer decodes the data tape at 15 ips; 1 h of data is transcribed into a string of characters in 7 1 /2 min and stored in binary form. A second program organizes the character string into a timed manuscript of lines. The character set and all character functions, e.g., the subset of characters that start lines, are entirely software defined. A completely open format and the flexibility of user-defined software grammars facilitate the entry of subjects, actions (both momentary and continuous), objects, and other contextual information in whatever form the user requires. The SSR system is described both as a system of ideas about the problems of encoding observations for computerized transcription and as it is currently embodied in a specific set of software and field-tested hardware. The rationale for each major aspect of the system is presented in detail from a user's point of view. Within the limitations of a catalogue of categorical behavior patterns. observers of behavior may wish to record the incidence. duration. coincidence, and sequence of the patterns observed in real time. Voice notes on magnetic tape or ink pen tracings on moving paper have been used to record behavior in these terms. but both of these methods entail tedious This work (Publication No. 15-021 of the Wisconsin Regional Primate Research Center) was supported by Grant GB-7551 from the National Science Foundation to Drs. John T. Emlen and Gordon R. Stephenson and by Grants RR-00249 and RR-Q0167 from the National Institutes of Health to the Laboratory Computer Facility, University of Wisconsin. and to the Wisconsin Regional Primate Research Center. respectively. The time and talents of many members of the Department of Zoology, University of Wisconsin, were directly involved in the creation of the SSR system. Special thanks are due to Kenneth G. Olesen for reorganization of the subassemblies of the keyboard into a more readily serviced arrangement and for fabricating most of the units now in use. Special thanks also to Richard J. Ganje and John E. Dallman for design and fabrication of the keyboard cases. The advice and assistance of Deborah L. Yoshihara, Walter R. Holthaus, Cheryle M. Hughes. and Peter E. Berryman are much appreciated. The field experiences of Ann L. Bleed and Timothy D. Johnston helped in revising earlier versions of both keyboard and software. The first author is Assistant Scientist, Wisconsin Regional Primate Research Center, 1223 Capitol Court, University of Wisconsin, Madison, Wisconsin 53706. The second author's address is The Eye Research Institute of Retina Foundation, 20 Staniford Street, Boston, Massachusetts 02114. The third author is Lecturer. Department of Physical Education-Women, Lathrop Hall. University of Wisconsin, Madison. and time consuming transcription before analysis. On the other hand, most manual recording methods are compromises; checklists or clocks and counters lose sequence information. while handwritten notes tend to lag behind the action. Further losses occur in the course of frequence shifts of the observer's attention from action to notebook and back. Lastly, if quantitative analysis or searches of the data are to be done by computer, all of the above methods require keypunching. With these problems in mind. several investigators have devised keyboard event recording systems that encode entries and time onto magnetic tape for playback through interface circuitry to a Teletype or keypunch (Dawkins, 1971; White. 1971; Sykes, Note I; Sackett. Stephenson. & Ruppenthal. Note 2). Touch control of keyboard entries allows the observer to follow the action without shifting his attention. While an elaborate hardware interface for decoding information on tape is required in such systems. the cost is more than recovered by the elimination of manual keypunching. Transcription of the taped information by means of a hardware interface. however. typically requires that all observations be entered in a standard format of preset length. This length is typicalJy limited to six characters. Furthermore. the character set is typically limited to numbers. thereby precluding the use of mnemonic alphabetic codes for the labels of categorical behavior patterns. Many who have tried 259

Upload: others

Post on 19-Feb-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Behavior Research Methods & Instrumentation1976. Vol. 8 (3), 259-277

MEmODS & DESIGNSThe SSR system: An open format event recording

system with computerized transcriptionGORDON R. STEPHENSON, DANIEL P. B. SMITH, and THOMAS W. ROBERTS

The University of Wisconsin. Madison, Wisconsin 53706

The SSR system is an event recording system that encodes the incidence, duration, coincidence, andsequence of entries in real time onto magnetic tape for subsequent high-speed transcription bycomputer. The keyboard is light weight and battery powered for field as well as for laboratoryapplications. A conservative encoding scheme employs phase encoding and multiplexing circuitry tosample the set of 48 alphanumeric and other characters 20 times per second. The sampling rate providesa time base that is independent of tape speed. The encoding signal is recorded on an audio taperecorder at 1-7/8 ips (inches per second). A supplementary voice record can be made on a parallel track.At transcription, a small computer decodes the data tape at 15 ips; 1 h of data is transcribed into astring of characters in 71/ 2 min and stored in binary form. A second program organizes the characterstring into a timed manuscript of lines. The character set and all character functions, e.g., the subset ofcharacters that start lines, are entirely software defined. A completely open format and the flexibility ofuser-defined software grammars facilitate the entry of subjects, actions (both momentary andcontinuous), objects, and other contextual information in whatever form the user requires. The SSRsystem is described both as a system of ideas about the problems of encoding observations forcomputerized transcription and as it is currently embodied in a specific set of software and field-testedhardware. The rationale for each major aspect of the system is presented in detail from a user's point ofview.

Within the limitations of a catalogue of categoricalbehavior patterns. observers of behavior may wish torecord the incidence. duration. coincidence, andsequence of the patterns observed in real time. Voicenotes on magnetic tape or ink pen tracings onmoving paper have been used to record behavior inthese terms. but both of these methods entail tedious

This work (Publication No. 15-021 of the Wisconsin RegionalPrimate Research Center) was supported by Grant GB-7551from the National Science Foundation to Drs. John T. Emlenand Gordon R. Stephenson and by Grants RR-00249 andRR-Q0167 from the National Institutes of Health to theLaboratory Computer Facility, University of Wisconsin. and tothe Wisconsin Regional Primate Research Center. respectively.The time and talents of many members of the Department ofZoology, University of Wisconsin, were directly involved in thecreation of the SSR system. Special thanks are due to KennethG. Olesen for reorganization of the subassemblies of thekeyboard into a more readily serviced arrangement and forfabricating most of the units now in use. Special thanks also toRichard J. Ganje and John E. Dallman for design and fabricationof the keyboard cases. The advice and assistance of DeborahL. Yoshihara, Walter R. Holthaus, Cheryle M. Hughes. and PeterE. Berryman are much appreciated. The field experiences ofAnn L. Bleed and Timothy D. Johnston helped in revising earlierversions of both keyboard and software. The first author isAssistant Scientist, Wisconsin Regional Primate Research Center,1223 Capitol Court, University of Wisconsin, Madison, Wisconsin53706. The second author's address is The Eye ResearchInstitute of Retina Foundation, 20 Staniford Street, Boston,Massachusetts 02114. The third author is Lecturer. Departmentof Physical Education-Women, Lathrop Hall. University ofWisconsin, Madison.

and time consuming transcription before analysis.On the other hand, most manual recording methodsare compromises; checklists or clocks and counterslose sequence information. while handwritten notestend to lag behind the action. Further losses occur inthe course of frequence shifts of the observer'sattention from action to notebook and back. Lastly,if quantitative analysis or searches of the data are tobe done by computer, all of the above methodsrequire keypunching.

With these problems in mind. several investigatorshave devised keyboard event recording systems thatencode entries and time onto magnetic tape forplayback through interface circuitry to a Teletype orkeypunch (Dawkins, 1971; White. 1971; Sykes,Note I; Sackett. Stephenson. & Ruppenthal.Note 2). Touch control of keyboard entries allows theobserver to follow the action without shifting hisattention. While an elaborate hardware interface fordecoding information on tape is required in suchsystems. the cost is more than recovered by theelimination of manual keypunching. Transcription ofthe taped information by means of a hardwareinterface. however. typically requires that allobservations be entered in a standard format ofpreset length. This length is typicalJy limited to sixcharacters. Furthermore. the character set istypically limited to numbers. thereby precluding theuse of mnemonic alphabetic codes for the labels ofcategorical behavior patterns. Many who have tried

259

260 STEPHENSON, SMITH, ANDROBERTS

Table IOverview of the SSR System

Interfacedata tape

playback decksignal conditioner

"binary" wave form

Ob~e Rocorocatalogue keyboard

code encoding signalaudio tape recorder

data tape

of crayfish behavior, feeding sequences of spiders,social interactions among monkeys, and the use ofspace by children.

The SSR system keyboard (Figure 2) has acomplete set of alphanumeric characters (A.Z and 0-9)and 12 special grammar characters (+, -, /, ., !, $,@,=,?,&,%, and "segment"). The character set andall character functions are all software defined. Forexample. in our current applications of thesystem. +,-,I. * .l, and "segment" are defined ascarriage control characters. In the first stage oftranscription (see SOFTWARE section), the encodedkeyboard record is decoded simply as a continuousstring of characters. In the second stage oftranscription. this character string is organized into amanuscript of lines. Whenever anyone of thesoftware-defined carriage control characters is foundin the character string during the second stage oftranscription. a new line is begun in the manuscript.Additional character functions further tailored to auser's particular needs can be defined in later stagesof software processing. If. for example, in a user'sapplication of the system, an entry coincides with aline, then one of these carriage control characterscan be used to indicate the beginning of a new entry.In our current applications, lines beginning with a +indicate the start of an event. Lines beginning with a- indicate the termination of a continuous event(momentary events, by definition, do not requiretermination). These functions are software defined inthe data analysis programs (see example in sectiontitled AN APPLICATION) and are not inherent inthe keyboard encoding scheme or specified in thebasic transcription software. In essence, the formatand functions of entries in a particular record arecompletely open, restricted only by a software limitof 54 characters per line and the structure of theuser's problem.

Transcribe-Seeond Stage(organize characters)

binary form from disk file 1computer

program SSRAtimed manuscript of lines

screen or printer for displaycharacter form on disk file 2

computer tape

Transcribe-First Stage(read data tape)

A to D channelvariable timing reference

computerprogram SSR

character string in corebinary form on disk file I

these systems have found the preformattingrequirement and the relatively small number ofcharacters per entry too restrictive for their work.

Editing the transcripts from most keyboard eventrecording systems presents further problems. TheTeletype produces a punched paper tape transcriptof the record, but working with paper tape isunwieldy at best. Editing a transcript on punch cardsis easier but can be time consuming if there is morethan one entry per card. On the other hand, if thereis only one entry per card, but many entries perrecord, storing the card decks can be expensive.

The problems outlined above severely limitedapplication of these data recording methods to ourstudies of communication in primates (Stephenson,1%7, 1973, 1975). The complexity, density, andquantity of the data in our studies required a newapproach to data collection and management. In thecourse of the last 6 years (see Note 3), we have built,programmed. and field tested a keyboard eventrecording system that overcomes the problemsinherent in the aforementioned methods. Instead ofcommitting the system to an elaborate hardwareinterface, we took our cue from the increasingavailability of small but powerful computers andproduced a system that is primarily software defined.

The primary design objectives of our system werethat it be (l) able to transcribe rapidly data encodedon audio magnetic tape. (2) flexible enough informat to be applied to a wide range of userinterests, (3) lightweight, battery operated, andreliable enough for field applications, and (4) simpleto use. The sixth version of the SSR system (forsenders, signals, and receivers) has beenimplemented on the BOZO (botany-zoology)Computer Facility in the Department of Zoology,University of Wisconsin, Madison, for more than oneyear. More than sao h of data have been transcribed.In addition, the system is in the process of beingimplemented on small computers in the Departmentof Psychology and in the Waisman Center on MentalRetardation and Human Development at theUniversity of Wisconsin, Madison.

OVERvmw

The SSR system is an event recording system thatencodes the incidence, duration, coincidence, andsequence of entries in real time onto magnetic tapefor subsequent high-speed transcription bycomputer. The system includes a keyboard forencoding categorical observations of ongoing events,an audio tape recorder for recording keyboardoutput, a playback tape deck, signal conditioningcircuit and analog to digital channel for input to asmall computer, and software for transcription andtiming of the encoded record (see Table 1). Thesystem has been used to study the temporal structure

To take account of the vagaries of audio taperecording under field conditions. the encodingscheme of the SSR system keyboard is veryconservative (highly redundant and with a "discretechannel" for each character in the character set) andthe decoding process at transcription inciudesextensive checking for electronic errors such as tapedropouts. Briefly, the scheme is based on phaseencoding. A character is entered into the record by asingle push of the character's key on the keyboard.The keys are alternate action (push-ON/push-OFF)switches. When pushed, the state of the key changeseither from OFF to ON or from ON to OFF. Theprimary information is the change in state; with theexception of the "segment" key. which produces anopen angle bracket when going from OFF to ON,and a closed bracket when going from ON to OFF,the direction of the change of a key's state does notadd information to the record. The state of each ofthe 48 data keys is sampled in sequence by amultiplexing circuit that sweeps the keyboard 20times per second. As each key is sampled, its currentstate (ON or OFF) is encoded as one of two squarewaves that differ in the direction of the zero crossingtransient. (In the square waves used. the signal tracepasses through a zero value level of voltage as it goesfrom positive to negative and vice versa. SeeFigure 5.) Multiplexing the phase encoded stateyields a signal that can be recorded on audio tape. Incontrast to digital encoding schemes used withincremental tape recorders, the SSR system encodingscheme permits simultaneous recording of keyboardoutput and observer voice notes. animalvocalizations, or other analog data on paraIlel tracksof the same audio tape.

In the course of recording and playback, theprecise shape of the keyboard encoding signal ispartially degraded (see Level 0 in Figure 5). Attranscription, a signal conditioning circuit (seeHARDWARE section) incorporating a Schmitttrigger reshapes the output of the playback deck intobinary information that can be evaluated by thecomputer. The Schmitt trigger is a voltage leveldetector; as each zero crossing transient in theplayback signal passes a preset voltage level abovezero, the trigger shifts from one to the other of itstwo output values.

In the first stage of transcription, an assemblylanguage subprogram tracks the sequence of changesin the value of the trigger output via an analog todigital input channel to the computer. Thesubprogram decodes pairs of values (one value foreach half of the square wave form representing thestate of a switch) into the state of the key switchrepresented at each position in the multiplexingsweep. Our current computer (Datacraft 6024/5) hasa 24-bit word length and our current keyboard has48 character positions. As it is decoded by thesubprogram, the key's state is stored as a one or a

THE SSR SYSTEM 261

zero (ON or OFF, respectively) in the bit position ofa double word of memory that corresponds to thekey's position in the multiplexing sweep. During thedelay portion of each sweep (see Level C in Figure 5),the decoded data portion is compared to that foundin the previous sweep. If the values of the two doublewords representing the current and the precedingsweeps are different. the bit that differs is found andconverted to its corresponding character, the sweepcount is incremented, and the character is storedtogether with its sweep count in the string ofcharacters that makes up the decoded record at theend of the first stage of transcription. If the twodouble words are not different. the program simplyincrements the sweep count and waits for the dataportion of the next sweep.

By counting sweeps, the time base of an SSRsystem record is independent of tape speed. Duringthe first stage of transcription, sweeps are countedfrom the first character detected in the record. Sincethe sweep rate is 20 times per second, the sweepcount represents the relative time of the character inthe record. In the second stage of transcription. thecharacter string is partitioned into lines as theprogram encounters the software-defined carriagecontrol characters. In the resulting manuscript formof the record. only the sweep counts of the linestarter characters are retained; they preserve therelative time of each line. Relative time is thentranslated into real time through the softwareinterpretation of a special time statement (I'I'nnnn,where n is a digit, e.g., !T0802) that is entered onthe keyboard by the user during the observationsession.

The SSR system is reasonably efficient. While theencoding signal is recorded at a tape speed of1-718 ips, it is played back for transcription atIS ips. Thus, I h of data on tape can be readthrough the tirst stage of transcription of 7'/2 min.At these tape speeds. the signal is well within thefrequency response capabilities of most commerciallyavailable 1/4-in. audio tape recorders. In contrast, afrequency (tone) encoding scheme with the samenumber of discrete channels of information would betechnicaIly more difficult (hence more expensive)than the SSR system scheme and without elaborateinterfacing equipment could not offer as favorable aratio of observation to transcription time. In anadditional few minutes (depending on the number ofcharacters entered into the record), the data areorganized by the second stage of transcription into atimed manuscript, displayed on the CRT forpreviewing, and written out onto computer tape forstorage and subsequent data processing.

AN APPLICATION

The basic steps in applying the SSR system to aresearch problem are listed here in chronological

262 STEPHENSON, SMITH, AND ROBERTS

order and discussed in detail in appropriate sectionsbelow (see Table 1). Before the system can be put tooptimal use, a catalogue and code for enteringcategorical observations must be defined by the user.These typical steps then follow: (l) entering theobservations onto the keyboard in terms of thecatalogue code; (2) transcribing the Keyboardencoded record at the computer; (3) printing the raw,timed manuscript; (4) writing a copy of thismanuscript from core or disk file onto -computertape; (5) verifying the information in the manuscriptagainst the information on the parallel voice track,making editorial notes directly on the printout fromStep 3 as soon as possible after the observationrecording session; (6) editing the raw manuscriptinto a corrected version by using the Teletype andsoftware editor at the computer to manipulate theretrieved copy that had been written on computertape in Step 4; and (7) replacing the raw version oncomputer tape with the edited one for later referenceand data analysis. For safety, a second copy of theedited version is stored on a second computer tape.We then rerecord the voice track onto minimum­quality tape at 15/16 ips, should later review of thevoice record be necessary. The original high-quality1/.i·in. keyboard recording tape is erased and usedagain.

To demonstrate the SSR system in more detailbefore explicating the individual steps outlinedabove, we will describe our use of the system forrecording drinking behavior in a l-h priority ofaccess to water test among members of a troop of 45rhesus monkeys (Macaca mulatta) after 22 h of waterdeprivation. The basic assumptions in the use of thistest are that the deprivation has made the monkeysthirsty and that the sequence in which individualscome to drink or in which they attain some minimumcumulative total of drinking time (here, 10 seccumulative time; see also Alexander & Harlow, 1965;Weisbard, 1975) is related to their rank position inthe social structure of the troop. Discussions of themerits (Boelkins, 1967; Clark & Dillon, 1973) andproblems (Bernstein, 1970) of this kind of priority ofaccess test as a measure of social rank are notgermane to the theme of this report.

In our water test, two observers enter theirobservations of the animals' access to water on SSRsystem keyboards. For each, keyboard output isrecorded on one track of a quarter track stereo taperecorder (Uher 4400 Report). To facilitate keepingup with the often-hectic pace of the action, observersare encouraged to verbalize their observations into amicrophone as well as enter them on keyboards. Thehighly redundant and somewhat more interpretivevoice record is recorded on the second of the stereopair of recorder tracks. The primary observer's taskis to record the drinking behavior of individuals asthey drink at a water fountain. The fountain is the

Table 2A Grammar for Entering Water Test Data on

an SSR System Keyboard

1. There are two kinds of drinking events:(a) A sip is a momentary event, arbitrarily assigneda duration

of .5 sec;(b) A drink is a continuous event and requires termination.

2. + indicates the onset of drinking.3. - indicates the offset of drinking.4. D after a + indicates that, in the observer's judgment, drink­

ing continued for more than .5 sec, and the event is a drink.5. The names of individuals are two-digit numbers.6. The name must appear after the rust + in each of an

individual's drinking bouts, but is not obligatory after that.7. When a name is used, it is entered immediately after the +.

only source of water in the test environment. Itsphysical design allows only one animal to drink at atime. The primary observer is separated from thefountain by a pane of glass, but is able to monitorthe drinking behavior from a position about 18 in.from the water source. As the animals, one by one,drink at the fountain. the primary observer recordsthe onset of drinking, the name of the individualdrinking, and the offset of drinking, according to theset of rules in Table 2. The secondary observer, usinga much more complex set of rules and much lessrigorous sampling scheme, records observations ofsocial interaction and context in the test environmentthat will be used in interpreting the results of thewater test. especially those interactions that occur inthe immediate vicinity of the water fountain or thatinvolve the major sources of dependent rank (seeKawii, 1958; Missakian, 1972; Varley & Symmes,1966), This more elaborate set of rules is a grammardevised for recording the subject. action, object,modifiers, proxemic relations, spatial location andimmediate corrections to any of the above in realtime in field studies of primate social behavior andcommunication.

The simple set of rules for the primary observer inTable 2 was constructed from an analysis ofmanually prepared transcriptions of four voice­recorded water tests. The analysis gave us a feel forthe temporal structure of drinking bouts, the rapidityand frequency with which animals supplanted oneanother at the fountain, and the kinds of observererrors that occurred and would have to be correctedbefore the data in the record could be used. (Webelieve that event recording systems like the SSRsystem cannot be applied advantageously until theuser has this kind of information.I

The rules in Table 2 work together to produce therecord of drinking behavior in Column 4 of Figure 1.In Line 23 (see Column 2), for example, 06 begandrinking at Frame 11306 (Column 3). The femalemonkey's drink was brief. less than the time it tookthe primary observer to push the +, assess thesituation, be sure of the identification and enter her

THE SSR SYSTEM 263

RAW RH4 H20 140375 TEST AND OBSERVER

1~:: 11(12!.:1'~' ! 105'~1 +[1

1 -:. ! (1':'<\41 +!:l

17 10'?:25 /44

:3 ';>5274 9533 ~ I)GRS:5 9'578 ! D140:3756 9691 !~;RH4 H2O

7 1000(' I T1501

8 10546 +79@LDT

'~ 10764 +:36I!CWL10 10813 +85@LDM

11 10873 +89I!LDF12 10921 +06@T13 10982~ ~.1'

14 11')79 +82I!LD@CWR

15 11244 +7';>L16 11308 +06@A17 11342 +06L1::' 11375 +80AI!LDT

5 6 7

RH4 H20 14('375 OR':: K86/11LINE FRAME ENTRY

43

1 4 1.:1(:.':"1 + !':'D15 1')75:::-

2

,2':' 111 (:l~:: -21 111'5:;' +[1

22 11224 -

7 9202 .iE\PTo 1(~000 !T1501,:, 1('17:::'~

10 101°5 ~40D'?44

14 ! ! :':'5(1 +4(1(12'5 113::~O -

RH4 H20 14/)375 DLY ~.B6./2

LINE FRAME ENTRY;: 9:::134 '?358 IDI4/)375'5 94~,8 ·ODLY6 ?521 !SRH4 H20

"':EI'L Tl"lE! ~ (l':1 15 '.:.-! ~; 1('\ 2 7-1 I'.~ • O( I :,.:' 4-! ";. ':11:' ::'6 (I-1 ':'" ; H ': ;~/.:

15: h ,. ::';:- ';'1

1 -:; 0(" 4 01 '51-::· H~l '5(:'

-'>15 o i 0(' ,)

1c; (11 ':l~:' ':,-1s:; I) 1 (1'~1

.,1c;. ':'1 1'~I ~,-1,:., I) 1 2(' (:'15' (1 1 25 '51s 01 2 7 .,1r:,' i"1 1 ,'4 41:· : 1 ;:: I:

1:; (I 1 ::::=' -1:: 01 4<'. z1,:". .) 1 41 .-,

1'5: i) 1 4;' ~

15: (I 1 4~, i:'11::.;. f~\ 1 4':'-15' ,'1 51 ':;:I':' 01 52. 'o?1s: ':'1 5';' .:,15' ,,1 5'5 ..15 01 '57 ~.

1C; ;)~. , ! -,-! '5: I'-i' i:l -, :21-:;. 1:11. ':''5 "1'5: (\2' ·:'7 ':'1 ~; 1)2' fY~' (1

Figure 1. Raw manuscripts of the primary (DLY) and secondary (GRS) observers' SSR system keyboard records of a priority ofaccess to water test. Titles spanning Columns 2-4 and 5-7 include the troop name (RH4), kind of data (H20), day, month, year,observer's initials, and the keyboard used. The title is entered into the record with the Teletype at the time of transcription. Columnheadings are inserted into the record by the basic transcription and initial data processing programs. The frame is the sweep countin which the line started. Real time is rounded down to the nearest .1 sec. The two records were recorded on separate keyboardsand tape recorders. Just before the water was turned on, the secondary observer began a time statement in each record by simultan­eously pushing the ! key on each keyboard. The records are printed here in temporal registration by third-stage software that alignedthe two records in register on the initial, simultaneous time statements. Where a line in one manuscript begins within a half second ofthe beginning of a line in the other manuscript, the lines are printed on the same line of the printout and the frame of the primaryobserver's line is used to compute the real-time equivalent. To facilitate editing after this printout is verified against the parallel voicetrack, separate line counts are kept for each manuscript.

name. This kind of very short drink is called a sip. Asip is arbitrarily defined as a momentary event of.5-sec duration. A drink is defined as a continuousevent and. as such. requires termination by entry of a-. For example. just after 06 sipped, her son, 40,came to the fountain and. beginning atFrame 11350, drank. for 1.5 sec ([11380-11350l/20sweeps per sec). Using a + to indicate the onsetof drinking and only then distinguishing a drinkfrom a sip enhances the accuracy of recording thetemporal location of drinking behavior (a + is a linestarter; its relative temporal position in the record ispreserved throughout data processing). Afterbeginning the entry with the +, the observer has timeto consider the content of the entry in greater detail.If drinking behavior continues. a D is entered afterthe +. and the entry becomes a drink rather than asip. A drink requires termination; it must be

followed by a -. Using a D in the record to distinguisha drink from a sip provides a grammatical (orsyntactic) basis for error checking in our subsequentdata processing programs. Thus a +D (with orwithout a name) followed by a + line is detected as anerror, as is a - followed by a -. A + (with or without aname) followed by a - is also an error because a sip isdefined as a momentary event and cannot beterminated, but a D can be forgotten.

Other of our grammatical conventions are alsoapparent in the water test data in Column 4 ofFigure 1. In Line 8 (see Column 2). !T1S01 wasentered as the first time statement in the record. Byputting an asterisk in front of the real-time notationin Line 8. the transcription program has labeled thisentry as the base for computing the real time of eachline. The !W in Line 9 indicates the moment atwhich the water was turned on, An editorial mark

264 STEPHENSON, SMITH, AND ROBERTS

Figure 2. Front view of the SSR system keyboard, Halfhinges allow the cover to be detached. Side brackets are forattachment to the harness that suspends the keyboard in frontof the user in the field. See text.

around the !W notes that a + should be edited intoth is line after the W. A + is a line starter; the onlyway that a + could appear with in a line is by havingbeen placed there with the edit program. We place itthere as the final step of editing. If our water testdat a processing programs do not find a + after theW in the !W line . the data processing run isterminated by the program rather than risk usingcomputer time to process unedited data. There isalso an editorial mark around the incompletecorrection in Line lO. The? is a within-line grammarcharacter. During the test. it was used by theobserver to correct a misidentification. Our dataproce ssing programs scan each line and process onlythe data characters that occur aft er the last ? in aline . This convention preserves the line starter, hencethe correction entered after the last ? will beassociated with the appropriate relative time. Ourrule for errors sensed at the time of recording is,when in doubt. enter the data again. In Line 10, thename was corrected immediately after the error wasrealized in the course of recording the data, but theD was forgotten and must now be added duringediting. If the observer had not forgotten the Dafterthe 44, no editing would have been necessary in thisline, for the correction would be properly interpretedby the data processing software. The / startingLine 17 introduces a comment into the observer'skeyboard record that, in this instance, refers to acomment on the voice track concerning the namecorrection above. Lines beginning with a / aretreated as comments and ignored in the data processingprograms.

While these conventions are used in the water testrecord of the primary observer, they are all drawnfrom the more complex grammar used by thesecondary observer. A more complete description oftheir use wiIJ be deferred until they can be presented

in the context of that larger and more comprehensivegrammar. They are included here to suggest thepower of employing a software-defined grammaticalmethod for entering "on-line" observations ofcomplex behavior and social interactions and toemphasize that the open format of the SSR systemreadily accepts the highly variable entry length thatsuch a method requires .

HARDWARE

From our point of view, the following descriptionof hardware embodies a system of ideas rather thanthe ult imate technological solution to the problem ofencoding observations for computerized transcrip­tion. Our intent is to describe the circuits in enoughdetail so that they can be followed directly or serve asthe basis for new designs by others. Requests fortechnical information beyond that which is presentedhere or for copies of our updated circuits and forassistance in getting copies of our printed circuitboards should be sent to the senior author of thisreport . Critical comments and suggestions would be­much appreciated.

KeyboardPhysical description. Outside dimensions of the

keyboard are 12 x 9 x 3 in. The detachable covermeasures 12 x 9 x I in. Weight without cover is6 lbs: the cover weighs 1 lb. Case and cover sides atemade of extruded aluminum channel (VectorCompany) cut and fashioned with mitered corners.Bottom and top are made with .062 (Brown & Sharp14 ga) aluminum panels. (See Figure 2.)

Keys. control switches. meter, and output jacksare set into a punched aluminum panel (Nu-WayManufacturing Company, Skokie , Illinois). A batteryholder and the printed circuit boards for the key andencoding circuits are attached to the underside of thepunched panel (see Figure 3). To facilitate serviceaccess to the circuit boards. removal of four screwsallows the bottom panel of the case to slide out of itstrack in the extruded aluminum sides . The encodingcircuit board is attached with a hinge so that it canbe swung out for easy access to both of its sides.

Power is supplied by a set of six C-cell batteries.Current draw is less than 20 mA ; at a usage rate of4 h per day, battery life exceeds 100 h at 70°F.

The two output jacks are at the upper left of thepunched panel. The large 5-pin jack (Switchcraft/Preh)accepts a plug like that on the Uher microphone cable.A locking collar prevents accidental disconnection.A similar plug connects the other end of the cablewith one of the microphone input jacks on the taperecorder. Either end of the cable may be used at thekeyboard jack . The single-pin jack below the S-pinjack provides a connection to the keyboard output

THE SSRSYSTEM 265

Figure 3. Rear view showing circuit subassemblies of theSSR system keyboard. Bottom panel slides out for access tocircuit subassemblies. The encoding circuit board is hinged toopen for easy access to components. In this view, power supplyand multivibrator (clock) are on the right portion of theencoding circuit board , ring counter is on the left. The uppercircuit board is for the data keys. A key can easily be replacedby unsoldering its pair of contacts in the upper board whilepulling it away from the front panel of the keyboard. Cut-outportion of the upper board allows access to the meter and rockerswitches.

for externally synchronizing an oscilloscope whenexamining the wave form of the encoding signal. Theother components on the punched panel arediscussed after description of the encoding process.

Encoding circuit and logic. The functions of theSSR system keyboard are to produce a discreterepresentation of the state of each of 48 data keys, tomultiplex these 48 discrete representations into asingle encoding signal, and to provide a time base forthe record that is independent of the tape speed atwhich it is recorded or played back.

The discrete component circuit that currentlyperforms these functions is diagrammed in Figure 4.

•••, ..n'w-DC

~±00

v

~;: ~~ ~..( ..

a. ..'" ~ .o · .,••.. .)()' ,. at I;;. ~:II"~ . ( 1 ,,, ,,, ,

AL L 'IQl.UG(..tao.".,fI, .. t" . ,'M~. (" ' W.TCM- ()frITalt( , wlYe..- (OATA . ' T( "' ''' 5( IIO

(~~" o~~~s ~S'I~~O~I~fl J )

pCOtl IU S ' 0" . ) .~

.,•'N''',r0 ' OS

C'

c oc- t OO'~f.. , .. (ItHO OUT ... Ce '

, n.

a.~ .

:~" :ti~CD~4()O A( ~I\.:. i-4 , I ~ Ill'

I ) · ' t·', . .

~ , ,1::0 " " 0 10 .. .., ..",0:' .n 0" .,- .,. ... . ... . ,n s

'; fIIII ' -.' AU . ' M[ ,.. ...,i " .. a " '0 A.... .. .,' 0 "

2 . .!!• !!

H ' ,

Figure 4. Discrete components version of the SSR system keyboard encoding circuit. Majorsections are the power supply, multi­vibrator (clock), ring counter, and data buss to the bi-stable switch.

~66 STEPHENSON. SMITH, AND ROBERTS

.DELAY

ER

c C CSTATE".n

DATA IlUSS TO TCH

<l.t. L S EP

PL~'AT IS " S

Figure 5. Representations of data at serial levels of the SSRsystem encoding process. A multivibrator (MY) generates twocomplementary square waves at a cycle time of .75 msec. Thewave form with the descending zero crossing transient drives aring counter. The ring counter supplies a bias voltage to the keysin sequence one at a time. If, when supplied, the key is closed(c), the bias voltage causes the bi-stable selector switch (SW)to go into its high state and the square wave form with thedescending zero crossing transient is routed to output. If a keyis open, the bias is not supplied, the bi-stable switch goes low,and the square wave with the ascending transient is output.Thus, the state of each data key on the keyboard is phaseencoded in sequence and thereby multiplexed into a single signalfor output to an audio tape recorder. The oscilloscope trace ofphase encoding wave forms at Level B represents the states ofthe first 12 key positions depicted at level A. The trace of thefull sweep, with both data and delay portions , is shown atLevel C. The typical degradation of form from recording theencoding signal at 1·7/8 in./second (ips) and playing it back fortranscription at 15 ips can be seen in the trace at Level D.

More recently available devices like C-MOSintegrated circuits could be substituted for portionsof the present circuit with substantial savings in costand assembly time. The version presented here is aproven circuit. Sixteen units of this design are now inuse in nine different research groups on the Universityof Wisconsin-Madison campus.

Th e logic of the encoding cir cuit is redrawn inFigure 5. The primary functional components of thecircuit are a multivibrator. a 51-stage ring counter(or continuous shift register), a set of 48 alternateactio!"! data keys, and a two-state (electronicallybi-stable) selector switch . Each data key is connectedto a different stage of the ring counter. Driven by themultivibrator , the ring counter sequentially samplesthe data keys. As a key is sampled, its state is phase

encoded for output to the tape recorder . Theoscilloscope tr ace at Level B in Figure 5 shows theoutput from stages represented at Level A. Therelationship of these stages to a complete sweep of allstages is shown at Level C. The sequence of zerocrossing transients in the trace corresponds to thesequence in which the ring counter samples the datakeys. From th e phase encoding process, the directionof the transient corresponds to the state of the keysampled there. At transcription, detection of achange in state results in storage of the characterthat corresponds to the data key sampled at thatposition in the sweep .

In the present circuit . the multivibrator serves asboth a clock and as the source of the encodingsignal. The clock function is based on themultivibrator's .75·msec cycle time. (This functioncould be performed with a crystal oscillator and solidstate dividing circuits) . Each time it cycles. the twosides of the multivibrator put out complementarysquare waves that differ in the direction of their zerocrossing transients . These two forms, with anascending or descending transient (labeled LOW andHIGH in Figure 5, respectively) , are used to phaseencode the states of data keys on the keyboard.

The function of the ring counter is to sample thestate of each data key in sequence and therebymultiplex the 48 data key channels into one channelof information for recording on magnetic tape. Adiscrete sweep position for each key rather thanbinary coding of the character set in fewer sweeppositions enhances error checking at transcriptionand facilitates reconstruction of a record should oneof the positions fail. The ring counter's circuit is sodesigned that only one stage is ON at a time. TheON position is driven around the ring by output fromthe multivibrator. Each time the multivibratorcycles. the positive wave front of the descendingsquare wave form turns the present ON stage OFF.In going from ON to OFF, a transient voltage isproduced and passed along to the next stage in thering . The transient voltage turns the next stage ON.Th e new ON stage sta ys ON until the next cycle ofthe multivibrator. As the ON position moves fromstage to stage around the ring. it passes a biasvoltage to the corresponding data key forapproximately. 75 msec .

The function of the two-state selector switch is tophase encode the state of a data key by routing oneof the two complementary square wave forms to thekeyboard output circuit. Data keys are push-ON Ipush-Of'F alt ernate action switches (Type M61-0BOO;Cherry Electrical Products Corporations, Waukegan.Illinois): a key is either CLOSED (in its physicallydown and electrically on position) or OPEN(physically up and electrically off) during the periodwhen its corresponding stage is the ON position ofthe ring counter. When a data key is in the CLOSED

posttion, the bias voltage from its correspondingstage is passed to the selector switch, the switch goesinto its HIGH state, and the square wave with thedescending zero crossing transient is put out to thetape recorder. When the data key is in the OPENposition. the bias voltage is not passed, the selectorswitch goes into its LOW state, and the square wavewith an ascending transient is put out to the taperecorder.

Beginning at the second stage, each of the 48 datakeys is wired to a different stage of the 51-stage ringcounter. The portions of the encoding signal thatcorrespond to these stages can have either anascending or a descending zero crossing transient.depending on the state of the corresponding key. Toprovide fixed cues for the transcription program, the1st and 50th stages are hardwired as if the keycorresponding to the lst stage were CLOSED andthat corresponding to the 50th were OPEN. In thesweep at Level C in Figure 5, the first zero crossingtransient represents the first stage hardwired in theCLOSED position. the 2nd through lith crossingsrepresent the keys as indicated at Level A inFigure 5. the 12th through 49th crossings allrepresent CLOSED keys (put in the position on thekeyboard for the example), and the 50th crossingrepresents the stage hardwired in the OPEN position.

The 51st stage of the ring counter does not appearas a zero crossing transient in the encoding signal.When the ON position comes to the Sl st stage, itinitiates a delay circuit that uncouples themultivibrator from the ring counter for 12.5 msec.During transcription (at eight times real time), thedelay provides about 1.5 msec for error checking andcharacter processing. In real time. the delay plus thedata portion of the sweep (SO stages x.75 msec/stage = 37.5 rnsec) requires 50 msec total.At a constant rate of 20/second, the sweep gives atime base to the record that is independent of thetape speed at which the encoding signal wasrecorded.

Durations of the data and delay portions of thesweep can be independently set to their correct valuesof 37.5 and 12.5 msec, respectively, by adjusting theappropriate potentiometers in the circuit whilewatching the keyboard output on an oscilloscope. Athird potentiometer is used to set the amplitude ofthe encoding signal to 70 mV. Manual adjustment ofthe timing potentiometers can yield a time base thatis accurate to within 10 sec in an hour. Greateraccuracy would be routine, were a crystal oscillatorused in place of the multivibrator. Where the timebase in our records is discovered to be in error, thirdstage software (see sections AN APPLICATION andSOFTWARE) compares the number of sweepsfound between the first and last time statements in arecord to the number there should have been (ascalculated from the difference between the stated

THE SSR SYSTEM 267

times), computes a ratio. and corrects the framecounts of all of the lines in the record.

As can be seen in the oscilloscope trace at Level Bin Figure 5, the encoding signal from the keyboard isnot simply a train of square wave forms. To avoid"ringing" in the audio circuits of the tape recorder,the sharp wave forms put out by the multivibratorare modified by rounding their leading edges justprior to output. The notches that sometimes appearin the signal between the modified square waves,especially where the phase form following is thecomplement of the form preceding, are the recordableaspects of spurious zero crossing transients. The zerocrossing portion of these transients does not appearin the data record on tape, however, because theirrise times are in the microsecond range, beyond thefrequency response capability of the Uher 4400Report tape recorder recording at 1-7/8 in./second;the spurious transients are simply filtered out of theencoding signal in the process of recording it.

The form of the encoding signal permits the userto verify in the field all aspects of proper keyboardoperation other than timing without extra equipmentother than the tape recorder and the keyboardthemselves. With the recorder in RECORD modeand PAUSE, the user can listen to the input to therecorder by adjusting the playback volume. Whenthe keyboard is operating properly, the delay portionat the end of each sweep interrupts theapproximately 1.34-kHz tone set up by the dataportion of the sweep, and the sound has a "chatter"quality. In contrast, a steady tone means that one ofthe stages is malfunctioning and the ON position ofthe ring counter is not able to propagate all of theway to the 51st stage, where it would normallyinitiate the delay. No tone, of course, means amalfunctioning recorder, a bad connection betweenrecorder and keyboard. or a malfunctioningkeyboard.

At a more detailed level, the user can test whethereach data key is functioning properly by setting all ofthe keys into their physically down and electrically onposition and then. one by one, pushing each keyseveral times while listening to the sound. With all ofthe keys down. the wave form in the data portion ofeach sweep is nearly a sine wave and has a nearlypure tone quality. Each time the key being tested ispushed into its physically up and electrically offposition. the wave form in its corresponding portionof the sweep is switched to its opposite phase and thetone quality changes. No change in tone qualityindicates a mechanically malfunctioning key. It isstill possible to lose data if a key becomesmalfunctioning between tests. Having a "discretechannel" for each key (per the multiplexing process),a properly constructed grammar and code, and aredundant voice record on the parallel recordertrack. however. markedly facilitates reconstruction of

268 STEPHENSON, SMITH, ANDROBERTS

a record in which data characters are missingbecause of a malfunctioning key. It is best, of course,to monitor regularly the sound of the keyboardencoding signal. to examine occasionally its waveform on an oscilloscope, and, if in the field, to sendsample data tapes periodically from field tocomputer lab for transcription.

Test points for troubleshooting the circuit assemblyand maintenance are labeled as encircled letters onthe circuit diagram in Figure 4. Measured values arealso noted, but these may vary some from keyboardto keyboard. Instructions for using these test points,and wave forms expected at each of them, aredetailed in a user's manual that is available uponrequest. Values, sources, and approximate costs ofall components are also detailed in the manual,together with complete instructions for operating allaspects of the system.

Rationale of keyboard organization. Our particularlayout of the components on the punched panel isdesigned to facilitate rapid entry of the subject,action. object, etc .. in communication events amongprimates. The layout can be customized to anotheruser's design by submitting a blueprint forprogramming the punch press (at Nu-WayManufacturing Company) and making the appropri­ate changes in the negative for printing the circuitboard for the keys.

In our layout (Figure 2), keyboard switches, datakeys, meter and jacks are all located in one half ofthe front panel so that the keyboard may be wornlike a cigarette tray, supported by a harness at aboutwaist level in front of the user. This arrangementfacilitates following moving subjects while takingdata in the field. To provide room for the user'shands. the keyboard is worn with the componentsection away from the body.

Keyboard control switches are arranged accordingto function at the upper left of the panel. Rockerswitches are used because they indicate the status ofthe function they control without drawing power (asindicator lights would). The rocker switch to the leftof the meter is the POWER ON-OFF switch. Threeother rocker switches are grouped to the right of themeter. The leftmost of these, labeled TAPE, MOVE,STOP. utilizes a circuit in the keyboard track lineinput jack to operate the PAUSE mechanism on theUher 4400 Report tape recorder; it can be used forremote starting and stopping of the tape transport.For example, in the field, the user can preset thetape recorder in record mode and then carry it in abackpack frame while wearing the keyboard in front.The middle rocker switch is the DATA, SEND,STBY (standby) switch; it switches the multivibratorinto or out of the ring counter circuit at a point thatinsures that the first sweep of a record begins atStage 1 and that the last sweep ends at Stage 51. Thekeyboard sends the encoding signal to the tape

recorder only when the power switch is ON and thedata switch is in the SEND position.

The rightmost rocker switch is the SEGMENT,BEGIN, END switch. This is the exceptional data keythat produces two different characters in the record,depending upon whether the key switches from OFFto ON or from ON to OFF when it is pushed (fromEND to BEGIN and from BEGIN to END,respectively). Pushing the rocker into the BEGINposition produces an open angle bracket in therecord; pushing it into the END position produces aclosed angle bracket. This convention is employed tomark the beginning and the end of a data segmentwithin a record, e.g .. each sample from a series offocus subjects in an hour-long record. In subsequentdata processing, scanning for the open bracket in theline starter position of the data format can speedsorting for a particular segment.

The last control switch is the round momentarypush button above the meter. Its primary function isto RESET the ring counter and turn on its firststage. The circuitry of ring counters is such that theycan propagate more than one ON position aroundthe ring at the same time. The encoding signalproduced by more than one ON position cyclingaround the ring in an SSR system keyboard would beuninterpretablc by the transcription software. Whenthere is more than one ON position beingpropagated, current draw is greater and the readingon the milliammeter is higher than normal. Toinsure that only one ON position is being propagatedaround the ring, the circuit is routinely initializedeach time that the keyboard is powered up, pushingthe RESET button once after the power has beenswitched ON. While the RESET button is depressed,it also engages circuitry that changes the meter froma milliammeter to a voltmeter, thereby enabling theuser to test voltage level of the battery power supply.

The left to right order of· the keyboard controlswitches is the sequence in which they are used toinitiate a keyboard record on tape after the keyboardhas been turned ON and RESET, i.e., TAPEMOVE, DATA SEND, SEGMENT BEGIN. Arecord is terminated in the reverse order, SEGMENTEND, DATA STBY, TAPE STOP. and (optionally)POWER OFF. This procedure results in nesting therecord of keyboard output between a start and a stopof the tape transport, and within that, nesting a datasample between an open angle bracket and a closedangle bracket.

Data keys are arranged in blocks to facilitate theentry of + or -, digits for the subject's name, etc. (seeAN APPLICATION). Within the numeric block, theothrough 9 keys are arranged in the standard addingmachine format, except that 0 is at the far lower leftrather than at the bottom of the block. The physicalarrangement of the A through Z keys in thealphabetic block is completely arbitrary. The

THE SSRSYSTEM 269

I.AR409

02

R4013.,dl OuT

IOK,(l

HYSTERESIS

-,...Rloe

+'1"

~R40610.0

OAI R3014.J'KA

R203100KO

R204'-- -.... IIlOA

150dl ~:~ -.1.. RIO''-,/1IV'~.---'VV\r--,

C201.002 rJ\v'VVv==x--r~--1

POWER - + 18.. -18 .. DC

01802- SILICON DIODE IN4~1

FET I - 3N140

OAI -0"'3 - 741 OP AMP

QA4 - 709 OP AIliIP

SSR SYSTEM SIGNAL CONDITIONER

RI04470dl

41 ~0f'~ =21~~ 01

Figure 6. The SSR system signal condi­tioner circuit. Major sections are the powersupply, AGe, high- and low-pass ftIters, andthe Schmitt trigger.

arbitrariness does not slow alphabetic coding ofbehavior once the keyboard layout has been learned.but it does tend to discourage using the keyboard asa typewriter. The grammar keys are locatedaccording to frequency of use and a left to rightorganization of grammatical usage in the complex setof rules designed for encoding monkey socialbehavior noted above (AN APPLICA.TION section).

Tape RecorderWhile any audio tape recorder with an adequate

frequency response could be used to record keyboardoutput, nearly all of our field testing and experiencehas been with Uher 4400 Report quarter track stereotape recorders. This model of Uher has a frequencyresponse of 40-10.000 Hz at 1-718 in.v'second tapespeed (-3 dB for 600-6.600 Hz). The stereo featureprovides one track for keyboard output and anotherfor observer voice notes. The quarter track featureincreases efficiency in that both sides of a tape canbe used. This means that there is less to carry in thefield and less time rewinding tape during datacollection and transcription.

The Uher 4400 Report with carrying case,shoulder straps. microphone. and NiCad batteriesweighs about 12 Ibs. Cassette tape recorders aremuch lighter. but we have not yet found a means forhigh-speed playback of cassette tapes duringtranscription.

Recording TapeKeyboard output is packed onto a quarter track of

'/4 -in . magnetic tape at an effective rate of700 bits/in. After testing a variety of products. the3M Scotch brand Type 212 (Catalogue CodeNo. 212-1/4-R45) is the best readily available type;

electronic errors due to dropouts are very rare,averaging less than one detected per hour of datatranscribed.

Playback Tape DeckA Sony tape deck (Model TC-8SO) is used for high­

speed (15 ips) playback during transcription ofkeyboard encoded tapes. A less sophisticated 'I4-in.tape deck could probably be used, but we have foundthis particular model to be mechanically stable andeasy on the data tapes while other manufacturers'models were not.

Signal ConditionerWhen the SSR system encoding signal is played

back for transcription at eight times recorded speed.it is passed through a signal conditioner circuit toresolve the partial degradation that the signal incursin the course of recording and playback (see Level Din Figure 5). The conditioner consists of four basicsections. the first three of which are equipped withbypass switches. The first section is an automaticgain control (AGC). This has proved to be a greathelp in securing reliable operation of thetranscription process by reducing the variation inamplitude of the signal. The second and thirdsections are high- and low-pass filters, which aid inremoving noise and reducing certain kinds ofwave form distortion that result from variations in thefrequency response of the tape recording system. Thefourth and final section is a Schmitt trigger, whichconverts the signal to a square wave that isTTL-compatible and suitable for computer input.

The signal conditioning circuit is diagrammed inFigure 6. Unlike the keyboard. the conditioner is aone-of-a-kind prototype. Persons wishing to

270 STEPHENSON, SMITH, AND ROBERTS

duplicate the conditioner should be cautioned thatsome parts of the circuit may be sensitive tocomponent variation, and that some experimentationwith components and component values may benecessary to secure good results. This is particularlytrue of the AGC section, since proper operation maydepend on the characteristics of FETl.

AGe. Capacitor C102 blocks dc. RIal and FETlform a voltage divider in which the ratio is controlledby the FET gate voltage. In normal operation, theFET source-to-drain voltage is about 20 mV peak topeak so that operation is essentially ohmic.

The voltage divider is followed by an amplifierconsisting of operational amplifier OAI and feedbacknetwork RI04 and R103, which gives a gain of 200.The voltage divider and amplifier together form avariable-gain amplifier with an effective overall gainvarying from 100 to .1 as the gate voltage on FETIswings from -1.2 V to -.2 V. R102 serves to limit themaximum gain. ClOl and C103 help to suppressoscillations that can otherwise occur when the inputsignal drops to zero and the AGC gain increases toits maximum.

When the AGC bypass switch SWI is in the OFFposition, the gain voltage is determined by R109 andgain is fixed at a value of about 1.5. When the AGCbypass is ON. the AGC is engaged and the gatevoltage is derived from the output of OAI by arectifier and filter network consisting of XRl, Cl05.and associated components. A de voltage of aboutone-third the peak-to-peak swing at OAI isdeveloped at ClOS.

Capacitor C104 blocks de and permits the voltagedeveloped at C105 to be referenced, not to ground,but to a de offset level set by RI08. Thus, the outputat C105 is the sum of one-third the peak-to-peakoutput of OAI plus the voltage at the wiper of RlG8.This voltage is about -1.6 V. It would probably beadvantageous to insert a 22K resistor between the-18- V supply and the upper terminal of Rl08, towiden the adjustment range. The effect of Rl08 is toset the output level to be maintained by the AGC;RI08 should be adjusted for an output of about 4 Vpeak-to-peak.

In operation, a rise in the output of OAI causes arise in the gate voltage of FETI and thus a reductionin gain.

The AGC time constant is determined by ClOS.Since the SSR encoding signal drops to zero duringthe delay portion of the sweep, it is not feasible tohave a time constant that is short compared with thesweqp time (about 6 msec during playback fortranscription at eight times recorded speed); if itwere comparatively short, the AGC would increasegain during the delay portion of the sweep. A valueof I IJF gives a time constant of about SO msec andyields good results.

Although the AGC does not act fast enough toremove dropouts. it has an important stabilizing

effect. By fixing the level from which the dropoutsdrop. it permits the threshold adjustments of theSchmitt trigger to be permanently set at an optimumlevel relative to the signal. The combination of AGCand Schmitt trigger eliminates the effects of manymild dropouts.

The AGC also has an important effect ineliminating drifts in signal level. It has been foundthat recordings made on portable tape recordersoperating on battery power often contain significantshifts in level as the recording progresses. This isprobably due to changes in battery condition andtape tension. The shifts, amounting to perhaps 6 dBin some cases. might not be noticeable. in audiorecording. but they can have a serious effect on theproper transcription of an SSR system encodedrecord unless AGC is provided. Before AGe wasadded to the signal conditioner. some of the lowerquality recordings could not be transcribed withoutunacceptably high error rates unless the gain wasconstantly monitored by the operator.

Filters. GA2 and associated components form ahigh-pass filter with a 12-dB/octave cutoff at afrequency of 1/1nRC. For the values given, cutoffis atabout 8 kHz. When the switch SW2 is in the OFFposition. the RC network is bypassed and the sectionbecomes a simple amplifier with a gain of about 1.7.

Similarly. GA3 and associated components form alow-pass filter. cutting off at about 16 kHz.

Theoretically. the optimum ratio for the feedbacknetworks R203:R204 and R303:R304 would beI: 1.72 for optimum results when each filter is usedby itself. When they are used together as a bandpassfilter, however. reducing the ratio to 1:1.5 has abeneficial effect in leveling the response within thepassband. As a practical matter, the difference is notof great importance.

The high-pass filter (GA2) has proved to be quitevaluable in removing several kinds of noise.including ac hum and low-frequency componentsarising from partial rectification of the signal. Thelow-pass filter (OA3) has been less important.

The effect of the filters in improving the signalmay be due. not entirely to the frequency responsecharacteristics. but to their effect on modifying phaserelationships within the signal. It is characteristic ofthe signal. as played back, to contain ahigh-frequency ringing at three times the basefrequency. This probably results from a harmonicresponse to some component of the base signal and isnot important in itself. However. the phaserelationship between this component and the basefrequency is quite important in determining the timeof zero crossings. and the most favorable relationshipappears-to be one in which the slope of the zerocrossings is highest.

Although the described filters work extremely wellwith our particular combination of equipment. it ispossible that experimental adjustment of the Rand

C values in the filters may be necessary with otherequipment. If the critical effect of the filters is aphase rather than a frequency response adjustment.it is possible that some other filter design may bemore appropriate.

Schmitt trigger. OA4 and associated componentsform a Schmitt trigger circuit. All other sections ofthe circuit use a Type 741 operational amplifier. Inthe trigger circuit. a Type 709 is necessary to attain ahigh switching speed. Because it is used in aswitching mode, networks usually necessary tostabil ize the am piifier are not needed.

In essence, the Schmitt trigger is used to detectzero crossings. In our particular application to theSSR system encoding signal, however, it is desirableto offset the trigger levels from zero and to build insome degree of hysteresis. A controlled amount ofhysteresis is beneficial because the signal contains acertain amount of high-frequency noise that couldotherwise produce mutliple crossings as the signalcrosses the threshold level. It also prevents smal\amounts of ringing from causing multiple triggering.

Control R407 determines the average offset of thetwo trigger levels from zero, and R40S determinesthe distance between them. The optimum settingwith our unit proved to be at the extreme adjustmentranges of the potentiometers, resulting in switchinglevels of +.S V and +I.S V (i.e., an offset of 1 V anda hysteresis of I V). It would probably be beneficialto expand the adjustment range by increasing R40Sto 1K and reducing R403 to 220K.

An offset is necessary to insure that the delayportion of the sweep produces a constant ON outputfrom the trigger. The delay portion of the sweep wil\not always be exactly at 0 V, because for variousreasons the data portion often contains some dccomponent, even though none is intended. In fact,the delay portion, when examined carefully, mayshow an exponential decay to 0: If the triggering levelis set close to 0, there may be a crossing during thedelay portion. A positive offset insures that the delayportion will yield a solid ON, and also insures thatthe Schmitt trigger always finishes in the ON statewhen the signal is removed. These considerations areimportant for the decoding logic in the first stage oftranscription (see SOFTWARE).

Variable Timing ReferenceTo synchronize the logic in the first stage of

transcription with the stream of values coming fromthe signal conditioner during playback, the intervalbetween expected zero crossings is calculated duringthe delay portion of each sweep. The interval can beadjusted both before and during playback by means ofa potentiometer. The potentiometer (knurled knobwith a dial scale) adjusts the voltage to an analoginput channel of the computer over a range of-4.096 V to +4.096 V. A FORTRAN call to a system

THE SSR SYSTEM 271

subroutine returns an integer value in therange -2048 to +2047. In one case, in which a user'sbattery powered tape recorder had gradually sloweddown in the course of recording a record, the recordwas recovered by monitoring the electronic errors (inthis case, mainly due to the resulting gradual shift inthe time base) through the BOZO systemloudspeaker during the first stage of transcription(see SOFTWARE section) and adjusting the value ofthe potentiometer to keep them to a minimum.

ComputerA Datacraft 6024/S computer with 16K words of

core memory was used for all of the transcription anddata processing described in this report. The 6024/Shas a 24-bit word and a cycle time of 1 !JSec.Peripherals include a S-megabyte random-access diskmemory, Teletype and CRT display, and a drive forseven-track computer tape.

OscllloscopeOccasional access to an oscilloscope is necessary in

order to check keyboard switches and outputwave forms, and to troubleshoot malfunctions of boththe keyboard and the tape recorder. For field studiesin which the SSR system keyboard is a primary tool,access to a portable field model oscilloscope is highlyrecommended. If an oscilloscope is not available,sample records should be sent from the field to thelaboratory for transcription at regular intervalsthroughout the field period.

SOFTWARE

The functional aspects of the basic SSR systemsoftware are described below. Program SSR performsthe first stage of transcription; it decodes thekeyboard encoded data tape and stores thecharacters and their sweep counts in binary form in alogical file on the disk. Program SSRA performs thesecond stage of transcription; it converts the string ofcharacters from binary form to character form andorganizes them into a timed manuscript of lines. AnSSR system utility program called SPLICE joinssequential portions of an interrupted record, each ofwhich has its own relative time base counting fromthe first character in the portion, into one recordwith a time base that is continuous and consistentacross al\ of the portions joined. Another utilityprogram, called REFRAM, corrects the timing of arecord in which the sweep rate is not equal to exactly20/second. COMBO, the last program discussedhere, is included as an example of third stagesoftware, the stage at which programs are generallytailored to a specific user's problems. ProgramCOMBO produces the printout in Figure 1. All ofthese programs except the first are written inDaracraft's FORTRAN IV. The first, SSR, has a

272 STEPHENSON, SMITH, AND ROBERTS

Figure 7. Relationship between the out­put of the Schmitt trigger and the logic ofthe assembly language subprogram. In thetop half, output of the trigger is related tooutput of the playback deck. The assemblylanguage instructions are grouped into func­tional series at the bottom half. Samplepoints relate specific aspects of the triggeroutput to specific seriesof instructions. Theleft half of the figure illustrates the methodof synchronizing logic with output. Theright half of the figure illustrates the de­coding process. See text.

WORDSIIWORDS

ONE--\

ONE TMDLLDOOBTOM

DELAY•

COUNTLOOP

AUMBON

s

~

TIot<BWKINPUT8HZ,h

WORDSI

TRIALS ONEI TIot< TRIALS

INPUT3LOOPX. 80Z LOOPXZEROI'~.r-;-- BWK ONEI.ILOOPX IIUC LOOPX

'WORDS

3 4

it ith i i k

~l2...!.Jo 0

2

SYNClflQNIZfi(j

SYNCH (TNKa INPUT'

BOPIIWl<

+

,iii i itcd. l f 111o,oiiLQJ

: I

!,,50 b: LOOP

SYNCH )iSYNCH+1 I

I ..,------"--....1: ZERO TMC

SYNCHI ~T 500 i ~c(BNZ 0YNCH2 : TOM

IIWl< SYNCHI I!return) d: ZEROI TIot<

SYNCH2 ~INPUT i C:rI..8HZ SYNCH2 I BWK

: IIUCt! ! LOOPX:

LOOP

·~·l r-o- U

i ia bI 0

POSItionin ,_ • ~O, CELAY

~ Jl--

Sclmtttri~r

output

..... po;.lINPUT._

bit""'"

a.-y~instructions

basic framework in FORTRAN IV. but its mainfunctions are programmed in assembly language.Listings of these programs are available without costupon request.

Program SSR-First Stage of TranscriptionUpon call from the disk, Program SSR advises the

operator to set the variable timing reference to theproper value for calculating the delay betweenexpected zero crossings in the encoding signal of anSSR system record played back at 15 ips. It alsorequests that a title for the record be entered via theTeletype. With entry of the title, the program isready to decode the output of the signal conditioningcircuit.

Decoding is performed by an assembly languagesubprogram. The first task is to synchronize the logicof the SUbprogram with the stream of values comingfrom the Schmitt trigger portion of the signalconditioner. Once synchronized, the succeedingvalues in the data portion of the sweep are sampled,one after another, and decoded, pair by succeedingpair in sequence, into bit values that represent thestates of the keys. The bit values are stored. bit bybit. in a double word of memory in the same order inwhich the states of the keys had been phase encodedand multiplexed into the keyboard encoding signal(see Level B in Figure 5). These two system-specificparts of the transcription process, i.e., synchronizingSUbprogram logic with trigger output and decoding

the states of the keys encoded in the data portion ofthe sweep, are diagrammed in Figure 7.

Before considering the methods of synching anddecoding in detail. recall that the keyboard encodingsignal is partially degraded in the course of recordingand playback (see Level D in Figure 5). The primaryfunction of the Schmitt trigger in the signalconditioner circuit is to reshape the output of theplayback deck into binary information that can beevaluated by the subprogram. The trigger is sodevised that when the playback signal drops belowthe trigger's lower threshold, the output of thetrigger is ON at +5 V. When the playback signalrises above the tipper threshold, output of the triggeris OFF at 0 V. When the playback signal is inbetween the upper and lower thresholds, output ofthe trigger is ON or OFF, whichever was last. Thisresult is a function of the hysteresis that has beendesigned into the trigger circuit (see HARDWAREsection, signal conditioner). The relationshipbetween the output of the playback deck and outputof the trigger is illustrated in the upper part ofFigure 7.

The relationship between the output of the triggerand the assembly language instructions thatsynchronize subprogram logic with trigger output isillustrated on the left half of Figure 7. Beginning atthe program address SYNCH, the integer -SO istransferred to the K register of the computer (TNK:Transfer Negative operand to K; here the operand is

SO). INPUT is a subprogram macroinstruction thatutilizes BOZO (Botany-Zoology Computer Facility)system functions resident in core to yield a zero whenthe output of the trigger is ON and a positive number(represented as a 1 in Figure 7) when the output isOFF. When INPUT yields a positive number (as itwould at Point a in Figure 7), the subprogrambranches back to address SYNCH (BOP stands forBranch On Positive). When INPUT yields a zero, thesubprogram advances to the BWK instruction. BWKis a mnemonic for Branch When K is not equal tozero. This instruction increments the contents of theK register by one and then tests whether it is equal tozero. When it is not zero, the subprogram branchesto the address in the operand field, here toSYNCH+l, which puts it back at the INPUTmacroinstruction. If the subprogram were toencounter a series of zeros from successive executionsof INPUT. it would cycle through the instructionsINPUT. BOP. and BWK. each time incrementingand testing the value in the K register. When Kfinally does equal zero (here after SO cycles throughthe series of instructions), the subprogram moves tothe next instruction in sequence. here TNK sao.Should INPUT yield a positive value in the cyclingbefore K has been incremented up to zero, thesubprogram would Branch On Positive to SYNCH,where a -SO would be transferred to register K and,in our usage here. the search would begin again.INPUT requires 17 use: and the other instructions inthis series require 1 usee each. Thus, the first step ofsynchronizing subprogram logic with trigger outputproceeds by sampling the output of the trigger every19/Asec until the output is found ON (i.e., INPUTyields a value of zero) for SO consecutive samples.This would occur only if the subprogram weresampling in the delay portion of a sweep or if therecord had ended. The trigger is ON during the delayportion of a sweep because the second half of thewave form representing the last position in the dataportion of the sweep drops from positive to zero(recall that the 50th stage of the ring counter ishardwired as an OFF). For the same reason, thetrigger is also ON at the end of a record. A record isended by switching the DATA rocker from SEND toSTBY. which uncouples the multivibrator from thering counter at the 51st stage, thereby insuring thatthe last sweep is completed through the 50th stagebefore the record ends.

The second step in synching logic and outputdistinguishes between the delay portion of a sweepand the end of a record by the number of consecutivezeros that a series of successive executions of INPUTyields after the SO in the first step. The K register isincremented from -sao toward zero each time thesubprogram, beginning at address SYNCHl, cyclesthrough the series of instructions, INPUT, BNZ(Branch when Not Zero), BWK. As above, the seriesrequires 19 /Asec. In playback at eight times recorded

THE SSR SYSTEM 273

speed. the delay portion of each sweep lasts about1.563 msec (12.5 -7- 8). The SO consecutive zeros inthe first step of synching required about .950 msec;hence, if the sample count in the second step exceeds32. the record has probably ended. To pass overextended delays due to tape splices or long periods ofsignal loss due to large dropouts, another 468consecutive zeros are required before the record istaken as terminated. (The total of sao required isarbitrary and can be made closer to 32). INPUT willcontinue to yield zeros until the sampling encountersthe Schmitt trigger's response to the first half of thewave form representing the first stage of the ringcounter. which is hardwired in the ON stage. At thatpoint (Point d in Figure 7). the signal rises from zeroto positive, trigger output drops from +5 V to O.INPUT yields a positive value, and the subprogrambranches to address SYNCH2.

The time requirements of the sets of assemblylanguage instructions from SYNCH2 on arespecifically tailored to decode the output of theSchmitt trigger as it follows the output of theplayback deck operating at 15 ips. The twoinstructions at SYNCH2 require only 18 jJSec, lessthan a quarter of the 93-/Asec interval (.75 msec -r- 8)required for playback of the wave form representingthe state of a key. By sampling within a quarter of aninterval after the Branch when Not Zero instructionat Point d in Figure 7, the point at which the logic ofthe decoding loop is precisely synchronized withoutput of the trigger is located in the third quarter ofthe interval that corresponds to the first position inthe data portion of the sweep. From this point on(Point e in Figure 7). synchrony is maintained by thetime requirements of the instructions in the LOOPsection of the subprogram.

The relationship between the output of the triggerand the assembly language instructions that decodeit is illustrated on the right half of Figure 7. Thetime required for execution of the series of fourinstructions beginning at LOOP is controlled by thevalue of DELAY, which is computed from the valueof the variable timing reference at the beginning ofeach sweep. Optimally. the INPUT macroinstructionsamples trigger output in the second quarter of theinterval corresponding to a sweep position, or, interms of wave form. just before the zero crossingtransient. For example, the wave form at the secondposition in the sweep would be sampled for the firsttime at about Point f in Figure 7. The optimalsetting for the DELAY would position the SamplePoint f very close to 3/4 of an interval after SamplePoint e. In this example. execution of INPUT atPoint f would yield a positive value and thesubprogram would Branch (when Not Zero) toProgram Address ONE.

The series of instructions beginning at ONE storesthe value from INPUT. TMD Transfers the contentsof a double word at Memory location WORDS to the

274 STEPHENSON, SMITH, AND ROBERTS

D register. LLD performs a Logical shift of thecontents of the D register one position to the Left.OOB performs an exclusive OR on the Operand(here 1) and the rightmost Byte of the D register.TDM Transfers the contents of the D register backto Memory locations WORDS. TMK Transfers avalue (-10) stored at Memory location TRIALS to theK register. Then another INPUT macroinstruction isexecuted. While INPUT requires a total of 17 usee,the sample is actually taken in the 11th lASec. Thus,the time required to execute the series of instructionsfrom TMD at Address ONE to the actual sample byINPUT immediately after Address ONEI is 2S lASec,or about one quarter of an interval after the previoussample. In terms of the wave form, this point(Point g in Figure 7) is just after the zero crossingtransient, hence INPUT yields a value opposite thevalue it yielded last. In this example, after thepositive value from the sample at Point f, INPUTyields a zero at g, and the subprogram Branches OnZero to LOOPX. If Point g had been early, beforethe zero crossing transient, INPUT would haveyielded a positive value and the subprogram wouldhave advanced to BWK, incremented Register k andbranched to Program Address ONE1+1, whichwould have put it back at the INPUTmacroinstruction. The second sample would havebeen 19 lASec after the first, and unless there hadbeen an electronic error, this would have occurredafter the zero crossing, which would have thenproduced a zero value at INPUT and a branch toLOOPX. If this series of instructions does not yield azero on the second sample after Address ONE1, thesubprogram will continue to cycle through the seriesuntil INPUT does yield a zero or the contents ofRegister k has been incremented from -10 up to 0, atwhich point the subprogram will BranchUnconditionally (BUC) to LOOPX. If more than twosamples are required, however, subprogram logic willprobably be out of phase with trigger output throughthe rest of the sweep and the results will be detectedas erroneous in subsequent parts of the first stage oftranscription.

At LOOPX, the AUM instruction Aids Unity toMemory location COUNT. The contents of COUNThad been set to -48 at the beginning of thesubprogram and the subsequent Branch On Negativeinstruction passes control to LOOP until 48 waveforms with zero crossing transients have beendecoded. At LOOP, the value of DELAY againpositions the sample point 3/4 of an interval after theprevious sample. Here, at Point h in Figure 7,INPUT would yield a zero and the subprogramwould advance to Program Address ZERO. Theseries of instructions from Program Address ZEROthrough BWK ZER01+1 is the complement of theseries from Program Address ONE reviewed above.

In summary, the sampling schedule of 3/4 intervalplus 1/4 interval is offset from the boundaries of the

actual period corresponding to the wave forms thatencode the states of the keys such that the firstsample of a pair of samples occurs just before thezero crossing transient in the wave form and thesecond sample occurs just after. Pair by pair insequence, the samples of trigger output are therebydecoded into the states of the keys that wereoriginally phase encoded and multiplexed in thatorder in the sweep.

The other aspects of the first stage of transcriptionby program SSR are less system specific and are onlysummarized here. After a sweep has been decoded.the contents of the two double words representing thecurrent and the immediately preceding sweeps arecompared. If they are the same. there is simply areturn to the main program. where the sweep count isincremented and the subprogram is called again toprocess the next sweep. If the contents of the twodouble words are not the same. the position of the bitthat differs is· found and transcribed into thecharacter assigned to the key that was sampled at thatposition in the sweep. Return to the main programthen results in !'hecharacter being added to the stringof characters that comprises the decoded record up tothis point in the playback. Again. the sweep count isincremented and the subprogram called to process thenext sweep.

When a character is added to the string. it is storedwith its sweep count so that the relative time of eachcharacter is preserved. One byte of memory isrequired to store a character and three bytes arerequired to store its sweep count. Our presentcomputer has three 8-bit bytes per word of memory.BOZO system functions (in Datacraft FORTRAN IV)are used to extract. rotate. and replace bytes so thatthe four bytes of information/character can be storedtogether in a large buffer of three-byte words. Thecurrent buffer is limited to 8.000 words of memory.but as 24.000 bytes, it can store 6,000 charactersbefore transcription of a record will be automaticallyterminated by the SSR program. Even with this muchstorage. we occasionally exceed capacity and mustlater use program SPLICE (see below) to concatenatethe separate parts into one continuous record.

In the course of decoding and character processing,several kinds of errors are detected by program SSR.Two criteria determine the detection of errors. Thefirst is that a key must remain in one state (ON orOFF) for at least two sweeps. This is a reasonablecriterion because humans cannot push the keys fasterthan about 10 times/second; changes in state for lessthan .1 sec (or two sweeps) are probably due toelectronic errors on the tape. The second criterion isthat there can be only one character encoded persweep. This is a necessary criterion because the orderof the character determines its interpretation bygrammatical rules at subsequent stages of dataprocessing. If more than one bit position is differentwhen the two words are compared, return to the main

program results in the insertion of an error marker (aback arrow, which is also defined as a line starter) intothe record at the current end of the character string.All other kinds of errors at the first stage oftranscription, i.e., an incorrect number of zerocrossing transients or loss of synchrony betweensubprogram logic and trigger output due to electronicerrors on the tape are also detected as the case of morethan one character in the sweep and are processedaccordingly.

After the error marker is inserted into the record, a"tock" sound is generated over the BOZO Facilityloudspeaker to inform the operator that anyerror has been detected. The operator canuse the "tock" rate to evaluate the effects ofmanipulating the Automatic Gain Control, high- andlow-pass filters, and/or variable timing referencewhen attempting to recover a nonstandard record,such as in the case where the user's tape recorder hadgradually slowed down in the course of an observationrecording session. In contrast to the "tock," a "tick"is generated whenever a character is successfullytranscribed. This informs the operator that the firststage of transcription is proceeding normally.

The first stage of transcription is terminated whenprogram SSR detects a loss of signal (a series of atleast SOO consecutive executions in which INPUTyields a zero) or the operator indicates terminationmanually by pushing a button on a reference panel atthe computer. Program SSR then reads the string ofcharacters with sweep counts from the buffer in corememory and writes them in binary form onto a logicaltile of the disk. Lastly, program SSR chains toprogram SSRA. which will perform the second stageof transcription.

Program SSRA-Second Stage of TranscriptionProgram SSRA converts the string of characters

produced by the first stage of transcription into atimed manuscript of lines. The program begins byasking the operator to designate via the Teletype thephysical device on which the manuscript is to bedisplayed, e.g., screen (CRT). printer or none. It thenreads the string of characters with their sweep countsfrom the logical file on the disk where they had beenwritten by program SSR into an 8,OOO-word buffer incore.

It may seem unnecessary to store the characterstring on the disk between the first and second stagesof transcription, but doing so provides two optionsthat are quite useful. First, the timing in the firststage of transcription is rigidly determined by acondition external to the program, i.e .• the necessityofkeeping subprogram logic in synchrony with triggeroutput. The timing in the second stage oftranscription is simply an internal matter of readingfrom the logical file when ready. In the first stage oftranscription. the record accumulates in core until itends or until the buffer is full. after which it is written

THE SSRSYSTEM 275

out onto the disk. Reading and writing in binary formis very rapid and only a few seconds are required totransfer a record from core to disk. Thus, if 30 sec ofrecording time are left blank (in DATA STBY)between records in the field, a data tape with a seriesof records can be processed nonstop through the firststage of transcription. with a substantial savings inoperator and computer time. Secondly. programSSRA writes the timed manuscript of lines into asecond logical file on the disk. Thus, the operator hasaccess to both the binary character string and thetimed manuscript forms of the record and can saveeither or both on computer tape for subsequent dataprocessing.

After the character string has been read from thedisk into the buffer in core. it is scanned for the firsttime statement (l'Tnnnn, where n is a numericcharacter 0 through 9). Since the sweep countrepresents the number of 20ths of a second betweenthe first character and any subsequent character inthe record. the difference between the sweep count ofthe ! that starts the time statement and the sweepcount of any other line starter character can be used tocompute the real time of any line in the manuscript byreference to the hour and minute markers that hadbeen entered after the !T. Once the time statement isfound. and the numeric characters are converted tointegers, the program returns to the beginning of thebuffer. Using a BOZO system function to extractbytes from the butTer, the characters are retrieved.one by one. together with their sweep counts. Eachcharacter is compared to the list of characters thathave been defined as line starters in a data statementof program SSRA. One by one, the characters areorganized into a line until the current charactermatches one of the defined line starters. At that point.the sweep count of the previous line starter, whichstarted the current line. is used to calculate the realtime equivalent of the line. The time and the line arethen written out onto the chosen physical device. Afterthe whole manuscript has been displayed. a secondpass through the buffer extracts and organizes thecharacters, calculates the real time, and writes thetimed lines of the manuscript out onto a secondlogical file of the disk.

If a completely correct time statement is not foundwhen the character string is scanned, the SSRAprogram asks whether the operator wants to enter atime statement after viewing the manuscript on thescreen. If the operator enters NO, the manuscript issimply organized and written onto the chosen deviceand then into the logical file as described above. butwithout the real-time equivalents of the line framecounts. If the operator enters YES. the program willorganize the manuscript and write it without thereal-time equivalents. but only on the screen. Uponreaching the end of the character string in the buffer.the program asks the operator to enter the framenumber and the four digits representing the time. The

276 STEPHENSON, SMITH, AND ROBERTS

program then proceeds as described above. i.e., as ifit had found a complete time statement on the firstscan through the character string. At the completionof this second pass through the character string, themanuscript of timed lines is ready for storage oncomputer tape or for processing by third-stagesoftware that is specifically tailored to the user'sparticular interests.

Program SPLICEProgram SPLICE is an SSR system utility program

that is used to join parts of an interrupted recordtogether. The stream of data in a record can beinterrupted by large dropouts due to momentaryelectronic malfunctions of the tape recorder orplayback deck or to uneven density of the magneticrecording material on the tape. by accidentalswitching of the keyboard or recorder controls, or byexceeding the capacity of the buffer with too manycharacters. To splice the parts separated by suchinterruptions. the user need only determine thenumber of missing sweeps. When the interruption isdue to a dropout or to user error, the time between theend of the preceding part and the beginning of thesucceeding part can be estimated or measured with astopwatch during playback at recording speed(1-7/8 ips). When due to too many characters, thetape can be rewound over the point at which storagecapacity was exceeded and a second record can betranscribed so that partial printouts of the end of thepreceding and the beginning of the succeeding partscan be overlapped and matched. After the match ismade, the duplicate lines in each record are deleted.The parts to be joined are then copied into a logicaltile in their proper order.

Program SPLICE scans the lines in the logical fileuntil it encounters a read error. The format for a linein the record is very different from the format for thetitle that is inserted at the beginning of every recordduring the first stage of transcription. At the readerror, the program backspaces over the title. writes a/ (which is a comment line starter in our usage, henceignored by our data processing programs) and acomment in standard line format over the titlelocation in the logical file and over the next line in thefile, which is the column heading line (see Figure O.It then asks the operator to enter the number ofmissing sweeps on the Teletype. The number is addedto the last frame count found before the read errorand the sum is assigned to a constant. The programresumes scanning lines from the file. If the framecount of the current line is less than the frame countof the previous line (as it will be for all lines after thefirst part in the file), the constant is added to thecurrent frame count, the file is backspaced. and theline with its new frame count is written in the logicaltile over the place of the line and its old frame count.SPLICE has been used only five times in some 550 hof data.

Program REFRAMProgram REFRAM is an SSR system program that

is used to correct the frame counts of lines in a recordin which the sweep rate of the encoding keyboard wasother than exactly (to six significant digits)20/second. Timing errors are usually due toinaccurate settings of the potentiometers governingthe output of the multivibrator. Such errors areessentially constant throughout a record. To takeaccount of the possibility of timing errors. standardoperating procedure for use of the keyboard includesentering a time statement at both the beginning andthe end of every record. Time statements can beentered with high accuracy by pressing the ! as thesweep second hand crosses a prescribed numeral on atimepiece. and then entering the T and the numbersfor hour and minute as usual.

Program REFRAM scans the record for the firstand last time statements. If it finds at least two timestatements, it computes the number of minutesbetween them and then the number of sweeps thereshould have been. The ratio of the number thereshould have been over the difference between theframe count of the tirst time statement and the framecou nt of the last is the reciprocal of the rate at whichthe keyboard was operating. This ratio is used tocorrect the frame counts of all lines in the record. Thelogical file is rewound and after each line is read, thefile is backspaced. the product of the ratio times theframe count is formed. the real-time equivalent isforrued, and the line is rewritten into the file with acorrected real time and with the product as its revisedframe count.

Program COMBOProgram COMBO is a third-stage data processing

program that organizes the raw records of the primaryand secondary observers from the priority of access towater test described above (see AN APPLICAnON)into the output depicted in Figure 1. Each observer'srecord is copied into a logical tile on the disk. Theprogram scans each record for its first and last timestatements. If at least two time statements are foundin each record. the program is ready to reframe them~\.J that they can be put into registration.

Reframing within each record is done in themanner described above for program REFRAM,except that after the ratio between the expected sweepcount and observed sweep count is computed, theproduct of the ratio times the frame count of the firsttime statement is subtracted from the integer 10,000and the difference is assigned to a constant. Thelogical tile into which the record was placed is thenrewound and. as each line is read. the frame count ismultiplied by the ratio and the product is added to theconstant so that the relative time of each line iscorrected and put into the register on the first timestatement. which has been arbitrarily assigned theframe count of 10,000. At the end of tile, the program

switches to the second record and operates upon it inlike manner. so that the relative time of each of itslines is corrected and in register on the first timestatement. which again has a frame count of 10.000.Since the! of the first time statement in each recordwas entered by one observer pushing the! key on eachkeyboard simultaneously. the two records are now inregistration with each other.

To output the two records in registration, the logicaltiles are rewound, and. reading a line from eachrecord as required. the frame counts of the currentlines from each record are compared. If they arewithin .5 sec (10 sweeps) of one another. the lines areprinted together with the real-time equivalent of theframe count from the primary observer's record. Thenext line in each record is then read and the framecounts compared. If the frame counts are more than.5 sec different. the line with the lower frame count isprinted with its real-time equivalent. and the next linein that record is read. Thus, the data from the tworecords are output together in the temporalrelationship in which they were originally recorded.

This technique of combining records in temporalregistration is also being applied to repeatedplaybacks of cine tilmed and video taped sequences ofbehavior among monkeys and children. Eachindividual in the visual record is followed as a focussubject and its behavior is encoded on an SSR systemkeyboard. The visual record is then rewound and thenext individual is followed as focus subject. To insurea constant time base for the multiple playbacks, themarkers at the beginning and the end of the visualrecord are entered on each individual's keyboardencoded record. To verify the time base of thekeyboard, time statements are also entered at thebeginning and the end of the keyboard record. Theonly time error that cannot be controlled is that due tovariation in the user's reaction time. After allindividuals have been followed, their records can becorrected and put into registration for parallelprinting, evaluation, and analysis.

SYSTEM ADAPTABILITYAs has been indicated throughout this report, the

logic of the SSR system is readily adaptable to a widevariety of user problems because most of its featuresare arbitrary and software defined. The set ofcharacters. the functions of characters. even thenumber of characters. can be changed. Of course, tochange the number of characters would requirecorresponding changes in the number of stages onthe ring counter and in the values of some of thevariables that are used for counting in the first stageof transcription. All of the other changes that we haveimagined can be done by modifying only the software.For example. to change the time base for propertiming of records entered from cine tilms projected atother than normal speed. the number of sweeps thatequals a second can simply be redetined. Even at themore basic level of different word lengths in different

THE SSR SYSTEM 277

computer memories. fitting the 48 bits of each sweepinto. for example. three words of lb-bit length insteadof two words of 24-bit length is fairly straightforward.Once implemented. this capacity for easy softwaremodification of its basic characteristics allows theSSR system to be readily adapted to meet user'schanging needs.

REFERENCE NOTES

1. Sykes, R. E. Midcars: Minnesota interaction data codingand reduction system. Observations, 1971,1,1-8. Available fromObservational Research. University of Minnesota, 2122 RiversideAvenue. Minneapolis, Minnesota 55455.

2. Sackett, G. P., Stephenson, E., & Ruppenthal, G. C.Portable digital data acquisition systems for observing primatebehavior in laboratory and field settings. Paper presented at IVthInternational Congress of Primatology, Portland, Oregon.

3. Stephenson, G. R., Smith, D. P., & Roberts, T. W. TheSSR recorder: An event recording system with computerizedtranscription. Abstract for AAAS oral presentation in AmericanZoologist, 1970, 10,483-484.

REFERENCES

ALEXANDER, B. K., & HARLOW, H. F. Social behavior of juvenilerhesus monkeys subjected to different rearing conditionsduring the first six months of life. Zoologische Yahbruch derPhysiologie, 1965, 71, 489-508.

BOELKINS. R. C. Determination of dominance hierarchies inmonkeys. Psychonomic Science, 1967,7,317-318.

BERNSTEIN, I. R. Primate status hierarchies. In L. A.Rosenblum (Ed.), Primate behavior: Developments in fieldand laboratory research (Vol. 1). New York: AcademicPress, 1970. Pp. 71-H>9.

CLARK, D. L.. & DILLON, J. E. Evaluation of the waterincentive method of social dominance measurement inprimates. Folia Primatologica, 1973, 19, 293-311.

DAWKINS, R. A cheap method of recording behavioural events fordirect computer-access. Behaviour. 1971, XL, 162-173.

KAWAI, M. On the rank system in a natural troop ofJapanese monkey. 1: The basic and dependent rank.Primates, 1958, I, 111-113.

MISSAKIAN, E. A. Genealogical and cross-genealogical dominancerelations in a group of free-ranging rhesus monkeys tMacacamulatta) on Cayo Santiago. Primates, 1972, 13, 169-180.

STEPHENSON, G. R. Cultural acquisition of a specified learnedresponse among rhesus monkeys. In D. Stark, R. Schneider,& H. J. Kuhn (Eds.), Progress in primatology.Stuttgart: Fischer, 1967. Pp. 279-288.

STEPHENSON, G. R. Testing for group specific communicationpatterns in Japanese macaques. In E. W. Menzel (Ed.),Symposium of the IVth International Congress of Primatology(Vol. 1) Precultural primate behavior. Basel: Karger ,1973. pp. 51-75.

STEPHENSON, G. R. Social structure of mating activityin Japanese macaques. In S. Kondo, M. Kawai, A. Ehara, &S. Kawamura (Eds.), Symposia of the Fifth Congress of theInternational Primate Center. Tokyo: Japan Science Press,1975. Pp. 63-115.

VARLEY, M., & SYMMES, D. The hierarchy of dominance in agroup of macaques. Behaviour, 1966, XXVD. 54-75.

WEISBARD. C. The effect of parturition and group compositionon competitive drinking order in stumptail macaquesiMacaca arctoides). Primates, 1975, in press.

WHITE. R. E. C. Wrats: A computer compatible system forautomatically recording and transcribing behavioural data.Behaviour. 1971. XL, 135-161.

(Received for publication August I. 1975;accepted for publication August 10, 1975.)