Citation
Implementation, collection, and processing of visual evoked responses (CPVER) for cognitive studies

Material Information

Title:
Implementation, collection, and processing of visual evoked responses (CPVER) for cognitive studies
Creator:
Arroyo, Amauri Antonio, 1949- ( Dissertant )
Childers, Donald G. ( Thesis advisor )
Perry, Nathan W. ( Reviewer )
Smith, Jack R. ( Reviewer )
Selfridge, Ralph G. ( Reviewer )
Couch, Leon W. ( Reviewer )
Place of Publication:
Gainesville, Fla.
Publisher:
University of Florida
Publication Date:
Copyright Date:
1981
Language:
English
Physical Description:
viii, 281 leaves : ill. ; 28 cm.

Subjects

Subjects / Keywords:
Bytes ( jstor )
Covariance ( jstor )
Data collection ( jstor )
Data processing ( jstor )
Discriminants ( jstor )
Electroencephalography ( jstor )
Mathematical vectors ( jstor )
Scatter plots ( jstor )
Signals ( jstor )
Software ( jstor )
Cognition -- Experiments ( lcsh )
Dissertations, Academic -- Electrical Engineering -- UF
Electrical Engineering thesis Ph. D
Evoked potentials (Electrophysiology) -- Experiments ( lcsh )
Genre:
bibliography ( marcgt )
non-fiction ( marcgt )

Notes

Abstract:
Single Visual Evoked Responses (SVERs) elicited from human subjects can be used to study sensory and perceptual processes. the philosophy behind the design and implementation of a computer laboratory facility to collect and process visual evoked responses (unaveraged or single EEG records) is described and expounded. The resulting system has been used to collect and process Evoked Potentials (EPs) for a series of cognitive experiments. The "off-line" data processing subsystem has been used to process the SVERs with classification error rates as low as )% (perfect) for both design and test sets. Operator guides for the software and hardware procedures are described in the appendices.
Thesis:
Thesis (Ph. D.)--University of Florida, 1981.
Bibliography:
Includes bibliographic references leaves (174-177).
General Note:
Typescript.
General Note:
Vita.
Statement of Responsibility:
by Amauri Antonio Arroyo.

Record Information

Source Institution:
University of Florida
Holding Location:
University of Florida
Rights Management:
Copyright [name of dissertation author]. Permission granted to the University of Florida to digitize, archive and distribute this item for non-profit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
Resource Identifier:
028499857 ( ALEPH )
08557480 ( OCLC )
ABU2909 ( NOTIS )

Downloads

This item has the following downloads:


Full Text













IMPLEMENTATION, COLLECTION, AND PROCESSING OF
VISUAL EVOKED RESPONSES (CPVER) FOR COGNITIVE STUDIES
















BY


AMAURI ANTONIO ARROYO


A DISSERTATION PRESENTED TO THE GRADUATE COUNCIL
OF THE UNIVERSITY OF FLORIDA IN
PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF DOCTOR OF PHILOSOPHY


UNIVERSITY OF FLORIDA


1981



































Copyright 1981

by

Amauri Antonio Arroyo





































TO LYDIA















ACKNOWLEDGEMENTS


The author wishes to express his gratitude, appreciation and high

esteem to his advisor, Dr. D. G. Childers, for his direction, support,

guidance, and determination throughout the course of this research,

and throughout all of the author's graduate studies.

The author is particularly grateful to Dr. R. G. Selfridge, whose

moral support and encouragement have been a source of strength during

the last decade.

He is also thankful to Dr. N. W. Perry, Jr., and Dr. I. S. Fischler

for many stimulating discussions. The author is grateful to

Dr. J. R. Smith and Dr. L. W. Couch for serving on the committee and

for their guidance. He also wishes to express his appreciation to

fellow graduate students P. A. Bloom and T. Achariyapaopan for their

many stimulating discussions, encouragement, and moral support.

The author is thankful to Mrs. Edna Aquino, Mrs. Gloria Luiggi,

Mrs. Amarilys Quevedo, Miss Arlene Arroyo and Mr. Armando Quevedo for

their encouragement, prayers, and their help in many ways.

The author wishes to thank his wife Marilyn, who not only edited

and typed this dissertation, but whose love, patience, understanding

and support have made this work possible.

The author is MOST grateful and eternally indebted to his mother,

Lydia. Her hard work, sacrifice, love, patience, support, and encour-

agement have been the motivating force behind the author's accomplish-

ments, life, and work.











The author acknowledges, that above and beyond all, the acceptance

of the Lord Jesus Christ as his personal Saviour has been the key to

any and all fruit of his endeavor and reserves any and all glory and

praise to the Almighty, Yahweh God.













TABLE OF CONTENTS



Page

ACKNOWLEDGEMENTS . . . . . .. iv

ABSTRACT . . . .. . . viii

CHAPTER

I OVERVIEW OF CPVER . . . . .. 1

1.1 Introduction and General Objectives . .
1.2 Single Visual Evoked Responses!
A Signal Processing Perspective . . 5

1.2.1 Signal Extraction Methodology . 7
1.2.2 Signal Classification Methods . 9
1.2.3 A Framework for Real-Time Classification 10

1.3 Technical Approach . . . ... 14

1.3.1 Functional Specification of CPVER .. 14
1.3.2 Software Overview . . ... 17
1.3.3 Equipment Overview . . ... 19

1.4 Preview of Remaining Chapters . . .. 21

II IMPLEMENTATION OF CPVER--THE DATA COLLECTION
SUBSYSTEM . . . . ... .... .22

2.1 Introduction . . . ... .22
2.2 Data Collection Subsystem Overview . .. 22
2.3 Experimental Application Overview . .. 23
2.4 Real-Time Stimulus Presentation and EEG
Data Collection . . . ... 25
2.5 Data Averaging and Display . . ... 37

2.5.1 The EEG Data Averaging Module . .. 37
2.5.2 EEG Data Display Module . . .. 39
2.5.3 Single Epoch Display . . .. 41

2.6 Data Storage Conventions . . ... 41

III IMPLEMENTATION OF CPVER DATA PROCESSING SUBSYSTEM 44

3.1 Introduction . . . .... .44









3.2 Data Processing Subsystem Overview . ... 45
3.3 Experimental Overview. . . . ... 46
3.4 Feature Extraction Methodology . ... 49
3.5 Feature Extraction Software . . ... 53

3.5.1 Covariance Estimator Module--COVEST .. 57
3.5.2 Discriminant Vector Estimator Module--
DVEST . . . ... .62

3.6 ERP Classification Software--
The SCATTER Module . . . ... 64
3.7 Data Processing/Data Storage Conventions ... 69

IV IMPLEMENTATION OF CPVER DATA COLLECTION/PROCESSING
INTERFACE . . . . ... ... 72

4.1 "Off-Line" Implementation of CPVER . ... 72
4.2 "Real-Time" Implementation of CPVER. . .. 74

V APPLICATIONS OF CPVER--A STUDY OF COGNITIVE PROCESSES 78

5.1 Experimental Design . . . .. 78
5.2 Summary of CPVER Data Processing Results ... 85

VI CONCLUDING REMARKS AND FUTURE WORK . ... 171

REFERENCES . . . . ... . .... 174

APPENDICES . . . ... . ... 178

1 Equipment Checklist Procedure . . ... 179
2 CPVER Software User's Guide . . ... 184
3 CPVER Module Listings . . . ... 190

3A CPVER Data Collection Software . ... 191
3B CPVER Data Processing Software . ... 206
3C CPVER Support Modules Software . ... 227
3D CPVER File Details Software . . ... 259
3E CPVER Command Modules Software . ... 266

BIOGRAPHICAL SKETCH . . . . ... . 282


vii
















Abstract of Dissertation Presented to the Graduate Council
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy








IMPLEMENTATION, COLLECTION, AND PROCESSING OF
VISUAL EVOKED RESPONSES (CPVER) FOR COGNITIVE STUDIES

By

Amauri Antonio Arroyo

December 1981


Chairman: D. G. Childers
Major Department: Electrical Engineering

Single Visual Evoked Responses (SVERs) elicited from human

subjects can be used to study sensory and perceptual processes.

The philosophy behind the design and implementation of a computer

laboratory facility to collect and process visual evoked responses

(unaveraged or single EEG records) is described and expounded.

The resulting system has been used to collect and process Evoked

Potentials (EPs) for a series of cognitive experiments. The "off-

line" data processing subsystem has been used to process the SVERs

with classification error rates as low as 0% (perfect) for both

design and test sets. Operator guides for the software and hardware

procedures are described in the appendices.


viii















CHAPTER I
OVERVIEW OF CPVER



1.1 Introduction and General Objectives


The need for understanding the neural processes underlying human

perception and behavior has motivated the recent unification of

psychology, neurology, engineering and Computer Science into inter-

disciplinary teams studying.electrical responses evoked from the human

brain. The experimental approach has been to measure the electrical

activity of localized populations of neurons in the brain during the

performance of specific perceptual or behavioral tasks. The activity

of neurons generates electric currents that are transmitted through

the skull, thereby causing minute voltage changes known as the electro-

encephalogram (EEG). These neuronal responses can be recorded with

non-invasive disk electrodes taped to the scalp. The EEG reveals

little about sensory perception because of the absence of specific

correlation to sensory stimuli. The evoked potential technique attempts

to focus on the neuronal potential that is directly evoked to specific

sensory stimuli. This process supposedly recruits and synchronizes

numerous neurons so that the evoked response to a particular stimulus

exceeds the on-going background activity.

The availability of the evoked potential has helped to reveal

specific brain activity where information is handled simultaneously

in multichannel fashion; it can be used to distinguish organic











disorders from psychogenic ones; and it can provide an objective indica-

tion of sensory function where conventional perceptual tests are un-

reliable or impractical (patients, infants, the severely handicapped,

etc.).

The main problem in recording evoked potentials (EP) is detecting

them at all, since they are imbedded in the composite electrical

activity of the brain as a whole (EEG). Whereas the EEG signal

reaches amplitudes of 50 to 100 microvolts, single evoked potentials

(EPs) are often in the range of 1 to 5 microvolts and may be as small

as 0.5 microvolts. The signal energy appears confined mostly to low

frequencies, e.g., around the 10 Hz alpha rythm. This continuous

activity is spatially distributed over the scalp and can be, at best,

described as a piecewise stationary process. The evoked potential

(EP) (evoked response (ER) or event related potential (ERP)) is the

desired signal and to the ER investigator the EEG signal represents

unwanted and overwhelming background noise.

Event related potentials (ERPs) may be induced by other than

sensory events. Short latency ERPs are those whose presence is most

prominent in the 50 ms to 150 ms range following the stimuli and

include sensory ERPs elicited by visual (VER), auditory (AER), soma-

sensory (SER) and olphatory (OER) as well as by direct electrical

stimulation (EER). Motor ERPs are responses found accompanying

voluntary movement that may in fact precede the actual behavioral

event. Examples of motor ERPs include phonation, eye movement and

limb movement. Long latency ERPs refer to potentials whose presence

is detected in the 250 to 450 ms range following the stimuli. Most










prominent in the literature is the positive deflection occurring

around 300 ms (P300) and more recently, the negative component

around 400 ms (N400) [1] has been discussed. These components

are enhanced by subject expectation (novelty or familiarity) and

task relevance to stimuli.

Artifacts are potential fluctuations of non-neuronal origin such

as electroocular potentials (EOG), muscle potentials from neck, scalp

or face (such as eyeblinks), electrocardiographic signals (ECG), and

external electric or magnetic field interference.

Because of the large differences in magnitude between the ERP and

the on-going EEG signal, unrelated to the event of interest, the ERP

competes with the EEG for "signal space" and as such the EEG constitutes

or plays the role of noise. If a deterministic, repetitive signal

is added to random noise and the time occurrence of the signal is

accurately known, averaging becomes an effective tool for enhancement

of the signal. Conventional averaging, however, is subject to the

following assumptions about the entire EEG process. First, the moni-

tored composite scalp brain wave f(t) is composed of an ERP signal

component s(t) and an additive noise component n(t) represented by

the on-going EEG waveform; e.g., the noise is purely additive. Second,

the ERP signal s(t) is usually assumed to be deterministic; e.g., that

for the same stimulus and subject, the ERP signal will faithfully

repeat itself given the same stimuli. Third, the noise component is

not time-locked to the presentation of the stimulus. Aunon et al.[2]

give a detailed discussion of conventional averaging as applied to

evoked potential research.











Evidence exists, however, that individual evoked responses s(t)

do indeed change from stimulus to stimulus, thereby rendering conven-

tional averaging an ineffective tool for signal enhancement. Ideally,

one would like to recover the event related information from the elec-

trical potential on the basis of single events (individual responses

or "single epochs" in real time) as they occur during an experiment.

This represents a major challenge when considering that effects of

instrumentation noise and artifacts are more critical in the absence

of averaging.

The study of cognitive brain function is currently a major area

of interest in experimental psychophysiology and behavioral psychology.

The possibility exists that single ERPs can provide an objective

measure of brain processes involved in learning, memory functioning

and problem solving. The ability to discriminate or classify single

ERPs, on-line, and provide feedback to the subject for conscious

validation could bring to this field the same advantages enjoyed by

other classical behavioral experiments, mainly that of subject parti-

cipation. These biofeedback-type experiments could give much insight

into psychological behavior and could have applications to such areas

as communication with the severely handicapped and infants or improved

automatic response aids for airline pilots and astronauts, to name a

few.

The major objective of this research is the development and

implementation of an integrated ERP collection and processing labora-

tory facility to be used in conjunction by psychologists, scientists

and biomedical engineers to study the cognitive functions of the human











brain. Keeping in mind the desire for "on-line" classification and

biofeedback, the goal was to develop and standardize procedures, soft-

ware, optimize hardware participation, minimize operator intervention,

reduce total subject participation time, and design enough flexibility

and generality into the system to accommodate new and novel experimental

paradigms [3]. In addition, the need for making it simple to learn and

operate the software has become a significant area of interest, and as

such a secondary goal for the University of Florida (UF) collection

and processing of visual evoked response (UF-CPVER) system.



1.2 Single Visual Evoked Responses!
A Signal Processing Perspective


Evoked responses have been used to find clues to the functioning

of the human brain [4, 5, 6]. However, the use of evoked potentials

has not become wide-spread due to major problems such as large inter-

subject variability [7, 8], within subject variability [9], artifact

contamination etc.

If individual evoked responses change from stimulus to stimulus,

then the time average may contribute very little to the characteriza-

tion of the response. The single evoked potential may then be a viable

alternative. This is particularly true in certain kinds of cognitive

studies. One such study requires the subjects to perform a "sentence

verification" task that has been used extensively in behavioral re-

search of human semantic memory [1, 10, 11, 12]. The stimuli in these

experiments cannot be repeated numerous times because, presumably,











the response to previous sentences could become overlearned. The

response could then become one of simple association rather than a

decision process employing long-term memory, incorporation of overall

meaning and evaluation with respect to the correctness of a proposition.

The detection of the single evoked potential represents a formidable

challenge to the signal processor especially in the presence of such

experimental constraints.

Recent articles by John, Ruchkin, and Vidal [13], Freeman [14],

and Brillinger [15] concisely document methods of ERP analysis. Five

major types of measurement problems have been identified by John et al.

[13] as follows:

1) The extraction of ERP "signals" from EEG "noise." Signal

classification methods are better suited for handling non-

homogeneous signals, such as the SVER, than averaging, but

averages can be used for artifact identification and for

short latency ERP contributions.

2) Extraction of quantified features from, or a quantitative

description of, signals after separation from noise. Special

feature extraction algorithms can be used to describe specific

aspects of the ERP. Examples include principal components,

Fourier Analysis, the eigenvalue/eigenvector methods of

Roucos and Childers [12], etc.

3) Analysis of relationships between signals as dependent

variables and experimental manipulations of stimuli, environ-

mental conditions or state of the system as independent

variables. ANOVAS, t-tests and stepwise discriminant analysis

are examples of techniques used in this area.











4) Analysis of relati

regions caused by

signals in the sam

stimuli. Factor

discriminant analy

successive or diff

5) Analysis of relati

caused by the same

Cluster Analysis,

inant functions ar

tween groups of su

"a-priori" classes

1.2.1 Signal Extraction Me

The simplest model of

an (assumed) invariant sign

generous data the method of

for extracting the signal f

model is quite valid for an

latency contributions to ER

least valid for the longer

activity. The average ERP,

ification of certain types


nships between signals in different

he same stimulus or between successive

region caused by successive or different

alysis, sorting methods and stepwise

is can be used to classify ERPs to

rent stimuli.

nships between signals in the same regions

stimuli delivered to different individuals.

actor Analysis, Multiple ANOVA or discrim-

methods used to describe differences be-

jects identified as members of different



hodology

n evoked response consists of the sum of

1 and random background noise. For homo-

esponse averaging may be a valid procedure

om the noise in which it is imbedded. This

sthetized subjects, and for the short

s which reflect sensory processes. It is

latency components associated with cognitive

however, may be quite useful in the ident-

of artifacts.


1) The following methods are recommended as precautionary

measures for the detection of artifacts by John et al. [13].

First, it is highly advisable to examine visually at least

a representative sample of single ERPs. The vertical array











display of stimulus-aligned (stimulus-lock) data described by

John et al. [16] is easily implementable. An alternative

implementation is obtained by displaying the ERP in a three-

dimensional coordinate system, where "surface" effects are

more readily identified [11, 17, 18]. Second, it is extremely

useful to compute the standard deviation or the variance at

each latency point in the epoch.

2) Prefiltering of evoked responses prior to visual inspection

of single trial records may be profitable if the filter

attenuates activity in the following range(s) where the noise

is dominant. Digital filtering techniques are a convenient

way of implementing such filters. Other filtering techniques

of interest includes the Linear Prediction, Autoregression,

and Maximum Entropy Analysis [19, 20], the MMSE and MSNR method

of Aunon and McGillem [21], Matched Filtering [22], Weiner

Filtering [23, 24, 25], Cross and Autocorrelation [26], and

Adaptive Filtering [27, 28, 29].

3) Signal averaging across response-aligned (response-locked)

ERPs can potentially enhance the evoked response and/or the

artifact. Problems will arise if ERPs persist beyond the

time of occurrence of subsequent stimuli, therefore as a rule

of thumb, the effective time span of the range of variation

of the interstimulus intervals should be greater than the

period of the lowest frequency component of the overlapping

activity to be attenuated by averaging.










4) Adaptive Correlation Detection [28,29] is a method that can

be used for averaging variable latency (non-homogeneous)

signals. McGillem and Aunon [25] have devised a near optimal

algorithm that uses pre-filtering techniques to attenuate the

signal in frequency ranges where the S/N ratio is relatively

low. However, these strategies cannot deal accurately with

cases in which there exist significant signal components

within the analysis epoch which are not phase-locked to the

major signal peak. Classification procedures may be the only

way to analyze such data.



1.2.2 Signal Classification Methods


Although signal classification methods are more difficult, and

feature extraction and selection is not straightforward, they are often

capable of providing accurate results in cases where it would be hope-

less to use signal-extraction methods. For single ERPs, these methods

may be used for: 1) Identification of "protypic" responses and 2)

identification of sequences-of-states in the process. Sorting methods

and stepwise discriminant analysis are procedures suitable for the

identification of prototypic responses corresponding to each state

(of the subject-environment system) of interest. In the latter case,

there may exist non-random variations in the nature of the signal which

reflect different stages in some process, such as decision-making. The

features of the signal are not only themselves of interest, but each

different form of the signal may reflect some characteristic response

mode of the system.










Single epoch classification with no training data (sorting methods)

require two general steps: 1) Determination of the characteristics

of the non-homogeneities and 2) classification of the individual ERPs

into homogeneous subgroups. Quantitative assessment of non-homogeneity

can be made by computing for each time point a chi-squared measure

for the fit of the amplitude histogram to a normal distribution, and

the number of modes of the profile of the histogram. Such methods

must be used with care for if misused, the method can say "yes" to

almost any proposition [13].

Single epoch classification with training data discriminantt

analysis) was pioneered by Donchin et al. in the late 1960's [30].

Studies by Vidal [9], Childers et al. [11,12,17,19] and others [20]

have shown unequivocably that under suitable conditions, extremely

reliable classification of single ERPs can be performed. These

methods can open the door to a new realm of experiments in which

cognitive variables that vary from trial to trial may be manipulated

and sorted out. The ultimate goal of the signal classification

methodology is to recognize single visual evoked responses to meaning-

ful stimuli in real-time.



1.2.3 A Framework for Real-Time Classification

The following constitutes a general framework of procedures to be

considered in the generation of a system to do "on-line" real-time

classification. The summary in John et al. [13] provided a starting

basis for this framework.










Artifact rejection. This procedure detects electroocular and

movement artifacts (EOG artifacts, eyeblinks, head movement, etc.)

before and during the ERP epoch. On-line artifact rejection is

fundamental to the real-time approach and is essential to the overall

strategy. Peak detection algorithms with the width of the window and

threshold value as adjustable parameters are used for this purpose.

Artifact monitoring must continue throughout the data acquisition

period. The detection of an artifact then aborts the trial and re-

schedules the stimulus event.

Preprocessing--Wiener filtering. Real-time filtering may be

performed to improve the signal-to-noise ratio based on covariance

information [21,23,24,25].

Selection of a feature vector. Data reduction techniques are

applied to the digitized EEG data in order to reduce the dimensionality

of the measurement vector. In cases where the number of samples/class

is small compared to the dimensionality of the observation vector, the

data classification method may be unreliable [11,12,31]. This ratio

must be increased in order to improve the reliability of classification.

As features are selected, the probability of error will decrease, up

to the point where additional unreliable features are added. Beyond

this point the population PEwill increase [11,12,32-38]. Care must be

taken when using eigenvector expansions, because the largest principal

component may yield a very poor feature for some data sets, particularly

those where two classes have different means but equal covariances.

The mean difference along this principal component may be zero [11].

Cognitive studies demand special consideration because the number of











samples/class cannot be increased given a certain experimental

paradigm. For these small sample cases few feature extraction algo-

rithms are available.

Stepwise selection of best features. As mentioned earlier, there

may exist an optional set of features that achieves the lowest PE.

Selection of these features is based upon Fisher's ratio [39], a type

of class separability [40]. Algorithms developed by Childers et al.

[11,12] solve the stepwise selection problem.

Design or training set. Discriminant analysis-type methods

require a "training set," e.g., a set of labelled epochs of known

classes to guide the data reduction (feature extraction) procedure in

the selection of an optimal set of features.

Epoch classification and outlier rejection. A linear Bayesian

decision rule is calculated for each pair of hypotheses (classes).

The performance of this rule (PE) is estimated using the elements of

the design set. The PE thus obtained gives an optimistic value for

the true PE of the system. The classifier design algorithm attempts

to obtain the lowest PE for the design set and establishes a rejection

region for outliers. Interactive graphic packages, clustering tech-

niques, nearest neighbor rules etc., are useful procedures to use for

the automatic design of an "optimum" classifier [41-43].

Test set or real-time defaulting. Once the decision rule is

established on the design set, real-time classification ("testing")

can proceed with a minimum of computing time between epoch acquisition.

The only calculation involved is the evaluation of the linear decision

rule. This task can, of course, be performed on an independent set











of trials commonly labelled the "test set." The probability of error

(PE) thus obtained gives a pessimistic value for the true PE of the

system. Therefore the bounds (PEd, PEt) establish the performance

of the combination feature extractor/classifier algorithm.

Decision rule updating. By making the procedure recursive,

blocks of epochs can sequentially serve as training sets for the

next string. This capability allows for decision rule updating

where the "behavior" of a subject may be monitored and investigated

and an objective measure obtained of such brain processes as learning

and problem solving. Experimental paradigms involving biofeedback

may then become plausible alternatives in cognitive research.













1.3 Technical Approach


Attention is now focused on the major components that comprise

an ERP collection and processing laboratory facility. For design

purposes, the application is partitioned into three levels: 1) The

development of a complete set of functional requirements (specifica-

tions) that describes, in precise terms, the overall performance of the

integrated system; 2) the development of a set of software modules to

supervise and control the ERP collection phase, and signal processing

modules to recognize the single visual evoked response to meaningful

stimuli; 3) identification of the hardware (equipment) used to imple-

ment the system and the development of special-purpose software (for

example a display routine to drive an oscilloscope) to use this equip-

ment in EEG applications.

1.3.1 Functional Specification of CPVER


The major functional blocks of the CPVER system are depicted in

Figure 1-1. The figure shows general system flow, hardware components,

software components, and external or environmental interaction (the

operator, for instance). The overall (technical, objective and func-

tional) specification is made up of varying amounts of (emphasis on)

efficiency, maintainability, modifiability, generality, flexibility and

utility. These are components of objective system quality, e.g., the

best implementation in established terms, within recognized limitations,

while making compromises required by working in the real world.































A
r(t)


Figure 1-1 CPVER Functional Diagram










Broadly speaking, the following criteria were incorporated into

the overall performance requirements of the system:

1) To reduce total subject participation time in order to mini-

mize fatigue and to meet the experimental paradigm requirements.

2) To reduce the number of personnel required to supervise and

control the data collection effort to a minimum of one or

two persons.

3) To increase the participation of the computer in all aspects

of data collection and processing, e.g., to make the system

more automatic and to optimize hardware participation.

4) To design enough generality (the system's ability to be

widely used and adaptable to many variations in application

and/or environment) into the system for its use in a broad

class of cognitive experiments.

5) To build enough flexibility into the system by increasing

the extent to which more control over the behavior of the

system resides in the input data or the resident data

(specifications tables) than in the instructions themselves.

Also by increasing the number and variety of internal controls

(flags) that are made externally available.

6) To modularize the implementation in order to increase the

reliability of the components. System reliability is also

increased by reducing the number of decisions and inputs

required of the operator.

7) To use structured design concepts and structured programming

in order to influence the cost of keeping the system viable










in the face of changing requirements modifiabilityy), while

keeping the productivity of the system in a relatively

constant environment maintainabilityy).

8) To make the system simple to use, e.g., to make it "menu"

or "a la carte" driven.

9) To increase the utility of the system by standardizing

procedures and software modules, especially those which

control peripheral devices such as the A/D converter, oscillo-

scope, three-dimensional display, etc. This is a very impor-

tant consideration in a research laboratory facility.

10) To perform single VER extraction and classification in real-

time or in near real-time.

All of these factors have been given consideration in the design

of the CPVER system. However, in the event that a compromise between

criteria was required, items 10, 1, 2, 3, 8 and 9 were given precedence.



1.3.2 Software Overview


The software modules of CPVER consist of: 1) A "real-time" stim-

ulus presentation and EEG data collection module, 2) a set of data

averaging and data display modules, 3) feature extraction modules,

4) an ERP classifier module, and 5) a set of special-purpose modules

to control non-standard peripherals or to enhance the participation of

standard peripherals (such as the use of the "off-line" capability of

the Hewlett-Packard (HP) 2648A terminal).










The "real-time" stimulus presentation and EEG data collection

module schedules the statement propositions, collects the digitized

EEG, monitors the EOG signal for eyeblink artifacts, reschedules

stimulus presentation, schedules and collects a calibration signal

from each EEG channel, and schedules and presents photic stimuli in

order to obtain an "averaged" VER which is used for a baseline deter-

mination.

The data averaging and display routines display the collected EEG

signal from a given channel for operator inspection and signal valida-

tion. Evoked response averages are used to detect certain types of

artifacts not readily observable from single epoch inspection, and to

establish the adherence of the collected EEG to "expected" behavior

(there should be a signal peak on the stimulus-aligned averaged VER,

shortly after the onset of each stimulus segment presentation).

The feature extraction software consists of two major routines,

a discriminant vector estimator module and a covariance matrix esti-

mator module. The purpose of feature extraction is to reduce the

dimensionality of the measurement vector in order to improve the

probability of correct classification [11,12].

The ERP classification module derives a linear Bayesian rule from

the projection of a subset of the ERP trials (design set) onto the

selected feature space. The module produces a design scatter plot

from the points obtained by forming the dot product between the fea-

ture vectors and the data [11,12]. This is followed by a search algo-

rithm which shifts and/or rotates the perpendicular bisector of the










centroids of the two data classes (the decision boundary line) until

the probability of error for the design set is minimized [11].

Special-purpose software modules were developed for the following

applications: 1) Analog-to-digital conversion for a set of signal

channels on programmed input-output mode, synchronized to either an

internal clock, an external clock, the CPU basic instruction cycle or

no synchronization, 2) digital-to-analog conversion using either pro-

grammed I/O mode or the data channel (DMA) facility for one or two

channels with or without blanking pulses, 3) oscilloscope driver,

4) DEVELCO 3-D display driver, 5) keyboard interrupt facility, 6) inter-

rupt disabled FORTRAN "TYPE" statement, 7) graphics and device control

drivers for the HP 2648A terminal, and 8) a pulse generator for trigger-

ing the Grass Instruments xenon photo stimulator.



1.3.3 Equipment Overview-- Hardware


The various functions performed by the hardware are also depicted

in Figure 1-1. CPVER uses both instruments that are available "off-

the-shelf" in most electrical engineering laboratories and custom-built

equipment. The implementation of the CPVER system is greatly influenced

by the type of computer that is available, its operating system, and its

attached peripherals. In many instances, a desired capability was

obtained by interconnecting a module from a given piece of equipment

to another.

The following equipment was used to implement CPVER:










1) DGC NOVA 4 minicomputer with 256 KB semiconductor memory and

the floating-point hardware option running the MAPPED RDOS,

Revision 6.62, operating system and an Inter-Processor Buffer.

2) DGC NOVA 2 minicomputer with 64 KB core memory and a hardware

multiply/divide option running the RDOS, Revision 6.52, oper-

ating system and an Inter-Processor Buffer.

3) A DGC 6070 Moving Head Disk storage facility (2-10 MB disk

cartridges, one removable, one non-removable).

4) A DGC 4047B Moving Head Disk storage facility (2-2.4 MB

removable disk cartridges).

5) Hewlett-Packard 2648A Graphics Terminal with printer/plotter

attachment.

6) B-W TV monitor with variable horizontal high-frequency

adjustment.

7) EEG amplifiers with 1 to 50 Hz bandwith and 50% attenuation

at 1 and 50 Hz.

8) DEVELCO 3-D Axis Display consisting of a control and A/D

unit, a core memory unit and a high-resolution video monitor.

9) Grass Instruments polygraph recorder.

10) Grass Instruments xenon photo stimulator.

11) DGC Model 4330-A Digital Analog Subsystem.

12) Analog Digital Subsystem for the NOVA 2 computer [44].

13) Two Televideo, Model TVI-912B CRT terminals.

14) Oscilloscopes, low-pass filters, high-pass filters, ampli-

fiers, power supplies, pulse generator, EEG signal calibrator,

subject response pulse generator, scalp electrodes and associ-

ated supplies, audio "white" noise generator, a ventilated











Faraday shielded room, and various types and lengths of

cabling.

Prior to any data collection effort, the equipment must be in-

spected, prepared and tested for proper operation in order to minimize

instrumentation interference and prevent equipment failures during the

experimental sessions. A standardized procedure and equipment check-

list (see Appendix 1) has been developed for this purpose. This pro-

cedure has been found effective in minimizing unexpected equipment

failures, and in the "debugging" of the hardware in the event a mal-

function is detected and the faulty component is not obvious.



1.4 Preview of Remaining Chapters


The remaining chapters of this work present a survey of the CPVER

implementation, results, and future research.

Chapter II gives the details of the implementation of the data

collection subsystem. Chapter III discusses the data processing

subsystem. Chapter IV discusses the interfacing of data collection

and processing into an integrated "menu" driven system. Chapter V

provides details on the experiments conducted using the CPVER system.

Chapter VI presents some concluding remarks.

The appendices includes the hardware and equipment checklist, the

software user's guide and program listings.
















CHAPTER II
IMPLEMENTATION OF CPVER
THE DATA COLLECTION SUBSYSTEM



2.1 Introduction


The implementation details of the EEG data collection subsystem

are described in this chapter. Software philosophies and experimental

procedures are explained from the system designer's point of view. The

chapter is divided into the following subsections: 1) Data Collection

Overview, 2) Experimental Application Overview, 3) Real-Time Stimulus

Presentation and EEG Data Collection, 4) Data Averaging and Display,

5) Data Storage Conventions.



2.2 Data Collection Subsystem Overview


The goal of the CPVER data collection subsystem is to monitor

and digitize the EEG signal, from a number of scalp electrodes, that is

the response to a given stimulus presentation. The system must be

capable of eliminating trials that are found to have been contaminated

by artifacts, and reschedule the stimulus presentation. The data

collection software must be designed as an "on-line," "real-time,"

memory-resident package that has the capability to respond to various

kinds of external interrupts without abnormally terminating.










The data collection software is divided into two classes of

computer programs: One type is the "real-time" stimulus presentation

and EEG data collection and storage routines; the other is a set of

data display and averaging modules. The latter is used to validate

the collected data base by establishing general adherence to "expected

behavior." An example of this type behavior is the signal peaks that

are observable in averaged stimulus-aligned VERs shortly after the on-

set of the visual stimulus.

The data collection subsystem is invoked by the pseudo-macros:

COLLECT.MC, START.MC, VERAVERAGE.MC, or VERDISPLAY.MC. These RDOS

command modules set the necessary flags and bring into execution the

program modules necessary for the task at hand. The appendices provide

detailed program listings of the pseudo-macro commands and program

modules.



2.3 Experimental Application Overview


The details of the experimental applications that have been

conducted using the CPVER system are discussed in Chapter V. A brief

discussion of the experiments is included in this chapter for complete-

ness and to make this an independent chapter for reader convenience.

In the cognitive experiments conducted, cortical potentials were

recorded while subjects read and decided if simple propositions such

as "A robin is a bird" or "My name is Tony" were true or false. The

subjects were to decide rapidly and respond via switch activation. The

major purpose of the experiments was to collect the EEG, extract the










ERP and classify the single epochs into one of two possible classes,

e.g., correct or incorrect.

Five scalp electrode locations, F3, F4, C3, C4, Cz in the 10/20

EEG system, were to be monitored and digitized using nonpolarizing cup

electrodes. A timing/response channel, an EMG channel, and a diagonal

EOG channel were collected as well. Each EEG location was a monopolar

derivation to the linked mastoids. The data were to be digitized at

125 samples/second/channel (8 msec sampling interval on 1,000 Hz

sampling frequency over 8 channels). The amplifiers had a bandwith

from 1 to 50 Hz, with 50% attenuation at 1 and 50 Hz [45].

Prior to the conduction of the experiment, the operator performed

pre-operational checks on the equipment. The procedure and checklist

in Appendix 1 was used for this purpose. On the day of the experiment,

subjects were given appropriate instructions relevant to the particular

experiment. A 50 microvolt, 10 Hz calibrate signal was connected to the

input of all the EEG amplifiers. The operator verified proper operation

of the amplifiers by observing each channel on an oscilloscope and by

collecting and digitizing 512 samples from each channel.

The subject was then seated in a ventilated Faraday shielded

screen room and photic evoked response (ER) trials were collected

using a Grass Instruments xenon photo stimulator. The ER trials were

used to calculate an "average" visual evoked response that was dis-

played on an oscilloscope and visually inspected for proper shape and

magnitude. An invalid VER signal indicated probable amplifier mal-

function or improper electrode placement.










A practice session, using sentence presentations not used in the

experiment, was given to familiarize the subject with the task. The

visual stimulus was presented via a black and white TV monitor located

approximately 32 inches from the subject's eyes. The contrast and

brightness were adjusted to each subject's specifications for viewing

comfort. Each proposition was presented under computer control via

HP 2648A graphics terminal to which the TV monitor was connected.

The sentence, in the form of a proposition, was presented in three

segments to minimize eye movements, e.g.,

My name

is

Tony

The sequencing of the presentation of the sentence segments, with

respect to data acquisition, is presented in Table 2-1. The timing of

the segments and the subject's response were collected on one digitized

data channel. F3, Cz timing and the EOG were also monitored, via a

Grass Instruments polygraph, on-line during the experiments.

More than ten subjects have participated in various experiments

[17]. Experimental results and conclusions are also described by

Childers et al. [11,12,17,19] and Fishier et al. [1].



2.4 Real-Time Stimulus Presentation
And EEG Data Collection


The EEG experiment driver software is a set of FORTRAN IV routines

implemented on a Data General NOVA 4 computer using NOVA FORTRAN, Revi-

sion 5.52 and NOVA Assembler, Revision 6.6, running under the MAPPED










Table

Timing


2-1

Diagram


MSEC


EXAMPLE

1-1


EVENT

Fixation Box Appears

Begin Data Collection

Subject Presented

Subject Erased

Verb Presented

Verb Erased

Object Presented

Object Erased

Response Executed

End Data Collection

Message (If Any) Presented


Message Erased

Write Data To Disk And Start
Next Presentation


A Robin



Is Not



A Bird


0

400

800

1200

1600

2000

2400

2000-4048

4048

4048


4448

4448-7500










RDOS, Revision 6.62, operating system. The driver presents the state-

ment propositions in a three-segment format on the 2648A HP graphics

terminal, and collects the digitized EEG signal from eight A/D channels

operating at a composite 1000 Hz sampling frequency. It monitors the

EOG signal for eyeblinks and rejects and reschedules the stimulus

presentation, if the subject blinks during the response period. In

addition, the driver collects a digitized calibration signal from

each channel and presents photic stimuli to obtain an "averaged" VER

for a specified channel.

The structure chart [46] for the equipment driver is shown in

Figure 2-1. Each module represents a logical grouping of related

operations that will be described in this section.

Module Al's purpose is to define the default values of program

parameters and loop counters, to initialize the value of the experiment

statistics accumulators, and to input the experiment series parameter

table, subject initials, and experimental session number. The experi-

ment series parameter table is shown in Table 2-2. The first eight

lines contain the character values of the instructions stored in the

function keys of the 2648A HP graphics terminal. These are discussed

in conjunction with Module A6 in a later paragraph. The experiment

designer supplies most of the remaining information.

The concept behind this philosophy is that once an experimental

paradigm is designed, the values of the parameters that describe the

experimental session are fixed and the computer operator should not

have the option of respecifying them. This area is especially sensi-

tive when the experiments involve interdisciplinary teams, such as







































S A9: ON-LINE
CLASSIF.
I j


Figure 2-1 EEG Experiment Driver Structure Chart






29




Table 2-2

Experiment Series Parameter Table


Line
Number Contents Format

1-8 Value of H.P. 2648A Terminal, Function Keys 1-8 S80

9 Series designator, file types (1:10) 40(A1,1X)

10 No response feedback message S15

11 Eyeblink feedback message S15

12 Wrong answer feedback message S15

13 Reference channel,.default scale factors
eyeblink channel, eyeblink threshold, timing (II, IX, 8F4.1,
channel number, four-letter names for the eight 12, F8.2, 12,
channels digitized 16A2)

14 First channel number, last channel number,
number of photic stimuli 2014

15 Number of sentences in set, number of trials,
starting sentence number, number of sentence
classes, number of sentences per class, number
of trial classes, number of trials per class 2014

16 Sentence master filename S15

17 Delay parameters (3); number of samples to
collect after: 1) fixation box, 2) subject
term, 3) verb term; polarity of the response
{+1, -1} 2014

18 Number of partitions, number of samples/
partition, rectangular window shift for
stimulus and response lock, horizontal and
vertical scale dimensions of the graphics
terminal, number of channels to process,
channel number of each channel to be pro-
cessed 2014










those already described in the introduction. The experiment designer

not only designs the experimental paradigm, but also must interpret the

results; the engineers, computer scientists, technicians and operators

play a supporting role in this phase. The control of these parameters

stays with the experiment designer. Cognitive experiments must adhere

to this "modus operandi."

In line 9 of the parameter table, the experiment designer assigns

a one-character alphanumeric code to the series of experiments to be

conducted, e.g., S for the semantic experiments, E for the episodic

experiments, R for the replication of the semantic studies using the

same subjects as the espisodic experiments [17,19].

The file-type designators are assigned by the system designer.

These are arbitrarily assigned one alphanumeric character code desig-

nation for each different type of data file required by the entire

system. The current file-type designator convention is: D for EEG

files, C for covariance files, T for Toeplitz estimator files, U for

mean vector files, and V for discriminant vector files. All system

data files use the maximum ten-character filename allowed by the RDOS

operating system. The first five file-type designators represent a

choice for the first character of the filename.

Lines 10, 11 and 12 contain rejection feedback messages to be

displayed back to the subject, for example, EYEBLINK! These lines may

be left blank (no subject feedback) at the discretion of the experiment

designer. In the episodic experiment series, messages were found to

improve the data collection effort and had a "calming" effect on the











subjects. The number and frequency of occurrence of eyeblinks gives

an objective measure of whether or not the subject is "good."

A reference channel number, default scale factors, eyeblink chan-

nel number and threshold, the timing channel number and names for each

channel are supplied in line 13. The reference channel number and

default scale factors are described with the A2 and A3 Modules, the

eyeblink channel number and threshold, with the A7 Module. The choice

of a timing channel number is arbitrary, and is implied by the naming

of each channel, e.g., Channel 1 (F3), channel 2(F4), channel 3 (C3),

channel 4 (C4), channel 5 (EMG), channel 6 (Cz), channel 7 (EOG),

channel 8 (TIM).

Line 14 specifies a channel or sequence of channels where the

evoked response to the specified number of photic stimuli is collected,

digitized and averaged. In the episodic experiment series, fifty

repetitions collected on channel 6 (Cz) were used for this purpose.

Experiment-specific data are supplied in lines 15 and 16 of the

table. For the semantic experiment series, 144 different sentences

involving general knowledge constituted the master semantic set. The

subject was presented either four sessions of 72 sentences each or two

sessions of 144 sentences each. The semantic set consisted of sen-

tences of four types (classes); true affirmative (TA) (e.g., A hammer

is a tool), true negative (TN) (e.g., A hammer is not a plant), false

affirmative (FA) (e.g., A hammer is a plant), and false negative (FN)

(e.g., A hammer is not a tool). Each class contained 36 sentences, 4

classes, 18 sentences per class. The two-session set consisted of 144

sentences, 4 classes and 36 sentences per class.










In the episodic experiments [17,19], 72 sentences involving facts

about the individual subjects were used, e.g., My name is Tony. The

sentences consisted only of two types (classes) (TA and FA). Each

type contained 36 sentences. Subjects were presented four different

sessions of 72 sentences, 2 classes, 36 sentences per class, each.

The filename of the master set of sentences is supplied in line 16 and

is normally five characters long. If a longer name is supplied, the

system will automatically replace characters 6 8 with the subject's

initials. This feature is useful for subject dependent sentence files,

as those used in the episodic experiments.

The delay parameters, the sample collection breakdown, and re-

sponse switch polarity are supplied in line 17 of the table. These

parameters give the experiment designer and the biomedical engineer

flexibility in the control of the segment-presentation/data-collection,

A6 Module.

Line 18 contains specifications for the data processing subsystem.

These parameters are discussed in Section 3.4 of this work.

The operator is requested to input the subject initials (3) and

session number. The system constructs the filename for the first EEG

record as follows: The character stored in the first file-type desig-

nator, the three subject initials, the experiment series designator,

the session number, and a four digit (including nonsignificant zeroes,

e.g.,0001) sentence number. For example, in the episodic experiments,

the data for sentence number 24 of session 3 for subject RCP are stored

in the file whose filename is DRCPE30024; in the semantic experiments,

the data for sentence number 17 of session 4 for subject MWF are stored










in filename DMWFS40017; in the semantic replication experiments, the

data for subject JNL, sentence number 142 of session 2 are stored in

filename DJNLR20142, and so on.

Module A2 is operator enabled/disabled and is typically enabled

once for each subject. The module defaults the loop control parameters

of Module A5 and line 17 of the specifications table, to make a single

pass through Module A6 and enables passage to Module A3 via flag ICA,

e.g., ICA=0 means do not calibrate, ICA=1 means calibration is desired.

A six-character filename consisting of the letter C, the subject's

initials, the experiment series designator and the session number, is

created for the storage of the digitized 512 samples/channel, 50

microvolt, calibrate signal connected to each of the EEG amplifiers.

Module A3 is entered after a single pass through Module A6, which

was enabled by Module A2. The module clears the display memory of the

HP terminal, calculates the maximum absolute value for each of the

digitized channels, and computes a scale factor based on the largest

peak-to-peak difference in the immediate vicinity of the maximum

value (to compensate for amplifier drift). These factors are displayed

on the master console, so a determination of "relative" amplifier per-

formance and stability can be made. Amplifiers may then be recalibrated

and the process repeated.

Module A4 is also operator enabled/disabled. Its purpose is to

present a specified set of photic stimuli and collect photic evoked

response trials, that are averaged and used for a baseline determina-

tion. The subject must be fully prepared in order to proceed with

the module. The system creates a six-character filename in the same










manner as the calibration signal filename, using the letter V for a

first letter, and stores in it the averaged VER, after displaying it

on an oscilloscope. After visually inspecting the signal on the

oscilloscope the electrodes may be repositioned and the process re-

peated.

Module A5 uses the information in the specifications table to set

up the stimulus presentation module. The system then searches for a

file whose name is created from the experiment series designator, the

letters SEQ, and the session number. This file is assumed to contain

the randomized order for sentence presentation. The system prints out

a subset of the default specifications for the session, and creates

the filenames that will contain the digitized EEG signals. By doing

this, the system not only insures that there is enough disk space to

store all of the data (prior to the conduction of the experiment) but

also saves one second of CPU time between each trial presentation (more

time is required to create, allocate space and write disk blocks than

it does to restore data on direct-access files).

Module A6 presents the sentence in three segments, collects the

EEG signal, and stores the digitized data samples in the appropriate

file. The presentation of the sentences in segments is made possible

by the exploitation of the capabilities of the HP 2648A graphics

terminal. This terminal allows the user to load from one to eight,

eighty-character instruction sequences into its memory, and allows

triggering of the sequences by depressing a button (these are called

"Function Keys" Fl to F8) or via command string. Instruction sequen-

ces for one key may contain commands to trigger another key. This










allows for the off-line storage of commands that will, in fact, cause

the HP to perform operations asynchronous from the host computer.

Function keys Fl, F8 and F2 load the subject term into graphics memory

while inhibiting the display; keys F3 and F4 turn on the graphics

display for 400 ms, turn it off, and load the verb into graphics

memory; keys F5 and F6 turn on the graphics display for 400 ms, turn

it off, and load the object term into the graphics memory; and key F7

turns on the graphics display for 400 ms, turns it off, delays for 2

seconds, then places an asterisk on the fixation box. Timing signals

are derived from the BELL character which is triggered by F8, F3, F5,

and twice by F7. After adjusting the real-time clock (A/D system turns

it off), the system writes the data on disk, stores the new sentence

in keys F2, F4 and F6 and triggers key Fl in preparation for another

trial.

Module A7 examines the eyeblink channel for a threshold violation,

the timing channel for missing timing pulses or response pulse,

examines the response pulse for the proper polarity, and determines

if the operator has requested a keyboard interrupt. If any of these

conditions exist, the system will reschedule the trial for later

presentation. The subject is given visual feedback in the case of

eyeblinks, no response, or erroneous response. The system pauses in

the case of missing timing pulses or operator keyboard interrupt

request, and the entire screen is erased. A message that is not

visible to the subject is displayed for operator intervention. The

operator has the option of aborting (in the case of equipment failure)

or making adjustments and continuing with the session.










Module A8 updates the filename for the next sentence to be pre-

sented, and in the event of a rejection, it updates the set of pointers

that index each sentence presentation such that the rejected sentence

is presented again at the end of the session.

Module A9 is only enabled for the "on-line" biofeedback experi-

ments. It contains the "current" parameters of the classifier/feature

extractor algorithm so as to decide on a computer-assigned class for

the single epoch just extracted. Based on this class assignment the

system may now display visual feedback to the subject and further

modify the stimulus presentation. Experimental paradigms that will

take advantage of this mode of operation are currently being developed

by Bloom [3].

Module A10 displays (on the operator's console) the run-time

statistics, for the just completed session, that are to be kept in a

laboratory manual for future reference.

A single experimental session is completed, on the average, in

approximately seven minutes (72 sentences, 10 rejects). The operator's

console displays each sentence to be presented, rejection data and

the value of the current pointer on the upper left hand portion of the

CRT, not visible to the subject. A single operator can monitor the

master console and the polygraph recorder in order to observe the pro-

gress of the experiment once it is begun. The equipment has been

physically arranged to facilitate the single operator concept.

Support routines for the experiment driver module include 1)

multichannel A/D conversion with external clock running in interrupt-

disabled mode, 2) single and dual-channel D/A conversion, 3) software










pulse generator, 4) keyboard interrupt facility, 5) interrupt-disabled

FORTRAN "TYPE" statement, 6) interface to the operating system. These

routines are discussed in the appendices.



2.5 Data Averaging and Display


Nearly all the cognitive ERP work reported in the literature has

been done with averages [11]. Though the CPVER system was designed

for single epoch processing (unaveraged EEG records), the averaged

VER does provide an objective measure of validity, and a basis for

comparison with other research. Certain types of artifacts are better

identified on the averaged VER or on three-dimensional data displays

than by examination of the single epoch. Visual inspection of the

EEG data has been recommended by Childers et al. [17,19] and John

et al. [13].

Experimental session averages are obtained by invoking the

VERAVERAGE.MC pseudo-macro, and experimental session three-dimensional

displays by invoking VERDISPLAY.MC pseudo-macro. Single sentence dis-

plays are obtained by invocation of the SVERDSPL.MC or the SVERTYPE.MC

pseudo-macro. The appendices provide detailed program listings of the

pseudo-macro commands and program modules.



2.5.1 The EEG Data Averaging Module


The EEG data averaging structure chart is depicted in Figure 2-2.

Module Bl's purpose is to define the default value of the loop param-

eters, to initialize the EEG array accumulators, and to input the






































































Figure 2-2 EEG Data Averaging Structure Chart










experiment series parameter table, subject initials and experimental

session number. This table is the same table discussed previously

and depicted in Table 2-2. Refer to Section 2.4 for an expose'of

the parameter table.

Module B2 extracts the stimulus-aligned or response-aligned EEG

for each channel, and accumulates the data in an array. This is re-

peated for each trial in the session.

Module B3 computes the arithmetic mean for each channel and

evaluates the maximum signal amplitude for scaling purposes.

Module B4 sets the graphics display of the HP terminal and plots

the averaged VER signal for each class and desired channel.



2.5.2 EEG Data Display Module


The EEG data display routine structure chart is depicted in

Figure 2-3. Module C1 is analogous to Module Bl of the data averaging

routine of Section 2.5.1.

Module C2 extracts the stimulus-aligned or response-aligned EEG

for a selected channel and Module B3 outputs the EEG signal to the

DEVELCO 3-D unit. The operator examines each single epoch as it is

displayed on the DEVELCO unit, and if desired, issues a keyboard

interrupt in order to zoom in on the desired epoch. Module B4 senses

the keyboard interrupt and gives the operator the option of selecting

any of the last five epochs displayed in the DEVELCO unit, for display

on a Tektronics oscilloscope. The operator is given the option of

making an entry in a sequential file, called the REJECTS file, which



























































Figure 2-3 EEG Data Display Structure Chart










may be used for future reference. The REJECTS file has been used for

"off-line" artifact rejection and EEG session editing [17].



2.5.3 Single Epoch Display


The single epoch data display or type routine structure chart is

depicted in Figure 2-4.

Module Dl requests the subject's initials, the experiment series

designator, the session number, and the trial number. Module D2 dis-

plays the data on an oscilloscope or outputs the digitized sample

values on the operator's console, or both, for a given EEG channel.



2.6 Data Storage Conventions


The DGC 6070 Moving Head Disk storage facility was used to store

the data collected by the CPVER system. Three 10 MB disk packs labelled

DISK 300, DISK 301, and DISK 302 were used for this purpose. Data for

both the episodic experiments and the replication of the semantic

experiments (using two of the subjects who participated in the episodic

experiments, see Chapter V for details) are stored, in subject order,

on these disk packs. Table 2-3 summarizes the data storage convention

adapted for this purpose.



























































Figure 2-4 Single Epoch Display Structure Chart









Table 2-3

CPVER Disk Storage Convention


Disk Experiment Series
No. Designator


Subject Session


First Trial/Last Trial
Filenames


Episodic(E)


Semantic
Replication(R)

Semantic
Replication(R)


Episodic(E)




Episodic(E)




Episodic(E)




Episodic(E)


DHG
TA
SNS
SED
STJ
GMH
SLV

JNL


RCP


JNL




RCP




MAD




CJB


1-4
1-4
1-4
1-4
1-4
1-4
1-4


None*
None*
None*
None*
None*
None*
None*


DJNLR10001-DJNLR10144
DJNLR20001-DJNLR20144

DRCPR10001-DRCPR10144
DRCPR20001-DRCPR20144

DJNLE10001-DJNLE10072
DJNLE20001-DJNLE20072
DJNLE30001-DJNLE30072
DJNLE40001-DJNLE40072

DRCPE10001-DRCPE10072
DRCPE20001-DRCPE20072
DRCPE30001-DRCPE30072
DRCPE40001-DRCPE40072

DMADE10001-DMADE10072
DMADE20001-DMADE20072
DMADE30001-DMADE30072
DMADE40001-DMADE40072

DCJBE10001-DCJBE10072
DCJBE20001-DCJBE20072
DCJBE30001-DCJBE30072
DCJBE40001-DCJBE40072


*Data rejected due to instrumentation failure.
















CHAPTER III
IMPLEMENTATION OF CPVER
DATA PROCESSING SUBSYSTEM



3.1 Introduction


The implementation details of the EEG data processing subsystem

are described in this chapter. The ultimate goal of the signal pro-

cessing task is to recognize single visual evoked responses to meaning-

ful stimuli, and to classify the single epochs into one of two possible

classes. In cognitive studies of semantic memory the stimuli cannot

be repeated numerous times because, presumably, the response to pre-

vious sentence propositions could become overlearned. These experi-

ments demand special consideration since relatively few processing

algorithms are available for the small sample case, and the number of

samples per class cannot be increased.

Signal extraction methods have been used to extract the ERP, but

these methods are least valid for the extraction of longer latency

components associated with cognitive activity. Signal classification

methods, though more difficult and complex, are often capable of

providing accurate results in cases where it would be useless to use

signal extraction methods [13]. CPVER uses the signal classification

methodology developed by Childers et al. [11] to accomplish this task.

A "training set," e.g., a set of labelled epochs of known classes

(design set), is required to guide the data reduction (feature extrac-

tion) procedure in the selection of an optimal set of features, and











to design the decision rule. The performance of the combination fea-

ture extraction/classifier procedure is estimated from the population

probability of classification error (PE). An independent set of trials,

known as the test set, is used to obtain an estimate of the PE. The

(PEd, PEt) determine the performance of the signal classification

method.

These two blocks of epochs must be collected before attempting

any real-time classification (defaulting). The software realization

of the signal classification methodology need not be implemented in

real-time. Chapter IV describes real-time interface considerations

and possible implementation.

The remainder of this chapter details the off-line EEG data pro-

cessing subsystem. The software philosophy is described from the

system designer's point of view. The chapter is subdivided into the

following sections: 1) Data Processing Subsystem Overview, 2) Experi-

mental Application Overview, 3) Feature Extraction Methodology, 4) Fea-

ture Extraction Software, 5) ERP Classification Software, 6) Data

Storage/Data Processing Conventions.



3.2 Data Processing Subsystem Overview


The purpose of the CPVER data processing subsystem is to extract

a number of features from the observed EEG records, that contain the

discriminatory information, required to classify single visual evoked

response trials into one of two general classes. The subsystem yields










the specifications for a linear Bayesian decision rule, along with an

estimate of the decision rule performance (combined feature extraction/

classification procedure) expressed as the probability of classification

error for the population (PE). The software has been designed as an

"off-line" application with respect to the data collection task.

Three major routines comprise the data processing software: A

Covariance Matrix Estimator module (COVEST), a Discriminant Vector

Estimator module (DVEST), and a Scatter Plot and Classifier Generator

module (SCATTER). The latter is used to display the projections of

the observed data onto feature space (scatter diagram).

The data processing subsystem is invoked by the pseudo-macros:

PROCESS.MC, COVARIANCE.MC, FEATURES.MC, CLASSIFY.MC, RESCATTER.MC, or

DESIGN.MC. These RDOS command modules set the necessary flags and

bring into execution the program modules necessary for the completion

of the task. The appendices provide detailed program listings of the

pseudo-macro commands and program modules.



3.3 Experimental Overview


The details of the experimental applications that have been con-

ducted using the CPVER system are discussed in Chapter V. A brief

discussion of the data processing aspects of the experiments is in-

cluded in this chapter for completeness, and to make this chapter

independent for reader convenience.

In the cognitive experiments conducted, cortical potentials were

recorded while subjects read and decided if simple propositions such










as "A hammer is a tool" or "My last name is Arroyo" were true or false.

The subjects were to decide rapidly and respond via switch activation.

The major purpose of the experiments was to collect and digitize the

EEG signal, extract the ERP, and classify the single visually evoked

response (VER) into one of two possible classes, e.g., correct or

incorrect.

Five scalp electrode locations, F3, F4, C3, C4, and Cz in the

10/20 EEG system, were to be monitored and digitized using nonpolarizing

cup electrodes. A timing/response channel, an EMG channel, and a diag-

onal EOG channel were collected as well. Each EEG location was a mono-

polar derivation to the linked mastoids. The data were to be digitized

at 125 samples/second/channel. The amplifiers had a bandwith from 1

to 50 Hz, with 50% attenuation at 1 and 50 Hz.

The sentences, in the form of a proposition, were presented in

three segments to minimize eye movements, e.g.,

A hammer

is

a tool.

The sequencing of the presentation of the sentence segments, with

respect to data acquisition, was presented in Table 2-1. Fifty samples/

channel were collected before the subject term (S-term), one hundred

samples/channel between the S-term and verb, one hundred samples/

channel between the verb and object term (0-term), and two hundred and

sixty-two samples/channel after the 0-term.

In one experiment, there were 144 different sentences involving

general knowledge, which were presented twice to each subject. The










sentences consisted of four types; true affirmative (TA), true negative

(TN), false affirmative (FA) and false negative (FN). Each type con-

tained 36 statements.

In a second experiment, there were 72 different sentences involv-

ing facts about the individual subject, which were presented four times

to each subject. The sentences consisted of two types, TA and FA and

each type contained 36 statements.

The measurement vector was chosen to be a 720 msec (Chapter V)

interval of the EEG. The interval may start with the onset of the

0-term or may be shifted by a specified number of samples from the

0-term (stimulus-lock). Synchronization may also be chosen with re-

spect to the response pulse with/without shifting (response-lock).

Since there were 8 msec between data samples, this gave a 90 component

measurement vector. The observation recorded was partitioned into

segments, such that the ratio of the number of samples per class to

partition size was 3 or 4 [12]. The partition size was chosen as 10,

yielding a reduced nine-element feature set, one feature/partition.

The size 10 was selected after conducting experiments on the correlation

between successive samples, etc.

One or two discriminant vectors were calculated for each partition

of dimension 10. A criterion value (a type of signal-to-noise ratio)

was computed for each feature. The two features with the largest S/N

ratios were chosen for the representation.

The design set was projected onto the selected two-feature space

and a linear classifier rule was derived. The PEd was obtained by

counting the number of trials that were misclassified by this linear










decision boundary. The process was repeated on the test set to obtain

PEt. The parameters of the decision rule may be stored for further

processing.

Experimental results and conclusions described by Childers et al.

[11,12] and Fishier et al. [1] were obtained using the data processing

subsection of the CPVER system.



3.4 Feature Extraction Methodology


The goal of the feature extraction procedure is to obtain a subset

of components from the measurement vector that enhance the chances for

proper classification. An optimal number of features may be found that

minimizes the probability of error. The feature selection algorithm

of Roucos and Childers [12] is basically a special ordering of the

eigenvectors extracted from the covariance matrix, estimated from the

data.

An evaluation of the method is obtained by using the hold-out

method to estimate the PE (a training set is used to design the feature

extraction/classifier and both design and test sets are used to estimate

the respective PEs). A feature discriminantt) vector is obtained by

Equation 3-1 where


-1
d = a W1 u (3-1)



u denotes differences between the mean class vectors (i.e., u=u2-u, for

a two class problem), W is a linear weighting of the covariance matrices









th
C. for the i class, and a is a scale factor that normalizes d to unity.

W is usually chosen as the arithmetic mean of the class covariances (e.g.,

W = (C1 + C2) for a two class problem). Equation 3-1 maximizes the

distance between classes in feature space given by the divergence form-

ulation [32].

The value of d as a feature may be measured by the generalized

Fisher ratio.

J(d) = (d' u) (3-2)
d' W d


A set of P features is obtained by sequentially maximizing

Equation 3-2 as follows:

1) Find the first feature d by maximizing J. This is done
--
with Equation 3-1. d1 is the only eigenvector of W u u'

with a non-zero eigenvalue X..

2) Find feature i < P by maximizing J subject to i-i orthogonality

constraints, i.e.,

d! d = 0 n = 1, 2, ., i- (3-3)
-n


The measurement vector of dimension N is decimated into K parti-

tions, each of dimension L (N = KL) in order to reduce the dimension-

ality of the observed data. For each partition of dimension L, an

optimal feature extractor is used to obtain a features) to represent

the partition. Stepwise selection is applied to the partitions to

obtain a set of P features from the set of features defined for all the

partitions.

The partition size L should be chosen as large as possible for

statistical stability. Given a fixed number M of observations











per class, L is selected such that the ratio M/L is equal to 3 or 4

[11,12].

Consider the alternate expression for the Fisher ratio where e. is


= (eI u)2
Y -. (3-4)
1

an eigenvector of the common covariance matrix C with eigenvalue X.
1

and u is the mean difference vector between two classes.

After ordering the eigenvectors e. by decreasing value of yi (the
-1i

Fisher ratio), the discriminant vector d is given by


L
d = a -i e. (3-5)
i=l .
1

A new feature vector b(m) is defined from Equation 3-5 by choosing

M L components [11,12,33], i.e.,


m
e' u
b(m) = a E -- e. (3-6)
i=l
Xi

The average S/N ratio of b(m) is the average criterion [32], assuming

a design set of M observations was used to estimate the covariance

matrix and the mean vectors.


J(m) = S/N(m) = M F(m) + 2 r(m) (3-7)
M r(m) + 2m

where
m
r(m) = E y (3-8)
i=l


and SNR(d) = J(d) in Equation 3-2 with C = W.











The discriminant vector is obtained from Equation 3-6 by: 1)

Choosing m = mo such that F(mo) does not change by more than 10%

when m is increased, 2) estimating u from the design set, and 3)

having a good estimate of C, e.g.,

m
o e' u
b = b(m ) = a Z -- (3-9)
-- -- (3-9)
i=l A.
1

There are at least two methods to estimate the covariance matrix

when the design set size M is small. First, if the data set is assumed

to be stationary over the measurement interval, then the covariance

matrix estimate may be obtained by averaging the individual partition

matrices. Second, the data set may be assumed to be piecewise station-

ary, e.g., stationary over the duration of a partition. For such a

process, the covariance matrix is Toeplitz. The Toeplitz estimator

replaces all the elements of the matrix diagonals by their arithmetic

mean.

Conventional discriminant analysis is obtained from Equation 3-5,

with the eigenvectors e. derived from the individual partition covariance

matrices Ci, and ordered by decreasing value of the eigenvalues X..

The matrices C. for each partition i, may be assumed to be Toeplitz if

the data is assumed to be piecewise stationary.

To evaluate the feature extraction procedure, the design data set

is projected onto feature space, a linear decision rule is computed,

and an error count is made for the design and test sets. The projection

from data space to feature space is done by forming the dot product

between the feature vectors and the data. For example, suppose d (i) is
-=l










a feature vector for partition i, and d2(j) is a second feature vector

for partition j. The projection becomes

u= (i) x
(3-10)

v= d(j) .

th
where x. is the EEG data for the i partition. The coordinates (u,v)
--1

in feature space may be used to plot the class value for each experiment

trial. A linear decision boundary is then superimposed on the coordinate

space, and a count made of the trials that are misclassified by the de-

cision rule. The error-count-to-number-of-trials ratio is an estimate

of the PE. The decision boundary is chosen as the perpendicular bisector

of the centroids of the two classes, which is shifted and/or rotated

until the design PE is minimized.

Large discrepancies between PEd and PEt may exist due to the bias

and variability of the feature extraction rather than the classification

method.

The feature extraction methodology of the CPVER system is summarized

in Table 3-1 and Table 3-2. Table 3-1 uses the methodology developed by

the University of Florida team of Childers et al. [11,12,17,19]; Table 3-2

is the conventional discriminant analysis method also used by Foley and

Sammon [40, 31] and Roucos [32,33].



3.5 Feature Extraction Software


The feature extraction software implement steps 1 through 4 of

Tables 3-1 and 3-2. Two major routines are used for this purpose: A











Table 3-1
CPVER Feature Extraction/Classification Algorithm--UF Method



Item Instruction

1 Partition the EEG observation vector x of dimension N into K

partitions xk k = 1, 2, ..,K of dimension L, e.g., N = KL

and x = { x1 I x2 j... x }. x is a subset of samples

extracted from the stimulus-aligned or response-aligned single

EEG record.
th
2 Estimate the covariance matrices Cki for the k partition

and the ith class from an experimental session of M samples/

class. Calculate the Toeplitz estimator Tki for each Cki.

Average across partitions the Cki and Tki to obtain C. and

T., e.g.,
SK K
S^ 1 ^ 1 ,
Ci E C T E T
i Kk=1 ki i K k ki


Calculate mean vectors u for each partition.
-k
3 Evaluate the eigenvalues Xk and eigenvectors e of

WA = 1/2(C1 + C2) and WT = 1/2(T1 + T2)

Calculate the Fisher ratios Yk by Equation 3-4, k = 1, 2, ...,K

for each of WA and WT.

4 Sort the eigenvectors ek in decreasing order of Fisher ratio

Yk. Calculate F(m) (Equation 3-8) by increasing m until F(m)

does not change by more than 10% (selected threshold). Eval-

uate b using Equation 3-9 and J(m) by Equation 3-7 for each
partition k. These are our features.
partition k. These are our features.






55




Table 3-1 continued

5 Select the two features with the largest criterion value J(m).

Project the X from the design set onto the selected feature

space. Compute a decision boundary from the perturbation

(position and angular) of the perpendicular bisector of the

centroids of the two classes.

6 Compute the probability of error for the design and test sets

via classification error count.











Table 3-2
CPVER Feature Extraction/Classification Algorithm
Discriminant Analysis


Item Instruction


1 Partition the EEG observation vector x of dimension N into K

partitions Xk k = 1, 2, ...,K of dimension L, e.g., N = KL

and x = {1 1 x2 ... I x} = {xk}. x is a subset of samples

extracted from the stimulus-aligned or response-aligned single

EEG record.

2 Estimate the covariance matrices C for the k partition and
ki
th
the i class from an experimental session with H samples/class.

Calculate the Toeplitz estimator Tki for each C Calculate

mean vectors uk for each partition.

3 Evaluate the eigenvalues ek and eigenvectors Xk of
A A A A
Ck = 1/2(Ckl + Ck2) and Tk = l/2(Tkl + Tk2

and calculate the Fisher ratios by Equation 3-4.

4 Calculate r(m=L) using Equation 3-8 and d by Equation 3-5 for
_=l
each partition. These are our features with F(m=L) as our

criterion value. A second feature vector is calculated sub-

ject to the orthogonality constraints previously discussed.

5 Select the two features with largest criterion value r(L).

Project the k from the design set onto the selected feature

space. Compute a decision boundary from the angular and

positional perturbation of the perpendicular bisector of the

two classes.

6 Compute the probability of error for the design and test sets

via classification error count.











Covariance Estimator module (COVEST) that implements steps one and two,

and a Discriminant Vector Estimator module (DVEST) that implements

steps three and four for both algorithms. The current version of

CPVER extracts a single feature discriminantt vector) for each parti-

tion using the UF algorithm, and two features per partition using the

discriminant analysis algorithm.

The feature extraction modules are invoked by the PROCESS.MC,

COVARIANCE.MC, or FEATURES.MC RDOS pseudo-macros. PROCESS.MC invokes

all the data processing subsystem's modules of CPVER for "off-line"

operation. COVARIANCE.MC and FEATURES.MC invoke COVEST and DVEST,

respectively, for independent execution.

The structure chart for COVEST and DVEST are shown in Figures 3-1

and 3-2, respectively. Each submodule represents a logical grouping

of related operations (a structural block) that will be described in

the following sections.



3.5.1 Covariance Estimator Module-- COVEST


COVEST is a set of FORTRAN IV routines implemented on Data

General's NOVA 4 computer using NOVA FORTRAN,Revision 5.52, running

under the MAPPED RDOS (MRDOS),Revision 6.62,operating system. The

program requests inputs such as the name of the parameter and specifi-

cations table, the subject's initials etc. Outputs generated include

the set of individual partition covariance matrices for each class,

the partition Toeplitz estimator matrix for each class, the average

across partitions matrix for each class and the average Toeplitz

estimator across partitions for each class.





































































Figure 3-1 Covariance Matrix Estimator Structure Chart


































































Figure 3-2 Discriminant Vector Estimator Structure Chart











Submodule El (Figure 3-1) initializes and sets up the COVEST

program. Two externally supplied flags control the operation of the

software: flag INDV is set to enable the output of individual partition

covariances for calculation of features using discriminant analysis,

and flag AUTO is set for automatic, input-free operation. In manual

mode, the system requests the following inputs from the operator:

1) the name of the parameter and specifications table (Table 2-2),

2) the subject's initials, 3) the synchrony point designator, and 4)

the experiment session number. In automatic mode, these inputs are

pre-stored in a sequential character file named ANSWERS.

The submodule opens the specifications table for read-only access,

and extracts the value of the pertinent subset of the parameters that

were previously used to collect the data. The specifications table

was previously described in section 2.4 of this work. The parameters

used by COVEST include: 1) The experiment series and file-type desig-

nators of line 9 of the table; 2) the number of the timing channel

and channel names of line 13; 3) the number of sentences, number of

trials, starting sentence number, number of classes in the master

sentence set, number of sentences per class for the master set, number

of classes presented, and number of sentences per class presented of

line 15; 4) the polarity of the response of line 17; and 5) all of

line 18. This line contains the data processing specifications alluded

to in step one of Tables 3-1 and 3-2, mainly, 1) the number of parti-

tions k, the length of each partition L, the synchrony point displace-

ment windows, the horizontal and vertical scale factors for the graphics

display, and the number of channels and channel numbers to process.










The submodule concludes by displaying portions of the specifications

table and creating the filename for the first covariance matrix to be

generated. This filename adheres to the convention established for

data collection and modified for data processing. This convention is

discussed in Section 3.7.

Submodule E2 extracts the EEG observation vector xk of either

stimulus-aligned or response-aligned data for the design session. The

system automatically generates the correct filename for the digitized

EEG signal, based on the random sequence file of pointers that was

used during the data collection session. A general purpose subroutine

to read the EEG associated with each sentence (SREAD) is invoked for

this purpose (consult the appendices for a detailed description of

SREAD). The submodule accumulates the vector sum, and sum of squares

for each partition/channel combination. This is repeated until the

specified number of sentences/class has been extracted (specifications

table line 15). This number is displayed on the operator's console

upon exit.

Submodule E3 computes the mean vector and covariance for each

partition/channel combination. Submodule E4 calculates the Toeplitz

covariance estimator for the given channel number and partition. Sub-

module E5 accumulates both the individual covariance and individual

Toeplitz covariances. The individual covariances are written to disk

if the external flag INDV is set to one. The mean vector is written

to disk and the process repeated (to block E3) for each partition.

Submodule E6 calculates the average covariance and average Toeplitz

matrix across partitions. These two matrices are written to disk











and the process repeated (to block E3) for each channel. The class

is automatically incremented and another pass is made beginning at

block E2.

COVEST creates (number of partitions K) x (number of channels) x

(number of classes) mean vector files; (1 +(INDV x K)) x (number of

channels) x (number of classes) covariance files; and (1 +(INDV x K))

x (number of channels) x (number of classes) Toeplitz files. Each

mean vector file contains (N + 1) binary real numbers (2 words per

number); each covariance or Toeplitz file contains (1 + N x N) binary

real numbers. Each file requires a minimum of one disk block (256

words) of disk storage plus 18 words of directory space for the RDOS

file pointer. The program requires a 36 KB main memory partition for

execution. In the UF experiments, execution times varied linearly

according to the product (1 + INDV) x (number of channels) from a

minimum of two minutes to a maximum of 12 minutes of total elapsed

time.



3.5.2 Discriminant Vector Estimator Module --DVEST


DVEST is a set of FORTRAN IV routines implemented on Data

General's NOVA 4 computer using NOVA FORTRAN,Revision 5.52, running

under the MAPPED RDOS (MRDOS),Revision 6.62,operating system. The

program requests inputs such as the name of the specifications and

parameters table, the subject's initials, etc. Outputs generated

include a table of criterion J values (S/N ratios) for each partition/

channel combination for both algorithms (UF and Discriminant Analysis

(DA)) and the corresponding features discriminantt vectors).











Submodule Fl initializes and sets up the DVEST program. This

submodule is identical in structure to submodule El, described in

Section 3.5.1. The discriminant vector filenames adhere to the con-

vention discussed in Section 3.7.

Submodule F2 forms the joint average across partitions covariance

matrix W and obtains the eigenvalues and eigenvectors by invoking sub-

routine EIGEN (available from the IBM FORTRAN Scientific Subroutine

Package, see the appendices for detailed documentation). The sub-

module displays the eigenvalues and eigenvectors on the operator's

console upon exit.

Submodule F3 implements steps 3 and 4 of Table 3-2, the discriminant

analysis method. The procedure is implemented with subroutines FEAT,

VECROT and INVERSE. The outputs of the submodule are the criterion

values J (S/N ratios) and the two feature vectors for each partition.

Submodule F4 calculates the Fisher ratios for the UF method using

Equation 3-4, obtains a set of indices for the decreasing order of Fisher

ratios, computes F(mo) by increasing mo until F(mo) does not change by

more than a threshold (5%), and evaluates the criterion J(m ) and b
o -o
(the feature vector). The submodule invokes subroutine SORT to calcu-

late the eigenvector/eigenvalue order according to the decreasing value

of the set of Fisher ratios {yi}.

Submodule F5 displays the filenames used to store the feature

vectors and writes the set of features from the algorithms out to disk.

The process, from submodule F3 on, is repeated for each partition. The

procedure, from submodule F2 on, is repeated for each channel and covar-

iance matrix type combination.











Submodule F6 displays, on the operator's console and on the

attached hardcopy device (HP-IB device), the S/N or criterion J tables

for each algorithm, covariance source type, partition and channel

combination.

DVEST creates 2 x (number of channels) x (1 + INDV) x (K parti-

tions) discriminant vector files of (1 + 2 x N) real numbers. Each

file requires a minimum of one disk block (256 words) of disk storage

plus 18 words of directory space for the RDOS file pointer. The

program requires 36 KB of main memory for execution. In the UF experi-

ments, execution time varied linearly according to the product (1 +

INDV) x (number of channels) from a minimum of 2.5 minutes to a

maximum of 10 minutes of total elapsed time.



3.6 ERP Classification Software
The SCATTER Module


The ERP classification software implements steps 5 and 6 of

Tables 3-1, 2 The SCATTER module displays the projections of the

observed data onto the selected feature space (scatter diagram);

automatically scales the scatter diagram to the dimensions of the

graphics terminal; designs the linear classifier by selecting the

perpendicular bisector of the centroids of the two classes, followed

by shifts and/or rotation of the line until the PE is minimized; re-

draws the design scatter diagram and the classifier line, computes

the design PE, and prints the figure captions; draws the test set

scatter diagram with the classifier line, computes the test set PE,










and prints the figure captions; and stores the parameters of the class-

ifier line in a file for future processing.

The ERP classification module is invoked by the PROCESS.MC,

CLASSIFY.MC, RESCATTER.MC, or DESIGN.MC RDOS pseudo-macros. PROCESS.MC

invokes all the CPVER data processing subsystem modules for "off-line"

operation. CLASSIFY.MC and RESCATTER.MC invoke the SCATTER module for

independent execution. DESIGN.MC invokes the SCATTER module in

"automatic" mode.

The structure chart for SCATTER is shown in Figure 3-3. Each

logical grouping of related operations (structure block or submodule)

is described in the following paragraphs.

Submodule GI initializes and sets up the SCATTER program. Three

externally supplied flags control the operation of the software: flag

INDV is set to enable the discriminant analysis method, flag AUTO is

disabled for manual operation, and flag REDRAW is set to bypass the

recalculation of the design and test set feature space projections,

and assume they are stored in files DESIGN and TEST respectively. In

manual mode, the system requests the following inputs: 1) the symbols

to plot for each class in the scatter diagram, 2) the name of the

specifications table, the subject's initials, the synchrony point and

session numbers for both design and test sets, 3) a selection of the

algorithm and covariance type, 4) the desired channels) and features,

and 5) explicit control of the looping parameters of the bisector

perturbation algorithm in submodule G5. In automatic mode, a single

pass is made through the submodules (design set) and the decision



































































Figure 3-3 Scatter Structure Chart











boundary line parameters are saved in a file named CLASSIFIER. The

structure of submodule GI is essentially that of submodule El or Fl

discussed in the previous section.

Submodule G2 extracts the EEG observation vector xk of either

stimulus-aligned or response-aligned data for the design or test set

or both. The system retrieves the feature vectors for the design set

and forms the dot product of the feature vectors with the observation

vector.

The calculation is repeated for the test set and the projections

are saved in files DESIGN and TEST respectively. The submodule invokes

subroutine SREAD to extract the EEG signal associated with each sentence

presentation.

Submodule G3 requests the channel number and features to use in

the scatter diagram. A scale factor is derived from the projection

maximums for each axis. The submodule exits by requesting the process-

ing mode: design, test or fine tune.

Submodule G4 draws the scatter diagram and calculates the centroids

of the two classes in feature space,for either design (or fine tune) or

test sets. If in fine-tune mode, loop parameters for the perturbation

algorithm are requested. The system calculates the perpendicular

bisector of the centroids of the two classes, then shifts the point of

interception of the perpendicular line with the line drawn between the

two centroids. The perpendicular line is then rotated a maximum of

+900 to -90 from the current angular position.

Submodule G6 calculates the PE, via error count, for each tentative

decision line. Each time the PE of the design set is decreased, the

system "saves" the coordinates of the point of interception, the slope,











the y-intercept, the PE, and draws the new decision line. This process

continues until the design PE is zero or the perturbation algorithm

terminates. The system clears the graphics memory and redraws the

design scatter plot.

Submodule G7 draws the decision line that was "saved last (the

first occurence of the lowest PE that is "closest" to the perpendicular

bisector line), and calculates the PE based on this decision rule.

The submodule concludes by writing in graphics text mode, the scatter

diagram captions in order to obtain a "hardcopy" of the graphics memory.

In automatic mode, the system stores the parameters of the decision

boundary line in the sequential file CLASSIFIER and exits. In manual

mode, the operator is prompted for additional channel/feature combina-

tions as desired.

In the experiments conducted using the CPVER system, the design

and test set scatter diagrams with the classifier boundary and PE

counts, and the corresponding S/N ratio tables, were the outputs de-

sired by the experiment designer. These were used to evaluate the

validity of the postulated hypotheses with regard to semantic memory

processing by Fishier et al. [1], Childers et al. [11,12,17,19,33],

and by Bloom [3].

The SCATTER module requires 46 KB of main memory for execution.

Execution times for typical design/test set applications are, approxi-

mately, 10 minutes for the design and 20 seconds for the test. The

program requires 62 disk blocks to store the files DESIGN and TEST,

and one disk block for the file CLASSIFIER.










3.7 Data Processing/Data Storage Conventions



The DGC 6070 Moving Head Disk storage facility was used to store

the files generated by the CPVER data processing subsystem. These

files are generated in the current system directory at the time of

invocation. The system will automatically search other disk units

for sentence data, but once read, returns to the original directory

for further processing.

All filenames used by the data processing system, with the

exception of the files already mentioned explicitly by name (DESIGN,

TEST, CLASSIFIER, AUTO, INVD, AUTOMATIC, REDRAW, etc.), adhere to

a 10-character naming convention. The first character is always the

file-type designator for the file (described in Section 2.4). Character

positions 2 4 are the subject's initials, character position 5 is the

experiment series designator, position 6 is the session number. Charac-

ter position 7 is either S or R (for Stimulus-aligned or Response-

aligned), position 8 is the class {1-TA, 2-FA, 3-TN, 4-FN} for

covariances or mean vectors, or the letters A, T, D, or M for discrim-

inant vectors {A = UF method using Average across partitions covariance

matrix, T = UF method using the average Toeplitz estimate, D = conven-

tional Discriminant Analysis, and M = Toeplitz Modified Discriminant

Analysis}. Character position 9 is the channel number and character

position 10 is either the partition number or the letter A for average

across partitions. This is summarized in Table 3-3.

As an example, consider the data collected for subject JNL in Ta-

ble 2-3. The data for the semantic replication (R) or episodic (E)










Table 3-3
Filenaming Convention for Covariances,
Mean Vectors and Discriminant Vectors


Filename = 10 alphanumeric characters


{file-type} {III} {E} {N} {sync} {class} {channel} {Pk or A}

Where


{file-type}


{III}


= a one character code for each type of file.
C Covariance, T Toeplitz, U Mean Vector
V Discriminant Vector


= subject's initials (3 letters).


= experiment-series designator (E or S or R).


= session number (1, 2, 3, or 4).


{sync}

{class}


{channel}


= stimulus or response synchronization (S or R).

= the stimulus class for covariances and mean
vectors or the algorithm used for discriminant
vectors. 1 TA, 2 FA, 3 TN, 4 FN,
A UF Averaging, T UF Toeplitz, D Discrim-
inant Analysis, M Modified Discriminant Analysis.


= channel number (1 8).


{P or A} = partition numbers (1 9) or the letter A for
Sthe "average" covariance or "average" Toeplitz
estimator across partitions.










series of experiments reside in disk 301. If we choose to process one

channel, say Cz, using episodic session 1 for design and session 3 for

test, response-lock, the following files will be generated:

Program Number x Size in Bytes Files

COVEST 9 x 404 CJNLE1R161 CJNLE1R169

9 x 404 CJNLE1R261 CJNLE1R269

9 x 404 TJNLE1R161 TJNLE1R169

9 x 404 TJNLE1R261 TJNLE1R269

2 x 404 CJNLE1R16A, CJNLE1R26A

2 x 404 TJNLE1R16A, TJNLE1R26A

9 x 44 UJNLE1R161 UJNLE1R169

9 x 44 UJNLE1R261 UJNLE1R269

DVEST 9 x 84 VJNLE1RA61 VJNLE1RA69

9 x 84 VJNLE1RT61 VJNLE1RT69

9 x 84 VJNLE1RD61 VJNLE1RD69

9 x 84 VJNLE1RM61 VJNLE1RM69

1 x 320 FEATURES

SCATTER 2 x 15552 DESIGN, TEST

1 x 80 CLASSIFIER

For a complete design session (all channels processed), approxi-

mately 1500 disk blocks are required (3/4 MB).















CHAPTER IV
IMPLEMENTATION OF CPVER
DATA COLLECTION/PROCESSING INTERFACE


The implementation details of the EEG data collection interface

to the data processing subsystem, are described in this chapter (from

the system designer's point of view). The chapter is subdivided into

two sections: The "off-line" system implementation and the "real-time"

system implementation.



4.1 "Off-Line" Implementation of CPVER


The term "off-line," when used with the CPVER system, refers to

the data processing task being performed, not in real-time with respect

to the data collection task (which is, of course, always performed

in real-time). In other words, all of the data collection task is

performed prior to the completion of the data processing task, and

there is no biofeedback with respect to the single epoch classification

task. In this mode, any of the experimental sessions are available for

use as either design or test sets (or combinations thereof). The major

disadvantage of this mode is that the knowledge gained through data

processing is not used to influence the data collection, and as a con-

sequence, the homogeneity model assumption becomes less valid. This

must be taken into consideration during the experimental design phase.

For off-line operation, the sequence of events is, typically, as

follows: To begin with, the experiment designer and the biomedical











engineer participate jointly on the development of a realizable para-

digm. A by-product of this step is the generation of the experiment

parameter and specifications table required by the CPVER system. On

the eve of and on the day of the experiment, the laboratory technician

performs the pre-operational checks outlined in Appendix 1. The sub-

jects are trained in the task, and electrodes are attached and tested

for proper operation. Data collection (1st session only) is invoked

by the START.MC pseudo-macro. The system requests the personal infor-

mation (if applicable) obtained from the subject, collects the calibrate

signal, and collects the VER sample prior to sentence presentation.

After the session is completed, the subject is given a brief rest

period while the operator makes an objective evaluation of the session

by invoking any or all of the data averaging and display modules

(VERAVERAGE.MC, VERDISPLAY.MC, SVERDSPL.MC or SVERTYPE.MC). The re-

maining sessions are collected by invoking the COLLECT.MC pseudo-macro

which automatically disables the calibration and VER modules of the

data collection software. The subject is typically given a 15 minute

rest period (outside of the Faraday shielded room) every two sessions.

The data processing is done after all sessions are completed.

The data processing task provides the following outputs to the experi-

ment designer for evaluation: 1) The table of S/N criterion J values

that is produced by the DVEST module, invoked by PROCESS.MC or

FEATURES.MC, preceded by COVARIANCE.MC; 2) the scatter plots for

various channel/feature combinations generated by the SCATTER module,

invoked by PROCESS.MC, CLASSIFY.MC or RESCATTER.MC; 3) a set of VER

"averages" for each channel/session combination. Stimulus-aligned











results, response-aligned results, and choice of feature extraction

algorithm scatter plots have provided the basis for the experimental

results and conclusions reported by Childers et al. [11,12,17,19],

Fishier et al. [1] and Bloom [3].

The ultimate success of a cognitive study is being able to

generalize the conclusions. Inter-subject effects must, necessarily,

be obtained by the use of an "off-line" data processing system. CPVER

must be able to handle such things as designing with one subject and

testing with other subjects, multi-subject design, multi-subject aver-

ages, etc. Versions of the CPVER data processing modules have been

used to generate these types of outputs. In these applications, modules

are invoked independently, "a la carte" so to speak. The pseudo-macro

command invocation provides this capability.



4.2 "Real-Time" Implementation of CPVER


The term "real-time" refers to the interfacing of the data pro-

cessing task to data collection in order to design a classifier,from

a set of labelled epochs, that is made available to the data collection

software for subsequent sessions. The availability of the "on-line"

classification algorithm provides the experimental designer with

plausible alternatives in cognitive research.

In real-time applications, the procedure for the collection of the

data for the first session is identical to the procedure used in off-

line applications described in Section 4.1, using the START.MC pseudo-

macro. The subject is given a brief rest period, long enough for the











operator to obtain a VER average or scan the three-dimensional display,

to make an objective determination of the session. Once the session

is accepted, the system is placed in automatic real-time mode where

the order and invocation of system modules must be performed automati-

cally, with minimum operator intervention.

The following experimental variation is directly implementable

using the CPVER modules: Using the episodic sentence set, design a

classifier with a 72-sentence presentation session and test your

design in real-time with a second session. Provide a classification

error count at the end of the second session. Use the UF feature

extraction algorithm on the stimulus-aligned EEG data.

A possible implementation consists of the following steps:

1) Using any RDOS text editor, create the parameter and

specifications file.

2) Set the AUTO flag and clear the REALTIME, REDRAW, and

INDV flags, using the RDOS command sequence:

DELETE AUTO, REALTIME, INDV, REDRAW

XFER ONE AUTO [set the AUTO flag]

XFER ZERO REALTIME [clear the REALTIME flag]

XFER ZERO INDV [clear the INDV flag]

XFER ZERO REDRAW [clear the REDRAW flag]

3) Collect the data for the first session after creating

the master sentence set. The AUTO flag enables a portion

of code inside the data collection driver module which

creates the file ANSWERS, placing the name of the speci-

fications table, the subject initials, the synchrony











point, the experimental session number and the choice

of feature extraction methodology on a disk file. The

following RDOS command sequence accomplishes this task:

EPIN.SV [creates episodic sentence file]

EXPDRIVER.SV [invokes the data collection
subsystem, creates file ANSWERS]

EEGDSPL.SV [produces 3-D display]

4) If after the visual inspection of the EEG the data is accept-

able, proceed with the automatic classifier design by invoking

the data processing modules with the following RDOS sequence:

COVEST.SV [calculates covariances]

DVEST.SV [calculates discriminant vectors
and creates file FEATURES]

SCATTER.SV [designs classifier and stores it
in file CLASSIFIER]

5) Invoke the data collection subsystem for on-line classification

by setting the REALTIME flag and invoke the experiment driver

module with the following RDOS command sequence:

DELETE REALTIME AUTO

XFER ONE REALTIME

XFER ZERO AUTO

EXPDRIVER.SV

The default "on-line" module for the experiment driver (module

A9 of Figure 2-1) tallies the number of misclassification errors and











reports the count and probability of error automatically, at the

end of the session, on the operator's console. Module A9 can easily

be modified for the display of a feedback message (to the subject)

based on the result of the classification algorithm (Module A7 and

A8 currently provide feedback messages when the subject eyeblinks or

does not respond in adequate time etc. A few (less than 10) FORTRAN

statements in modules A9, A7 and A8 can modify the existing logic for

this purpose). All of these RDOS commands have been stored in the

ONLINEDEMO.MC pseudo-macro, which uses the DEMOEXPER.SV module instead

of the EXPDRIVER.SV module. DEMOEXPER.SV is identical to EXPDRIVER.SV

except it replaces the single statement that writes the collected

EEG data onto disk with the dual statement that reads the EEG data

from disk. In other words, DEMOEXPER.SV performs a real-time simulation

of a previously collected real experimental session, except there will

not be any rejections due to artifacts (these were rejected on-line

when the session is actually collected).

The ONLINEDEMO.MC pseudo-macro is a very valuable tool in the

evaluation of the performance of the data processing software. Newer

revisions of these modules can now be tested "on-line." A revision

that may be optimal in terms of a given performance parameter but that

demands long execution times (over a few minutes) would seriously

degrade biofeedback experiments. Using ONLINEDEMO.MC, this application

took 22 minutes (total elapsed time) to collect and test two episodic

experimental sessions.















CHAPTER V
APPLICATIONS OF CPVER
A STUDY OF COGNITIVE PROCESSES



The motivation for the development of a CPVER system is described

in Childers et al. [17]. In this report, the authors give specific

details of the rationale for the experiments that were to be conducted

using such a system. In section 5.1 a brief, relevant review of the

experimental design is presented for convenience. Section 5.2 gives

a summary of results.



5.1 Experimental Design


Recent studies have suggested that components of ERPs may discrimi-

nate semantic or linguistic "meaning" [1,6,47,48]. In the UF experi-

ments, cortical potentials were to be recorded while subjects decided

if simple propositions such as "A bass is a fish" were true or false.

This "sentence verification" task has been used extensively in behavior-

al studies of semantic memory, since it requires that information

relating the two terms of the sentence be retrieved from long-term

memory, and evaluated with respect to sentence structure. The major

purpose of the experiments was to determine if true and false state-

ments could be discriminated on the basis of the subject's single

ERPs.

Verification of the truth or falsity of even simple propositions

often seems to require effort (consider, for example, "A rose is not











a vegetable"). For one set of experiments, sentence subjects (S-terms)

were 18 concrete nouns (e.g., trout), while sentence objects (0-terms)

were either the immediate (e.g., fish) or superordinate (e.g. animal)

categories of those nouns. Verbs (V-terms) could be either affirmative

("is") or negative ("is not"). The use of both affirmative and negative

sentences, and the inclusion of two possible 0-terms, was intended to

make it less likely that subjects would read the S and V-terms and

then try to anticipate particular words which would make the sentence

true or false. This may reduce the task from semantic verification to

lexical matching. Use of negative sentences also controlled for the

presence of associations between S and O-terms; that is, the class of

true and false sentences each included associated (Robin is/is not-

bird) and unassociated (Robin -is/is not- truck) S-0 pairings.

In the resulting set of 144 sentences, true and false statements

were equally likely, as were affirmative and negative statements. Use

of an equal number of false and true sentences, repetition of terms

within blocks of sentences, and repetition of sentences across blocks,

were intended to keep the false sentences from being any less familiar

or more anomalous than the true statements. Any such differences

would be confounded with the true-false distinction.

The semantic experiment sentence materials are a hierarchy of set-

inclusion statements, a portion of which is outlined as follows:

(Diagram on following page)





80



Level 1 Level 2 Level 3

AI2
B2 1


2 2

1 I



2 Q2


An example from the actual stimuli would be as follows: X =

animal; P1 = bird; P2 = insect; Al = robin; Y = plant; Q1 = flower;

Q2 = tree; etc. The complete hierachy is given in Figure 5-1.

The use of both positive and negative propositions gives four

basic types of statements, e.g.,

True Affirmative (TA): A hammer is a tool.

False Affirmative (FA): A hotel is a tool.

True Negative (TN): A hotel is not a tool.

False Negative (FN): A hammer is not a tool.

The number of TN and FA sentences was restricted to equal the

number of possible sentences in the other classes (i.e. 36 each).

This gives a total of 144 sentences. From a subject's perspective

true and false statements are equiprobable. This serves to disconfound

the response to validity from any probability effects that might occur

with less likely false sentences. For presentation purposes, the

sentences are randomized and divided into two blocks (sessions) of

72 trials. In the semantic experiments, each subject participated in

four distinctly randomized 72-trial sessions. In the replication of










BASS

TROUT

ANT-----
E INSECT ANIMAL
BEE

ROBIN-

SPARROW

OAK----
OTREE
PINE

ROSE
DR FLOWER PLANT
DAISY00

PEA-------
EA VEGETABLE
CARROT

HAMMER
TOOL
SAW

CAR

TRUCK ---= VEHICLE OBJECT

HOTEL
HOUTE -BUILDING
HOUSEe 51 S e


Figure 5-1 Sentence Hierarchy











the semantic experiments, each subject participated in two sessions of

144 trials (in the early experiments, disk storage was limited to the

size of a Data General 4047B disk pack).

In the episodic experiments, 72 sentences involving facts about

the individual subject, were presented in four randomized sessions to

each subject. The sentences consisted of two types, TA and FA, each

type contains 36 statements (the negative statements were eliminated).

These experiments were fundamentally identical to the semantic experi-

ments (the only change was the sentence) described above. The episodic

sentence set is depicted in Figure 5-2.

The rationale for these idiosyncratic experiments was basically

that the task should be easier and faster (this proved to be the case),

and that validity could be tested perhaps more reliably, since the

statements involve terms that are not previously associated. Thus,

the responses to the TA statements should be more easily separated

from the responses to the FA statements because of their particular

idiosyncratic nature and more "obvious" validity.

More than 10 subjects have participated in these experiments

(see Table 2-3)with the use of the CPVER system. Experimental results

have been described by Fishler et al. [1] and Childers et al. [11,

12,17,19,33].

The measurement vector was chosen as a 720 msec interval of the

EEG. The interval may start with the onset of the last sentence seg-

ment that the subject reads or it may be shifted by a specified

number of samples from the 0-term (stimulus-locked). Synchronization

may also be chosen with respect to the response pulse onset, with or
















My first

My last

My father's

My mother's

My major

My class

My hair

My hair

My preferred

My sex

I like

My age

I ride

I work

I was

I was

I live

I live


name is

name is

name is

name is

is

is

is

color is

hand is

is

to play

is over

a

as a

born in

born in

in

in


19

20

S 21

S 22

23

24

25

S 26

27

28

29

30

31

S 32

S 33

S 34

___ 35

36


My parents

My parents

My father

My mother

My eyes

I go

My ancestors

My biggest

My favorite

My worst

I want

My favorite

My shoe

My favorite

My middle

My favorite

My favorite

My residence


lived) in

lived) in

is a

is a

are

to bed

came from

meal is

food is

food is

to be a

color is

size is

music is

name is

author is

actor is

is


Personal Information Data Set


Figure 5-2










without shifting (response-lock). Since there were 8 msec between

samples, this gave a 90 component measurement vector, e.g., N = 90 for

each EEG data channel. This measurement vector dimension was determined

empirically by considering several factors. First, initially it was

desired to include the P300 component in the ERP (i.e., the positive

300 msec peak). Second, it seemed wise to place some upper limit on

the dimensionality of the measurement vector. This observation window

can be shifted at will, therefore, this does not impose any limitation

on exploratory data processing. Thirdly, this 720 msec measurement

interval closely approximates the overall spread of the subject's

responses [11].

The data was divided into two equal sets, a design set of M

samples/class and a test set of M samples/class. Usually D = T = 36

for the experiments conducted (subjects on occasion did not respond

early enough in the measurement interval to allow the full 720 msec

observation window for response-aligned data processing) using CPVER.

The design set is used to determine both the features and the classifier.

To reduce the dimensionality of the observation vector as compared to

the number of samples per class, the measurement vector was partitioned

into K segments of length L (N = KL) such that the ratio M/L > 3. The

partition size was chosen as L = 10, yielding a reduced nine-element

observation set. The size 10 was selected after conducting experiments

on the correlation between successive samples, etc.

One or two discriminant vectors (features) were calculated for

each partition of dimension 10. A criterion value (a type of signal-

to-noise ratio) was computed for each feature. The two features with

the largest S/N ratios were usually chosen for the representation.











The design set was projected onto the selected two-feature space

and a linear classification rule was derived. The PE was determined

empirically for the design set by counting the number of known trials

that fall on the wrong side of the decision boundary. The test set

PE is also determined empirically. This design and test set procedure

is known as the Hold-Out Method for estimating the PE, and gives

pessimistic results, but it does not require much computation.

The desired experimental results were: 1) ERP averages that

demonstrate "gross" effects, such as the evoked response following

each sentence segment presentation, 2) tables of S/N ratios for

stimulus-aligned and response-aligned data, and 3) scatter diagrams

for each design/test set pair with the resulting PE tabulation.

These outputs provided the basis for paradigm evaluation and associated

conclusions.



5.2 Summary of CPVER Data Processing Results


In the following pages, sample 3-D displays, ERP averages, S/N

ratio tables, and scatter diagrams are presented for the four subjects

whose data was "accepted" for processing (see Table 2-3): Mainly,

RCP, JNL, CJB, and MAD. Subjects RCP and JNL participated in both

the episodic experiment and the semantic (replication) experiment.

Subject CJB was asked to reverse the direction of his switch-

activated response (true = left in sessions 1 and 4, true = right in

sessions 2 and 3) movement. An EMG was collected for a preliminary

study designed by Bloom [3].






86




No attempt is made to assess the implicability of these results

to the cognitive processes of the human brain. The goal of this re-

search was to provide a framework for the conduction of experiments

in cognitive psychology studies, e.g., the evaluation of these results

is beyond the scope of this work.






























































Figure 5-3 Subject RCP, Series R, Session 1, S-Lock
















Table 5-1

Feature Vector Criterion












S/H Ratios or Criterion J, Non-Toeplitz.


Page 1


Subj:RCP, Ser:R, Sessal, Chn:6 CZ, S-LOCK C 10), 36 Samp/Cl, 10/25/81

Pk k= 1 2 3 4 5 6 7 8 9
Mk 3 4 4 3 5 3 5 3 3
Gamma 0.482 0.350 0.579 0.791 0.575 0.524 0.897 0.798 0.366

UF -fl 0.400 0.248 0.458 0.699 0.425 0.440 0.728 0.706 0.290
* ---------------------------------------.
DA -fi 0.715 0.463 0.660 1.043 0.521 0.599 1.215 0.877 0.563
DA -f2 0.213 0.143 0.379 0.505 0.385 0.113 0.560 0.512 0.341


















Table 5-2

Feature Vector Criterion












S/N Ratio5 or Criterion J, Toeplitz. Page 1

------------------------------------------------------------------------
Subj:RCP, Ser:R, Sess:1, Chn:6 CZ, S-LOCK C 10), 36 Samp/Cl, 10/25/81
------------------------------------------------------------------------
Pk k= 1 2 3 4 5 6 7 8 9
Mk 2 4 3 3 4 3 5 3 3
Gamma 0.390 0.314 0.611 0.747 0.521 0.455 0.841 0.769 0.498
------------------------------------------------------------------------
UF -fl 0.347 0.216 0.524 0.657 0.404 0.374 0.674 0.678 0.414
------------------------------------------------------------------------
DA -fi 0.594 0.400 0.789 0.837 0.736 0.716 1.196 1.011 0.632
DA -f2 0.218 0.082 0.242 0.463 0.333 0.042 0.439 0.493 0.278
------------------------------------------------------------------------















U H -S 83K + S 7 ANGLE 137


T

FF
FF F FF
F F
F
F F


T


T

T TF T
F T
T
T T

\FT T



T


DESIGN SET, SUBJ:RCP, SER:R, SESSION:1, CHH:6 CZ S-LOCK, SHIFT: 1e, FEAT(8,7), PE=18/72(11-T, 7-F!


Y = -1 83X + 591 75


nuGi r -35


\F T T
F T

F FF
T FF
F FT F T T
FTP FT
F
T TV' T T

FF T


T F I
T T
FF F




T



F
T~~~~~~~T ~ =flfl la~pr ~LUL.~ C~nirU IY. I~ Aln, CuLHI r(J ,rr -


ES SE :II S 0 M M H 0 &6 C S-O, 4 SHIF' : I, FLT87,P=27(oT2 -
Figure 5-4 Scatter plots


UF METHOD (090 COV


UF MEHO CV COY Y- 3 + Cc 7v nC


UF METHOD (090 COY)


Y = -1 93% + 591 75


ANGLE: 135


T













UF METHOD (AVG COY). Y = -1.9X + 686.38 ANGLE: 133

T T


T
F T T
T T
F T TT T T T


T
ST T T T
T F TT T
SF T T

TF
F F" F

FF F T T F
F "
F T


T FF T




























T T
TT F FF F 1 #
TT T

T





FT
F F F
F IF


F F f F

T T T F






TEST SET, SUBJIRCP, SER:R, SESSION:2, CHN:6 CZ S-LOCK, SHIFT: 18, FEAT(7,4), PE=29/72(11-T,18-F
Figure 5-5 Scatter plots













UP METHOD (AVG CO


FF T T
FF

T F
T
F F FF T
FT
SFF T
F F
T FT F
F F
F
F T


T F T

T T

T FT F T T


F F
r FT T
T
ST


DESIGN SET, SUBJ:RCP, SER:R, SESSION;1, CHH:6 CZ S-LOCK, SHIFT: 10, FEAT(7,3), PE=19/72(11-T, 8-FJ
















UF METHOD (RVG COV). Y = -8.69X + 473.29 ANGLE: 146


TEST SET, SUBJ:RCP, SER:R, SESSION:2, CHN:6 Ct S-LOCK, SHIFT: 18, FERT(7,3), PE=33/72(16-T,17-F
Figure 5-4 Scatter plots


T




T


FT r FT
T
T T 1
T T
FTT F

T TTf T
FT T


T F


F F


I I F = -9.69- + 473.i29 nI w I% T


V ~ L~Y r


nuC r A




Full Text
105
Figure 5-15 Subject JKLr Seres R, Session 2, SLock


70
Table 3-3
Filenaming Convention for Covariances,
Mean Vectors and Discriminant Vectors
Filename = 10 alphanumeric characters
{file-type} {ill} {e} {n} {sync} {class} {channel} {P or A}
K.
Where
{file-type} = a one character code for each type of file.
C Covariance, T Toeplitz, U Mean Vector
V Discriminant Vector
{HI}
{E}
{N}
{sync}
{ class}
{ channel}
{Pk or A}
= subject's initials (3 letters).
= experiment-series designator (E or S or R).
= session number (1, 2, 3, or 4).
= stimulus or response synchronization (S or R).
= the stimulus class for covariances and mean
vectors or the algorithm used for discriminant
vectors. 1 TA, 2 FA, 3 TN, 4 FN,
A UF Averaging, T UF Toeplitz, D Discrim
inant Analysis, M Modified Discriminant Analysis.
= channel number (1 8).
= partition numbers (1 9) or the letter A for
the "average" covariance or "average" Toeplitz
estimator across partitions.


271
Tile Listing Utility
Progra: SVERDSPL.HC
DELETE PUTO
XFER DP4F:ZER0 PUTO
DP4F:SVERDSPL.SV
Page


woo
263
File Listings of : ZERO, ONE,
TYPE (ZERO,ONE,ANSWERS)
0
1
ESPEC
MOD
ANSWERS


127
Figure 5-29 Subject JNL, Series E, Session 1
S-Lock


CHAPTER III
IMPLEMENTATION OF CPVER
DATA PROCESSING SUBSYSTEM
3.1 Introduction
The implementation details of the EEG data processing subsystem
are described in this chapter. The ultimate goal of the signal pro
cessing task is to recognize single visual evoked responses to meaning
ful stimuli, and to classify the single epochs into one of two possible
classes. In cognitive studies of semantic memory the stimuli cannot
be repeated numerous times because, presumably, the response to pre
vious sentence propositions could become overlearned. These experi
ments demand special consideration since relatively few processing
algorithms are available for the small sample case, and the number of
samples per class cannot be increased.
Signal extraction methods have been used to extract the ERP, but
these methods are least valid for the extraction of longer latency
components associated with cognitive activity. Signal classification
methods, though more difficult and complex, are often capable of
providing accurate results in cases where it would be useless to use
signal extraction methods [13]. CPVER uses the signal classification
methodology developed by Childers et al. [ll] to accomplish this task.
A "training set," e.g., a set of labelled epochs of known classes
(design set), is required to guide the data reduction (feature extrac
tion) procedure in the selection of an optimal set of features, and
44


113
J


34
manner as the calibration signal filename, using the letter V for a
first letter, and stores in it the averaged VER, after displaying it
on an oscilloscope. After visually inspecting the signal on the
oscilloscope the electrodes may be repositioned and the process re
peated.
Module A5 uses the information in the specifications table to set
up the stimulus presentation module. The system then searches for a
file whose name is created from the experiment series designator, the
letters SEQ, and the session number. This file is assumed to contain
the randomized order for sentence presentation. The system prints out
a subset of the default specifications for the session, and creates
the filenames that will contain the digitized EEG signals. By doing
this, the system not only insures that there is enough disk space to
store all of the data (prior to the conduction of the experiment) but
also saves one second of CPU time between each trial presentation (more
time is required to create, allocate space and write disk blocks than
it does to restore data on direct-access files).
Module A6 presents the sentence in three segments, collects the
EEG signal, and stores the digitized data samples in the appropriate
file. The presentation of the sentences in segments is made possible
by the exploitation of the capabilities of the HP 2648A graphics
terminal. This terminal allows the user to load from one to eight,
eighty-character instruction sequences into its memory, and allows
triggering of the sequences by depressing a button (these are called
"Function Keys" FI to F8) or via command string. Instruction sequen
ces for one key may contain commands to trigger another key. This


REFERENCES
1. Fischler, I.S.; Bloom, P.A.; Childers, D.G.; Roucos, S.E.; and
Perry, N.W., Jr, "Potentials Related to Sentence Verification:
Lexical Versus Sentential Processes and the N400," submitted
to Psychophysiology, 1981.
2. Aunon, J.I.; McGillem, C.D.; and Childers, D.G., "Signal Processing
in Evoked Potential Research: Averaging and Modeling,"
Critical Reviews in Bioengineering, Vol. 6, pp. 225-265,
October, 1981.
3. Bloom, P.A., "Dissertation Proposal," submitted to the Graduate
Committee supervising P.A. Bloom, I.S. Fischler, Chairman,
University of Florida, June, 1981.
4. Regan, David, "Recent Advances in Electrical Recording from the
Human Brain," Nature, Vol. 253, pp. 401-407, 1975.
5. Regan, David, Evoked Potentials in Psychology, Sensory Physiology
and Clinical Medicine, Wiley Press, New York, 1972.
6. Shagass, C., Evoked Brain Potentials in Psychiatry, Plenum Press,
New York, 1972.
7. Schenkenberg, T., Visual, Auditory, and Somasensory Evoked Responses
of Normal Subjects from Childhood to Senescence, PhD Thesis,
University of Utah, 1970.
8. Ohlrich, E.S., and Barnet, A.,"Auditory Evoked Responses During
the First Year of Life," EEG and Clinical Neurophysiology,
Vol.32, pp. 161-169, 1972.
9. Vidal, J.J., "Real Time Detection of Brain Events in EEG,"
Proc. IEEE, Vol. 65, No. 5, pp. 633-641, May, 1977.
10. Smith, E.E., "Theories of Semantic Memory," in W.K. Estes (Ed.)
Handbook of Learning and Cognitive Processes, Vol. 5, Erlbaum,
Princeton, New Jersey, 1978.
11. Childers, D.G.; Roucos, S.E.; Bloom, P.A.; Fischler, I.S.;
Arroyo, A.A.; Achariyapaopan, T.; and Perry Jr., N.W.,
"Classification of Cortical Responses Using Features from
Single EEG Records," Submitted for publication, 1981.
174


136


104


68
the y-intercept, the PE, and draws the new decision line. This process
continues until the design PE is zero or the perturbation algorithm
terminates. The system clears the graphics memory and redraws the
design scatter plot.
Submodule G7 draws the decision line that was "saved last (the
first occurence of the lowest PE that is "closest" to the perpendicular
bisector line), and calculates the PE based on this decision rule.
The submodule concludes by writing in graphics text mode, the scatter
diagram captions in order to obtain a "hardcopy" of the graphics memory.
In automatic mode, the system stores the parameters of the decision
boundary line in the sequential file CLASSIFIER and exits. In manual
mode, the operator is prompted for additional channel/feature combina
tions as desired.
In the experiments conducted using the CPVER system, the design
and test set scatter diagrams with the classifier boundary and PE
counts, and the corresponding S/N ratio tables, were the outputs de
sired by the experiment designer. These were used to evaluate the
validity of the postulated hypotheses with regard to semantic memory
processing by Fishier et al. [1], Childers et al. [11,12,17,19,33],
and by Bloom [3].
The SCATTER module requires 46 KB of main memory for execution.
Execution times for typical design/test set applications are, approxi
mately, 10 minutes for the design and 20 seconds for the test. The
program requires 62 disk blocks to store the files DESIGN and TEST,
and one disk block for the file CLASSIFIER.


162
Figure 5-52 Subject CJB, Series E, Session 4, R-Lock


89
Table 5-2
Feature Vector Criterion
S/N Ratios
or Criterion
J, T oep1it z.
Page
- 1
Subj:RCP ,
Ser:R,
Sess:1
, Chn: 6
N
o
S-LOCK
C 103 ,
36 Samp/Cl, 10/25/81
Pic k =
1
2
3
4
5
6
7
8
9
Mk
2
4
3
3
4
3
5
3
3
Gamma
0.390
0.314
0.611
0.747
0.521
0.455
0.841
0.769
0.498
UF -fl
0.347
0.216
0.524
0.657
0.404
0.374
0.674
0.678
0.414
DA -fl
0.594
0.400
0.789
0.837
0.736
0.716
1.196
1.011
0.632
DA -f2
0.218
0.082
0.242
0.463
0.333
0.042
0.439
0.493
0.278


60
Submodule El (Figure 3-1) initializes and sets up the COVEST
program. Two externally supplied flags control the operation of the
software: flag INDV is set to enable the output of individual partition
covariances for calculation of features using discriminant analysis,
and flag AUTO is set for automatic, input-free operation. In manual
mode, the system requests the following inputs from the operator:
1) the name of the parameter and specifications table (Table 2-2),
2) the subject's initials, 3) the synchrony point designator, and 4)
the experiment session number. In automatic mode, these inputs are
pre-stored in a sequential character file named ANSWERS.
The submodule opens the specifications table for read-only access,
and extracts the value of the pertinent subset of the parameters that
were previously used to collect the data. The specifications table
was previously described in section 2.4 of this work. The parameters
used by COVEST include: 1) The experiment series and file-type desig
nators of line 9 of the table; 2) the number of the timing channel
and channel names of line 13; 3) the number of sentences, number of
trials, starting sentence number, number of classes in the master
sentence set, number of sentences per class for the master set, number
of classes presented, and number of sentences per class presented of
line 15; 4) the polarity of the response of line 17; and 5) all of
line 18. This line contains the data processing specifications alluded
to in step one of Tables 3-1 and 3-2, mainly, 1) the number of parti
tions k, the length of each partition L, the synchrony point displace
ment windows, the horizontal and vertical scale factors for the graphics
display, and the number of channels and channel numbers to process.


180
II. Checklist Procedure
A. The day before the data collection is to take place, perform
the following pre-operational equipment checks:
1. Turn on the EEG amplifiers. Check the batteries on the
signal calibrator and connect the signal calibrator out
put to all of the inputs of the EEG amplifiers. Verify
proper operation by observing the amplifier output on an
oscilloscope (after an appropriate warm-up period).
Adjust the relative gain (from channel-to-channel) and
DC off-set. Turn off the calibrator but leave the ampli
fiers on until the next day.
2. Turn on the NOVA 4 computer, place the data collection
disk to be used in the 6070 disk unit and ready the unit;
sign on the system. Insure there is enough space on the
data collection disk with the RDOS command, DISK. If a
new pack is required, perform a full disk initialization
on the pack and run the pseudo-macro CRENEWDSK.MC.
3. Verify proper operation of the NOVA 4 A/D subsystem as
follows: connect a sinewave generator onto the inputs of
A/D channels one through eight, turn on the NOVA 2 A/D
system and select the desired external clock frequency
(switch position l=lKHz), turn on the variable gain
oscilloscope, and run RDOS pseudo-macro ADTEST.MC. The
macro invokes the module ADTEST.SV which requests inputs
such as the desired clock source (0-disabled, 1-none, 2-
internal, 3-external), the beginning channel number (1)


58
Figure 3-1 Covariance Matrix Estimator Structure Chart


3
prominent in the literature is the positive deflection occurring
around 300 ms (P300) and more recently, the negative component
around 400 ms (N400) [1] has been discussed. These components
are enhanced by subject expectation (novelty or familiarity) and
task relevance to stimuli.
Artifacts are potential fluctuations of non-neuronal origin such
as electroocular potentials (EOG), muscle potentials from neck, scalp
or face (such as eyeblinks), electrocardiographic signals (ECG), and
external electric or magnetic field interference.
Because of the large differences in magnitude between the ERP and
the on-going EEG signal, unrelated to the event of interest, the ERP
competes with the EEG for "signal space" and as such the EEG constitutes
or plays the role of noise. If a deterministic, repetitive signal
is added to random noise and the time occurrence of the signal is
accurately known, averaging becomes an effective tool for enhancement
of the signal. Conventional averaging, however, is subject to the
following assumptions about the entire EEG process. First, the moni
tored composite scalp brain wave f(t) is composed of an ERP signal
component s(t) and an additive noise component n(t) represented by
the on-going EEG waveform; e.g., the noise is purely additive. Second,
the ERP signal s(t) is usually assumed to be deterministic; e.g., that
for the same stimulus and subject, the ERP signal will faithfully
repeat itself given the same stimuli. Third, the noise component is
not time-locked to the presentation of the stimulus. Aunon et al. [2]
give a detailed discussion of conventional averaging as applied to
evoked potential research.


248
File
Listing Utility
Progra: N4DCH
MOV
0,8,SZR
; SKIP IF SCOPE MODE
LDA
1,NSBIT
; NON-SCOPE BIT SET
ADD
t,2
; ADD SCOPE BIT TO AC2
STA
2.SELXY
; STORE MODE WORD
***** INITIALIZE THE BEAH ON THE CENTER LEFT AREA OF THE SCREEN
LDA
2,DATA
: LOAD ADDRESS OF BUFFER
STA
2,23
; STORE
ADDRESS IN SELF-INCR
LOCH
SUBO
0,0
; CLEAR
ACS
MOVOR
0,1
; GENERATE 100088 IN AC1
STA
1,XAXIS,3
; STORE
CURRENT VALUE ON THE
USER STACK
STA
1,8,2
; STORE
1ST X VALUE ON THE
BUFFER
SUBC
1.1
; CLEAR
RC1
STA
8,823
; STORE
1ST Y VALUE IN THE
BUFFER
***** SHIFT THE DATA TO THE LEFT 4 PLACES FILL UP OUTPUT BUFFER.
LOOP:
;****
INS3A:
ACN:
INS3B:
RTNs
LDA
2,0NPTS,3
NEG
2,2
STA
2,NPTS,3
LDA
1,8INCRX,3
MOVZL
1,1
MOVZL
1,1
MOVZL
1,1
MOVZL
1 ,1
LDA
0,XAXIS,3
ADD
1,0
STA
0,023
STA
0,XAXIS,3
LDA
0,@IARRY,3
MOVZL
0,8
MOVZL
0,0
MOVZL
0,0
MOVZL
0,0
STB
0,023
ISZ
IARRY,3
INC
2,2,SZR
JMP
LOOP
START
DISPLAY
DIA
0, TTI
STB
0,STOP
STA
3, AC3
JSR
MSG
0WTT
LDA
3 AC3
LDA
0,DCODE
LDA
.SYSTM
.STMRP
1.DATA
JMP
INUSE
STA
1,DCHADR
LDA
3,AC3
LDA
0,HSKTTI
DOBS
0,CPU
LDA
1,NPTS,3
MOVZL
1,1
SKPBZ
DACV
JMP
.-1
LDA
0.SELXY
DOA
0,DACV
LDA
2,DCHADR
DOB
2,DACV
DOCS
I,DACV
SKPBZ
DACV
JMP
.-1
DIA
8 ,TTI
LDA
2,STOP
SUB
0,2,SNR
JMP
.SYSTM
.GCHAR
AGN
JMP
. + 1
JSR
DICLR
LDA
3 AC3
STB
3, USP
SUBO
2,2
DOBS
2, CPU
JSR
0.FRET
j LOAD THE NO OF PTS IN AC2
; AC2 = -HPTS
; STORE -NPTS IN STACK
; LOAD X-AXIS INCREMENT IN AC1
; SHIFT LEFT ONCE
} SHIFT LEFT TWICE
5 SHIFT LEFT THREE TIMES
! SHIFT LEFT A FOURTH TIME
; LOAD XAXIS VALUE IN ACS
; ADD INCREMENT
J STORE IN THE BUFFER
5 STORE NEXT X IN STACK
5 LOAD 1ST ARRAY VALUE
; SHIFT LEFT 1ST TIME
j SHIFT LEFT 2ND TIME
; SHIFT LEFT 3RD TIME
; SHIFT LEFT 4TH TIME
; STORE Y VALUE IN BUFFER
; INCREMENT ARGUMENT ADDRESS
; INCREMENT COUNT
; CONTINUE ARRAY LOOP
; ESTABLISH STOP CHAR
5 STORE STOP CHAR
; SAVE REG 3
; DISPLAY MESSAGE
; ADDRESS OF MSG
; RESTORE AC3
; LOAD DEVICE CODE
; LOAD BUFFER ADDRESS
; CALL SYSTEM
; GET DCH MAP FOR DACV
; DEVICE IN USE
j STORE DCH ADDRESS
J RESTORE AC3
5 LOAD TTI MASK
j MASK OUT TTY DEVICE
; LOAD NO OF PTS IN AC1
; DOUBLE THE NUMBER OF POINTS
5 IS BUSY FLAG RESET? f=8)
; NO...DEVICE IS BUSY
; SELECT CONVERTER MODE
; SETUP D^A CONVERTER
; GET DCH ADDRESS
; SET UP DCH ADDRESS
; GIVE WORD COUNT t. START
; IS DACV BUSY?
; YES...CHECK AGAIN
; TIME TO QUIT?
; LOAD STOP CHARACTER IN AC2
; CHECK FOR STOP
; NO...DISPLAY AGAIN
; CALL SYSTEM
; CLEAR TTY INPUT BUFFER
; DON'T CARE IF ERROR
; REMOVE USER DEVICE FROM SYSTEM
; RESTORE AC3
; RESTORE USER LOCH 16
- n foi? or?
REMOVE INTERRUPT MASK
; RETURN TO CALLER


112
Table 5-10
Feature Vector Criterion
S/N Ratio
5 or Cr
iterion
J, Toep
litz.
Page
- 1
Sub j:JNL,
Ser:R 7
Sess:1
, Chn: 6
CZ,
R-LOCK
C-705 ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
3
3
4
5
3
1
5
9
3
Gamma
0.298
0.111
0.221
0.763
0.175
0.156
0.383
20.171
0.967
UF -fl
0.227
0.067
0.138
0.600
0.118
0.156
0.254
19.737
0.872
DA -fl
0.403
0.167
0.298
1.122
0.222
0.271
0.438
11.589
1.248
DA -f2
0.162
0.073
0.153
0.251
0.098
0.075
0.153
2.943
0.882


17
in the face of changing requirements (modifiability), while
keeping the productivity of the system in a relatively
constant environment (maintainability).
8) To make the system simple to use, e.g., to make it "menu"
or "a la carte" driven.
9) To increase the utility of the system by standardizing
procedures and software modules, especially those which
control peripheral devices such as the A/D converter, oscillo
scope, three-dimensional display> etc. This is a very impor
tant consideration in a research laboratory facility.
10)To perform single VER extraction and classification in real
time or in near real-time.
All of these factors have been given consideration in the design
of the CPVER system. However, in the event that a compromise between
criteria was required, items 10, 1, 2, 3, 8 and 9 were given precedence.
1.3.2 Software Overview
The software modules of CPVER consist of: 1) A "real-time" stim
ulus presentation and EEG data collection module, 2) a set of data
averaging and data display modules, 3) feature extraction modules,
4) an ERP classifier module, and 5) a set of special-purpose modules
to control non-standard peripherals or to enhance the participation of
standard peripherals (such as the use of the "off-line" capability of
the Hewlett-Packard (HP) 2648A terminal).


217
File Listing Utility Progra*: DVEST
Page
x 25X,"Page -',12/-)
0
C HEAD INC
C
2868 J = ICHN(IC)
WRITE(16 4666)
WRITE(1812180) SUBJIN,SERIES.HUMBER,J,(CHID(I,J),1=1,2),
X JSYNC,ISHFT,MB,IDAY
2188 FORMAT OX,"Subjs",AI,A2,", Ser:",Al,*, Sess:-,A1,
X ", Chn s* ,11 ,IX,2A2,*, ",A1,*-LQCK (,13,*),,13, Sa.p-'Cl ,
X */",I2,*^",I2)
WRITE18,4000)
URITE10,22001 (I,1=1,HP)
2208 FORMATOX, Pk k=*,IS,8I7)
WRITE(18,2300) (MK(K,L,IC),L=1,NP)
2300 FORMATOX,* Mk ",15,817)
WRITE18,2408) (GAHMA(K,L,IC),L=1,HP)
2480 FORMATOX, Gaaaa *,9F7.3)
WRITE(18,4088)
WRITE10,2580) (JK(K,L,IC),L=1,NP)
2500 FORMAT(9X,*UF -fl *,9F7.3)
,12,
WRITE(18,4000)
IFdHDV .EQ. 9) GO TO 2880
WRITE(18,2600) (DM(1,K,L,IC), L=1 HP)
WRITE(18,2780) (DM(2,K,L IC), L=1 NP)
2688 FORMATOX,"DA -fl ",9F7.3)
2700 FORMAT(9X,DA -f2 ,9F7.3)
WRITE(10,4008)
2888 WRITE(10,5000)
2900 CONTINUE
TYPE *<33>h<33>fcp3s5dH<33>g"
3000 CONTIMUE
4888 FORMAT(9X,71(""))
5000 FORMAT()
C TYPE "<33>Y<14>"
C TYPE *<33>Z<33>A<33>*.p3sSdM<33>g"
IF(IRUTO .HE. 1) STOP
CALL OPEN(3,*FEATURES*,3,1ER)
DO 6800 IC = 1 NCHN
J = ICHN(IC)
DO 5550 X = 1 2
DO 5580 L = 1 NP
5508 B(L) = JK(K,L,IC)
CALL SORT(B,NP,INDEX)
5550 WRITE(3,5600) J ,K, (INDEX(I),1=1,NP),(B(I),1=1,NP)
5680 FORMAT(1X,11I2,9F6.2)
IF(INDV .EQ. 0) GO TO 6000
DO 5800 K = 1 2
DO 5700 L = 1 NP
5700 B(L) = DH(1,K,L,IC)
CALL SORT(B,NP,INDEX)
M = < + 2
5800 WRITE(3,5600) J, M, (INDEX(I), 1=1 NP), (B(I), 1=1,HP)
6080 CONTINUE
CALL CLOSE(3)
STOP
END


244
TTYOK:
OK:
TINS3:
PREP:
File Listing Utility
Program: H4PI0
Page 2
LDP
8,TTYN+2
SEE IF 3RB BYTE NON-ZERO
nov
0,0,SNR
NON-ZERO <==> TTI1/-TT01
JMP
TTYOK
CONCOLE IS TTI^TTO
ldb
9,CINS1
CHANGE 1ST INST
STB
0,TINS1
CHANGE IT
LDB
0.CINS2
;
CHANGE 2NB INST
STP
0,TINS2
CHPNGE IT
LDB
8.CINS3
CHANGE 3RD INST
STB
0 TIHS3

CHPNGE IT
STB
0,TINS4
CHANGE IT
LDA
0,CIMS5
STB
8 ,TINS5
CHANGE IT
HIOC
BBCV
CLEAR BBCV DEVICE
LBB
8,@CL0CK,3
LOAD CLOCK MODE SEL BITS (0-2)
MOV*
0,9,SNR
;
IS CLOCK SYNC ENABLED?
JMP
OK
CLOCK SYNC IS ENABLED
LBB
1,flINSl
DISABLE DBC Y BUSY TEST
STB
1,INS1
1ST TEST IN BGN LOOP
LBB
1,BINS2
STB
1,INS2
LBB
1.BINS3
STB
1,INS3
LBB
1,BINS4
STB
1 ,1HS4
LBB
1,BINS5
STB
1 ,INSS
LDP
1,BINS6
STB
1 ,INS6
LDP
1,PIHS7
STB
1,INS7
LDP
1,PIHS8
STB
1,INS8
LBB
1,BINS9
STB
1,INS9
MOVZR
0,0
SHIFT RIGHT
HOVR
0,e

SHIFT RIGHT
MOVR
0,e
SHIFT RIGHT
MOVR
0,0
SHIFT RIGHT
LBB
2,8SC0PE,3
LOAD SCOPE FLAG INTO BC2
LBB
1,SMOBE
SELECT SCOPE MODE
MOV
2,2,SZR
CHECK SCOPE FLPG
LBB
1,NSMOD
NON-SCOPE MODE
BBB
0,1
THIS IS NEW MODE COMMAND
SKPBZ
BBCV
SEE IF DEVICE IS BUSY
JMP
.-1
STILL BUSY
STB
1,SELXY
SBVE MODE WORD FOR LBTER ISSUE
PDC
1,1
GENERATE A -1 IN BC1
LDP
0,IBRRY,3
PUT IN BC8 ADDRESS OF INPUT ARRAY
BBD
0,1
PUT IN AC1 ADDRESS OF INPUT ARRAY -
LBB
0.0NSTRT ,3
PUT IN BC8 THE STORTING INDEX
BBB
0,1
OFFSET STORTING BDDRESS BY STARTING
STR
1,IBRRY,3
STORE STORTING ADDRESS IN STRCK
LDP
8,0NPTS,3
; LOAD THE NO OF PTS IN BC0
Nee
0,0
BC0 ==> NPTS
STB
0,NPTS,3
STORE IN STOCK
LBB
8,@INCRX ,3
; LOAD X-AXIS INCREMENT IN AC8
MOVZL
0,0
; SHIFT LEFT ONCE
MOVZL
0,0
5 SHIFT LEFT TWICE
MOVZL
0,0
; SHIFT LEFT THREE TIMES
MOVZL
0,0
; SHIFT LEFT A FOURTH TIHE
STB
8,IHCRX,3
5
STORE INCREMENT IN STACK
DIBC
8 ,TTI
GET STOP CHBR
STB
0,STOP
STORE IT
MOV
3,2
; SAVE REG 3
JSR
0UTT
; DISPLAY MESSAGE
MS6
J BDDRESS OF MSG
MOV
2,3
; RESTORE BC3
LDP
2,BBTR
5
LORD BUFFER BDDRESS
STB
2,23
STORE IN SELFINCR LOCH
SUBO
0,0
CLEAR RC8
MOVOR
8,1
GEHERBTE 100088 IN AC1
STB
1 ,023
STORE IN BUFFER 1ST X VALUE
STB
0,023
;
STORE IN I FER 1ST Y VALUE
STB
1,XBXIS,3
STORE X-RXrc IN STBCK
LDP
2,NPTS,3
LOAD -NPTS IN BC2
LDP
0,INCRX ,3
LOAD INCREMENT
PDD
0,1
ADD INCREMENT
STB
1,023
STORE IN BUFFER
STB
1.XflXIS,3
STORE IN STACK
LBB
0,0IBRRY,3
5
LOAD SAMPLE VALUE


2
disorders from psychogenic ones; and it can provide an objective indica
tion of sensory function where conventional perceptual tests are un
reliable or impractical (patients, infants, the severely handicapped,
etc.) .
The main problem in recording evoked potentials (EP) is detecting
them at all, since they are imbedded in the composite electrical
activity of the brain as a whole (EEG). Whereas the EEG signal
reaches amplitudes of 50 to 100 microvolts, single evoked potentials
(EPs) are often in the range of 1 to 5 microvolts and may be as small
as 0.5 microvolts. The signal energy appears confined mostly to low
frequencies, e.g., around the 10 Hz alpha rythm. This continuous
activity is spatially distributed over the scalp and can be, at best,
described as a piecewise stationary process. The evoked potential
(EP) (evoked response (ER) or event related potential (ERP)) is the
desired signal and to the ER investigator the EEG signal represents
unwanted and overwhelming background noise.
Event related potentials (ERPs) may be induced by other than
sensory events. Short latency ERPs are those whose presence is most
prominent in the 50 ms to 150 ms range following the stimuli and
include sensory ERPs elicited by visual (VER), auditory (AER), soma-
sensory (SER) and olphatory (OER) as well as by direct electrical
stimulation (EER). Motor ERPs are responses found accompanying
voluntary movement that may in fact precede the actual behavioral
event. Examples of motor ERPs include phonation, eye movement and
limb movement. Long latency ERPs refer to potentials whose presence
is detected in the 250 to 450 ms range following the stimuli. Most


147
Figure 5-41 Subject MAD, Series E, Session 1,
R-Lock


266
File Listing Utility
Program: CRENEUDSK.HC Page 1
INITVF BP4
MOVE^'V-'R/A DP4 SYS-.- BOOT-.- CLI-.- -SPEED-.- COLLECT.PIC CREHEUDSK-PIC START.MC
MOVE-'V/R-'R DP4 RSEQ-.- ESEQ-.- ESPEC-.- RSPEC-.- RSENT EPISODIC
MOVE^VxR/fl DP4 .SV
HOVE/V/R/A DP4 .MC


27
RDOS, Revision 6.62, operating system. The driver presents the state
ment propositions in a three-segment format on the 2648A HP graphics
terminal, and collects the digitized EEG signal from eight A/D channels
operating at a composite 1000 Hz sampling frequency. It monitors the
EOG signal for eyeblinks and rejects and reschedules the stimulus
presentation, if the subject blinks during the response period. In
addition, the driver collects a digitized calibration signal from
each channel and presents photic stimuli to obtain an "averaged" VER
for a specified channel.
The structure chart [46] for the equipment driver is shown in
Figure 2-1. Each module represents a logical grouping of related
operations that will be described in this section.
Module Al's purpose is to define the default values of program
parameters and loop counters, to initialize the value of the experiment
statistics accumulators, and to input the experiment series parameter
table, subject initials, and experimental session number. The experi
ment series parameter table is shown in Table 2-2. The first eight
lines contain the character values of the instructions stored in the
function keys of the 2648A HP graphics terminal. These are discussed
in conjunction with Module A6 in a later paragraph. The experiment
designer supplies most of the remaining information.
The concept behind this philosophy is that once an experimental
paradigm is designed, the values of the parameters that describe the
experimental session are fixed and the computer operator should not
have the option of respecifying them. This area is especially sensi
tive when the experiments involve interdisciplinary teams, such as


94


241
File Listing Utility Programs RTTY
Page 1
TITL
RTTY
ENT
RTTY
.EXTD
HREL
1
JSR
.CPYL, .
RTTY:
0.CPYL
STA
0,AC0
STA
1 ACl
STA
2,AC2
MOVL
0,8
STA
0,CARRY
LDA
SYSTH
.COIN
0, .HAHE
JHP
USER1
LDA
0 jTTYH+2
nov
0,0,S2R
JHP
USER2
USER1:
DIA
0 ,TT I
STA
0,0-167,:
JHP
RET
USER2:
DIA
0,TTI1
STA
0,0-167,:
RET:
LDA
0, CARRY
HOVR
0,0
LDA
0 AC0
LDA
1 ACl
LDA
2, AC2
JSR
0.FRET
.NAME:
. + 1*2
TTYN :
.TXT
TTI
RC0:
6
AC1 :
0
AC2:
0
CARRY:
e
END


APPENDIX 1
EQUIPMENT CHECKLIST PROCEDURE
I. Introduction
The EEG experiment driver program is a set of FORTRAN routines
written to present the sentences in a three-segment format on the CRT
display, and collect the digitized EEG signal from 8 A/D channels.
Each sampled channel contains 512 data points in integer format, for
each sentence presented (8192 bytes). The disk where the data is to
be stored must be inspected to verify that enough space is left in it
to accomodate the experimental sessions. An estimate of the number
of 256-word (512 bytes) disk blocks required is obtained by multi
plying the number of sessions, times the number of sentences presented
each session, times 16 blocks per sentence, e.g., (total disk blocks) =
(number of sessions) x (number of sentences/session) x (16 blocks).
The EEG amplifiers and the black and white TV monitor will require
warm-up for stabilization purposes. The equipment required consists
of: the NOVA 4 computer, the Grass Instruments photo stimulator, the
Grass Instruments polygraph, the DGC 6070 disk unit, the HP 2648A
graphics terminal, the EEG amplifiers, the EEG signal calibrator, the
response pulse generator, the clock hardware in the NOVA 2 A/D chasis,
a pulse generator, the Develco 3-D display, two oscilloscopes, a
variable power supply, and a timing pulse amplifier.
179


141
Figure 5-37
Subject MAD,
Series E,
Session 3,
S-Lock


41
may be used for future reference. The REJECTS file has been used for
"off-line" artifact rejection and EEG session editing [17].
2.5.3 Single Epoch Display
The single epoch data display or type routine structure chart is
depicted in Figure 2-4.
Module D1 requests the subject's initials, the experiment series
designator, the session number, and the trial number. Module D2 dis
plays the data on an oscilloscope or outputs the digitized sample
values on the operator's console, or both, for a given EEG channel.
2.6 Data Storage Conventions
The DGC 6070 Moving Head Disk storage facility was used to store
the data collected by the CPVER system. Three 10 MB disk packs labelled
DISK 300, DISK 301, and DISK 302 were used for this purpose. Data for
both the episodic experiments and the replication of the semantic
experiments (using two of the subjects who participated in the episodic
experiments, see Chapter V for details) are stored, in subject order,
on these disk packs. Table 2-3 summarizes the data storage convention
adapted for this purpose.


210
Tile Listing Utility
Progra*! COVEST
Page 4
NSE = NSE + 1
DO 608 IC = 1 NCHH
DO 588 L = 1 NP
DO 450 I = 1 N
XII,L> = VdC,I+(L-l)*N)
450 VM(I,L,IC) = VM(I,L,IC) * X(I,L)
C
DO 475 I = 1 H
DO 475 J = 1 N
475 PCOVd ,J,L,IC)=PCOVCI ,J,L,IC) +X(I,L)*X(J,L)
C
588 CONTINUE
C
C END OF CHANNELS.
C
608 CONTINUE
C
C EHD OF SENTENCES.
C
708 CONTINUE
WRITE 110,725) NSE
725 FORMAT IX,"^NUMBER OF SENTENCES PROCESSED : ,13)
C
C END OF SESSIONS.
C
758 CONTINUE
C
C REPEAT FOR EACH CHANNEL AND PARTITION.
C
DO 958 IC = l NCHH
C0VFI5) = (ICHN (10+481*256 + 48
C
C INITIALIZE AVERAGE ARRAYS.
C
DO 775 INDEX = 1 101
TPVG(INDEX) = 0.0
775 QVG(INDEX) = 0.0
C
DO 890 L = 1 HP
COVF(S) = COVF(S) + 1
C
C CALCULATE MEAN VECTOR.
C
B(l) = 1.0
DO 800 I = 1 N
VM(I,L,IC) = VH(I,L,IC) X MSENT
800 BCI + U = VMCI,L,IC1
C
C CALCULATE COVARIANCE MATRIX FROM SUM OF SQUARES FORMULAE.
C
DO 310 I = 1 N
DO 810 J = 1 N
310 PCOV(I,J,L,IC)-(PCOVII,J,L,IC)-HSENT*VM(I,L,IC)*VM(J,L,IC)l^(MSENT-l)
C
C FORCE COVARIANCE MATRIX TO BE SYMMETRIC.
C
A(1) = 1.0
DO 820 I = 1 N
DO 820 J = 1 N
PCOV(J,I,L,IC) = PCOVd ,J,L ,IC)
INDEX = 1 + J + (I-1)*N
AUNDEX) = PCOVd ,J,L,IC)
820 AVG (INDEX) = AVG (INDEX 1 + 0(INDEX)HP
C
C WRITE THE INDIVIDUAL PARTITION COVARIANCE MATRICES ON DISK.
C
IFdNDV.EQ.0) GO TO 825
WRITE (10,260) COVFd)
WRITE(18,8211 (0(11,1=2,11)
821 FORMATdX,"COVARIANCE" ,10F7.8)
COLL OPEN(3,COVF,3,1ER1
WRITE BINARY(3) 0
ENDFILE 3
C
C CALCULATE TOEPLITZ COVARIANCE.
C
825 INDEX = 2
DO 840 I = 1 N


non
226
File Listing Utility
Progra: SCATTER2
Page 4
2450 FORMAT t OJs,13,2X,"OL:*,13,4X,*Y = ",F6.2,"X + ,F6.2,4X,"ANGLE:*,14,
X 5X,"PE(B):",I3,3X,"PE(T):",13)
C TYPE *OJ:",J," OL :,L OPED : ",TE, OPET: ,TT
CALL LDRAU(7,0J1,0J2,0K1,GK2)
IF(TE.EQ.0.AND.TH.£Q.0) CO TO 2900
2580 CONTINUE
2800 CONTINUE
C TYPE "X-AXIS FOR PTS (XI,350) AND (X2,1S) s ",JC1,JC2
2900 TYPE "<33>*dA"
IF(IAUTO .EQ. 1) GO TO 3900
TYPE "OPTIMUM(LOOK-AHEAD) PE (DESIGN.TEST) : *,OPE,TH
PAUSE "<33>*dEDESIGN COMPLETE...KILL ERASE AND RE-DRAW"
TYPE "DRAM THE OPTIMUM CLASSIFIER?"
READ(11,99) MOPT
3000 IF(KDT.NE.1) GO TO 3009
TYPE *<33>fcp5D<33>Y<14>"
WRITE(10,3005)
3005 FORMAT(IX,*<33>Z*2 <33>A<33>A")
TYPE "<33>tp3sSdF<33>g
3809 IF(KTYP.EQ.l) TYPE "<33>*dckl4,3S0oS<33>*lNUF METHOD (AVG COV).*
IF(KTYP.EQ.2) TYPE "<33>*dck14,3S0oS<33>*1NUF METHOD (TOEPLITZ)."
3010
X
3100
IF(KTYP.EQ.3) TYPE "<33>*dck14,350oS<33>*alNDISCRIMINANT ANALYSIS"
IF(KTYP.EQ.4) TYPE *<33>*dck14,350oS<33>*mlNDISC ANAL.(TOEPLITZ) "
WRITE(10,3010) SLOPE, B0, ITHE
FORMAT( <33>*dckl82,350oS<33>*lMY =",F7.2,"X +",F8.2,4X,
ANGLE:,14,"<33>*dlT">
IF(MOPT.NE."Y ") GO TO 3108
CALL SDRAW(CENTER(5),011-3,012-5)
CALL SDRAW(CENTER(5),0Jl-3,0J2-S)
CALL SDRAW(CENTER(5),0Kl-3,0K2-5)
CALL LDRAW(7,0J1,0J2,OKI,0K2)
CALL LDRAW(1,10,10,710,10)
CALL LDRAW(1,710,10,710,350)
CALL LDRAW(1,710,350,10,350)
CALL LDRAW(1,10,350,10,10)
CALL SDRAW(CENTER(3),11-3,12-5)
CALL SDRAW(CENTER(4),Jl-3,J2-5)
CALL SDRAW(CENTER(4),K1-3,K2-S)
CALL LDRAW(1,J1,J2,K1,K2)
CALCULATE P.E.
DO 3588 K = 1 2
NPT = NSENT(K)
PE (K) = 0
DO 3508 1=1, NPT
AX = PTS(I ,1 ,K,KBTJ*SC1 + MIN0(HSC1+180,360)
AY = PTSCl,2,K,KDT)*SC2 + VSC1
IX = AX
IY = AY
IF( KDT.EQ. 1) CALL SDRAW(ISYMB(K),IX+S-5*K,IY+7-7*K)
AT = AXtSLOPE B0
IF((K.EW.l).AND.(SLOPE.LE.0.AND.AY.LE.AT)-OR.(SLOPE.GE.8.AND.AY.CE.AT))
X PE(1) = PE(1) + 1
IF((K.EQ.2)-AND.(SLOPE.LE.0.AND.AY.GE.AT)-OR.(SLOPE.GE.0.AND.AY.LE.AT))
X PE(2) = PE(2) + 1
3500 CONTINUE
TYPE *< 33> *dc14.180S *
TE = PE (1) + PE (2)
TS NSENT(1) + NSENT(2)
WRITE(10,3680) FILE Cl,KDT),(SUB(KDT,I),1 = 1,2).SER(KDT),NUM(KDT),ICN,
X CCHIDCI,ICN),1=1,2),JS(KDT),ISHFT,L1,L2
TYPE "<33>*dS67,180"
WRITE!18,3610) TE,TS,PE
3600 FORMAT(IX,S6," SET, SUBJ:*,A1,A2,*, SER:",A1,", SESSION:*,A1,
X ", CHN:",I1,2A2,", ",A1,-L0CK, SHIFT13,", FEAT(*,11,",*,11,*))
3610 FORMAT(IX,", PE=",12,'/,12,(",12,*-T,",12,-F)<33>*dlT")
TYPE "< 33> &p5D<33>Lp5u0C< 33>g"
IF(IAUTO.EQ.1) IAUTO = 1 MANUAL
IF(IAUTO .NE. 1)GO TO 1760
CALL 0PEN(3,"CLASSIFIER",3,IER)
M = FTYPtS+KTYP)
WRITE(3,4008) SUBJIN,SERIES,NUMBER,ICN,JSYNC,M,ISHFT,
X LI ,L2,FI,F2,SLOPE,B8,ITHE
4008 FORMAT(IX,A1,A2,IX,Al,IX,A1,12,IX,Al,IX,A1,313,4F10.4,15)
CALL CLOSE(3)
TYPE "<33>*dA<33>g"
5800 STOP
END


Sec tion 3fl
CPVER DfiTfl COLLECTION
o f tware


257
File Listing Utility Program: ADTEST
Page 1
INTEGER YC8,512),IBTCS12), IFILUS)
ACCEPT "ENTER CLOCK SOURCE : 0-NO SYNC, 1-DISABLE, 2-INT, 3-EXT ",ICLK
l ACCEPT "ENTER FIRST CHANNEL NUMBER : ",ICH1
ACCEPT "ENTER LAST CHANNEL NUMBER : ",ICH2
N = (ICH2-ICH1+1)
N = HIN8C32+N,H)
CALL ADSAMCICLK,ICH1 1,ICH2-1,Y,1,(N*512)1
DO 20 1=1,N
DO 10 J=1,512
10 IDTJ1 = Y(I+(J-n*N)
20 CALL DSPLY(2,8,IDT,1,512,8,IER)
ACCEPT "DO YOU WISH ANOTHER TEST? 1-YES, 0-NO ",IANS
IF1IANS.HE.0) GO TO 1
TYPE "ENTER FILENAME FOR DATA STORAGE : *
READ(11,38) IFIL1)
CALL F0PEH3.IFIU
CALL URBLK(3,0,Y,16,IER)
EHDFILE 3
30 FORMAT(SIS)
99 STOP
EHD


87
Figure 5-3 Subject RCP, Series R, Session 1, S-Lock


175
12. Roucos, S.E., and Childers, D.G., "Feature Extraction for Small
Design Sets: Two New Algorithms," Submitted for publication,
1981.
13. John, E.; Ruchkin, D.; and Vidal, J., "Measurement of Event-
Related Potentials," in Event-Related Brain Potentials in Man,
E. Calloway, P. Tueting, and S. Koslow, Eds., Academic Press,
New York, pp. 93-138, 1978.
14. Freeman, W., "Measurement of Event-Related Potentials by Decomposi
tion of Their Waveforms," J. Cybern. Info. Sci., 1979.
15. Brillinger, D., "A Note on the Estimation of Evoked Response,"
Biol. Cybern., Vol. 31, pp. 141-144, 1978.
16. John, E.R.; Walker, P.; and Cawood, D., "Mathematical Identification
of Brain States Applied to Classification of Drugs,"
International Reviews of Neurobiology, Vol. 15, pp.273-347,
1972.
17. Childers, D.G.; Fischler, I.S.; and Perry Jr., N.W., Visual
Evoked Response and Cognition, Second Annual Report, Contract
78-F-295000, Department of Electrical Engineering, University
of Florida, October, 1980.
18. Burns, S.K, and Melzack, R., "A Method for Analyzing Variations
in Evoked Responses," Elec. Clin. Neuro., Vol. 20, pp. 407-409,
1967.
19. Childers, D.G.; Fischler, I.S.; and Perry Jr., N.W., Visual Evoked
Response and Cognition, First Annual Report, Contract 78-F-
295000, Department of Electrical Engineering, University of
Florida, September 1979, Revised November, 1979.
20. Gevins, A.S., "Pattern Recognition of Human Brain Electrical
Potentials," IEEE, Vol. PAMI-2, No. 5, September, 1980.
21. Aunon, J.I., and McGillem, C.D., "Techniques for Processing Single
Evoked Potentials," Proc. of San Diego Biomedical Symposium,
pp. 211-218, 1975.
22. Ott, N., and Schmitt, H.G., "A Method for a Quick Detection of
Acoustically Evoked Potentials of Known Shape With the Aid
of Digital Filters," IBM Publication 71.09.005, pp.1-20,
September 1, 1971, IBM Heidelberg Scientific Center.
23. Childers, D.G.; Varga, R.S.; Doyle, T.C.; and Perry Jr., N.W.,
"Experimental Evaluation of Weiner Filtering of Visual Evoked
Potentials," Second Southeastern Symposium on System Theory,
pp. G5-0 to G5-10, March 1970.


231
File Listing Utility Program FICEN
Page 2
138 IFCH-N) 135,148,135
135 M=M+l
CO TO 60
C TEST FOR L=SECOND FROM LOST COLUMN
140 IFlL-(N-l)) 145,150,145
145 L=L+1
GO TO 55
158 IF(IND-l) 160,155,168
155 IND=0
GO TO 50
C COMPARE TRESHOLD WITH FINAL NORM
160 IF(THR-ANRMX) 165,165,45
C SORT EIGENVALUES AND EIGENVECTORS
165 IQ=-N
DO 185 1=1,N
IQ=IQ+N
LL=I+CI*I-I1^2
je=N*u-2j
DO 185 J=I N
JQ=JQ+N
MM=J*(J*J-J)^2
IF(A(LL)-A(MM)) 170,185,185
170 X=A(LU
A(LL)=A(MM)
A CMM)=X
IF(MV11 175,185,175
175 DO 180 K=1,N
ILR=IQ+K
IMR=JQ+K
X=R(ILR)
R tILRJ =R(IMR)
180 R(IMR)=X
185 CONTINUE
RETURN
END


187
RDOS COMMAND
MODULE "MENU"
START.MC
COLLECT.MC
VERDISPLAY.MC
VERAVERAGE. MC
SVERDSPL.MC
ADTEST.MC
INVOKES
PURPOSE
EPINPUT.SV
EXPDRIVER. SV
EEGDSPL.SV
VERAVERAGE.SV
To create a sentence file,
and to collect one session
of an experiment in "off
line" classification mode,
including calibration, VER
photo average, 3-D display
and a ERP average for any
channel.
EXPDRIVER.SV To collect one session in
EEGDSPL.SV "off-line" classification
mode, with no calibration
nor photic VER average and
make a 3-D display.
EEGDSPL.SV To make a 3-D display.
VERAVERAGE.SV To make ERP averages.
SVERDSPL.SV To display a single EEG
record.
ADTEST.SV To test the A/D, D/A hard
ware of the NOVA A/D system.
C. CPVER data processing in "off-line" mode. The CPVER data
processing main modules are called COVEST.SV which is used
for covariance matrix estimation, DVEST.SV which creates the
discriminant (feature) vectors, and SCATTER.SV which chains
the SCATTERl.SV and SCATTER2.SV modules to produce a design
and test set scatter plot and estimates the PE. These modules
are not moved automatically to the CPVER system disk with the
CRENEWDSK.MC because they have built-in capability to search
across directories, and because disk space for data collection
is optimized.
The following pseudo-macros invoke the CPVER data pro
cessing subsystem:


119
Table 5-12
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toeplit z.
Page
- 1
Subj:RCP,
Ser:E,
Sess:2
, Chn: 6
cz,
S-LOCK
C 10) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
4
5
5
2
2
5
3
3
4
Gamma
0.504
0.600
0.592
1.108
1.329
0.852
0.495
0.364
0.377
c
n
i
*
0.388
0.448
0.441
1.058
1.277
0.685
0.412
0.288
0.272
DA -fl
0.677
0.741
0.673
1.166
1.600
1.095
0.454
0.372
0.336
DA -f 2
0.172
0.306
0.279
0.859
0.394
0.388
0.159
0.119
0.085


Copyright 1981
by
Amauri Antonio Arroyo


279
File Listing Utility
Progra: RESCATTER.HC
DELETE REDRAW
XFER ONE REDRAW
SCATTER1.SV
Page


121


40
Figure 2-3 EEG Data Display Structure Chart


273
File Listing Utility
Progra*: COVBRIfiNCE.HC
DELETE INDV OUTO
XFER ZERO AUTO
XFER ONE INDV
COVEST.SV
Page


114


198
File Listing Utility Program: EXPDRIVER Page 6
140 DO 145 L = 1 ,6
14S RMSG(L) = EBMSG(L)
HBLKS = NBLKS + 1
C
C REJECT PREVIOUS SENTENCE
C
150 TYPE "<33>*dadk2S0,150O<33>fi
WRITE(10,8) RHSC(l)
TYPE <33>*,f7E<21>
DO 155 L = 1 KDUM
DO 155 1 = 1, KDUM
155 CONTINUE
156 TYPE <33>tflE<21>
C
C JUMP TO 280 IF SENTENCES ORE NOT TO BE RE-CYCLED.
C
GO TO 200
157 IF(J. EQ.NOT) CO TO 45
N = INDEX N-1)
DO 160 L = N NOT
160 INDEX(Ll) = INDEX(L)
INDEX(NOT) = H
N0=INDEX(J)
f11=0^100
M2=(M8l* 1001/10
N3=N0-1* 100-H2* 10
INAME(5)256*(H2+48)+N3+48
INfiNE (41 = 12238+111 + 48
GO TO 45
C
C SENTENCE IS ACCEPTED ISL = STIMULUS-LOCK PT ISR = RESPONSE-LOCK PT
C
288 IF(ONLINE.NE.il GO TO 380
I = ISL -1
IF(JSYNC.EQ. "R "II = ISR -1
XI = 0
X2 = 0
DO 228 L = 1 HDIU
ISAVEl(L) = IDATA(ICN,I+L+(L1-1)*NDIM)
ISAVE2(L) = IDATAIICN,I+L+(L2-11*NDIM)
XI = XI + DVKL1 ISAVEKL)
220 X2 = X2 + DV2(L) ISAVE2(L)
AX = X1*SC1 + NIN8(HSC1+188,3661
AY = X2+SC2 + VSC1
C IF(KCL.EQ.l) WRITE(12,2211 ISRVE1,X1,X2,RX,AY
C IF(KCL.E8.2) WRITE(13,221) ISRVE2,X1,X2,RX,RY
C 221 FORNflT(IX,1014,4F9.2)
IER1 = 0
IER2 = 0
PT = SLOPE*flX + 20
IF(KCL.EQ.1 .RND. (SLOPE.LE.0.RND.RY.LE.RT).OR.
X (SLOPE.GE.0.RND.RY.GE.RT)) IER1 = 1
IF(KCL.EQ.2 .AND. (SLOPE.LE.0.RND.RY.GE.RT1.OR.
X (SLOPE.GE.0.RND.RY.LE.HT11 IER2 = I
PE = PE + IER1 + IER2
TE1 = TE1 + IER1
TE2 = TE2 + IER2
380 M0=INDEX(MI
M1=M0/100
M2=(M8M1*1001x10
M3=M8-M1*180-M2*10
INPME(51=256*(M2+48)+M3+48
INAME(41=12288+M1+48
480 CONTINUE
TYPE <33>*dtdalE<33>h<33>J<21>
TYPE NUMBER OF SENTENCES PRESENTED : *,NSENT
TYPE NUMBER OF EYEBLINKS ENCOUNTERED : HBLKS
TYPE "NUMBER OF SENTENCES NOT ANSWERED: ,NRNS
TYPE NUMBER OF WRONG SENTENCE ANSWERS: ,NWR
TYPE NUMBER OF OPERATOR REJECTIONS : ,NOPR
TYPE NUMBER OF TIMING MARK REJECTIONS: ,NTPH
TYPE FINAL ORDER OF SENTENCE PRESENTATION"
WRITE(18,35) (INDEX(J),J=1,NOT)
IF(IRUTO.HE.11 GO TO 475
CALL OPEN(3,ANSWERS*,3,IER)
TYPE *****AUTOMATIC DflTfi PROCESSING MODE (RUT0=11 ******
418 TYPE STIMULUS-LOCK(S) OR RESPONSE-LOCK(R)?
READ(11,17) JSYNC
IF JSYNC.HE.S .RND. JSYNC.HE.R ) GO TO 418
420 TYPE DISCRIMINANT ANALYSIS(D) OR UF ALGORITHM(U)?
READ(11,17) I


CHAPTER II
IMPLEMENTATION OF CPVER
THE DATA COLLECTION SUBSYSTEM
2.1 Introduction
The implementation details of the EEG data collection subsystem
are described in this chapter. Software philosophies and experimental
procedures are explained from the system designer's point of view. The
chapter is divided into the following subsections: 1) Data Collection
Overview, 2) Experimental Application Overview, 3) Real-Time Stimulus
Presentation and EEG Data Collection, 4) Data Averaging and Display,
5) Data Storage Conventions.
2.2 Data Collection Subsystem Overview
The goal of the CPVER data collection subsystem is to monitor
and digitize the EEG signal, from a number of scalp electrodes, that is
the response to a given stimulus presentation. The system must be
capable of eliminating trials that are found to have been contaminated
by artifacts, and reschedule the stimulus presentation. The data
collection software must be designed as an "on-line," "real-time,"
memory-resident package that has the capability to respond to various
kinds of external interrupts without abnormally terminating.
22


106
Table 5-7
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non
-Toeplit z.
Page
- 1
Sub j:JNL,
Ser:R,
Ses 5:2
, Chn:6
CZ,
S-LOCK
C 103 ,
36 Samp/Cl, 10/25/81
Pk k
1
2
3
4
5
6
7
8
9
Mk
3
2
4
4
3
3
2
5
4
Gamma
0.336
0.277
0.563
0.386
0.843
0.416
0.523
0.688
0.761
UF -fl
0.261
0.238
0.444
0.280
0.751
0.336
0.477
0.530
0.632
DA -fl
0.448
0.430
0.891
0.660
t
1.227
0.654
0.774
0.808
1.422
DA -f2
0.179
0.070
0.095
0.209
0.796
0.362
0.296
0.406
0.593


52
The discriminant vector is obtained from Equation 3-6 by: 1)
Choosing m = m^ such that TinO does not change by more than 10%
when m^ is increased, 2) estimating u from the design set, and 3)
having a good estimate of C, e.g.,
mo e! u
b = b(m ) = a Z rl-~ -i (3-9)
o i
i=l A.
i
There are at least two methods to estimate the covariance matrix
when the design set size M is small. First, if the data set is assumed
to be stationary over the measurement interval, then the covariance
matrix estimate may be obtained by averaging the individual partition
matrices. Second, the data set may be assumed to be piecewise station
ary, e.g., stationary over the duration of a partition. For such a
process, the covariance matrix is Toeplitz. The Toeplitz estimator
replaces all the elements of the matrix diagonals by their arithmetic
mean.
Conventional discriminant analysis is obtained from Equation 3-5,
with the eigenvectors _e derived from the individual partition covariance
matrices C^, and ordered by decreasing value of the eigenvalues A_^.
The matrices C^ for each partition i, may be assumed to be Toeplitz if
the data is assumed to be piecewise stationary.
To evaluate the feature extraction procedure, the design data set
is projected onto feature space, a linear decision rule is computed,
and an error count is made for the design and test sets. The projection
from data space to feature space is done by forming the dot product
between the feature vectors and the data. For example, suppose ^(i) is


CHAPTER VI
CONCLUDING REMARKS AND FUTURE WORK
The major results of this research are summarized below.
A. A modular system to collect and process single visual
evoked responses (CPVER) was designed and implemented
at the University of Florida.
B. The CPVER system was used in the collection and
processing of single EEG records for a series of
cognitive experiments. More than ten subjects
have participated in these experiments.
C. The CPVER system modules can easily be tailored for
"on-line," "real-time" single epoch classification;
the data collection system produces an artifact-free
data base.
D. One person can supervise and control the data
collection effort.
E. Total subject participation time has been minimized.
F. "Automatic" data processing has been implemented.
"Manual" or "off-line" data processing is also
available; intersubject processing is easily per
formed.
171


3.2 Data Processing Subsystem Overview 45
3.3 Experimental Overview 46
3.4 Feature Extraction Methodology 49
3.5 Feature Extraction Software 53
3.5.1 Covariance Estimator ModuleCOVEST .... 57
3.5.2 Discriminant Vector Estimator Module
DVEST 62
3.6 ERP Classification Software
The SCATTER Module 64
3.7 Data Processing/Data Storage Conventions 69
IVIMPLEMENTATION OF CPVER DATA COLLECTION/PROCESSING
INTERFACE 72
4.1 "Off-Line" Implementation of CPVER 72
4.2 "Real-Time" Implementation of CPVER 74
VAPPLICATIONS OF CPVERA STUDY OF COGNITIVE PROCESSES 78
5.1 Experimental Design 78
5.2 Summary of CPVER Data Processing Results 85
VICONCLUDING REMARKS AND FUTURE WORK 171
REFERENCES 174
APPENDICES 178
1 Equipment Checklist Procedure 179
2 CPVER Software User's Guide 184
3 CPVER Module Listings 190
3A CPVER Data Collection Software 191
3B CPVER Data Processing Software 206
3C CPVER Support Modules Software 227
3D CPVER File Details Software 259
3E CPVER Command Modules Software 266
BIOGRAPHICAL SKETCH 282
vii


62
and the process repeated (to block E3) for each channel. The class
is automatically incremented and another pass is made beginning at
block E2.
COVEST creates (number of partitions K) x (number of channels) x
(number of classes) mean vector files; (1 +(INDV x K)) x (number of
channels) x (number of classes) covariance files; and (1 +(INDV x K))
x (number of channels) x (number of classes) Toeplitz files. Each
mean vector file contains (N + 1) binary real numbers (2 words per
number); each covariance or Toeplitz file contains (1 + N x N) binary
real numbers. Each file requires a minimum of one disk block (256
words) of disk storage plus 18 words of directory space for the RDOS
file pointer. The program requires a 36 KB main memory partition for
execution. In the UF experiments, execution times varied linearly
according to the product (1 + INDV) x (number of channels) from a
minimum of two minutes to a maximum of 12 minutes of total elapsed
time.
3.5.2 Discriminant Vector Estimator ModuleDVEST
DVEST is a set of FORTRAN IV routines implemented on Data
General's NOVA 4 computer using NOVA FORTRAN, Revision 5.52, running
under the MAPPED RDOS (MRDOS), Revision 6.62, operating system. The
program requests inputs such as the name of the specifications and
parameters table, the subject's initials, etc. Outputs generated
include a table of criterion J values (S/N ratios) for each partition/
channel combination for both algorithms (UF and Discriminant Analysis
(DA)) and the corresponding features (discriminant vectors).


172
G. The experiment designer retains control over the
data collection and processing. The software has
easily accomodated various experimental paradigms.
H. External controls guide the behavior of the system.
I. The number of decisions and inputs required of the
operator have been minimized.
J. The software was written in "structured," "modular"
form; modification is easily done.
K. The system is "menu" driven by command modules.
L. The various special-purpose modules written for
CPVER have found wide utility in other research
applications (examples include speech analysis,
image processing, speech synthesis, etc.).
M. The system is simple to learn and operate.
Future enhancements for the CPVER system are already in the
planning stages. These include: 1) The inclusion of the Jacknife
design-and-test procedure for PE estimation, 2) the inclusion of
digital filtering algorithms for pre-processing of the single VER prior
to feature extraction, 3) the reduction of the execution time required
to do a design in "on-line" mode, 4) improvements for data classifica
tion and clustering, such as the inclusion of nearest-neighbor algo
rithms and outlier rejection, 5) the removal of "motor" ERP components
associated with the index finger movement during the response, 6)
automatic update of the feature extraction/classifier as more data is
collected in "real-time" applications.


120


155


267
File Listing Utility
Progra*: START.HC
Page
DELETE AUTO REALTIME
XFER ZERO AUTO
XFER ZERO REALTIME
EPIN.SV
EXPBRIVER.SV
EEGDSPL.SV


74
results, response-aligned results, and choice of feature extraction
algorithm scatter plots have provided the basis for the experimental
results and conclusions reported by Childers et al. [11,12,17,19],
Fishier et al. [1] and Bloom [3].
The ultimate success of a cognitive study is being able to
generalize the conclusions. Inter-subject effects must, necessarily,
be obtained by the use of an "off-line" data processing system. CPVER
must be able to handle such things as designing with one subject and
testing with other subjects, multi-subject design, multi-subject aver
ages, etc. Versions of the CPVER data processing modules have been
used to generate these types of outputs. In these applications, modules
are invoked independently, "a la carte" so to speak. The pseudo-macro
command invocation provides this capability.
4.2 "Real-Time" Implementation of CPVER
The term "real-time" refers to the interfacing of the data pro
cessing task to data collection in order to design a classifier, from
a set of labelled epochs, that is made available to the data collection
software for subsequent sessions. The availability of the "on-line"
classification algorithm provides the experimental designer with
plausible alternatives in cognitive research.
In real-time applications, the procedure for the collection of the
data for the first session is identical to the procedure used in off
line applications described in Section 4.1, using the START.MC pseudo
macro. The subject is given a brief rest period, long enough for the


90


oo o o o ooooooo
212
File Listing Utility
Program: DVEST
Page 1
DISCRIMINANT VECTOR ESTIMATOR FOR VISUAL EVOKED RESPOHSE AND COGNITION
REVISION : 8.8 REVISION DATE : SEPT 28 1981 UNIVERSITY OF FLORIDA
RLDR DVEST EIGEN SORT FEAT VECROT INVERSE FORT.LB
COMMON/-FI LES^COVF < 61
INTEGER SPECFO), EXPNO, SERIES, FTYP118), IDAY C3) FILEID(22)
INTEGER SUBJIN2), HX(2,9,6), CLASS(4>
INTEGER SN(4), HS(4,4), SSN(4), NSC, VSC, IAUTO, JSYNC
INTEGER CHID(2,8), MSCL(4), NSCL(4), SHIFT(2), ICHN(8). COVF, IHDEX(ll)
REAL A (55) R(108), UK1D, U2C11), CK181), C2(181), .(2,9,6)
REAL GAMMA(2,9,6) Bill) BO(11) D(ll) AA(21) DV(1 AV(10,2)
REAL CM(18,18), VMO10), VMT(10), DM(2,2,9.6), CG(10), VD(10,2)
MDV = 2
PCT = 8.8498
CALL STAT(INDV",FILEID,IER)
IF(IER.EQ.l) GO TO 1
TYPE "<7>*ERR0R* INDV FLAG DOES NOT EXIST...WILL ASSUME INDV=1"
INDV = 1
CALL OPEN(3,INDV",3,IER)
GRITEO,6) INDV
CALL CLOSE(3)
GO TO 2
I CALL OPEN(3,"INDV",1,IER)
READ(3,5) INDV
CALL CLOSE(3)
CALL STAT("AUTO",FILEIB,IER)
IF(IER.EQ.l) GO TO 3
TYPE "<7>*ERR0R* AUTO FLAG DOES NOT EXIST...MILL ASSUME AUTO=0"
IAUTO = 0
CALL OPEN(3,"AUTO",3,IER)
GRITEO,6) IAUTO
CALL CLOSE(3)
GO TO 10
CALL OPENO,"AUTO",1 ,IER)
READ(3,5) IAUTO
CALL CLOSE(3)
IF(IAUTO .HE. 1) GO TO 10
TYPE "*****AUTOMATIC MODE****"
CALL STATCANSGERS" ,FILEID,IER)
IF(IER.EQ.l) GO TO 4
TYPE "<7>*ERR0R* FILE ANSGERS DOES NOT EXIST...GILL BE CREATED"
COLL OPENO,"ANSGERS" ,3,IER)
TYPE "ENTER PARAMETER & SPECIFICATIONS TABLE FILENAME"
READ(11,28) SPECF(l)
TYPE "ENTER SUBJECT'S INITIALS"
READ ill 110) SUBJIN
TYPE "ENTER SYNCHRONY POINT s STIMULUS-LOCK(S) OR RESPONSE-LOCK(R)*
READ(11,110) JSYNC
TYPE "ENTER EXPERIMENTAL SESSION NUMBER"
READ(11,118) NUMBER
GRITEO,21) SPECF(l)
GRITEO,111) SUBJIN
GRITEO,111) JSYNC
GRITEO,111) HUMBER
CALL CLOSE(3)
GO TO 11
COLL OPEN(3,"ANSGERS",1,IER)
READ(3,20) SPECF(l)
READ(3,118) SUBJIN
READ(3,110) JSYNC
READ(3,118) NUMBER
COLL CLOSE(3)
GO TO 11
READ IN THE NAME OF THE PARAMETER 3, SPECIFICATIONS TABLE FOR THIS RUN.
5 FORMAT (ID
6 FORMAT (IX, ID
10 TYPE "ENTER PARAMETER . SPECIFICATIONS TABLE FILENAME ( SPEC )<7>"
READ(11,20) SPECF(l)
II GRITE(18,15) SPECF(l)
15 FORMATdX,"PARAMETER t SPECIFICATIONS TABLE : ",S15)
28 FORMAT(S15)
21 FORMAT(1X,S15)
CALL STAT(SPECF,FILEID,IER)
IF(IER .EQ. 1) GO TO 50
SPECIFICATION FILE NOT FOUND...RETRY


139
Table 5-20
Feature Vector Criterion
S/M Ratios
or Criterion
J, Toeplit z.
Page
- 1
Sub]:JNL,
Ser s E,
Sess:4
, Chn:6
o
N
V
1
R-LOCK
C-703,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
2
3
4
5
4
4
1
9
3
Gamma
0.233
0.324
0.436
0.586
0.795
0.822
0.688
14.325
0.772
UF -fl
0.196
0.251
0.325
0.435
0.665
0.691
0.688
13.896
0.681
DA -fl
0.391
0.638
0.546
0.708
0.974
0.377
0.920
14.741
0.940
DA -f2
0.188
0.158
0.133
0.228
0.159
0.508
0.744
3. 739
0.642


186
!0K
¡000000
! 100033L
FILENAME? DP4F: DKINIT
DGC MODEL? 6070
UNIT? DP4
COMMAND? FULL
NUMBER OF PATTERNS? _1
DO YOU WISH TO DECLARE ADDITIONAL BAD BLOCKS? NO
REMAP AREA SIZE?
REMAP ADDRESS?
DISK FRAME SIZE? 97
COMMAND? STOP
¡000001 100033L
FILENAME? DP4F:BOOT
BOOTSTRAP DEVICE SPECIFIER? DP4
INSTALL BOOTSTRAP? YES
BOOTSTRAP DEVICE SPECIFIER? DP4F
INSTALL BOOTSTRAP? NO
FILENAME? DP4F:5YS
DATE? 10/26/81
TIME? 16:00
R
CRENEWDSK
R
RELEASE DP4F
Remove the disk pack, label it "CPVER DISK 304."
B. Data collection without "on-line" classification. The CPVER
data collection main program is called EXPDRIVER.SV, the 3-D
program EEGDSPL.SV, the single epoch display program SVERDSPL.
SV, the ERP averaging VERAVERAGE.SV, the episodic input sen
tence file generator EPINPUT.SV, and the A/D system testing
program ADTEST.SV. These modules are automatically moved to
a CPVER new system pack by the CRTNEWDSK.MC pseudo-macro.
The following pseudo-macros are used to invoke the various
program modules:


26
Table 2-1
Timing Diagram
MSEC
0
400
800
1200
1600
2000
2400
2000-4048
4048
4048
EXAMPLE
A Robin
Is Not
A Bird
4448
4448-7500
EVENT
Fixation Box Appears
Begin Data Collection
Subject Presented
Subject Erased
Verb Presented
Verb Erased
Object Presented
Object Erased
Response Executed
End Data Collection
Message (If Any) Presented
Message Erased
Write Data To Disk And Start
Next Presentation


170


9
4) Adaptive Correlation Detection [28,29] is a method that can
be used for averaging variable latency (non-homogeneous)
signals. McGillem and Aunon [25] have devised a near optimal
algorithm that uses pre-filtering techniques to attenuate the
signal in frequency ranges where the S/N ratio is relatively
low. However, these strategies cannot deal accurately with
cases in which there exist significant signal components
within the analysis epoch which are not phase-locked to the
major signal peak. Classification procedures may be the only
way to analyze such data.
1.2.2 Signal Classification Methods
Although signal classification methods are more difficult, and
feature extraction and selection is not straightforward, they are often
capable of providing accurate results in cases where it would be hope
less to use signal-extraction methods. For single ERPs, these methods
may be used for: 1) Identification of "protypic" responses and 2)
identification of sequences-of-states in the process. Sorting methods
and stepwise discriminant analysis are procedures suitable for the
identification of prototypic responses corresponding to each state
(of the subject-environment system) of interest. In the latter case,
there may exist non-random variations in the nature of the signal which
reflect different stages in some process, such as decision-making. The
features of the signal are not only themselves of interest, but each
different form of the signal may reflect some characteristic response
mode of the system.


131


177
37. Lachenbruch, P.A., and Goldstein, "Discriminant Analysis,"
Biometrics, Vol. 35, pp. 68-85, March,1979.
38. Van Ness, J.W., and Simpson, C., "On the Effects of Dimension in
Discriminant Analysis," Technometrics, Vol. 18, pp. 175-187,
1976.
39. Fisher, R.A., "The Use of Multiple Measurements in Toxonomic
Problems," Annals of Eugenics, Vol. 17, pp. 179-188, 1936.
40. Foley, D.H., and Sammon Jr., J.W., "An Optimal Set of Discriminant
Vectors," IEEE Trans. Computers, Vol. C-24, pp. 281-298, 1975.
41. Slagle, J., "Experiments With Some Algorithms thqt Find Central
Solutions for Pattern Classification," CACM, Vol. 22, No. 3,
pp. 178-183, March, 1979.
42. Rabiner, L.; Levinson, S.E.; Rosenberg, A.E.; and Wilpon, J.G.,
"Speaker-Independent Recognition of Isolated Words Using
Clustering Techniques," IEEE Trans. Acou. Speech and Signal
Proc., Vol. ASSP-27, No. 4, pp. 336-349, August, 1979.
43. Levinson, S.E.; Rabiner, L.R.; Rosenberg, A.E.; and Wilpon, J.G.,
"Interactive Clustering Techniques for Selecting Speaker-
Independent Reference Templates for Isolated Word Recognition,"
IEEE Trans. Acou. Speech and Signal Proc., Vol. ASSP-27,
No. 2, pp. 134-141, April, 1979.
44. Beddinfield, John, "Mini-Computer Peripheral Multi-Channel Analog-
to-Digital and Digital-to-Analog Converter System," Master's
Thesis, University of Florida, 1975.
45. Childers, D.G., "Evoked Responses: Electrogenesis, Models,
Methodology, and Wavefront Reconstruction and Tracking
Analysis," Proceedings of the IEEE, Vol. 65, pp. 611-626, 1977.
46. Yourdon, E., and Constantine, L.L., Structured Design, Prentice-
Hall, Inc., Englewood Cliffs, New Jersey, 1979.
47. Kutas, M., and Hillyard, S.A., "Regarding Senseless Sentences:
Brain Potentials Reflect Semantic Incongruity," Science,
Vol. 207, pp. 203-205, 1980.
48. Chapman, R.M.; McCrary, J.W.; Chapman, J.A.; and Bragdon, H.R.,
"Brain Responses Related to Semantic Meaning," Brain and
Language, Vol. 5, pp. 195-205, 1978.


270
Flle Listing Utility
Progra.: VERAVERRGE.C
I- MU < U
XFER DP4F :ZER0 OllTn
DP4F:VERRVERfiGE?sv
Page


8
display of stimulus-aligned (stimulus-lock) data described by
John et al. [16] is easily implementable. An alternative
implementation is obtained by displaying the ERP in a three-
dimensional coordinate system, where "surface" effects are
more readily identified [11, 17, 18]. Second, it is extremely
useful to compute the standard deviation or the variance at
each latency point in the epoch.
2) Prefiltering of evoked responses prior to visual inspection
of single trial records may be profitable if the filter
attenuates activity in the following range(s) where the noise
is dominant. Digital filtering techniques are a convenient
way of implementing such filters. Other filtering techniques
of interest includes the Linear Prediction, Autoregression,
and Maximum Entropy Analysis [19, 20], the MMSE and MSNR method
of Aunon and McGillem [21], Matched Filtering [22], Weiner
Filtering [23, 24, 25], Cross and Autocorrelation [26], and
Adaptive Filtering [27, 28, 29].
3) Signal averaging across response-aligned (response-locked)
ERPs can potentially enhance the evoked response and/or the
artifact. Problems will arise if ERPs persist beyond the
time of occurrence of subsequent stimuli, therefore as a rule
of thumb, the effective time span of the range of variation
of the interstimulus intervals should be greater than the
period of the lowest frequency component of the overlapping
activity to be attenuated by averaging.


216
Tile Listing Utility Program: DVEST Page 5
565 FORMfiT UF METHOD-^IX, S/-N : -10F7.3)
510 F0RMAT1X,Order : -,1617)
515 FORMAT(IX Bo : -,18F7.3)
C
C DECIDE HOU MANY COMPONENTS TO INCLUDE.
C
C KC = 1
NDV = 1
GAMMA (K,L,IC) = BO(l>
JK(K,L,IC) = BO(l)
C IF(GAMMA(K,L,IC) .LT. 0.1) KC = 2
DO 520 M = 2 N
CM = GANNA(K,L,IC) + BO(M)
CR = GM (GM*HB + 2)/(GM*MB + 2*(NDV+1))
IF( (BO(M).LT.8.10.AND.(ABS(CR-JK(K,L,IC))yJK(K,L,IC)).LT.PCT)
X .OR. (BO(M).LT.0.020) ) GO TO 530
C IF((BO(M).LE.0.1.AND.KC.EQ.l).OR.(BO(M).LE.8.020)
C X.OR.(KC.NE.l.AND.BO(M).LE.8.4*BO(H-l))) GO TO 538
NDV = NDV + 1
GAMMA(K,L,IC) = GM
JK(K,L,IC) = CR
520 CONTINUE
530 MK K,L,IC) = NDV
WRITE(10,535) NDV, GAMMA(K,L,IC), JK(K,L,IC)
535 FORMAT(IX,Mk = ,12,5X,Gaaaa : ,F7.3,SX,"Criterion Jk : ,
X -<33>S.dB- ,7X,-<33>4d@-/'48X,<33>A* ,F7.3)
VNORM =0.0
DO 550 J = 1 N
DV(J) = 0.8
DO 540 1=1, NDV
M = INDEX(I)
540 DV(J) = DV (J) + D(M)*R( (H-l) *N+JI/'A (H)
550 VNORM = VNORM + DV(J)*DV(J)
C
C NORMALIZE THE DISCRIMINANT VECTOR.
C
VNORM = SORT(VNORM)
AA (1) = 1.0
DO 575 I = 1 N
575 AA1+1) = DV(I) VNORM
COVF(l) = COVF(l) FTYP(4) + FTYP(S)
COVF (4) = JSYNC + FTYP (S+K) -T256 32
WRITE(18,600) COVF(1)
600 FORMAT( IX,"UF (features) File : ,S10)
CALL OPEN(3,COVF,3,IER)
WRITE BIHARY(3) AA
ENDFILE 3
IF(INDV .EQ. 0) GO TO 750
C
C WRITE OUT DISCRIMINANT VECTORS FROM DISCRIMINANT ANALYSIS.
C
COVF(4) = JSYNC + FTYP(7+K)^256 32
WRITE(10,625) COVF(1)
625 FORMAT( 1X,*DA (features) File : ",S10)
DO 650 1 = 1 MDV
DO 650 J = 1 N
M = (I-1)*N + J + 1
650 AA(M) = VD(J,I)
CALL OPEN ( 3 COVF ,3,1 ER )
WRITE BINARY(3) AA
ENDFILE 3
750 CONTINUE
1000 CONTINUE
2000 CONTINUE
C
C WRITE OUT THE S/'N RATIO TABLES.
C
PAUSE "<7>TURN-ON THE HP-IB PRINTING DEVICE FOR S-'N TABLES< 7>
CALL DATE(IDAY,IER)
DO 3000 K = 1 2
IPAGE = 0
DO 2900 IC = 1 NCHN
IPAGE = IPAGE + 1
IF(MOD(IPAGE-1,3).N£.8) GO TO 2060
TYPE <33>h<33>J<33>tp3s5D<33>Y<14>
TYPE -<33>Z<33>g
IF(K.EQ.l) WRITE(10,2025) IPAGE
IF(K.EQ.2) WRITE(10,2050) IPAGE
2025 FORMAT (/'/'/'/'.'9X, S/'N Ratios or Criterion J, Non-Toepl i tz ,
X 21X, Page -,12/')
2050 FORMAT {.////yiy,, "S/'N Ratios or Criterion J, Toeplitz."


ERP and classify the single epochs into one of two possible classes,
e.g., correct or incorrect.
Five scalp electrode locations, F3, F4, C3, C4, Cz in the 10/20
EEG system, were to be monitored and digitized using nonpolarizing cup
electrodes. A timing/response channel, an EMG channel, and a diagonal
EOG channel were collected as well. Each EEG location was a monopolar
derivation to the linked mastoids. The data were to be digitized at
125 samples/second/channel (8 msec sampling interval on 1,000 Hz
sampling frequency over 8 channels). The amplifiers had a bandwith
from 1 to 50 Hz, with 50% attenuation at 1 and 50 Hz [45].
Prior to the conduction of the experiment, the operator performed
pre-operational checks on the equipment. The procedure and checklist
in Appendix 1 was used for this purpose. On the day of the experiment,
subjects were given appropriate instructions relevant to the particular
experiment. A 50 microvolt, 10 Hz calibrate signal was connected to the
input of all the EEG amplifiers. The operator verified proper operation
of the amplifiers by observing each channel on an oscilloscope and by
collecting and digitizing 512 samples from each channel.
The subject was then seated in a ventilated Faraday shielded
screen room and photic evoked response (ER) trials were collected
using a Grass Instruments xenon photo stimulator. The ER trials were
used to calculate an "average" visual evoked response that was dis
played on an oscilloscope and visually inspected for proper shape and
magnitude. An invalid VER signal indicated probable amplifier mal
function or improper electrode placement.


13
of trials commonly labelled the "test set." The probability of error
(PE) thus obtained gives a pessimistic value for the true PE of the
system. Therefore the bounds (PEd, PEt) establish the performance
of the combination feature extractor/classifier algorithm.
Decision rule updating. By making the procedure recursive,
blocks of epochs can sequentially serve as training sets for the
next string. This capability allows for decision rule updating
where the "behavior" of a subject may be monitored and investigated
and an objective measure obtained of such brain processes as learning
and problem solving. Experimental paradigms involving biofeedback
may then become plausible alternatives in cognitive research.


23
The data collection software is divided into two classes of
computer programs: One type is the "real-time" stimulus presentation
and EEG data collection and storage routines; the other is a set of
data display and averaging modules. The latter is used to validate
the collected data base by establishing general adherence to "expected
behavior." An example of this type behavior is the signal peaks that
are observable in averaged stimulus-aligned VERs shortly after the on
set of the visual stimulus.
The data collection subsystem is invoked by the pseudo-macros:
COLLECT.MC, START.MC, VERAVERAGE.MC, or VERDISPLAY.MC. These RDOS
command modules set the necessary flags and bring into execution the
program modules necessary for the task at hand. The appendices provide
detailed program listings of the pseudo-macro commands and program
modules.
2,3 Experimental Application Overview
The details of the experimental applications that have been
conducted using the CPVER system are discussed in Chapter V. A brief
discussion of the experiments is included in this chapter for complete
ness and to make this an independent chapter for reader convenience.
In the cognitive experiments conducted, cortical potentials were
recorded while subjects read and decided if simple propositions such
as "A robin is a bird" or "My name is Tony" were true or false. The
subjects were to decide rapidly and respond via switch activation. The
major purpose of the experiments was to collect the EEG, extract the


UF
{UNIVERSITY of
FLORIDA
Tm Fumditiian for Tlte Gaior Nrttion
Internet Distribution Consent Agreement
In reference to the following dissertation:
AUTHOR: Arroyo, Amauri
TITLE: Implementation collection and processing of visual evoked responses
(CPVER) for cognitive studies / (record number: 316118)
PUBLICATION DATE: 1981
hive an as copyright holder for the aforementioned dissertation, hereby
I
grant specific and limited archive andistribution rights to the Board of Trustees of the University of Florida and its
agents. I authorize the University of Florida to digitize and distribute the dissertation described above for nonprofit,
educational purposes via the Internet or successive technologies.
This is a non-exclusive grant of permissions for specific off-line and on-line uses for an indefinite term. Off-line uses
shall be limited to those specifically allowed by "Fair Use" as prescribed by the terms of United States copyright
legislation (cf, Title 17, U.S. Code) as well as to the maintenance and preservation of a digital archive copy. Digitization
allows the University of Florida to generate image- and text-based versions as appropriate and to provide and enhance
access using search software.
This grant of permissions prohibits use of the digitized versions for commercial use or profit.
Signature of Copyright Holder '
Printed or Typed Name of Copyright Holder/Licensee
Personal
Date of Signature
information blurred


51
per class, L is selected such that the ratio M/L is equal to 3 or 4
[11,12] .
Consider the alternate expression for the Fisher ratio where is
y. (£l
1 XT
1
(3-4)
an eigenvector of the common covariance matrix C with eigenvalue
and ii is the mean difference vector between two classes.
After ordering the eigenvectors e^ by decreasing value of (the
Fisher ratio), the discriminant vector _d is given by
, v e! u
d, = a L i e.
i=l A.
(3-5)
A new feature vector Mm) is defined from Equation 3-5 by choosing
M _< L components [11,12,33], i.e.,
m
Mm) = a E i e..
1=1 A.
i
(3-6)
The average S/N ratio of Mm) is the average criterion [32], assuming
a design set of M observations was used to estimate the covariance
matrix and the mean vectors.
J(m) = S/N(m) = M F(m) + 2 F(m)
M T (m) + 2m
where
m
r(m) = E y.
i=l
and SNR(d) = J(d) in Equation 3-2 with C = W.
(3-7)
(3-8)


137
Figure 5-35 Subject JNL, Series E, Session 4, R-


243
File Listing Utility
Program: N4PI0
Page 1
***** DUAL CHANNEL FORTRAN ROUTINE USED TO DISPLAY DATA ON A SCOPE *
***** REVISION 0.0 REVISION DATE : 03 MAR 1981 A A ARROYO*
***********************************************************************
CODE THE FOLLOWING FORTRAN IV STATEMENT IN YOUR SOURCE PROGRAM*
;****
;*****
;*****
;****
;*****
;**+**
J1
CALL DSPLY C CLOCK, SCOPE, INPUT
WHERE :
NSTRT
NPTS
IHCRX, ERR )*
*
CLOCK
SCOPE
INPUT
NSTRT
NPTS
IHCRX
ERR
C0-NONE, 1-DISABLE, 2-1NT, 3-EXTI *
C0-GENERATE Z-PULSES, 1-NO Z-PULSE3 *
THE INPUT ARRAY OF INTEGER DATA *
THE STORTING INDEX FOR 1ST PT DISPLAYED*
THE NUMBER OF POINTS TO BE PLOTTED *
THE X-COORDINOTE SPACING BETWEEN POINTS*
10-NORMAL RETURN, 1-ERROR RETURN! *
*****
*****
*****
*
*****
;***********************************************************************
.TITL
ENT
DSPLY
DSPLY
EXTD .CPYL, .FRET
NREL
***** SET UP USER PARAMETER STOCK
CLOCK=-167
SCOPE=CLOCK+1
IPRRY=SCOPE+l
NSTRT=IPRR Y+l
NPTS=NSTRT+1
INCRX=NPTS+1
ERR=INCRX+1
XAXIS=ERR+1
FS=XAXISCLOCK+1
***** ESTABLISH FORTRAN LINK
NAME:
. + 1*2
¡ BYTE POINTER TO CONCOLE NAME
TTYN:
TXT
TTO
¡ CONCOLE NAME
CINS1:
SKPBZ
TTOl
; USER NO 2
CINS2:
DOAS
8,TT01
¡ USER NO 2
CINS3:
DIP
0,TTI1
¡ USER NO 2
CINS5:
NIOC
TTI1
¡ CLEAR TTY DEVICE
WTTO:
STA
0 ,AC0
¡SAVE THE CONTENTS OF AC0
STA
1 PCI
¡SAVE THE CONTENTS OF PCI
STA
2 AC2
¡SAVE THE CONTENTS OF AC2
SUBO
0,0
¡CLEAR AC0 AND THE CARRY FLAG
LDA
2,0,3
¡LOAD THE PRGUMENT ADDRESS IN AC2
LDP
1,MASK
¡LOAD THE BYTE MASK INTO PCI
WLOOP:
LDA
0,0,2
¡LOAD THE NEXT WOPD OF THE TEXT STRING
BLOOP:
MOVC
0,0,SNC
¡PROCESS 1ST HALF OF WORD,
MOVS
0,0
! ELSE SWAP HALVES
AND
0,1,SNR
¡CHECK FOR NULL TERMINATOR
JMP
RTRN
¡NULL TERMINATOR ENCOUNTERED, RETURN
TINSl:
SKPBZ TTO
¡CHECK IF TTO IS READY
JMP
.-1
¡TTO NOT READY
TINS2:
RTRN:
AC0 ;
AC1 :
OC2:
MASK :
WTT:
5
BOOS 0.TTO ¡OUTPUT BYTE TO TTO
MOV 0,0,SZC ¡TEST FOR 2ND BYTE OF WORD
JMP BLOOP ¡FIRST BYTE OF WORD, CONTINUE WITH 2ND
INC 2,2 ¡INCREMENT TEXT WORD ADDRESS
JMP WLOOP ¡PROCESS NEXT SEQUENTIAL WORD OF TEXT
LDA 0,AC0 ¡RESTORE AC8
LDO 1,PC1 ¡RESTORE AC1
LDA 2,AC2 ¡RESTORE AC2
JMP 1,3 ¡RETURN TO CALLER
0 ¡SAVE AREA FOR AC0
0 ¡SAVE AREA FOR AC1
0 ¡SAVE OREO FOR AC2
800377 ¡LEFT BYTE MASK (BITS 0-7)
WTTO ¡ ADDRESS OF WTTO ROUTINE
FS
DSPLY: JSR
9 .CPYL
SUBO
0,0
STA
0,0ERR
LDA
0, .NAME
SYSTM
.GCOUT
JMP
TTYOK
¡ ESTABLISHES USER STOCK
¡ CLEAR AC0
¡ NORMAL RETURN
¡ BYTE PTR TO COHCOLE NAME
¡ COLL SYSTEM
¡ FIND CONCOLE NAME
¡ CONSOLE IS TTI/TTO


272
File Listing Utility
Program: SVERTYPE.HC
DELETE RUTO
XFER DP4F:ZER0 RUTO
DP4F:SVERTYPE.SV
Page


73
engineer participate jointly on the development of a realizable para
digm. A by-product of this step is the generation of the experiment
parameter and specifications table required by the CPVER system. On
the eve of and on the day of the experiment, the laboratory technician
performs the pre-operational checks outlined in Appendix 1. The sub
jects are trained in the task, and electrodes are attached and tested
for proper operation. Data collection (1st session only) is invoked
by the START.MC pseudo-macro. The system requests the personal infor
mation (if applicable) obtained from the subject, collects the calibrate
signal, and collects the VER sample prior to sentence presentation.
After the session is completed, the subject is given a brief rest
period while the operator makes an objective evaluation of the session
by invoking any or all of the data averaging and display modules
(VERAVERAGE.MC, VERDISPLAY.MC, SVERDSPL.MC or SVERTYPE.MC). The re
maining sessions are collected by invoking the COLLECT.MC pseudo-macro
which automatically disables the calibration and VER modules of the
data collection software. The subject is typically given a 15 minute
rest period (outside of the Faraday shielded room) every two sessions.
The data processing is done after all sessions are completed.
The data processing task provides the following outputs to the experi
ment designer for evaluation: 1) The table of S/N criterion J values
that is produced by the DVEST module, invoked by PROCESS.MC or
FEATURES.MC, preceded by COVARIANCE.MC; 2) the scatter plots for
various channel/feature combinations generated by the SCATTER module,
invoked by PROCESS.MC, CLASSIFY.MC or RESCATTER.MC; 3) a set of VER
"averages" for each channel/session combination. Stimulus-aligned


Figure 5-32 Subject JNL, Series E, Session 3, R-Lock


188
RDOS COMMAND
MODULE "MENU"
INVOKES
PURPOSE
COVARIANCE.MC
COVEST.SV
To calculate all the covar
iance matrices for a design
set.
FEATURES.MC
DVEST.SV
To obtain the set of features
for a design set.
CLASSIFY.MC
SCATTER.SV
SCATTER1.SV
SCATTER2.SV
To design the classifier and
obtain PEt and PEd; produces
files DESIGN and TEST.
RESCATTER.MC
SCATTER.SV
SCATTER1.SV
SCATTER2.SV
To redraw the scatter plots,
using existing files, DESIGN
and TEST.
PROCESS.MC
COVEST.SV
DVEST.SV
SCATTER.SV
SCATTERl. SV
SCATTER2.SV
To process one session as a
design set in automatic mode,
and test it with a second
session.
DESIGN.MC
COVEST.SV
DVEST.SV
SCATTER.SV
SCATTERl.SV
SCATTER2.SV
To process a single session
in automatic mode, to design
a classifier assuming the
existence of file ANSWERS.
Creates file CLASSIFIER
for further processing.
Modules COVEST.SV, DVEST.SV, and SCATTER.SV may be invoked
directly (without a pseudo-macro) for the processing of data
across subjects, or across experiments etc. In this mode,
the external flags are disabled for user flexibility.
D. CPVER real-time collection and classification. By the proper
arrangement of external flags and pseudo-macros, the CPVER
can be made to collect, process, and collect/classify EEG
data. The latter is referred to as the real-time data
collection and classification mode of CPVER operation. The
permanent files ONE and ZERO contain, respectively, the


10
Single epoch classification with no training data (sorting methods)
require two general steps: 1) Determination of the characteristics
of the non-homogeneities and 2) classification of the individual ERPs
into homogeneous subgroups. Quantitative assessment of non-homogeneity
can be made by computing for each time point a chi-squared measure
for the fit of the amplitude histogram to a normal distribution, and
the number of modes of the profile of the histogram. Such methods
must be used with care for if misused, the method can say "yes" to
almost any proposition [13].
Single epoch classification with training data (discriminant
analysis) was pioneered by Donchin et al. in the late 1960's [30].
Studies by Vidal [9], Childers et al. [11,12,17,19] and others [20]
have shown unequivocably that under suitable conditions, extremely
reliable classification of single ERPs can be performed. These
methods can open the door to a new realm of experiments in which
cognitive variables that vary from trial to trial may be manipulated
and sorted out. The ultimate goal of the signal classification
methodology is to recognize single visual evoked responses to meaning
ful stimuli in real-time.
1.2.3 A Framework for Real-Time Classification
The following constitutes a general framework of procedures to be
considered in the generation of a system to do "on-line" real-time
classification. The summary in John et al. [13] provided a starting
basis for this framework.


204
File Listing Utility Program: SVERDSPL Page i
INTEGER FHAME(8),Y(8,512),IDT(512)
TYPE "*UP TO EIGHT CHANNEL EEG SINGLE SENTENCE SCOPE DISPLAY**
I TYPE "ENTER FILENAME TO DISPLAY : *
READ(11,50) FNAME(l)
CALL FOPEN(3,FNPNE)
CALL RDBUC(3,0,Y,16,IER)
CALL CLOSE(3)
ACCEPT "ENTER BEGINNING CHANNEL NUMBER : ",ICH1
ACCEPT "ENTER ENDING CHANNEL NUMBER : ",ICH2
N = ICH2 ICHI + 1
IFN.LE.0) N = 32 + N
DO 20 1=1,N
DO 10 J=1,512
18 IDT(J) = Y(I+(J-1)*N)
20 COLL DSPLY(2,0,IDT,1,512,8,IER1
ACCEPT "DO YOU UISH ANOTHER TEST? 1-YES, 0-NO "IONS
IFUANS.NE.ai GO TO 1
50 FORMAT(S15D
99 STOP
EHD


Table 2-3
Disk
No.
300
301
301
301
301
302
302
CPVER Disk Storage Convention
Experiment Series
Designator
Subject
Session
First Trial/Last Trial
Filenames
Episodic(E)
DHG
1-4
None*
TA
1-4
None*
SNS
1-4
None*
SED
1-4
None*
STJ
1-4
None*
GMH
1-4
None*
SLV
1-4
None*
Semantic
JNL
1
DJNLR10001-DJNLR10144
Replication(R)
2
DJNLR20001-DJNLR20144
Semantic
RCP
1
DRCPR10001-DRCPR10144
Replication(R)
2
DRCPR20001-DRCPR20144
Episodic(E)
JNL
1
DJNLE10001-DJNLE10072
2
DJNLE20001-DJNLE20072
3
DJNLE30001-DJNLE30072
4
DJNLE40001-DJNLE40072
Episodic(E)
RCP
1
DRCPE10001-DRCPE10072
2
DRCPE20001-DRCPE20072
3
DRCPE30001-DRCPE30072
4
DRCPE40001-DRCPE40072
Episodic(E)
MAD
1
DMADE10001-DMADE10072
2
DMADE20001-DMADE20072
3
DMADE30001-DMADE30072
4
DMADE40001-DMADE40072
Episodic(E)
CJB
1
DCJBE10001-DCJBE10072
2
DCJBE20001-DCJBE20072
3
DCJBE30001-DCJBE3007 2
4
DCJBE40001-DCJBE40072
*Data rejected due to instrumentation failure.


145


Figure 5-12 Subject RCP, Series R, Session 2, R-Lock


235
File Listing Utility Prograa: LDRAU
C DRAW A LINE FROM (IX1.IY1) TO C TYPE LT. LT MUST BE I TO 11 S DESCRIBED IN THE
C H-P REFERENCE MANUAL PC. 3-3.
SUBROUTINE LBRAW(LT,1X1,IY1,1X2,1Y2)
WRITE(18,29 LT, 1X1, IY1, 1X2, IY2
20 FORMAT(IX,"<33>*-,I2,B<33>*pa",414,-Z<33>A")
RETURN
END
Page


164
Table 5-28
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toeplitz.
Page
- 1
Sub j s CJB,
Ser:E,
Sess:4
, Chn:6
CZ, R-LOCK
C-705 ,
36 Sami
p/Cl, 10/25/81
Pk k =
1
2
3
4 5
6
7
8
9
Mk
3
5
3
2 3
2
3
6
2
Gamma
0.301
0.393
0.233
0.754 1.302
0.218
0.974
2.341
0.272
UF -fl
0.229
0.263
0.168
0.706 1.204
0.131
0.879
2. 098
0.233
DA -fl
0.51G
0.461
0.852
1.006 -0.181
0.272
0.933
2.190
0.357
DA -f2
0.281
0.156
-0.553
0.215 1.213
0.035
0.181
1.174
0.054


oooooooo
218
File Listing Utility
Program: SCATTERl
Page 1
SCATTER PLOT GENERATOR PROGRAM FOR VISUAL EVOKED RESPONSE t COGNITION
PROGRAM SEGMENT NUMBER 1 GENERATES THE PROJECTIONS ONTO FEATURE SPACE
REVISION : 0.8 REVISION DATE : OCT. 26 1981 UNIVERSITY OF FLORIDA
RLDR SCATTER SREAD FORT.LB
COMMONxSENT-' EEG(8,512), V(8,S12), SENTF(S), RSEQH44)
INTEGER SEHTF, RSEQ, RSEQF(3), SPECF <81 EXPNO, SERIES, FTYPI10)
IHTEGER EEG, V, XEEG(4896), YEEGI4096), SUBJIN 12J SENTN02)
INTEGER SN (4) MS(4,4), SSN14) NSENT (2) F(72,9,6,2>
INTEGER CHID(2,81, MSCLC4J, NSCLI4), SHIFT(2), ICHNI8), C0VF(6)
INTEGER REDRAW, SUBI2.2), SER(2), HUM(2) JSC2)
INTEGER HSC,VSC, FNO(9)
REAL AI21), DV 18,9,6) FEAT 19)
INTEGER FILE(4,2), CLASS(4)
EQUIVALENCE (XEEG(l),EEG(1,1)1,(YEEGd ),V(1,11)
EQUIVALENCE (EXPNO,SENTF(3)),(SENTF(4),SENTNO(l))
C CALL OPEN(4,DEBUG8",3,IER)
C
C INITIALIZE VARIABLES.
C
MANUAL = 0
NPASS = 2
FILE(1,1) = -BE"
FILE(2,1) = "SI"
FILE(3,1) = "GN"
FILE(4,1) = 0
FILE(1,2) = "TE"
FILE(2,2) = "ST"
FILE(3,2) = 0
FILE(4,2) = 0
CALL STAT("REDRAW*,RSEQ,IER)
IF(IER.EQ.l) GO TO 1
TYPE "<7>*ERR0R* REDRAW FLAG DOES HOT EXIST...WILL ASSUME REDRAW=8
RE9RAH-6
CALL 0PEN3,"REDRAW",3,IER)
WRITE(3,17) REDRAW
CALL CLOSE(3)
GO TO 2
1 CALL 0PENI3,"REDRAW",1,IER)
READ(3,16) REDRAW
CALL CLOSE(3)
2 CALL STATCINDV" ,RSEQ,IER)
IF(IER.EQ.l) GO TO 3
TYPE *ERROR* INDV FLAG DOES NOT EXIST...WILL ASSUME INDV=0"
IHBV = 0
CALL OPEN(3,*INDV",3,IER)
WRITE(3,17) INDV
GO TO 4
3 CALL 0PENI3,"INDV",1,IER)
REftB(3 16) INDV
4 IF(INDV.EQ.6) TYPE "<7>*WARNING* DISC ANALYSIS NOT ALLOWED IF INDV=0"
CALL CLOSE(3)
CALL STATCAUTO" ,RSEQ,IER)
IF(IER.EQ.l) GO TO 7
TYPE "<7>*ERRORe FLAG AUTO DOES NOT EXIST...WILL ASSUME AUTO=0"
IAUTO = 0
CALL OPEN(3,"AUTO*,3,IER)
WRITE(3,17) IAUTO
CALL CLOSE(3)
GO TO 18
7 CALL 0PEN(3,"AUTO",1,IER)
READ(3,16) IAUTO
CALL CLOSE(3)
IF(IAUTO .NE. 1) GO TO 18
TYPE "*-**-** AUTOMATIC MODE*****"
CALL STATCANSWERS" ,RSEQ, IER)
IF(IER.EQ.l) GO TO 8
TYPE "<7>*ERR0R* FILE 'ANSWERS' DOES NOT EXIST...WILL CREATE"
CALL OPEN(3,"ANSWERS",3,IER)
TYPE 'ENTER PARAMETER & SPECIFICATIONS TABLE FILENAME"
READ(11,23) SPECF(1)
TYPE "ENTER SUBJECT'S INITIALS"
READ(11,99) SUBJIN
TYPE "STIHULUS-LOCK(S) OR RESPONSE-LOCK(R)"
READ(11,99) JSYNC
TYPE "ENTER EXPERIMENTAL SESSION NUMBER"
READ(11,99) NUMBER
WRITE(3,29) SPECF(1)


128
Table 5-15
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplitz.
Page
- 1
Sub js JNL ,
Ser:E,
Seas : 1
, Chn:6
cz,
S-LOCK
C 10),
36 Samp/Cl, 10/25/81
Pic k =
1
2
3
4
5
6
7
8
9
Mk
4
3
4
5
3
1
2
3
3
Gamma
0.774
0.539
0.609
0.952
0.526
0.100
0.354
0.726
0.673
UF -fl
0.G44
0.455
0.487
0.780
0.441
0.100
0.311
0.636
0.584
DA -fl
0.810
0.649
0.873
1.463
0.759
0.226
0.560
1.421
0.862
DA -f2
0.417
0.445
0.552
0.463
0.216
0.077
0.172
0.503
0.649


21
Faraday shielded room, and various types and lengths of
cabling.
Prior to any data collection effort, the equipment must be in
spected, prepared and tested for proper operation in order to minimize
instrumentation interference and prevent equipment failures during the
experimental sessions. A standardized procedure and equipment check
list (see Appendix 1) has been developed for this purpose. This pro
cedure has been found effective in minimizing unexpected equipment
failures, and in the "debugging" of the hardware in the event a mal
function is detected and the faulty component is not obvious.
1.4 Preview of Remaining Chapters
The remaining chapters of this work present a survey of the CPVER
implementation, results, and future research.
Chapter II gives the details of the implementation of the data
collection subsystem. Chapter III discusses the data processing
subsystem. Chapter IV discusses the interfacing of data collection
and processing into an integrated "menu" driven system. Chapter V
provides details on the experiments conducted using the CPVER system.
Chapter VI presents some concluding remarks.
The appendices includes the hardware and equipment checklist, the
software user's guide and program listings.


oooooo ooo oooooo non
211
File Listing Utility Prograa: COVEST Page 5
icm = 8.0
IS = H I + 1
DO 835 J = 1 IS
TCtn = TC(I) + A (INDEX) ''IS
835 INDEX = INDEX + N +1
840 INDEX =1+2
C
DO 845 I = 1 N
DO 845 J = 1 H
IS = IABSCI-J) + 1
INDEX = J + 1 + (I-1)*N
A( INDEX) = TC(IS)
TAVG(INDEX) = TAVG(INDEX) TC(IS)/HP
845 CONTINUE
C
. IFCINDV.EQ.0) GO TO 860
COVF(1) = COVF(l) FTVP(2) + FTYP3)
WRITE (10,850) COVF(II
850 FORHAT(1X,'TOEPLITZ COVARIANCE FILE : ,S10)
CALL OPEN(3,COVF,3,IER1
WRITE BINARYC3I A
WRITE C10,851) (A(I) ,1=2,11)
851 FORMAT(IX,"TOEPLITZ :,18F7.0)
EHDFILE 3
COVF ill = COVF(II FTYPI3) + FTYP(2)
WRITE OUT THE AVERAGE VECTOR.
(68 COVF (11 = COVFC1) FTYP (2) + FTYP (4)
WRITE(10,875) COVFd )
(75 FORMAT (IX,"AVERAGE VECTOR FILE : ,S10)
WRITE(10,876) (BCI) ,1=2,11)
176 FORMAT (IX, "MEAN VECT 10F7 .8)
CALL OPEN(3,COVF,3,IER)
WRITE BINARY(3) B
ENDFILE 3
COVF(1) = COVFC1) FTYPC4) + FTYPC2)
NEXT PARTITION.
898 CONTINUE
WRITE OUT THE AVG COVARIANCE MATRIX ON DISK.
COVF(5)=COVF(5) NP + 17
WRITE(10,910) COVF(l)
910 FORMAT(IX,'AVERAGE COVARIANCE MATRIX s ",S101
WRITE(18,911) (AVG(I), 1=2,11)
911 FORMAT(IX,'AVG. COV.:,10F7.0)
CALL OPEN(3,COVF,3,IER)
WRITE BINARY3) AVG
ENDFILE 3
WRITE OUT THE AVG T0EPLIT2 COVARIANCE MATRIX ON DISK.
COVF(1) = COVF(l) FTYP(2) FTYP(3)
WRITE(10,920) COVF(l)
920 FORMAT(IX,AVERAGE TOEPLITZ COVARIANCE MATRIX s *,S10)
WRITE(10,921) CTAVGCI), 1=2,11)
921 FORMAT(IX,'AVG TOEPT:*,10F7.0)
CALL OPEN(3,COVF,3,IER)
WRITE BINARY(3) TAVG
ENDFILE 3
COVF(1) = COVF(1) FTYP(3) + FTYP(2)
NEXT CHANNEL.
950 CONTINUE
NEXT CLASS.
1000 CONTINUE
STOP
END


57
Covariance Estimator module (COVEST) that implements steps one and two,
and a Discriminant Vector Estimator module (DVEST) that implements
steps three and four for both algorithms. The current version of
CPVER extracts a single feature (discriminant vector) for each parti
tion using the UF algorithm, and two features per partition using the
discriminant analysis algorithm.
The feature extraction modules are invoked by the PROCESS.MC,
COVARIANCE.MC, or FEATURES.MC RDOS pseudo-macros. PROCESS.MC invokes
all the data processing subsystem's modules of CPVER for "off-line"
operation. COVARIANCE.MC and FEATURES.MC invoke COVEST and DVEST,
respectively, for independent execution.
The structure chart for COVEST and DVEST are shown in Figures 3-1
and 3-2, respectively. Each submodule represents a logical grouping
of related operations (a structural block) that will be described in
the following sections.
3.5.1 Covariance Estimator ModuleCOVEST
COVEST is a set of FORTRAN IV routines implemented on Data
General's NOVA 4 computer using NOVA FORTRAN, Revision 5.52, running
under the MAPPED RDOS (MRDOS), Revision 6.62, operating system. The
program requests inputs such as the name of the parameter and specifi
cations table, the subject's initials etc. Outputs generated include
the set of individual partition covariance matrices for each class,
the partition Toeplitz estimator matrix for each class, the average
across partitions matrix for each class and the average Toeplitz
estimator across partitions for each class.


255
HODEU:
I
jtHt
LOOP:
AGN:
RTH:
INS3A:
INS3B:
INUSE:
USEHSC:
DICLR:
File Listing Utility
Program: SCOPE Page 3
LDfl
1-NSBIT
NOH-
SCOPE BIT SET
ADD
1 ,2
ADD
SCOPE BIT TO AC2
LDfl
8,8CHN,3
LOAD
CHANNEL SELECT FLAG
MOV
0,1 ,SZR
SKIP
IF
DflC X
JHP
HODEU
MODE
WORD FINISHED
NEG
2,2
SUBTRACT 1 FROM AC2
COM
2,2
AC2
BIT 1 5 = 8
STfl
2.SELXY
J
STORE MODE WORD
INITIALIZE THE BEAM ON
THE CENTER LEFT AREA OF THE SCREEN
LDA
2,DATA
LOAD
ADDRESS OF BUFFER
STfl
2,23
5
STORE ADDRESS IN SELF-INCR LOCH
SHIFT
THE DATA TO THE
LEFT 4
PLACES i. FILL UP OUTPUT BUFFER.
LDA
2,0NPTS,3
LOAD THE NO OF PTS IN 0C2
NEG
2,2
AC2 = -NPTS
STA
2,NPTS,3
STORE -NPTS IN STACK
LDA
9,01ARRY,3

LOAD 1ST ARRAY VALUE
MOVZL
8,8
9
SHIFT LEFT 1ST TIME
HOVZL
8,8
SHIFT LEFT 2ND TIME
MOVZL
8,0
SHIFT LEFT 3RD TIME
MOVZL
0,0
SHIFT LEFT 4TH TIME
STA
0 ,023
STORE Y VALUE IH BUFFER
ISZ
IARRY,3
INCREMENT ARGUMENT ADDRESS
INC
2,2,SZR
INCREMENT COUNT
JHP
LOOP
5
CONTINUE ARRAY LOOP
START
DISPLAY
DIA
8, TTI
ESTABLISH STOP CHAR
STA
0,STOP
STORE STOP CHAR
STA
3, AC3
SAVE AC3
JSR
0UTT
DISPLAY MESSAGE
MSG
ADDRESS OF MESSAGE
LDA
3, AC3
RESTORE PC3
LDA
8,DCODE
LOAD DEVICE CODE
LDA
1.DATA
LOAD BUFFER ADDRESS
.SYSTH
CALL SYSTEM
.STHflP
GET DCH MAP FOR DACV
JMP
INUSE
DEVICE IN USE
STA
1,DCHfiDR
STORE DCH ADDRESS
LDA
3, AC3
RESTORE RC3
LDA
0.MSKTTI
LOAD TTI MASK
DOBS
0 ,CPU
MASK OUT TTI
LDfl
1,NPTS,3
LOAD NO OF PTS IN AC1
SKPBZ
DACV
IS BUSY FLAG RESET? (=0)
JMP
.-1
NO...DEVICE IS BUSY
LDA
9.SELXY
SELECT CONVERTER MODE
DOA
0,DACV
SETUP D-'A CONVERTER
LDA
2,DCHADR
GET DCH ADDRESS
DOB
2, DACV
SET UP DCH ADDRESS
DOCS
1,DACV
GIVE WORD COUNT fc START
SKPBZ
DACV
IS DACV BUSY?
JHP
.I
YES...CHECK AGAIN
DIA
8 ,TTI
5
TIME TO QUIT?
LDA
2,STOP
LOAD STOP CHAR IN AC2
SUB
0,2,SNR
CHECK FOR STOP
JHP
AGH
m
NO...CONTINUE
SYSTH
CALL SYSTEM
GCHAR
;
CLEAR INPUT BUFFER
JMP
. + 1
;
DONT CARE IF ERROR
JSR
DICLR
REMOVE USER DEVICE FROM SYSTEM
LDfl
3, AC3
RESTORE AC3
STA
3,USP
RESTORE USER LOCN 16
SUBO
2,2
;
CLEAR AC2
DOBS
2, CPU
CLEAR INTERRUPT MASK
JSR
0.FRET
5
RETURN TO CALLER
JSR
0WTT
;
DEVICE IN USE
USEMSG
;
DEVICE IN USE MESSAGE
LDfl
3, AC3
RESTORE AC3
SUBZL
2,2
;
GEHERBTE +1 IN AC2
STA
2,0ERROR,3
;
STORE ERROR RETURN
JHP
RTN
r
RETURN TO MAIN PROGRAM
.TXT
C15X12XERR0R DEVICE IH USE!<1SX12>*
STB
LDA
-SYSTH
3,USP
8,DCODE
; CLEAR USER DEVICE
5 LOAD DEVICE CODE
; CALL SYSTEM


no oo non ooo o oo ooo oooo non o nnnn non nnnnn
208
File Listing Utility Program: COVEST Page 2
WRITE E10,38) IER, SPECF(1)
38 FORMAT!IX,"*ERR0R* IER : *,13,2X,"SPECIFICATION FILE : *,S8,2X,"N0T FOUN
PAUSE "SIGH OH TO ANOTHER USER AND TRANSFER FILE TO DP4*
GO TO 18
TABLE AVAILABLE AND ASSIGNED TO UNIT 1.
SERIES : EXPERIMENT SERIES (E-EPISODIC, R-REPLICATION, ETC 1
FTYP : ID-DATA, C-COVARIANCE, U-MEAN VECTOR, V-DISC VECTOR, TTOEPLITZ3
8 CALL OPEN (1 ,SPECF 1 IER)
READ <1,68) SERIES, FTYP
0 FORMAT /ss///s/4id\ IX) )
NTCH : NUMBER OF THE TIMING CHANNEL CHID : NAME(ID) FOR 8 CHANNELS.
READ(1,78) NTCH, C(CHIDCI,J), 1=1,2), J=1,8)
8 FORMAT (^/-44X, 12,16A2)
NOS : OF SENTENCES NOT : OF TRIALS^SESSION
MCL : OF SENTENCE CLASSES MSCL : OF SENTEHCES-rCLASS
NCL : OF SESSION CLASSES NSCL : OF SENTENCES^CLASS
READll,80) NOS,NOT,NSTRT,MCL,(MSCL(I),1 = 1,MCL),NCL, (NSCL(I) ,1 = 1 ,NCL) ,
X CCLASSCI), 1=1,MCL)
IFt HCL.LE.2 .OR. IAUT0.EQ.1) GO TO 85
TYPE "<7>********MULTI-CLASS EXPERIMENT****"
TYPE "*CLASSES : 1-TA, 2-FA, 3-TN, 4-FN *"
TYPE ******************* ******************
'7 ACCEPT "*EMTER 1ST CLASS TO PROCESS : ".CLASSd)
ACCEPT "*ENTER 2ND CLASS TO PROCESS : ",CLASS(2)
IF(CLASS 11).EG.CLASS(2) .OR.CLASS(l).GT.MCL-OR.CLASS 11) .LE.8
X .OR.CLASS12).GT.MCL.OR.CLASS(2).LE.8) GO TO 77
¡8 FORMAT 1/2814)
IPOS : POLARITY OF RESPONSE PULSE (+1 TRUE POSITIVE HIGH)
85 READll,88) I,I,I,I,I,I,IPOS
HP : PARTITIONS N .- DIMENSION WINDOW SHIFT FOR : S-LOCK, R-LOCK
NCHM : OF CHANNELS TO PROCESS ICHN : CHANNEL NUMBER TO PROCESS
READll,90) HP, N, SHIFT, HSC, VSC, NCHN, ICHN1I), 1=1,NCHN)
98 FORMAT(2014)
HSAH = HP H
SUBJECT'S INITIALS (3)
100 IF1IAUTO .EG. 1) GO TO 101
TYPE "ENTER : SUBJECTS INITIALS 13)"
READ 111,116) SUBJIN
181 WRITE(10,112) SUBJIN
110 FORMAT 1A1,A2)
111 FORMAT 1IX,A1,R2)
112 FORMATUX,"SUBJECT'S INITIALS : ,A1 ,A2>
SENTF(l) = FTYP 11) SUBJINU)'2S6 32
DECIDE ON SYNCHRONY POINT.
115
IF 11AUTO .EQ. 1) GO
TO
117
116
TYPE "STIMULUS-LOCK(S)
OR
RESPONSELOCK(R)?
READ 111,110) JSYNC
117
CONTINUE
IF(JSYNC .EG. "R ")
GO
TO
129
IF(JSYNC .NE. "S ")
GO
TO
116
STIMULUS LOCK.
ISHFT = SHIFT 11)
TYPE STIMULUS-LOCK WINDOW W.R.T. SYNC POINT : *,ISHFT
GO TO 125
120 ISHFT = SHIFT(2)
TYPE "RESPONSE-LOCK WINDOW W.R.T. SYNC POINT : ",ISHFT
DECIDE IF ACROSS SESSIONS.
125 CONTINUE
ACCEPT "DO YOU WISH TO CALCULATE COVARIANCES ACROSS SESSIONS? : ",IANS
IF CIANS .EG. 0) GO TO 175
GO TO 175
ACROSS SESSIONS....PRE-DETERMINED ORDER AND SETUP


69
3.7 Data Processing/Data Storage Conventions
The DGC 6070 Moving Head Disk storage facility was used to store
the files generated by the CPVER data processing subsystem. These
files are generated in the current system directory at the time of
invocation. The system will automatically search other disk units
for sentence data, but once read, returns to the original directory
for further processing.
All filenames used by the data processing system, with the
exception of the files already mentioned explicitly by name (DESIGN,
TEST, CLASSIFIER, AUTO, INVD, AUTOMATIC, REDRAW, etc.), adhere to
a 10-character naming convention. The first character is always the
file-type designator for the file (described in Section 2.4). Character
positions 2-4 are the subject's initials, character position 5 is the
experiment series designator, position 6 is the session number. Charac
ter position 7 is either S or R (for jStimulus-aligned or Response-
aligned) position 8 is the class {1-TA, 2-FA, 3-TN, 4-FN} for
covariances or mean vectors, or the letters A, T, D, or M for discrim
inant vectors {A = UF method using Average across partitions covariance
matrix, T = UF method using the average Toeplitz estimate, D = conven
tional Discriminant Analysis, and M = Toeplitz Modified Discriminant
Analysis}. Character position 9 is the channel number and character
position 10 is either the partition number or the letter A for average
across partitions. This is summarized in Table 3-3.
As an example, consider the data collected for subject JNL in Ta
ble 2-3. The data for the semantic replication (R) or episodic (E)


Figure 5-26 Subject RCP, Series E, Session 1, R-Lock


92


143
Table 5-22
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toeplitz.
Page
- 1
Sub j:MAD ,
Ser:E,
Sess¡3,
Chn: 6
o
N
V
S-LOCK
r'*
O
tH
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
1
2
3
3
4
4
2
5
5
Gamma
0.186
0.287
0.476
0.375
0.364
0.534
0.283
0.677
0.562
UF -fl
0.186
0.247
0.394
0.298
0.260
0.417
0.243
0.519
0.413
DA -fl
0.379
0.316
0.644
0.548
0.454
0.968
0.363
0.691
0.535
DA -f2
0.097
0.100
0.409
0.257
0.222
0.287
0.250
0.251
0.219


201
File Listing Utility Progra*: EEGDSPL Page 2
INI = IFILE S) (IOUT 1 + 48) 256 48
MST = INI + I0UT1*18
DO 17 I = 1 ,5
17 ILSTCI) = IFILE(5)
TYPE <33>h<33>J"
TYPE
TYPE "* * E. E. G. SINGLE EPOCH DISPLAY***
TYPE ****** *********************** ************* ****** **************
TYPE "* *
IF(IOHS.£Q."T )
X TYPE TRUE RESPONSES *
IF(IONS.EQ.F )
X TYPE "* FOLSE RESPONSES *
IF(IONS.EG -"B -1
X TYPE "* BOTH RESPONSE CLASSES (TRUE %, FOLSE) *
TYPE "* BEGINNING SENTENCE NUMBER IS :",HST, *
TYPE "* NUMBER OF SENTENCES TO DISPLAY:*,M, *
WRITE(10,18) SUBJIN, SERIES, NUMBER
18 FORMAT(" SUBJECT :*,01,02,3X,"SERIES :*,01,3X,
X "SESSION :*,01,18X,"*")
WRITE(10,19) ICN, JSYHC
19 FORMAT(" CHANNEL :",I1,5X,01."-LOCK",34X,)
TYPE "**************************************************************
ISTRT = 512 CICN-1)
DO 28 I = 1 512
26 IBLK(I) = 8
DO 21 I = 1 64
21 COLL DEV3D(2,IBLK,1,588,IER)
IF (JSYNC-HE."R ") GO TO 23
DO 22 I = 1 512
TIMCI)=0.0
IF(I.GE.MARK.AND.I.LE.MORK+20) TIM(I)=-2800
22 CONTINUE
GO TO 25
23 COLL F0PEN3,IFILE)
CALL RDBLK3.0,INPUT,16,IER)
ENDFILE 3
DO 24 I = 1 512
24 TIM (I)=INPUT(8,1)
25 COLL BEV3D2,TIN,1,508,IER)
CALL RTTY(SCHOR)
MEND = MST + M 1
DO 100 N = MST MEND
DO 28 J = 1 512
28 IDOTO J) = 0.0
ILST(l) = IFILE(5)
COLL FOPEN(3,IFILE)
COLL RDBLK(3,0,INPUT,16,IER)
ENDFILE 3
C
C PUT IN ORROY IDOTO THE DIGITIZED SAMPLE TO BE DISPLAYED.
C
ISP = 45
NSP = 0
30 NSP = NSP 1
DO 33 J = ISP 511
IDIF = INPUT CNTCH,J+1) INPUT(NTCH,J)
IF( IOBS(IDIF) .GT. 100 ) GO TO 35
33 CONTINUE
TYPE "<7>*ERR0R* TIMING PULSE MISSING...SEARCH NEXT SENTENCE"
GO TO 89
35 ISP = J+28
SYNCH(NSP)=J
IF(NSP.LT.3) GO TO 30
C
C ALL TIMING PULSES ACCOUNTED FOR
C
DO 36 J = ISP 511
IDIF = INPUT(NTCH,J+l) INPUT(NTCH,J)
IF( lOBS(IDIF) .GT. 200 ) GO TO 37
36 CONTINUE
TYPE "<7>*ERR0R* SUBJECT DID NOT ANSWER...SEARCH NEXT SENTENCE"
GO TO 89
37 SYNCH(4) = J
ISP = J
IF( (IPOS*IDIF) .LT. 0) GO TO 89
IF(JSYNC.HE."R ") GO TO 40
DO 38 J = 1 ISP
NSP MfiRK J
IF(NSP.GT.0) IDOTO(NSP) = -INPUT(ICN,ISP-J+1)
38 CONTINUE


BIOGRAPHICAL SKETCH
Amauri Antonio Arroyo was born on April 4, 1949, in Santurce,
Puerto Rico. He graduated from Santa Rosa High School in June, 1965.
He attended Centenary College from September, 1965, to May, 1966, and
Miami Dade Junior College from August, 1966, to June, 1967. After
graduation in September, 1967, he entered the University of Florida.
In June, 1970, he received the degree of Bachelor of Science in
Electrical Engineering. In June, 1973, he received the degree of
Master of Electrical Engineering. He has been a member of the faculty
of the Environmental Engineering Sciences, and the Computer and Infor
mation Sciences Departments at the University of Florida. He has
worked for the Northeast Regional Data Center at the University of
Florida, and is currently a Graduate Research Associate with the
Department of Electrical Engineering, University of Florida.
Amauri Antonio Arroyo is married to the former Marilyn S. Hewitt,
and they are both licensed ministers with the Church of God Teaching
New Testament Judaism, Cleveland, Tennessee.
281


203
c
C888
lee
File Listing Utility Program: EEGDSPL
Page 4
IFILE(S) = 1FILE(5) + 256
WRITE tie,888) IFILE(l)
F0RH0T(1X,S15)
IF(MOD(H+l,100).HE.0) GO TO 100
IFILE(4) = 1FILE4) + 1
IFILE(5) = IFILE(5) 2560
CONTINUE
COLL DEV3D(2,TIH,1,508,IER)
COLL DEV3DC2,TIH,1,S08,IERJ
TYPE
STOP
END


135


55
Table 3-1 continued
Select the two features with the largest criterion value J(m).
Project the x, from the design set onto the selected feature
K
space. Compute a decision boundary from the perturbation
(position and angular) of the perpendicular bisector of the
centroids of the two classes.
Compute the probability of error for the design and test sets
via classification error count.


158
Table 5-26
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toep
1 i t z .
Page
- 1
Sub]s CJB,
Ser:6,
Seas:2
, Chn:6
cz,
S-LOCK
C 10? ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
5
4
2
5
2
3
3
4
3
Gamma
1.269
1.326
0.459
0.740
0.776
0.287
0.300
0.792
0.573
UF -fl
1.087
1.183
0.414
0.578
0.728
0.216
0.229
0.662
0.487
DA -fl
2.186
1.574
0.842
1.364
4.226
-1.571
0.392
1.223
0.629
DA -f2
1.157
0.784
0.533
0.619
0.822
0.163
0.171
0.531
0.415


33
in filename DMWFS40017; in the semantic replication experiments, the
data for subject JNL, sentence number 142 of session 2 are stored in
filename DJNLR20142, and so on.
Module A2 is operator enabled/disabled and is typically enabled
once for each subject. The module defaults the loop control parameters
of Module A5 and line 17 of the specifications table, to make a single
pass through Module A6 and enables passage to Module A3 via flag ICA,
e.g., ICA=0 means do not calibrate, ICA=1 means calibration is desired.
A six-character filename consisting of the letter C, the subject's
initials, the experiment series designator and the session number, is
created for the storage of the digitized 512 samples/channel, 50
microvolt, calibrate signal connected to each of the EEG amplifiers.
Module A3 is entered after a single pass through Module A6, which
was enabled by Module A2. The module clears the display memory of the
HP terminal, calculates the maximum absolute value for each of the
digitized channels, and computes a scale factor based on the largest
peak-to-peak difference in the immediate vicinity of the maximum
value (to compensate for amplifier drift). These factors are displayed
on the master console, so a determination of "relative" amplifier per
formance and stability can be made. Amplifiers may then be recalibrated
and the process repeated.
Module A4 is also operator enabled/disabled. Its purpose is to
present a specified set of photic stimuli and collect photic evoked
response trials, that are averaged and used for a baseline determina
tion. The subject must be fully prepared in order to proceed with
the module. The system creates a six-character filename in the same


230
File Listing Utility Progra: FICEN
Page
SUBROUTINE EIGEN(0,R,N,V)
DIMENSION All) ,R(1)
C MATRIX IS LINEARLY STORED UPPER TRIANGULAR COLUMNWISE
S RANGE=1.0E-6
IF(HV-l) 10,25,10
i ie=-N
DO 20 J=1 ,N
IQ=IQ+N
DO 20 1=1,N
IJ=IQ+I
R(1J)=9.0
IFII-J) 20,15,20
15 R11J)=1.0
29 CONTINUE
C COMPUTE INITIAL AND FINAL NORMS IANORM AND ANORMX1
25 ANORH=0.9
DO 35 1 = 1 ,N
DO 35 J=1,N
IFII-J) 30,35,30
30 IA=I+IJ*J-J)/2
ANORM=ANORM+A(I A)*011A)
35 CONTINUE
IF IANORM) 165,165,40
40 AN0RM=1 ,414-S0RT IANORM)
ANRHX=ANORM*RANGE-'FLOAT INI
C INITIALIZE INDICATORS AND COMPUTE TRESHOLD THP
IND=9
THR=ANORH
45 THR=THR^FLOATIN)
50 L=1
55 M=L+1
C COMPUTE SIN AND COS
60 MQ=(M*M-M)>'2
LQ=(L4L-L1/2
LM=L+MQ
62 IFIABSIAILM))-THR) 130,65,65
65 IND=1
LL=L+L0
MM=M+MQ
X=0,5*IAILL)-A IMM))
68 Y=AILM)^SQRTIA l LH) *A ILM > +X*X)
IF IX) 70,75,75
70 Y=-Y
75 SIHX=Y/'S0RTI2.*t 1 .+SQRTI1,-Y*Y) ) ) )
SINX2=SINX*SINX
78 C0SX=SGRTI1.-SIHX2)
C0SX2=C0SX*C0SX
SINCS=SINX*COSX
C ROTATE L AND M COLUMNS
ILQ=N*IL-1)
IMQ=N*fH-l)
DO 125 1=1,N
I0=II*I-I)^2
IF II-L) 80,115,80
80 IF II-M) 85,115,90
85 IM=l+MO
GO TO 95
90 IM=M-tIQ
95 IFII-U 100,105,105
100 IL=I+LQ
GO TO 110
105 IL=L+IQ
110 X=AUL)*COSX-AIIM)*SINX
AtIM)=AIIL)*SINX+AUM)*COSX
AIIL)=X
115 IFIMV1)128,125,120
120 ILR=ILQ+I
IMR=IMQ+I
X=RIILR)*COSX-RIIMR)*SINX
R IIMR)=R IILR)eSINX+R11MR)4COSX
RIILR)=X
125 CONTINUE
X=2.*AILM)*SINCS
Y=AILL)*COSX2+AIMM)*SINX2-X
X=AlLL)*SINX2+AIMM)*C0SX2+X
PILM)=IAILL)-AIMM))*SINCS+AILM)*IC0SX2-SINX2)
A ILL)=Y
AIMM)=X
C TEST FOR COMPLETON
C
C TEST FOR M = LAST COLUMN



251
HAND:
TESTs
RETRNi
ERHSG:
LCHSK:
0C8:
ACl:
AC2:
CARRY:
!nME:
TTYH:
AINS1:
AIHS2:
WTT:
DCODE:
DEV3D:
OK:
nOOEU:
>
;****
,
File Listing Utility
Program: DEV3D
Page 2
DACV INTERRUPT HANDLER
STB
0,OC8
SAVE OC0
STA
1 ,AC1
SAVE AC 1
STB
2,0C2
SAVE 0C2
hovl
0,0
SAVE CARRY
STA
0,CBRRY
BIT 15 IS CARRY BIT
SKPDZ
DACV
IS DONE BIT ZERO?
JHP
TEST
NO...HE ORE DONE
DIAC
0,DBCV
GET STATUS WORD & CLEAR
JHP
RETRH
SOHE OTHER INTERRUPT
EIQC
0,DOCV
GET STATUS WORD t CLEAR
LDA
1,LCHSK
LOAD LOTE CONV HOSK WORD
BHD
8,1,SNR
IS LATE CONV BIT ZERO?
JHP
RETRN
YES...RETURN
JSR
PUTT
PRINT DATA LATE ERROR
ERHSG
ERROR HESSAGE
LDB
0, CARRY
RESTORE CARRY
MOVR
0,0
LDB
0,OC0
9
RESTORE AC0
LDA
1 ,0C1
RESTORE AC1
LDA
2 AC2
RESTORE 0C2
INTEH
ENABLE INTERRUPT SYSTEH
.UIEX
RETURN TO USER ENVIRONMENT
TXT
DOTO LOTE<15><12> *
1B8
LATE CONVERSION HOSK
0
SAVE AREA FOR AC8
0
SAVE AREA FOR AC1
0
SAVE AREA FOR AC2
e
5
SAVE OREO FOR CARRY BIT
.+ 1*2
BYTE POINTER FOR CONSOLE NAME
.TXT
**TTO
SKPBZ
TTOl
2ND TTY INSTRUCTION CHANGE
DOAS
8,TT01
2ND TTY INSTRUCTION CHANGE
UTTO
ADDRESS OF WTTO ROUTINE
DBCV
5
DACV DEVICE CODE
FS
JSR
0.CPYL
ESTABLISHES USER STOCK
SUBO
8,0
CLEAR AC0
STA
0,@ERROR,3
SET ERROR RETURN TO 0
LDA
8,.H0HE
;
LOAD DEV NOME BYTE PTR
.SYSTH
CALL SYSTEH
.GCOUT
FIND CONSOLE NOME
JHP
OK
SOMETHING WRONG ...IGNORE
LDB
0,TTYN+2
SEE IF THIRD BYTE NON-ZERO
nov
0,0,SNR
NON-ZERO <==> TTI1ZTT01
JMP
OK
CONSOLE TTI'-TTO
LDA
0,AINS1
1ST INST TO CHANGE
STB
0,INS1
CHANGE IT
LDB
0.OINS2
2ND IHST
STB
0,INS2
CHANGE IT
NIOC
DACV
CLEAR DACV
STB
3 AC3
SAVE CONTENTS OF 0C3
JSR
DIDEF
5
DEFINE DACV DEVICE OS USER DEVICE
JHP
INUSE
DEVICE ALREADY IN SYSTEH
LDB
3, AC3
RESTORE 0C3
ADC
1,1
GENERATE 0 -I IN OC1
LDA
0,IBRRY,3
PUT IN AC0 ADDRESS OF INPUT ARRAY
BDD
0,1
PUT IN AC1 ADDRESS OF INPUT ARRAY -
LDA
0,@NSTRT,3
PUT IN OC0 THE STORTING INDEX
ODD
0,1
OFFSET STORTING ADDRESS BY STORTING
STA
1,IBRRY,3
STORE STORTING ADDRESS IN STOCK
LDA
8,0CLOCK,3
LOAD CLOCK BITS IN 0C8
ODCZL
1,1
GENERATE -2 IN OC1
LDA
2.INTH
LOAD INT CLOCK NODE
ADD
1 ,8,SZR
ASSUME EXT CLOCK IF NOT 2
LDA
2.EXTM
EXTERNAL CLOCK
STA
2,SELXY
5
STORE MODE WORD
INITIALIZE THE BEOH ON
THE CENTER LEFT AREA OF THE SCREEN
LDA
2,DATA
LOAD ADDRESS OF BUFFER
STA
2,23
STORE ADDRESS IN SELF-INCR LOCH
SUBO
1,1
LOAD 0 IHTO 1ST X LOCH
STA
1,0,2
5
STORE 1ST X VALUE
SHIFT
THE DATA TO THE
LEFT 4 PLACES L FILL UP OUTPUT BUFFER.
I


65
and prints the figure captions; and stores the parameters of the class
ifier line in a file for future processing.
The ERP classification module is invoked by the PROCESS.MC,
CLASSIFY.MC, RESCATTER.MC, or DESIGN.MC RDOS pseudo-macros. PROCESS.MC
invokes all the CPVER data processing subsystem modules for "off-line"
operation. CLASSIFY.MC and RESCATTER.MC invoke the SCATTER module for
independent execution. DESIGN.MC invokes the SCATTER module in
"automatic" mode.
The structure chart for SCATTER is shown in Figure 3-3. Each
logical grouping of related operations (structure block or submodule)
is described in the following paragraphs.
Submodule G1 initializes and sets up the SCATTER program. Three
externally supplied flags control the operation of the software: flag
INDV is set to enable the discriminant analysis method, flag AUTO is
disabled for manual operation, and flag REDRAW is set to bypass the
recalculation of the design and test set feature space projections,
and assume they are stored in files DESIGN and TEST respectively. In
manual mode, the system requests the following inputs: 1) the symbols
to plot for each class in the scatter diagram, 2) the name of the
specifications table, the subject's initials, the synchrony point and
session numbers for both design and test sets, 3) a selection of the
algorithm and covariance type, 4) the desired channel(s) and features,
and 5) explicit control of the looping parameters of the bisector
perturbation algorithm in submodule G5. In automatic mode, a single
pass is made through the submodules (design set) and the decision


107
Table 5-8
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toe
piit z.
Page
- 1
Subj :JNL ,
Ser:R,
Sess:2
, Chn:6
CZ,
S-LOCK
C 10) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
1
2
4
5
2
3
5
4
5
Gamma
0.270
0.320
0.559
0.407
0.727
0.446
0.672
0.635
0.829
UF -fl
0.270
0.278
0.440
0.275
0.678
0.365
0.515
0.512
0.662
o
3>
I
-h
H-4
0.422
0.547
0.628
0.447
1.066
0.678
0.819
0.711
0.993
DA -f2
0.113
0.053
0.080
0.196
0.774
0.358
0.152
0.377
0.503


xml version 1.0 encoding UTF-8
REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd
INGEST IEID EWDNUWCGW_AGLBOX INGEST_TIME 2017-07-14T22:08:50Z PACKAGE UF00089538_00001
AGREEMENT_INFO ACCOUNT UF PROJECT UFDC
FILES


194
File Listing Utility
Program: EXPDRIVER Page 2
NOPR = 0
NBLKS = 0
NSENT = 0
NOT = 1
NOS = 1
I CAL = 0
C
C READ IN THE NAME OF THE PARAMETER TABLE FOR THIS RUN *, START PROCESS
C
TYPE "ENTER SPECIFICATIONS & DEFAULTS TABLE FILENAME (_SPEC_)<7>"
READ(t1,15) SPECF(1)
CALL FOPEN(3,SPECF)
5 FORMAT(12,8F4.1,12,F8.4,12,16A2)
DO 6 1=1,8
IFIL(I)=8
READ(3,7) Fill
6 WRITE(18,81 Fill
7 FORMAT(S80)
8 FORMAT C1X,S38)
9 FORMAT (IX, ID
TYPE "ENTER SUBJECT'S INITIALS(3): "
READ(11,171 SUBJIN
READ(3,16) SERIES, FTYP
READ(3,15) NAMSG(l)
READ(3,15) EBMSG(l)
READ(3,15) WRONG(1)
READ(3,5) REFCHN, SCALE, JEOG, THRES, JTIM
TYPE "ENTER EXPERIMENT NUMBER "
READ(11,16) NUMBER
EXPNO=SERIES + NUMBER^2S6 32
SENTNO11=12336
SENTNO(2)=12337
IFIL(1)= FTYP SUBJIN(1)/256 32
IFIL(2) = SUBJIN(2)
10 ACCEPT "CALIBRATE RUN? 0=NO 1=YES! ", ICP
IFUCA.EQ.0) GO TO 20
C
C CALIBRATION RUN COLLECT 512 VALUES FOR 8 CHANNELS
C
PAUSE "CALIBRATION RUH***PUT CALIBRATION SIGNAL ON ALL CHANNELS***"
ISO = 50
1ST = 150
ISTH = 250
IDUM = 1
JDUM = 1
INAME(1)= 21504 FTYP + 32 + IFIL(l)
IHAME(2)= IFIL(2)
INAME(3)= IFIL(3)
INAME(41= 0
14 FORMAT(II)
15 FORMAT(SI 5)
16 FORMAT(A1,1X,A1)
17 FORMAT(Al,A2)
18 FORMAT(814)
GO TO 41
C
C COLLECT VER SAMPLE FOR THIS SUBJECT
C
20 TYPE "<33>h<33>J<7><21>"
READ(3,18) ICH1, ICH2, NVERS
TYPE "**********************************************************"
TYPE "*** PREPARE SUBJECT FOR VER DATA COLLECTION ***
TYPE "i*********************************************************"
TYPE "* 512 SAMPLES AVERAGED FOR ",NVERS," REPETITIONS. *
TYPE "* START CHANNEL s ",ICH1," END CHANNEL : ",ICH2," *"
TYPE "i*********************************************************"
TYPE "* PAUSE...HIT TO CONTINUE"
READ(11,17) IANS
IF(IANS.EQ.23872.OR.IANS.EQ.22560) GO TO 28
N = ICH2 ICH1 + 1
IF(N.LE.0)N=N+32
VF = 1.O^FLOAT(NVERS)
NS = N 512
INAME(1) = 22016 FTYP + 32 +IFIL1)
INAME(2) = IFIL(2)
INAME(3) = IFIL(3)
INAME(4) = 0
21 DO 22 J = 1 HS
22 X(J) = 0
C
C START VER COLLECTION


50
h
C. for the i class, and a is a scale factor that normalizes cl to unity
W is usually chosen as the arithmetic mean of the class covariances (e.g
W = \ (Cx + C2) for a two class problem). Equation 3-1 maximizes the
distance between classes in feature space given by the divergence form
ulation [32],
The value of d as a feature may be measured by the generalized
Fisher ratio.
J(d) = (- (3-2)
d' W d
A set of P features is obtained by sequentially maximizing
Equation 3-2 as follows:
1) Find the first feature d^ by maximizing J. This is done
with Equation 3-1. d^ is the only eigenvector of W ^ _u u.'
with a non-zero eigenvalue A^.
2) Find feature i _< P by maximizing J subject to i-1 orthogonality
constraints, i.e.,
d! d = 0 n = 1, 2, . ., i-1 (3-3)
x n
The measurement vector of dimension N is decimated into K parti
tions, each of dimension L (N = KL) in order to reduce the dimension
ality of the observed data. For each partition of dimension L, an
optimal feature extractor is used to obtain a feature(s) to represent
the partition. Stepwise selection is applied to the partitions to
obtain a set of P features from the set of features defined for all the
partitions.
The partition size L should be chosen as large as possible for
statistical stability. Given a fixed number M of observations


APPENDICES


245
File Listing Utility
Progra: N4PI0
Page 3
MOVZL
0.0
MOV2L
0,0
MOVZL
0,0
MOVZL
0,6
STA
0.023
ISZ
IRRY,3
INC
2,2 ,SZR
JMP
PREP
LDA
2.DAMSK
INTDS
DOBS
2, CPU
AGN:
NIOC
DACV
LDP
2,DATA
STA
2,23
LDA
1 ,NPTS,3
MOVZL
1,1
LDA
0,SELXY
DOA
8,DACV
LOOP:
LDA
0,023
INS1 :
DOCS
0,DACV
INS2
INC
1,1,SZR
INS3
JMP
LOOP
INS4
JMP
TINS4
INSS
JMP
.1
INS6
JMP
.+1
INS7
JMP
.1
INS8
JMP
. + 1
INS9
JMP
. + 1
TINS4:
DIAC
0 ,TTI
LDA
2,STOP
SUB
0,2,SNR
JMP
AGN
TINS5:
NIOC
TTI
RTH:
SUBO
2,2
DOBS
2, CPU
JSR
l? .FRET
AINS1:
SUBZR
2,2
AINS2:
SKPBZ
DACV
AINS3:
JMP
.+5
AINS4:
DOCS
8,DACV
AINS5:
INC
1,1,SZR
AINS6:
JMP
.-6
AINS7:
JMP
.+3
AINS8:
INC
2,2,SZR
RINS9:
JMP
.-7
DAHSK:
203
SELXY:
0
-
SMODE:
010000

NSMOD:
014000
STOP:
101
MSK:
177400
MSG:
.TXT
<1S><12>
DATA:
.+0
.BLK
2802
.END
SHIFT LEFT
SHIFT LEFT
SHIFT LEFT
SHIFT LEFT
STORE IH BUFFER
5 INCREMENT SAMPLE ADDRESS
5 IHCREMEHT COUNT
; COHTIHUE PREPARATION
CLEAR ADCV
LOAD BUFFER ADDRESS
STORE IT IN SELF IHCR LOCN
LOAD HPTS IN AC I
DOUBLE THE HUMBER OF POINTS
LOAD MODE WORD IH AC0
SETUP DACV DEVICE
f++++
LOAD NEXT VALUE IH AC0
OUTPUT NEXT X-AXIS VALUE
; INCREMENT THE COUNT
; CONTINUE LOOP
TIME TO QUIT?
LOAD STOP CHARACTER IN AC1
CHECK FOR STOP
NO..-DISPLAY AGAIN
CLEAR TTY DEVICE
CLEAR AC2
REMOVE TTI MASK
RETURN TO CALLER
SAVE AREA FOR MODE WORD
SELECT PIO MODE, ALT CHANNELS, DACX 1ST
5 PIO MODE, NON SCOPE, ALT CHNS, DACX 1ST
; ASCII (101) <==> 'A'
; RIGHT CHAR MASK
STRIKE ANY 'KEY'<15><12>*
; ADDRESS OF BUFFER -1
; 1026 DATA WORDS


240
PULSE:
File Listing Utility Prograa: PULSE
-TITL PULSE
ENT PULSE
.EXTD .CPYL, .FRET
NREL
VRLUE=-167
1
JSR 0.CPYL
IN TBS
sto e.fica
SUB2L 8,0
B08 9,BQCV
LBfl 8,eVf)LUE,3
DOCS 0,DOCV
LBfl 0,RC8
INTEN
JSR
0
.END
Page 1
AC0
@.FRET


165
Figure 5-53 Scatter plots


239
File Listing Utility Progra: FTYPE
Page 1
TITL
FTYPE
ENT
FTYPE
EXTD
.NREL
.CPYL
.NOME:
. + 1*2
TTYH:
.TXT
TTI
¡URITE TEXT STRING TO TTO DEVICE
;SUBROUTINE WTTO
¡NORMAL RELOCATABLE CODE
1
FTYPE:
JSR
0.CPYL
LDA
.SYSTH
.GCIN
0,.HAME
JMP
OK
LDA
0,TTYN+2
MOV
0,0,SNR
JMP
OK
LDA
0,AINS1
STA
0,INS1
LDA
0,AINS2
STA
0,INS2
OK:
INTDS
LDA
0,-167,3
STA
0 MSG
HSG:0
JMP
UTTO
AINS1:
SKPBZ
TTOl
AIHS2:
LOAS
0,TT01
UTTO:
STA
0 AC0
STB
1 AC 1
STB
2 ,AC2
SUBO
0,0
LDA
2, MSG
LDA
1,MRSK
ULOOP:
LDA
0,0,2
MOVS
0,0
BLOOP:
MOVC
8,0,SNC
MOVS
0,0
AND
0,1,SNR
JMP
RTRN
INS1 :
SKPBZ
TTO
JMP
.-1
INS2:
BOAS
0, TTO
MOV
0,0,SZC
JMP
BLOOP
INC
2,2
JMP
ULOOP
RTRN:
LDA
0 AC0
LDA
1 AC1
LDA
INTEN
2 AC2
JSR
0.FRET
AC9:
0
AC 1 :
0
RC2:
0
MASK:
000377
.END
¡SAVE THE CONTENTS OF AC0
;SfiVE THE CONTENTS OF BC1
¡SAVE THE CONTEHTS OF AC2
;CLEAR OC0 AND THE CARRY FLAG
;LOAD THE BYTE MASK INTO AC1
;LOAD THE NEXT UORD OF THE TEXT STRING
¡PROCESS 1ST HALF OF UORD,
¡ ELSE SWAP HALVES
¡CHECK FOR NULL TERMINATOR
¡NULL TERMINATOR ENCOUNTERED, RETURN
¡CHECK IF TTO IS READY
¡TTO NOT READY
¡OUTPUT BYTE TO TTO
¡TEST FOR 2ND BYTE OF UORD
¡FIRST BYTE OF UORD, CONTINUE WITH 2ND
¡INCREMENT TEXT UORD ADDRESS
¡PROCESS NEXT SEQUENTIAL UORD OF TEXT
¡RESTORE AC0
¡RESTORE RC1
¡RESTORE AC2
¡SAVE AREA FOR AC0
¡SAVE AREA FOR HC1
¡SAVE AREA FOR AC2
¡LEFT BYTE MASK (BITS 0-7)


209
File Listing Utility
Program: COVEST
Page 3
C
130 TYPE **PRE-STORED ACROSS SESSION SETUP**
STOP
C
C STANDARD UITHIN SINGLE SESSION SETUP.
C
175 IF(IAUTO .EQ. 1) GO TO 176
TYPE "ENTER SESSION NUMBER*
READ(11,110) NUMBER
176 URITE(10,177) NUMBER
177 FORMATUX,"EXPERIMENTAL SESSION NUMBER : *,A1)
NS = 1
SHU) = NUMBER
DO 180 1 = 1, NCL
180 MS (1,1) = NSCL(I)
SSN(l) = NSTRT
URITE(10,185) NUMBER, NSTRT
URITE(10,190) NOS, MCL, (MSCLI), 1=1,MCL)
URITE(10,195) NOT, NCL, (NSCL(I), 1=1,NCL)
185 FORMAT(IX,'SESSION NUMBER : *,02,5X,'STARTING SENTENCE NUMBER : *,I3)
198 FORMATUX, SENT s *,I4,5X,** CLASSES : *,I2,5X,* SENT'CL s *,413)
195 FORMATUX,** TRIALS : *,I4,5X,* CLASSES *,12,SX,*TRIRLS/XL
C
C SETUP COVARIANCE FILENAME.
C
200 COVF(l) = FTYP(2) (SENTFU)-SEHTFU)^256*256) 32
COVF(2) = SENTF(2)
COVF(3) = SERIES + NUMBER'256- 32
COVF(6) = 8
C
C FOR EACH OF TUO POSSIBLE CLASSES.
C
DO 1888 KCLOS =1,2
K = CLASS(KCLAS)
COVF(4) = JSYNC + (43+K) 32
COVF(5) = 12336
SENTNOU) = 12336
SENTNO(2) = 12337
C
C INITIALIZE ARRAYS.
C
DO 218 IC = 1 NCHN
DO 218 L = 1 NP
DO 210 I = 1 N
VH(I,L,IC) = 8.0
DO 218 J = 1 N
210 PCOVU ,J,L,IC> = 0.0
URITE(18,225) K
225 FORMATUX,CLASS : *,I1)
MX = 0
DO 248 I = 1 K
240 MX = MX + HSCL(I)
MN = MX MSCL(K) + 1
URITE(10,260) COVF(1)
268 FORMAT(IX,"COVARIANCE FILE : *,S10)
C
C ACROSS SESSIONS
*,413)
C
MSENT = 8
DO 750 LS = 1 MS
EXPNO = SERIES + SN(LS)^2S6 32
URITE(10,270) SEHTF(1)
270 FORMATUX, "SENTENCE FILE : *,S10)
RSEQF Cl) = SERIES + 83-32
RSEQF2) = 69*256 + 81
RSEQF(3) = SN(LS) 32
URITE(10,288) RSEQF(1)
280 FORMATUX, "RANDOM FILE s ,S10)
M = MS(LS,K)
MSENT = MSENT + M
NSTRT = SSN(LS)
CALL OPEN(3,RSEQF,1,1ER)
READ(3,308) (RSEQ(I), 1=1, NOT)
CALL CLOSE(3)
300 FORMAT (1914)
C
C FOR EACH SENTENCE IN THE SESSION
C
NSE = 0
DO 780 IS = 1 M
CALL SREAD(NSTRT,NOT,MX,MN,NCHN,ICHN.NSAM,JSYNC,ISHFT,NTCH,IPOS,INSF.IER


157
Table 5-25
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non
-Toeplitz.
Page
- 1
Subj s CJB,
Ser t E,
Sess:2
, Chn:6
cz,
S-LOCK
C 103 ,
36 Samp/Cl, 10/25/81
II
JU
JU
CL
1
2
3
4
5
6
7
8
9
Mk
6
3
2
5
2
5
6
6
5
Gamma
1.389
1.232
0.454
0.766
0.978
0.394
0.445
0.945
0.739
UF -fi
1.165
1.135
0.409
0.603
0.928
0.264
0.286
0.739
0.578
DA -fl
1.515
1.438
0.710
1.110
1.772
0.384
0.556
1.217
0.822
DA -f2
1.037
0.694
0.420
0.603
0.394
0.164
0.208
0.525
0.538


96
Table 5-3
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplitz.
Page
- 1
Subj:RCP,
Ser:R,
Sess s1
, Chn:6
o
N
V
R-LOCK
C-703 ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
3
4
4
2
4
4
5
9
5
Gamma
0.639
0.336
0.444
0.313
0.850
0.710
0.435
19.916
1.112
UF -fl
0.551
0.236
0.333
0.272
0.718
0.583
0.300
19.483
0.934
DA -fl
1.362
0.442
0.827
0.364
1.200
1.167
0.536
14.119
1.626
DA -f2
0.318
0.098
0.245
0.114
0.398
0.713
0.220
5. 150
0.594


ooo o o o o o o o o o no
220
rile Listing Utility
Progra: SCATTERl
Page 3
NCHN s OF CHANNELS TO PROCESS ICHN : CHANNEL NUMBER TO PROCESS
READ C1,30) NP, N,
FORMAT(2014)
FORMAT(IX,2014)
CALL CLOSE(1)
NSAM = NP N
SHIFT, HSC,
VSC, NCHN,
(ICHN(I1,1=1,NCHH)
SUBJECT'S INITIALS (3)
5 IF(IAUTO .EO. 1) GO TO 96
TYPE -EHTER : SUBJECT'S INI TIALS(3)"
READ(11,991 SUBJIN
16 WRITE (19,97) SUBJIN
>7 FORMAT (IX, "SUBJECT'S INITIALS : ,Al ,P2)
9 FORMAT(PI,A2)
80 FORMAT(1X,P1,A2)
SUB(KDT.l) = SUBJIN(l)
SUB(KBT,2) = SUBJIN(2)
SENTF(l) = FTYP(l) + SUBJIN(1)X256 32
SENTF(2) = SUBJIN(2)
DECIDE ON TYPE OF DISCRIMINANT VECTOR TO USE.
IFKDT.EQ.2 .OR. (IPUTO-HANUAL).E.1) GO TO 109
IFdNDV.EQ.0) GO TO 182
81 TYPE -DISCRIMINANT ANALYSIS(D) OR UF ALGOR ITHM(U)?*
READ(11,99) M
IF(M .EQ. "D ") GO TO 103
IF(M -NE. -U ') GO TO 101
102 TYPE "UNIVERSITY OF FLORIDA METHOD"
KTYP =' 0
GO TO 105
03 TYPE -DISCRIMINANT ANALYSIS
KTYP = 2
05 TYPE -USE AVERAGE(A! COVARIAHCE SOURCE OR TOEPLITZ(T)?
READ(11,99) M
IF(M .EQ. A ") GO TO 107
IF(M .NE. -T ) GO TO 105
TYPE -DISCRIMINANT VECTORS DERIVED FROM T0EPLIT2 COVARIANCES
KTYP = 2 + KTYP
GO TO 109
07 TYPE DISCRIMINANT VECTORS DERIVED FROM AVERAGE COVARIANCE MATRICES
KTYP = 1 + KTYP
DECIDE ON SYNCHRONY POINT.
109 IF(IAUTO .HE. 1) GO TO 116
CALL STAT(FEATURES,RSEQ,IER)
IF(IER.EQ.l) GO TO 10
TYPE <7>*ERR0R* COULD NOT LOCATE FILE 'FEATURES'*
GO TO 115
18 CALL OPEN(3,"FEATURES,1,IER)
11 READ(3,112,END=114) I,J,FNO,FEAT
112 FORMAT(1112,9F6.2)
IFd.NE.JCHN .OR. J .NE .KTYP) GO TO 111
LI = FNOU)
113
114
US
L2 = FNO(2)
FI = FEAT(LI)
F2 = FEATL2)
CALL CLOSE(3)
WRITE(10,113) JCHN, KTYP, LI, FI, L2, F2
FORMAT(IX,CHANNEL :,12,3X,METHOD CODE s,12,
IX,2(FEATURE :,12,3X,S^N RATIO :*,F6.2,5X))
GO TO 116
CALL CLOSE(3)
TYPE ^AUTOMATIC ERROR* CHANNEL-'METHOD NOT FOUND IN FILE
TYPE CHANNEL : ,JCHM," METHOD CODE s ",KTYP
ACCEPT -1ST FEATURE NUMBER s -,LI
1ST FEATURE S/N RATIO : ,F1
2ND FEATURE NUMBER s ,L2
"2ND FEATURE S'N RATIO :
ACCEPT
ACCEPT
ACCEPT
116
IF(1AUTO
.EQ. 1) GO
TO

118
117
TYPE STIMULUS-LOCK(S)
OR
RESPONSE
READ(11,99) JSYNC
118
JS(KDT) =
JSYNC
IF(JSYNC
.EQ. -R )
GO
TO
120
IF(JSYNC
.NE. S )
GO
TO
117
FEATURES
STIMULUS LOCK.


42
c
START
Dl: INITIALIZATION
D2: EXTRACT EEG
'
>
D3: DISPLAY or TYPE ERP
c
END
D
Figure 2-4
Single Epoch Display Structure Chart
¡-


129
Table 5-16
Feature Vector Criterion
S/N Rat ios
or Criterion
J, Toe
piitz.
Page
- 1
Subjs JNL ,
Ser:E,
Se5 5:1
, Chn:6
cz,
S-LOCK
C 10) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
3
9
Mk
5
4
3
4
4
3
2
5
2
Gamma
0.782
0.580
0.545
0.914
0.542
0.147
0.409
0.855
0.599
UF -fl
0.618
0.460
0.460
0.780
0.423
0.095
0.365
0.687
0.552
DA -fl
0.934
0.808
0.757
1.165
0.793
0.219
0.794
1.371
0.809
DA -f2
0.350
0.453
0.529
0.421
0.203
0. 045
0.244
0.508
0.591


ooooo non ooooo non non
219
File Listing Utility
Progra*: SCATTERl
Page 2
WRITE (3,190) SUBJIM
WRITE(3,100) JSYNC
WRITE 13,100) NUMBER
GO TO 9
3 CfiLL OPEN 13,"ANSWERS*,1,IER)
READ13,28)SPECF11)
READ(3,99)SUBJIN
READ13,99)JSYNC
REfiD13,99)NUMBER
REfiD13,16,END=9)KTYP
IFIINDV.EQ.0.AND.KTYP.GT.2) KTYP = KTYPs2
CfiLL CLOSE 13)
NPACS = 1
GO TO 10
9 MANUAL = 1
CALL CLOSE 13)
C READ IN
c
THE NAME OF THE
PARAMETER & SPECIFICATIONS TABLE FOR THIS RUN
10 DO
1200 KDT = 1 ,
NPASS
DO
12 I = 1 72
DO
12 J = 1 9
DO
12 IS = 1 6
DO
12 K = 1 2
12 F1I
,J,IS,K) = 8
WRITE(10,14) FILE 11
,KDT)
14 FORMAT 1IX,S6, SET-)
16 FORMAT ill)
17 FORMAT 1IX,11)
IF 1IflUTO .EQ. 1) GO TO 26
25 TYPE -ENTER PARAMETER i. SPECIFICATIONS TfiBLE FILENAME 1 SPEC )<7>"
READ 111,28) SPECF11)
26 WRITE 118,27) SPECF11)
27 FORMAT!IX,-SPEC TABLE : *,S15)
28 FORMAT1S15)
29 FORMATUX ,S15)
CfiLL STfiT1SPECF,RSEG,IER)
IF 1IER .EQ. 1) GO TO 50
SPECIFICATION FILE NOT FOUND...RETRY
WRITE 110,30) IER, SPECF11)
30 FORMAT 1IX,-ERROR* IER s ,13,2X,"SPECIFICATION FILE : ",S8,2X,N0T FOUN
PRUSE -SIGN ON TO ANOTHER USER AND TRANSFER FILE TO DP4
GO TO 25
TfiBLE AVAILABLE AND ASSIGNED TO UNIT 1.
SERIES s EXPERIMENT SERIES IE-EPISODIC, R-REPLICATION, ETC.)
FTYP : ID-DATA, C-COVARIANCE, U-MEAN '/ECTOR, V-DISC VECTOR, T-TOEPLIT23
CALL OPEN II.SPECF,1,IER)
READ(1,60) SERIES, FTYP
SER1KDT) = SERIES
FORMAT {.///'////*<& 1A1 IX) )
NTCH s NUMBER OF THE TIMING CHANNEL CHID : NAME(ID) FOR 8 CHANNELS.
READ!1,70) JCHN, NTCH, KCHIDII.J), 1=1,2), J=1,8)
70 FORMAT1//S12,42X,12,16A2)
NOS : OF SENTENCES NOT : OF TRIALS^SESSION
MCL : OF SENTENCE CLASSES MSCL : OF SENTENCESxCLASS
MCL s OF SESSION CLASSES NSCL : OF SENTENCES''CLASS
READ 11,88) NOS,NOT,NSTRT,MCL,(MSCL11),1 = 1,MCL) ,NCL,1NSCL11),I = 1,NCL) ,
X 1CLASS1I),1=1,MCL)
IF 11AUTO.EQ1 .OR. MCL.LE.2) GC TO 35
TYPE -<7>*********MULTI-CLASS EXPERIMENT*****-
TYPE * CLASSES s 1-TA, 2-FA, 3-TN, 4-FN *
TYPE i**********************************-
77 ACCEPT "ENTER 1ST CLASS TO PROCESS : -.CLASS 11)
ACCEPT *ENTER 2ND CLASS TO PROCESS : -,CLASS12)
IF! CLASS 11).EQ.CLASS(2) .OR. CLASS 11) .LE.0 .OR. CLASS11).CT.MCL
X .OR. CLASS 12) .LE.0 -OR. CLASS 12) .GT .MCL) GO TO 77
80 FORMATU20I4)
C
C IPOS s POLARITY OF RESPONSE PULSE 1+1 TRUE POSITIVE HIGH)
C
85 READ 11,80) I,I,1,1,1,1,IPOS
C
C NP s PARTITIONS N : DIMENSION WINDOW SHIFT FOR : S-LOCK, R-LOCK


202
File Listing Utility Prograa: EEGDSPL Page 3
DO 39 J = ISP 511
MSP = MARK + J ISP
IFtHSP.LE.512) IDATA(NSP) = INPUT(ICH,J+1)
39
COHTIHUE
.... - '
GO TO 49
C
C
0
-STIMULUS LOCK..
.DISPLAY ALL
OF THE DATA
40
DO 45 I = 1
, 512
IDATA(I) =
-INPUT(ICH ,
I)
45
CONTINUE
48
FORMATC *
SENTENCE
NUMBER :",14, SX,"FILENAME
49 CALL DEV3D(2,IDATA,1,508,IER)
WRITE(19,48) H, IFILE(l)
ILST(5) = ILST(4)
ILST14) = ILST(3)
ILST(3) = ILST(2)
ILST(2) = ILST(1)
ILST 1) = IFILE15)
IHO(5) = I HO(4)
IHO(4) = INOC3)
I HO(3) = IHO(2)
IHO(2) = INO(l)
IHO(1) = H
CALL RTTY(NCHAR)
C WRITE(10,9999) SCHRR, NCHAR
C9999 FORMAT(20110)
IF(HCHAR.EQ.SCHRR) GO TO 89
CALL CLRTTY
C
C DISPLAY LAST FIVE SENTENCES
C
DO 50 I = 1 ,64
58 CALL DEV3D(2,IBLK,1,S08,IER)
DO 60 I = 1 ,5
JDUM = 6-1
IFILE(5) = ILST(JDUH)
CALL FOPEN(3,1FILE)
CALL RDBLK(3,0,INPUT,16,IER)
EHDFILE 3
DO 55 J = 1 512
ZTIH(J,I) = INPUT(8,J)
55 IDATA(J) = -INPUT(ICH,J)
TYPE "ZOOHIHG OH SENTENCE HUMBER : *,IHO(JDUM)
CALL DEV3D(2,IDATA,1,508,IER)
60 COHTIHUE
DO 63 I = 1 ,2
63 CALL DEV3D(2,IBLK,1,508,IER)
DO 70 I = 1 ,5
DO 65 J = 1 512
65 IDATA(J) = ZTIH(J,I)
70 CALL DEV3D(2,IDATA,1,508,IER)
C DO 75 I = 1 10
C75 CALL DEV3D(2,IBLK,1,508,IER)
76 ACCEPT "ENTER POSSIBLE SENTENCE NUMBER TO BE DELETED OR ZERO : ",IANS
IF (IANS .£Q. 8 ) GO TO 89
TYPE "SENTENCE NUMBER ", IAHS, DISPLAYED OH THE SCOPE"
DO 89 I 1 ,5
IF(IANS .NE. INO(I)) GO TO 80
IFILE(S) = ILST(I)
CALL FOPEH(3,IFILE)
CALL RBBLK(3,8,INPUT,16,IER)
ENDFILE 3
DO 77 J = 1 512
77 IDATA(J) = INPUT(ICN J)
78 CALL SCOPE(2,0,1,IDRTA,1,512,IER)
ACCEPT "ANSWER 1 IF YOU WISH TO REJECT THIS TRIAL : ",IANS
IF(IANS .NE. 1) GO TO 76
TYPE "TRIAL SENTENCE : ",INO(I), DELETED*"
ACCEPT "ENTER DISK NUMBER FOR DELETED TRIAL : ",IDISK
CALL APPEND(4,DP8¡REJECTS",2,IER)
WRITE(4,79) IDISK, IFILE(l), INO(I)
CALL CLOSE(4,IER)
79 FORMAT(14,2X,S20,2X,14)
CO TO 76
80 COHTIHUE
TYPE "ERROR INVALID SENTENCE"
GO TO 76
89 IFILE(5) = ILST(1) + 1
90 IF(MOD(N+1,10).NE.0) GO TO 100
IFILE(5) = IFILE(5) 10


268
File Listing Utility Program: COLLECT.MC
DELETE AUTO REALTIME
XFER ZERO AUTO
XFER ZERO REALTIME
EXPDRIVER.SV
EEGDSPL.SV
Page


38
Figure 2-2 EEG Data Averaging Structure Chart


ono non non o oo non non ooo ooo o ooo non
228
File Listing Utility Progran: SREAB
Page 1
SUBROUTIHE SREAD(1ST,NOT,HX,HN,HC,ICH,NS, JS,ISH,HTCH,IP,INSF,IER)
COHHON/SENT/ EEG(8,S12), V(8,512), SENTF(5), RSE8144)
INTEGER EEG,V,RSE8,SENTF,ICH(8),SYNCH(4),SENTN0(2),HDIR(7),0DIR(7)
EQUIVALENCE (SENTF(4),SENTNO(1))
READ SENTENCE WITHIN CLASS BOUNDARY.
NDIR(l) = DP"
NDIR(2) = -4<03>-
9 DO 28 I = 1ST NOT
IF( RSEQ(I1.GE.MM .AND. RSEB(I).LE.X GO TO 75
¡0 CONTINUE
OUT OF SENTENCES WITHIN PRESCRIBED CLASS BOUNDARY.
TYPE <7>*ERR0R* SENTENCES REQUESTED IS GREATER THAN AVAILABLE.
TYPE DEFAULT ACTION TAKEN...ILL RE-USE EXISTING SENTENCES*"
IER = 99
1ST = 1
CO TO 10
RETURN
FOUND A SENTENCE WITHIN THE CLASS...CONVERT SENT NO TO ASCII.
5 1ST =1+1
SENTNO (2) = (HOD(I ,100)/-10 481*256 HOD (I 181+48
SENTNO(l) = (48+1/1080)*256 + (HOD(I,1000)/100+48)
CALL GDIR(ODIR,IER)
18 CALL STAT (SENTF ,EEG, IER)
IF( IER.£8.1 ) GO TO 100
SEARCH IN DIRECTORY DPI
CALL DIR(NDIR,IER)
CALL STAT(SENTF,EEG,IER)
IF( IER.EO.l ) GO TO 108
NDIR(2) = 1< 00>"
CALL DIR(NDIR,IER)
CALL STAT(SENTF,EEG,IER)
IF(IER.EQ.l) GO TO 188
SENTENCE FILE NOT FOUND.
TYPE <7> +ERROR IN SUBROUTINE SREAD STHT NO 80 IER :*,IER
WRITE(18,90) SENTF(1)
8 FORHAT(IX,*ERROR* SENTENCE FILE: *,S18,SX,"NOT FOUND")
PAUSE
READ SENTENCE FILE FROH UNIT 3.
80 CALL 0PEN3,SENTF,1,IER)
CALL RDBLK(3,8,EEG,16,IER)
CALL CLOSE(3)
CALL DIR(ODIR,IE)
IF( IER.EG.1 ) 60 TO 125
ERROR IN READING SENTENCE FILE.
WRITE(10,118) IER, SENTF(1J
110 FORHAT(lX,*<7>*I/0 ERROR* IER: *,13,5X,READING SENTENCE FILE: *,S18)
GO TO 210
NO TIHING/NO RESPONSE REJECTION SOFTWARE.
125 ISP = 45
NTP = 0
140 NTP = NTP 1
DO 150 J = ISP 511
IDIF = EEG(NTCH,J+l) EEG(NTCH,J)
IF( IABSCIDIF).GT.180 ) GO TO 175
158 CONTINUE
TIHIHG PULSE HISSING.
TYPE <7>*ERR0R* TTHING PULSE HISSING...SEARCH NEXT SENTENCE*
GO TO 10
COUNT THE TIHINC PULSES.
175 ISP = J + 20
SYNCH(NTP) = J


Artifact rejection. This procedure detects electroocular and
movement artifacts (EOG artifacts, eyeblinks, head movement, etc.)
before and during the ERP epoch. On-line artifact rejection is
fundamental to the real-time approach and is essential to the overall
strategy. Peak detection algorithms with the width of the window and
threshold value as adjustable parameters are used for this purpose.
Artifact monitoring must continue throughout the data acquisition
period. The detection of an artifact then aborts the trial and re
schedules the stimulus event.
Preprocessing Wiener filtering. Real-time filtering may be
performed to improve the signal-to-noise ratio based on covariance
information [21,23,24,25].
Selection of a feature vector. Data reduction techniques are
applied to the digitized EEG data in order to reduce the dimensionality
of the measurement vector. In cases where the number of samples/class
is small compared to the dimensionality of the observation vector, the
data classification method may be unreliable [11,12,31]. This ratio
must be increased in order to improve the reliability of classification.
As features are selected, the probability of error will decrease, up
to the point where additional unreliable features are added. Beyond
this point the population PE will increase [11,12,32-38]. Care must be
taken when using eigenvector expansions, because the largest principal
component may yield a very poor feature for some data sets, particularly
those where two classes have different means but equal covariances.
The mean difference along this principal component may be zero [11].
Cognitive studies demand special consideration because the number of


103


46
the specifications for a linear Bayesian decision rule, along with an
estimate of the decision rule performance (combined feature extraction/
classification procedure) expressed as the probability of classification
error for the population (PE). The software has been designed as an
"off-line" application with respect to the data collection task.
Three major routines comprise the data processing software: A
Covariance Matrix Estimator module (COVEST), a Discriminant Vector
Estimator module (DVEST), and a Scatter Plot and Classifier Generator
module (SCATTER). The latter is used to display the projections of
the observed data onto feature space (scatter diagram).
The data processing subsystem is invoked by the pseudo-macros:
PROCESS.MC, COVARIANCE.MC, FEATURES.MC, CLASSIFY.MC, RESCATTER.MC, or
DESIGN.MC. These RDOS command modules set the necessary flags and
bring into execution the program modules necessary for the completion
of the task. The appendices provide detailed program listings of the
pseudo-macro commands and program modules.
3.3 Experimental Overview
The details of the experimental applications that have been con
ducted using the CPVER system are discussed in Chapter V. A brief
discussion of the data processing aspects of the experiments is in
cluded in this chapter for completeness, and to make this chapter
independent for reader convenience.
In the cognitive experiments conducted, cortical potentials were
recorded while subjects read and decided if simple propositions such


189
integers 1 and 0 in II format. To set any of the CPVER
external flags (AUTO, REDRAW, INDV, REALTIME, etc.) simply
delete the file with the RDOS, DELETE command followed by an
XFER ONE to the desired file.
To collect a session, use it for a design, and collect
a second session with "on-line" classification, the following
sequence may be used:
DELETE ANSWERS,REALTIME,REDRAW,AUTO,INDV
XFER ONE AUTO
XFER ZERO REALTIME
XFER ZERO REDRAW
XFER ZERO INDV
START.MC
DESIGN.MC
DELETE REALTIME,AUTO
XFER ONE REALTIME
XFER ZERO AUTO
EXPDRIVER.SV
The module DEMOEXP.SV (a modification of EXPDRIVER.SV)
uses existing sessions to simulate the real-time CPVER mode.
The sequence of RDOS commands used to invoke CPVER real-time
mode, but using DEMOEXP.SV, has been stored under the
ONLINEDEMO.MC pseudo-macro which is automatically moved to
a new pack with the CRENEWDSK.MC pseudo-macro.


101
Table 5-5
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
-Toeplit z.
Page
- 1
Subj¡RCP,
Ser:R,
Sess:2
, Chn:6
CZ, R-LOCK
C-703 ,
36 Samp/Cl, 10/25/81
11
-W
CL
1
2
3
ID
n
O
7
8
9
Mk
5
5
4
2 5
3
2
7
3
Gamma
0.537
0.505
0.489
0.402 0.913
0.540
0.339
18.833
0.339
UF -fl
0.390
0.361
0.374
0.359 0.742
0.456
0.297
18.506
0.264
DA -fl
0.665
0.523
0.622
0.686 1.135
0.720
0.615
13.100
0.533
DA -f2
0.288
0.269
0.343
0.141 0.503
0 363
0.417
7.262
0.229


98


232
511
512
513
514
File Listing Utility Prograa: IHVERSE
SUBROUTINE RMI (fi,K)
DIMENSION 0(10.10) ,OX(10
KS=K-l
DO 511 1=1,KS
fiX (I) =0 .
DO 511 J=1,KS
RXd)=fiXd)+fid ,J)*A(J,K)
Cc=0
DO 512 1=1,KS
CC=CC+fi(I,K)*fiX(I)
fi(K,K)=l./(DOr,K)-CC)
DO 513 1=1,KS
fid,K)=-fiXdi*fi(K,K)
fi (K, I) =fi (I ,K)
DO 514 1=1,KS
DO 514 J=1,KS
Ad ,J)=fl(I ,J)+fl(K,K)*fiX(I)*fiX(J)
CONTINUE
RETURN
END
Page


Abstract of Dissertation Presented to the Graduate Council
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy
IMPLEMENTATION, COLLECTION, AND PROCESSING OF
VISUAL EVOKED RESPONSES (CPVER) FOR COGNITIVE STUDIES
By
Amauri Antonio Arroyo
December 1981
Chairman: D. G. Childers
Major Department: Electrical Engineering
Single Visual Evoked Responses (SVERs) elicited from human
subjects can be used to study sensory and perceptual processes.
The philosophy behind the design and implementation of a computer
laboratory facility to collect and process visual evoked responses
(unaveraged or single EEG records) is described and expounded.
The resulting system has been used to collect and process Evoked
Potentials (EPs) for a series of cognitive experiments. The "off
line" data processing subsystem has been used to process the SVERs
with classification error rates as low as 0% (perfect) for both
design and test sets. Operator guides for the software and hardware
procedures are described in the appendices.


242
CLRTTY:
OC0:
AC1 :
AC2:
CARRY:
File Listing Utility Progran: CLRTTY
TITL CLRTTY
CUT CLRTTY
EXTD .CPYL, .FRET
HREL
0
JSR @.CPYL
STA 0,AC9
STA 1,AC1
STA 2,ACE
HOVL 0,0
STA 0,CARRY
SYSTM
.CCHAR
JMP .+1
LDA 0,CARRY
MOVR 0,0
LDA 0,AC0
LDA 1,AC1
LDA 2,AC2
JSR 0.FRET
0
0
0
0
.END
Page


151


197
File Listing Utility Progran: EXPDRIVER Page 5
91 FORMAT!* <33>*ddatlE<33>h",4I4,2X,S36,4I4)
URITE(10,92) XI,X2,AX,AY
92 FORMAT(50X,4F7.2)
write<18,500) subjcd
WRITE(10,510) VERB <11
WRITE(19,520) OBJ(l)
TYPE -<33>*.flE<21>*
CALL RTTY(NCHAR)
IF(HCHAR.HE.SCHOR) GO TO 135
C
C EYEBLINK REJECTION SOFTWARE
C
DO 188 L = 250 512
IF( IABStIDATA(JEOG,L)1 .GT. THRES 1 GO TO 148
100 CONTINUE
C
C NO TIMING-'NO RESPONSE REJECTION SOFTWARE
C
ISP=4S
MTP=8
110 NTP = NTP + 1
DO 115 L = ISP 511
IF IABS(IDATA(JTIM,L+1)-IDATA(JTIM,L)1 .GT. 100) GO TO 119
115 CONTINUE
TYPE "<33>-*dtdalE<33>h<33>J<21>
NTPH = NTPM + 1
PAUSE TIMING PULSES MISSING-
TYPE -<33>h<33>J<21>
CALL RTTY(SCHAR)
GO TO 156
119 ISP = L + 20
IF( NTP .LT. 3 ) GO TO 118
C
C SEE IF SUBJECT MADE A RESPONSE.
C
DO 120 L = ISP MSPHP
IDIF = IDATA(JTIM, L+l) IDATA(JTIM,L)
IF ( IABS(IDIF) .GT. 200 ) GO TO 125
120 CONTINUE
DO 121 L 1 ,6
121 RHSG(L) = NAMSG(L)
NANS = NANS + 1
GO TO 150
C
C CHECK FOR CORRECT ANSWER
C
125 IANS = ISEQlINDEX(Jl)
KCL = 1
ISL = ISP SHIFT 111 20
IRL = L + SHIFT(2)
IF ( IF((IANS.GT.8.AND.IANS.LE.36).OR.(IANS.GT.72.AND.IONS.LE.108))GOTO 130
GO TO 128
127 KCL = 2
IF!1IONS.GT.36.AND.IANS.LE.72).OR.(IONS.GT.108.AND.IANS.LE.144)JGOTO 130
C
C SUBJECT MADE WRONG RESPONSE
C
128 NWR = NWR + 1
DO 129 L = 1 6
129 RMSG(L) = WRONG(L)
GO TO 150
C*
C***PROVISION FOR SENTENCE REJECTION BY OPERATOR GOES HERE
C<
138 CALL RTTY NCHAR!
IF(NCHAR.EQ.SCHAR) GO TO 280
135 CALL CLRTTY
TYPE -<33>*dtdalE<33>h<33>J<21>*
L = ISEQ(INDEX(J))
TYPE -WILL DELETE SENTENCE NUMBER : ,L
WRITE 118,8) JSENT(1,L)
NOPR = NOPR + 1
PAUSE
TYPE -<33>tK33>J<21>-
COLL RTTY(SCHAR)
GO TO 156
C
C SUBJECT EYEBLINKED!
C
REJECT SENTENCE


91


64
Submodule F6 displays, on the operator's console and on the
attached hardcopy device (HP-IB device), the S/N or criterion J tables
for each algorithm, covariance source type, partition and channel
combination.
DVEST creates 2 x (number of channels) x (1 + INDV) x (K parti
tions) discriminant vector files of (1 + 2 x N) real numbers. Each
file requires a minimum of one disk block (256 words) of disk storage
plus 18 words of directory space for the RDOS file pointer. The
program requires 36 KB of main memory for execution. In the UF experi
ments, execution time varied linearly according to the product (1 +
INDV) x (number of channels) from a minimum of 2.5 minutes to a
maximum of 10 minutes of total elapsed time.
3.6 ERP Classification Software
The SCATTER Nodule
The ERP classification software implements steps 5 and 6 of
Tables 3-1, 2 The SCATTER module displays the projections of the
observed data onto the selected feature space (scatter diagram);
automatically scales the scatter diagram to the dimensions of the
graphics terminal; designs the linear classifier by selecting the
perpendicular bisector of the centroids of the two classes, followed
by shifts and/or rotation of the line until the PE is minimized; re
draws the design scatter diagram and the classifier line, computes
the design PE, and prints the figure captions; draws the test set
scatter diagram with the classifier line, computes the test set PE,
!


I certify that I have read this study and that in my opinion it
conforms to acceptable standards of scholarly presentation and is fully
adequate, in scope and quality, as a dissertation for the degree of
Doctor of Philosophy.
Ralph GjjSelfridge
Professor of Mathematics
I certify that I have read this study and that in my opinion it
conforms to acceptable standards of scholarly presentation and is fully
adequate, in scope and quality, as a dissertation for the degree of
Doctor of Philosophy.
Lon W. Cbuch
Associate Professor
Engineering
Electrical
This dissertation was submitted to the Graduate Faculty of the College
Engineering and to the Graduate Council, and was accepted as partial
fulfillment of the requirements for the degree of Doctor of Philosophy.
December 1981
ILL/OL.
Dean, College of Engineering
Dean, Graduate School


12
samples/class cannot be increased given a certain experimental
paradigm. For these small sample cases few feature extraction algo
rithms are available.
Stepwise selection of best features. As mentioned earlier, there
may exist an optional set of features that achieves the lowest PE.
Selection of these features is based upon Fisher's ratio [39], a type
of class separability [40]. Algorithms developed by Childers et al.
[11,12] solve the stepwise selection problem.
Design or training set. Discriminant analysis-type methods
require a "training set," e.g., a set of labelled epochs of known
classes to guide the data reduction (feature extraction) procedure in
the selection of an optimal set of features.
Epoch classification and outlier rejection. A linear Bayesian
decision rule is calculated for each pair of hypotheses (classes).
The performance of this rule (PE) is estimated using the elements of
the design set. The PE thus obtained gives an optimistic value for
the true PE of the system. The classifier design algorithm attempts
to obtain the lowest PE for the design set and establishes a rejection
region for outliers. Interactive graphic packages, clustering tech
niques, nearest neighbor rules etc., are useful procedures to use for
the automatic design of an "optimum" classifier [41-43].
Test set or real-time defaulting. Once the decision rule is
established on the design set, real-time classification ("testing")
can proceed with a minimum of computing time between epoch acquisition.
The only calculation involved is the evaluation of the linear decision
rule. This task can, of course, be performed on an independent set


5
brain. Keeping in mind the desire for "on-line" classification and
biofeedback, the goal was to develop and standardize procedures, soft
ware, optimize hardware participation, minimize operator intervention,
reduce total subject participation time, and design enough flexibility
and generality into the system to accomodate new and novel experimental
paradigms [3]. In addition, the need for making it simple to learn and
operate the software has become a significant area of interest, and as
such a secondary goal for the University of Florida (UF) collection
and processing of visual evoked response (UF-CPVER) system.
1.2 Single Visual Evoked Responses!
A Signal Processing Perspective
Evoked responses have been used to find clues to the functioning
of the human brain [4, 5, 6]. However, the use of evoked potentials
has not become wide-spread due to major problems such as large inter
subject variability [7, 8], within subject variability [9], artifact
contamination etc.
If individual evoked responses change from stimulus to stimulus,
then the time average may contribute very little to the characteriza
tion of the response. The single evoked potential may then be a viable
alternative. This is particularly true in certain kinds of cognitive
studies. One such study requires the subjects to perform a "sentence
verification" task that has been used extensively in behavioral re
search of human semantic memory [1, 10, 11, 12]. The stimuli in these
experiments cannot be repeated numerous times because, presumably,


275
File Listing Utility Progra*: FEATURES.NC
DELETE AUTO INDV
XFER ZERO AUTO
XFER ONE INDV
DVEST.SV
Page


269
File Listing Utility Program: VERDISPLflY.C
DELETE OUTO
XFER DP4F:2ER0 UTO
DP4F:EEGDSPL.SV
Page


as "A hammer is a tool" or "My last name is Arroyo" were true or false.
The subjects were to decide rapidly and respond via switch activation.
The major purpose of the experiments was to collect and digitize the
EEG signal, extract the ERF, and classify the single visually evoked
response (VER) into one of two possible classes, e.g., correct or
incorrect.
Five scalp electrode locations, F3, F4, C3, C4, and Cz in the
10/20 EEG system, were to be monitored and digitized using nonpolarizing
cup electrodes. A timing/response channel, an EMG channel, and a diag
onal EOG channel were collected as well. Each EEG location was a mono-
polar derivation to the linked mastoids. The data were to be digitized
at 125 samples/second/channel. The amplifiers had a bandwith from 1
to 50 Hz, with 50% attenuation at 1 and 50 Hz.
The sentences, in the form of a proposition, were presented in
three segments to minimize eye movements, e.g.,
A hammer
is
a tool.
The sequencing of the presentation of the sentence segments, with
respect to data acquisition, was presented in Table 2-1. Fifty samples/
channel were collected before the subject term (S-term) one hundred
samples/channel between the S-term and verb, one hundred samples/
channel between the verb and object term (0-term), and two hundred and
sixty-two samples/channel after the 0-term.
In one experiment, there were 144 different sentences involving
general knowledge, which were presented twice to each subject. The


118
Table 5-11
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplit z.
Page
- 1
Subj:RCP,
Ser:E,
Sess : 2
, Chn:6
cz,
S-LOCK
C 103 ,
36 Samp/C1, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
7
4
3
2
3
5
4
3
5
Gamma
0.513
0.555
0.490
1.108
1.422
0.826
0.478
0.343
0.450
UF -fl
0.323
0.436
0.407
1.057
1.322
0.659
0.364
0.268
0.313
DA -fl
0.636
1.124
0.655
1.282
1.719
1.238
0.437
0.330
0.386
DA -f2
0.135
0.308
0.330
0.759
0.939
0.343
0.202
0.155
0.130


BASS
TROUT
ANT
BEE
ROBIN
SPARROW
OAK
PINE
ROSE
DAISY
PEA
CARROT
?ISH
INSECT
BIRD
TREE
FLOWER
VEGETABLE
ANIMAL
PLANT
00
Figure 5-1 Sentence Hierarchy


75
operator to obtain a VER average or scan the three-dimensional display,
to make an objective determination of the session. Once the session
is accepted, the system is placed in automatic real-time mode where
the order and invocation of system modules must be performed automati
cally, with minimum operator intervention.
The following experimental variation is directly implementable
using the CPVER modules: Using the episodic sentence set, design a
classifier with a 72-sentence presentation session and test your
design in real-time with a second session. Provide a classification
error count at the end of the second session. Use the UF feature
extraction algorithm on the stimulus-aligned EEG data.
A possible implementation consists of the following steps:
1) Using any RDOS text editor, create the parameter and
specifications file.
2) Set the AUTO flag and clear the REALTIME, REDRAW, and
INDV flags, using the RDOS command sequence:
DELETE AUTO, REALTIME, INDV, REDRAW
XFER
ONE
AUTO
[set the AUTO flag]
XFER
ZERO
REALTIME
[clear
the REALTIME flag]
XFER
ZERO
INDV
[clear
the INDV flag]
XFER
ZERO
REDRAW
[clear
the REDRAW flag]
3)Collect the data for the first session after creating
the master sentence set. The AUTO flag enables a portion
of code inside the data collection driver module which
creates the file ANSWERS, placing the name of the speci
fications table, the subject initials, the synchrony


117
Figure 5-23 Subject RCP, Series E, Session 2, S-Lock


176
24. Walter, D.O., and Brazier, M.A.B.,(Eds.)"Advances in EEG Analysis,"
Supplement 27, Electroenceph. Clin. Neurophysiol., pp. 61-70,
1969.
25. McGillem, D.D., and Aunon, J.I., "Measurements of Signal Components
in Single Visually Evoked Brain Potentials," IEE Trans. Biomed.
Engr., Vol. BME-24, pp. 232-241, May, 1977.
26. Perry, N.W., Jr., and Childers, D.G., The Human Visual Evoked
Response: Method and Theory, C. Thomas, Springfield, Illinois, 1969.
27. Senmoto, S., and Childers, D.G., "Adaptive Decomposition of a
Composite Signal of Identical Unknown Wavelets in Noise,"
IEEE Trans. Sys., Man, and Cyber., Vol. SMC-2, pp. 59-66,
1972.
28. Woody, C.D., "Characterization of an Adaptive Filter for the Analysis
of Variable Latency Neuroelectric Signals," Med, and Biol.
Engng., Vol. 5, pp. 539-553, 1967.
29. Harris, E.K., and Woody, C.D., "Use of an Adaptive Filter to
Characterize Signal-Noise Relationships," Computers and
Biomed. Res., Vol. 2, pp. 242-273, 1969.
30. Donchin E.; Calloway, E.; and Jones, R.T., "Auditory Evoked Poten
tial Variability in Schizophrinia. II The Application of
Discriminant Analysis," Electroenceph. Clin. Neurophysiol.,
Vol. 29, pp. 429-440, 1970.
31. Foley, D.H., "Considerations of Sample and Feature Size," IEEE
Trans, on Inf. Theory, Vol. IT-18, pp. 618-622, September 1972.
32. Roucos, S.E., "On Small Sample Performance of Pattern Recognition
Machines," PhD Dissertation, University of Florida, 1980.
33. Roucos, S.E., and Childers, D.G., "On Dimensionality and Learning
Set Size in Feature Extraction," Proc. 1980 Internat11 Conf.
on Cybernetics and Society, pp. 26-31, October, 1980.
34. Jain, A.D., and Waller, W.G., "On the Optimum Number of Features
in the Classification of Multivariate Guassion Data,"
Pattern Recognition, Vol. 10, pp. 365-374, 1978.
35. Raudys, S., and Pikelis, V., "On Dimensionality, Sample Size,
Classification Error, and Complexity of Classification
Algorithms in Pattern Recognition," IEEE Trans. Pattern
Analy, and Mach. Intell., Vol. PAMI-2, pp. 242-252, May 1980.
36. Trunk, G.V., "A problem of Dimensionality," IEEE Trans. Pattern
Analy. and Mach. Intell., Vol. PAMI-1, pp. 306-307, July, 1979.


80
Level 1
Level 2
Level 3
An example from the actual stimuli would be as follows: X =
animal; P^ = bird; P^ = insect; = robin; Y = plant; = flower;
= tree; etc. The complete hierachy is given in Figure 5-1.
The use of both positive and negative propositions gives four
basic types of statements, e.g.,
True Affirmative (TA):
False Affirmative (FA):
True Negative (TN):
False Negative (FN):
A hammer is a tool.
A hotel is a tool.
A hotel is not a tool.
A hammer is not a tool.
The number of TN and FA sentences was restricted to equal the
number of possible sentences in the other classes (i.e. 36 each).
This gives a total of 144 sentences. From a subject's perspective
true and false statements are equiprobable. This serves to disconfound
the response to validity from any probability effects that might occur
with less likely false sentences. For presentation purposes, the
sentences are randomized and divided into two blocks (sessions) of
72 trials. In the semantic experiments, each subject participated in
four distinctly randomized 72-trial sessions. In the replication of


173
The answers to the following theoretical questions will directly
affect the future of CPVER systems: Can the data be optimally parti
tioned? Will multiple features and/or multiple channel inclusion
improve the probability of correct classification? Is there an optimum
alignment procedure for the synchronization of single EEG records?
How can "noisy channels be processed in order to improve the chances
for correct classification? Can a CPVER system be implemented in a
multi-processor environment, and still retain its flexibility, general
ity, utility, and low implementation cost?
The availability of a CPVER system has already fostered ideas for
future applications in other than cognitive studies. Examples of these
research topics include: 1) Can the EEG records be used to give single
commands to a computer system, 2) can we recognize "words" from single
EEG records, 3) can we use single EEG records to supplement or vali
date the polygraph tests 4) can single EEG records be used to diagnose
certain psychogenic disorders, reliably? etc.
Ultimately this research will be measured by how successful we
are in hewing a tool out of a seemingly insurmountable mountain.


oooooooooo o o n oo o o o o
222
255
file Listing Utility
UN = MX MSCL(K) + 1
WRITE(6,255) K
FORMAT(IX,"CLASS i ,11)
Progra*: SCATTERl
Page 5
ACROSS SESSIONS
HSENT = 0
DO 750 LS = 1 NS
EXPNO = SERIES + SN(LSI'256 32
WRITE(10,270) SENTF(l)
270 FORMAT(IX,-SENTENCE FILE : -,S10)
RSEQF(1) = SERIES +83-32
RSEQF(2) = 69*256 + 81
RSEQF(3) = SN(LSI 32
WRITE(18,2801 RSEQFII1
288 FORMAT(IX,"RANDOM FILE : ,S181
M = MS(LS,K)
MSENT = MSENT + M
NSTRT = SSN(LS)
CALL OPEN(3,RSEQF,1,IER)
READ(3,388) (RSEQ(I), 1=1, NOT)
CALL CLOSE(3)
308 FORMAT(1914)
FOR EACH SENTENCE IN THE SESSION
DO 750 IS = 1 M
NSE = NSE + 1
CALL SREAD(NSTRT,NOT,MX,MN,NCHN,ICHN,NSAM,JSYNC,ISHFT,NTCH,1POS,INSF,IER
DO 758 IC = 1 NCHN
DO 680 L = 1 NP
ACCU =0.8
DO 500 I = 1 N
ACCU = ACCU + DV(I,L,IC)*V(IC,I+(L-1)*N)
CONTINUE
F(NSE,L,IC,KCL AS) = 1FIX(ACCU + 0.500001)
WRITE(4,601) SENTF(l), F(NSE,2,IC,KCLAS),(V(IC,I),1=11,28),
F(NSE,7,IC,KCLAS),(V(IC,I),1=61,70)
FORMAT(IX,S10,111671IX,1116)
508
600
601
EHD OF CHANNELS.
END OF SENTENCES.
END OF SESSIONS.
750
CONTINUE
NEXT CLASS.
NSENT(KCLAS) = NSE
WRITE(18,988) NSE
980 FORMAT(IX,"+NUMBER OF SENTENCES PROCESSED s *,I3)
1080 CONTINUE
CALL OPEN(3.FILE(1, KDT),3,IER)
WRITE BINARY3) F
EHDFILE 3
1200 CONTINUE
CALL 0PEN(3,-PARAMETERS-,3,IER)
WRITE BINARY(3) JCHN,IAUTO,MANUAL,NCHN.LI,L2,N,NP,HSC,VSC,KTYP,SERIES,
X NUMBER,JSYNC.SUBJIH,SUB,SER,HUM,CHID,JS,ISHFT,FILE,NSENT,ICHN,F1,F2 ,
X FEAT, FNO, FTYP, DV
EHDFILE 3
CALL CHAIH("SCATTER2-SV",IER)
EHD
L


160


14
1.3 Technical Approach
Attention is now focused on the major components that comprise
an ERP collection and processing laboratory facility. For design
purposes, the application is partitioned into three levels: 1) The
development of a complete set of functional requirements (specifica
tions) that describes, in precise terms, the overall performance of the
integrated system; 2) the development of a set of software modules to
supervise and control the ERP collection phase, and signal processing
modules to recognize the single visual evoked response to meaningful
stimuli; 3) identification of the hardware (equipment) used to imple
ment the system and the development of special-purpose software (for
example a display routine to drive an oscilloscope) to use this equip
ment in EEG applications.
1.3.1 Functional Specification of CPVER
The major functional blocks of the CPVER system are depicted in
Figure 1-1. The figure shows general system flow, hardware components,
software components, and external or environmental interaction (the
operator, for instance). The overall (technical, objective and func
tional) specification is made up of varying amounts of (emphasis on)
efficiency, maintainability, modifiability, generality, flexibility and
utility. These are components of objective system quality, e.g., the
best implementation in established terms, within recognized limitations,
while making compromises required by working in the real world.


256
MSKTTI:
9C3:
STOP:
SELXY:
MSG :
DCHADR:
DPT:
File Listing Utility
Progran: SCOPE
Page 4
IRttV
JHP 0,3
JMP 0,3
000003
0
0
140001
TXT *<15X12> STRIKE PHY
0
. + 1
. BLK
.END
; REMOVE USER DEVICE
; ERROR RETURN
¡ NORMAL RETURN
; TTY DEVICE MASK
; SAVE PREP FOR AC3
; STOP CHARACTER
; ALTERNATE MODE, DCH, DACY 1ST
KEY'<15><12>-<
2082


boundary line parameters are saved in a file named CLASSIFIER. The
structure of submodule G1 is essentially that of submodule El or FI
discussed in the previous section.
Submodule G2 extracts the EEG observation vector x, of either
stimulus-aligned or response-aligned data for the design or test set
or both. The system retrieves the feature vectors for the design set
and forms the dot product of the feature vectors with the observation
vector.
The calculation is repeated for the test set and the projections
are saved in files DESIGN and TEST respectively. The submodule invokes
subroutine SREAD to extract the EEG signal associated with each sentence
presentation.
Submodule G3 requests the channel number and features to use in
the scatter diagram. A scale factor is derived from the projection
mximums for each axis. The submodule exits by requesting the process
ing mode: design, test or fine tune.
Submodule G4 draws the scatter diagram and calculates the centroids
of the two classes in feature space, for either design (or fine tune) or
test sets. If in fine-tune mode, loop parameters for the perturbation
algorithm are requested. The system calculates the perpendicular
bisector of the centroids of the two classes, then shifts the point of
interception of the perpendicular line with the line drawn between the
two centroids. The perpendicular line is then rotated a maximum of
+90 to -90 from the current angular position.
Submodule G6 calculates the PE, via error count, for each tentative
decision line. Each time the PE of the design set is decreased, the
system "saves" the coordinates of the point of interception, the slope,


134
Table 5-18
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toe
piit z.
Page
- 1
Subj:JNL,
Ser:E,
Sess:3
, Chn:G
- CZ,
R-LQCK
C-70) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
3
3
4
3
4
3
4
8
5
Gamma
0.859
0.220
0.278
0.563
0.367-
0.517
0.546
9.661
1.235
UF -fl
0.76S
0.157
0.186
0.477
0.263
0.432
0.428
9.290
1.054
DA -fl
0.827
0.267
0.347
0.771
0.476
0.984
0.701
8.369
1.300
DA -f2
0.083
0.039
0.141
0.278
0.128
0.148
0.224
2.282
0.395


56
Table 3-2
CPVER Feature Extraction/Classification Algorithm
Discriminant Analysis
Item Instruction
1
2
3
5
6
Partition the EEG observation vector x. of dimension N into K
partitions k = 1, 2, .. ., K of dimension L, e.g., N = KL
and x = {x^ | | ... | x^} = {x^}. 21 i-s a subset of samples
extracted from the stimulus-aligned or response-aligned single
EEG record.
A til
Estimate the covariance matrices for the k partition and
til
the i class from an experimental session with M samples/class.
A A
Calculate the Toeplitz estimator T, for each C, .. Calculate
ki ki
mean vectors u^ for each partition.
Evaluate the eigenvalues e^ and eigenvectors of
Ck l/2(Ckl + Ck2) and 1/2(T^ + V,
and calculate the Fisher ratios by Equation 3-4.
Calculate F (m=L) using Equation 3-8 and d_^ by Equation 3-5 for
each partition. These are our features with T(m=L) as our
criterion value. A second feature vector is calculated sub
ject to the orthogonality constraints previously discussed.
Select the two features with largest criterion value T(L).
Project the from the design set onto the selected feature
space. Compute a decision boundary from the angular and
positional perturbation of the perpendicular bisector of the
two classes.
Compute the probability of error for the design and test sets
via classification error count.


116
BISCRIHINRHT ANALYSIS Y = -6.38X £453.72 ANCLE; 189
T
T
T T
T T T
r f f
r f
F F F ^
F F
T F
f H r
t rr
T T
T
T
SET, SUB J: JNL, SER:R, §ESSI0N:1, CHH:6 C2 R-LOCK, SHIFT :-?0, FEATTaTj'), P=" 2/72 i l-T.T
DESIGN
DISCRIMINANT ANALYSIS Y = -6.38X + nucir- iaa


260
File Listing Utility Program: EPISODIC Page 1
MY FIRST
NAME IS
SCOTT
MY LOST
HAME IS
DOLAN
MY FATHER'S
HOME IS
HEHRY
MY MOTHER'S
HAME IS
LEMOIN
MY MAJOR
IS
ENGINEERING
MY CLASS
IS
FRESHMAN
MY HAIR
IS
WAVY
MY HAIR
COLOR IS
BROUN
MY PREFERREDHAND IS
RIGHT
MY SEX
IS
MALE
I LIKE
TO PLAY
FOOTBALL
MY AGE
IS OVER
TEN
I RIDE
A
CAR
I'VE WORKED
AS A
LIFEGUARD
I WAS
BORN IN
ATLANTA
I WAS
BORN IN
GEORGIA
I LIVE
IN
DAYTONA
I LIVE
IN
FLORIDA
MY PAREHTS
LIVE IH
DAYTOHA
MY PAREHTS
LIVE IN
FLORIDA
MY FATHER
IS A
SALESMAN
MY MOTHER
IS A
HOUSEWIFE
MY EYES
ARE
GREEN
I GO
TO BED
LATE
MY ANCESTORSCAME FROM
IRELAND
MY BIGGEST
MEAL IS
DINNER
MY FAVORITE
FOOD IS
STEAK
MY WORST
FOOD IS
ASPARAGUS
I WANT
TO BE AN
ENGINEER
MY FAVORITE
COLOR IS
BLUE
MY SHOE
SIZE IS
ELEVEN
MY FAVORITE
MUSIC IS
ROCK
MY MIDDLE
HAME IS
EDUARD
MY FAVORITE
AUTHOR IS
POE
MY FAVORITE
ACTOR IS
REYNOLDS
MY RESIDENCES
CLOSE
MY FIRST
HAME IS
SCOTT
MY LAST
NAME IS
DOLAN
MY FATHER'S
NAME IS
HENRY
MY MOTHER'S
HAME IS
LEMOIN
MY MAJOR
IS
ENGINEERING
MY CLASS
IS
FRESHMAN
MY HAIR
IS
WAVY
MY HAIR
COLOR IS
BROUN
MY PREFERREDHAND IS
RIGHT
MY SEX
IS
MALE
I LIKE
TO PLAY
FOOTBALL
MY AGE
IS OVER
TEH
I RIDE
A
CAR
I'VE WORKED
AS A
LIFEGUARD
I WAS
BORN IN
ATLANTA
I WAS
BORN IH
GEORGIA
I LIVE
IN
DAYTONA
I LIVE
IN
FLORIDA
MY PAREHTS
LIVE IN
DAYTONA
MY PAREHTS
LIVE IN
FLORIDA
MY FATHER
IS A
SALESMAN
MY MOTHER
IS A
HOUSEWIFE
MY EYES
ARE
GREEN
I GO
TO BED
LATE
MY ANCESTORSCAME FROM
IRELAND
MY BIGGEST
MEAL IS
DINNER
MY FAVORITE
FOOD IS
STEAK
MY WORST
FOOD IS
ASPARAGUS
I WANT
TO BE AN
ENGINEER
MY FAVORITE
COLOR IS
BLUE
MY SHOE
SIZE IS
ELEVEN
MY FAVORITE
MUSIC IS
ROCK
MY MIDDLE
HAME IS
EDUARD
MY FAVORITE
AUTHOR IS
POE
MY FAVORITE
ACTOR IS
REYNOLDS
MY RESIDENCEIS
CLOSE


215
File Listing Utility Program: DVEST Page 4
DO 750 L = 1 MP
COVF(5) = 256* ICH+48) + (48+L)
COVF(11 = FTYP(4) + SUBJXH(1)/256 32
COVF(4) = JSYNC (48+CLASSf1)) 32
C
C READ IN THE AVERAGE VECTORS FOR EACH PARTITION/CLASS.
C
CALL OPEN(3,COVF 1 ,IER)
READ BINARY(3) U1
CALL CLOSEf3J
IFtIHDV .EG. 8) GO TO 338
COVF(l) = FTYP(1+K) + SUBJIH(l)/256 32
CALL OPEH13,COVF,1,IER)
READ BINARY(3) Cl
CALL CLOSE 13)
C
C NEXT CLASS.
C
338 COVF(4) = JSYNC 32 (48+CLASS12))
IFIINDV .EG. 8) GO TO 348
CALL OPEN(3,COVF,1,IER)
READ BINARY(3) C2
CALL CLOSE(3)
340 COVF(1) = FTYP(4) + SUBJIN(1)/256 32
CALL 0PENI3,COVF,1,IER)
READ BINARY(3) U2
CALL CLOSE(3)
IFtIHDV .EQ. 8) GO TO 399
BO 358 I = 1 N
VHO(I) = Ulll+l)
VMTtI) = U21I+1)
DO 350 J = 1 N
N = (I-1)*N + J 1
350 CHCI.J) = 0.5*(C1(H)+C2(H1)
C
C CALCULATE DISCRIMINANT VECTORS USING DISCRIMINANT ANALYSIS.
C
CALL FEATICM,VD,AV,VHO,VMT,HDV,N)
CM (1,1) = 1 ./CM (1 ,1)
DO 360 I = 2 N
368 CALL RMItCM,I)
DO 398 1 = 1 MDV
DM (I ,K ,L IC) = 8.
DO 378 J = 1 N
CG(J) = 6.
DM(I,K,L,IC) = DM(I,K,L,IC) + VDtJ,I)* DO 378 M = 1 N
370 CG(J) = CG(J) + CH(J,H)*VD(M,I)
DM(I,K,L,IC) = DM(I,K,L,IC) DM(I,K,L,IC)
DNT = 0.
DO 388 J = 1 N
380 DNT = DNT + VDtJ,I)*CG(J)
DM(I,K,L,IC) = DM(I,K,L,1C)/DNT
390 CONTINUE
WRITE(10,395) (DM(I ,K ,L IC), 1=1,2)
395 FORMAT (/* Discriminant Analysis*/14X ,-<33>tdB-,7X "<33>id0"
X /* <33>AS/N ratios : ,2F7.3)
C
C CALCULATE MEAN DIFF. ALONG EACH VECTOR
C
399 DO 400 I = 1 N
B(I) = 8.8
DO 408 J = 1 N
480 D(I) = D(I) + (U1(J+1)-U2(J+1))*R(J+(I-1)*N)
C
C CALCULATE INDEPENDENT CONTRIBUTIONS TO THE S/N RATIO.
C
DO 450 I = 1 N
450 B(I1 = D(I)*D(I)/A(I)
C
C SORT THE S/N RATIO CONTRIBUTIONS IN ASCENDING ORDER.
C
CALL SORT(B,N,INDEX)
C
C PRINT OUT THE S/N RATIONS.
C
DO 500 I = 1 N
508 BO (I) = B( INDEX (ID
WRITE(10,585) (B(I),1=1,N)
WRITE(19,510) (INDEX(I),1=1,N)
WRITE(18,515) (BO(I), 1=1,N)


250
File Listing Utility
Progra: DEV3D
Page 1
***********1***********************************************************
***** dual CHANNEL DEVELCO 3-D displrv driver routine. FORTRRN IV *
***********************************************************************
***** REVISION 0.0 REVISION DflTE : 06 MAR 1981 fi O RRROYO*
***********************************************************************
***** CODE THE FOLLOMINC FORTRAN IV STATEMENT IN YOUR SOURCE PROGRAM*
;*** *
***** CALL DEV3D ( CLOCK, INPUT, NSTRT, NPTS, ERROR1 *
***** *
***** WHERE : *
*****
*****
*****
*****
*****
CLOCK = C0-NONE, 1-DISABLE, 2-INT, 3-EXT3 *
INPUT = THE INPUT ARRAY OF INTEGER DATA *
NSTRT = THE STARTING INDEX FOR 1ST PT DISPLAYED*
NPTS = THE NUMBER OF POINTS TO BE DISPLAYED *
ERROR = [0-FUNCTION COMPLETED, 1-DEVICE IN USE1*
*****
***********************************************************************
TITL DEV3D
.ENT DEV3D
.EXTD .CPYL, .FRET, .UIEX, .SHSK
.NREL
***** SET UP USER PARAMETER STACK
CLOCK=-167
IARRY=CLOCK+l
NSTRT=IARRY+1
NPTS=NSTRT+1
ERROR=HPTS+l
FS=ERRORCLOCK*1
.
;
;*****
TTY OUTPUT ROUTINE
WTTO:
STA
0, AC0
SAVE AC8
STA
1 ,AC1
SAVE AC1
STA
2 ,AC2
SAVE RC2
SUBO
0,0
CLEAR AC0 i CARRY
LDA
2,0,3
LOAD ARG ADDRESS IN AC2
LDA
1,KRSK
LOAD CHARACTER MASK
LOOP :
LDA
0,0,2
LOAD NEXT WORD
BLOOP:
MOVC
0,0,SNC
1ST HALF
MOVS
0,0
SWAP
AND*
0,1,SNR
CHECK FOR NULL
JMP
RTRN
YES...RETURN
INSl :
SKPBZ
TTO
IS TTO BUSY?
JMP
.-1
YES...CHECK AGAIN
INS2:
DORS
8, TTO
PUT CHARACTER IN SCREEN
MOV
0,0,SZC
CHECK FOR 2ND CHAR
JMP
BLOOP
YES...NEXT BYTE
INC
2,2
INCREMENT WORD COUNT
JMP
ULOOP
NEXT VORD
RTRNs
LDA
0 AC0
;
RESTORE QC0
LDA
1 AC1
RESTORE AC1
LDA
2, AC2
I
RESTORE AC2
JMP
1 ,3
RETURN TO CALLER (PC+1)
MASK:
377
;
RIGHT CHAR MASK
NSBIT:
1B4
NON-SCOPE MODE BIT 1*4)
INTM:
154600
¡
IHT CLOCK, DCH MODE
EXTM:
174080
EXT CLOCK, DCH MODE
flCTIV:
0
DEVICE IS ACTIVE FLAG
DADCT:
USDCT
D^A DEVICE DCT TABLE
USDCTs
DISAVE
1ST WORD : 8 BYTE RTOS SAVE AREA
INTMSK:
000293

DACV DEVICE SERVICE INTERRUPT MASK
INTSER:
I HAND
ADDRESS OF INTERRUPT HANDLER
DISAVE:
-ELK
10
5
RTOS 8 BYTE COMPATIBILITY AREA
DIDEF:
STA
3,USP
STORE RETURN ADDRESS IN LOCN 16
SUB
0,8

CLEAR AC0
STA
0,ACT IV
CLEAR ACTIVE FLAG
LDA
0,BCOD£
>
LOAD DEV CODE IN AC8
SUBZR
2,2
GENERATE 100000 IN AC2
LDA
1,DADCT
PUT ADDR OF D-A DCT TABLE
ADD
2,1
SET DCH BIT IN QC1
INCZL
2,2
PLACE +2 IN AC2
SYSTM
CALL SYSTEM
. IDEF
;
IDENTIFY USER DEVICE
JMP
0,3
ERROR RETURN...DEV CODE IN USE
JMP
1,3
5
NORMAL RETURN


149
Table 5-24
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toep1it z.
Page
- 1
Subj:MAD,
Ser:E,
Sess: 1
, Chus 6
cz,
R-LOCK
C-70),
36 Samp/Cl, 10/25/81
-U
JU
Cl
1
2
3
4
5
6
7
3
9
Mk
5
3
5
3
4
3
4
9
5
Gamma
0.543
0.804
0.789
0.574
0.571
0.630
0.491
13.985
2.336
UF -fl
0.396
0.712
0.625
0.487
0.451
0.542
0.376
13.556
2.137
DA -fl
0.679
0.971
0.876
0.868
0.780
0.991
0.661
11.158
2.778
DA -f2
2.649
0.320
0.590
0.698
0.328
0.569
0.169
5.773
1.947


53
a feature vector for partition i, and ch^Cj) i-s a seconc^ feature vector
for partition j. The projection becomes
u d (i) x
(3-10)
v = d2(j) 2^
til
where x^ is the EEG data for the i partition. The coordinates (u,v)
in feature space may be used to plot the class value for each experiment
trial. A linear decision boundary is then superimposed on the coordinate
space, and a count made of the trials that are misclassified by the de
cision rule. The error-count-to-number-of-trials ratio is an estimate
of the PE. The decision boundary is chosen as the perpendicular bisector
of the centroids of the two classes, which is shifted and/or rotated
until the design PE is minimized.
Large discrepancies between PEd and PEt may exist due to the bias
and variability of the feature extraction rather than the classification
method.
The feature extraction methodology of the CPVER system is summarized
in Table 3-1 and Table 3-2. Table 3-1 uses the methodology developed by
the University of Florida team of Childers et al. [11,12,17,19]; Table 3-2
is the conventional discriminant analysis method also used by Foley and
Sammon [40, 31] and Roucos [32,33].
3.5 Feature Extraction Software
The feature extraction software implement steps 1 through 4 of
Tables 3-1 and 3-2. Two major routines are used for this purpose: A


77
reports the count and probability of error automatically, at the
end of the session, on the operator's console. Module A9 can easily
be modified for the display of a feedback message (to the subject)
based on the result of the classification algorithm (Module A7 and
A8 currently provide feedback messages when the subject eyeblinks or
does not respond in adequate time etc. A few (less than 10) FORTRAN
statements in modules A9, A7 and A8 can modify the existing logic for
this purpose). All of these RDOS commands have been stored in the
ONLINEDEMO.MC pseudo-macro, which uses the DEMOEXPER.SV module instead
of the EXPDRIVER.SV module. DEMOEXPER.SV is identical to EXPDRIVER.SV
except it replaces the single statement that writes the collected
EEG data onto disk with the dual statement that reads the EEG data
from disk. In other words, DEMOEXPER.SV performs a real-time simulation
of a previously collected real experimental session, except there will
not be any rejections due to artifacts (these were rejected on-line
when the session is actually collected).
The ONLINEDEMO.MC pseudo-macro is a very valuable tool in the
evaluation of the performance of the data processing software. Newer
revisions of these modules can now be tested "on-line." A revision
that may be optimal in terms of a given performance parameter but that
demands long execution times (over a few minutes) would seriously
degrade biofeedback experiments. Using ONLINEDEMO.MC, this application
took 22 minutes (total elapsed time) to collect and test two episodic
experimental sessions.


252
File Listing Utility
Progra: DEV3D
Page 3
LOOP:
LDA
1,0NPTS,3
; LOAD THE NO OF PTS IN AC1
NEG
1 ,1
; AC1 = -NPTS
STA
1,NPTS,3
; STORE -NPTS IN STPCX
LDA
2,VALUE
; LOAD X VALUE IN AC2
LDA
8,81ARRY,3
; LOAD 1ST ARRAY VALUE
MOVZL
0,0
; SHIFT LEFT 1ST TIME
MOVZL
0,0
; SHIFT LEFT 2ND TIME
MOVZL
8,0
} SHIFT LEFT 3RD TIME
MOVZL
0,0
; SHIFT LEFT 4TH TIME
STA
0,023
; STORE Y VALUE IH BUFFER
STA
2,023
; STORE NEXT X VALUE
ISZ
IARRY,3
; INCREMENT ARGUMENT ADDRESS
INC
1,1,SZR
; INCREMENT COUNT
JHP
LOOP
; CONTINUE ARRAY LOOP
LDA
2,23
; LOAD LAST ADDRESS IN AC2
STA
1,-1,2
; STORE 0 IN LAST X LOCN
STA
1,0,2
; STORE 0 IN LAST Y LOCN
START DISPLAY
ASH :
RTH:
LDA
6,DCOD£
i
LOAD DEVICE CODE
LDA
1,DATA
;
LOAD BUFFER ADDRESS
.SYSTH
CALL SYSTEM
.STMPP
GET DCH MAP FOR DACV
JMP
INUSE

DEVICE IN USE
STA
1,DCHADR
;
STORE DCH ADDRESS
LDA
3.AC3
RESTORE AC3
LDA
1,NPTS,3
LOAD NO OF PTS IN PCI
MOVZL
1.1
;
DOUBLE NUMBER OF POINTS
ADCZL
2,2
GENERATE -2 IN AC2
ADD
2,1
-NPTS 2
SKPBZ
DflCV
IS BUSY FLAG RESET? (=0)
JMP
.-1
NO...DEVICE IS BUSY
LDA
0,SELXY
SELECT CONVERTER MODE
dor
0,DRCV
SETUP D/fi CONVERTER
LDA
2,DCHADR
GET DCH ADDRESS
DOB
2,DACV
SET UP DCH ADDRESS
DOCS
1,DACV
GIVE UORB COUNT K START
SKPBZ
DACV
IS DACV BUSY?
JhP
.-1
YES...CHECK AGAIH
JSR
DICLR
REMOVE USER DEVICE FROM SYSTEM
LDA
3, AC3
RESTORE AC3
STA
3 ,USP
RESTORE USER LOCN 16
JSR
0.FRET
5
RETURN TO CALLER
JSR
8UTT
DEVICE IN USE
USEMSG
DEVICE IN USE MESSRCE
LDA
3 AC3
RESTORE fiC3
SUBZL
2,2
GENERATE +1 IH AC2
STA
2,0ERROR,3
STORE ERROR RETURN
JMP
RTH
S
RETURN TO MAIN PROGRAM
.TXT
<1SX12>*ERR0R* DEVICE
IN USE<15><12>"
STP
3 ,USP
CLEAR USER DEVICE
LDA
0,DCODE
LOAD DEVICE CODE
SYSTM
CALL SYSTEM
. IRMV
5
REMOVE USER DEVICE
JMP
0,3
ERROR RETURN
JMP
0,3
5
NORMAL RETURN
IHUSE:
USEMSG:
DICLR:
AC3:
STOP:
SELXY:
VALUE:
DCHADR:
DATA:
e
e
154080
100008
0
. + 1
.BLK
END
; SAVE AREA FOR AC3
{STOP CHARACTER
; ALTERNATE MODE, DCH, DAC X 1ST
; -5 VOLT SIGHAL VALUE
2002


4
Evidence exists, however, that individual evoked responses s(t)
do indeed change from stimulus to stimulus, thereby rendering conven
tional averaging an ineffective tool for signal enhancement. Ideally,
one would like to recover the event related information from the elec
trical potential on the basis of single events (individual responses
or "single epochs" in real time) as they occur during an experiment.
This represents a major challenge when considering that effects of
instrumentation noise and artifacts are more critical in the absence
of averaging.
The study of cognitive brain function is currently a major area
of interest in experimental psychophysiology and behavioral psychology.
The possibility exists that single ERPs can provide an objective
measure of brain processes involved in learning, memory functioning
and problem solving. The ability to discriminate or classify single
ERPs, on-line, and provide feedback to the subject for conscious
validation could bring to this field the same advantages enjoyed by
other classical behavioral experiments, mainly that of subject parti
cipation. These biofeedback-type experiments could give much insight
into psychological behavior and could have applications to such areas
as communication with the severely handicapped and infants or improved
automatic response aids for airline pilots and astronauts, to name a
few.
The major objective of this research is the development and
implementation of an integrated ERP collection and processing labora
tory facility to be used in conjunction by psychologists, scientists
and biomedical engineers to study the cognitive functions of the human


246
File Listing Utility
Progra*: N4DCH
Page 1
***** DUAL CHANNEL FORTRAN ROUTINE USED TO DISPLAY DATA ON A SCOPE *
***********************************************************************
***** REVISION 0.0 REVISION DATE ; 03 MAR 1981 A A ARROYO*
***********************************************************************
***** CODE THE FOLLOWING FORTRAN IV STATEMENT IH YOUR SOURCE PROGRAM*
***** *
CALL DSPLY I CLOCK, SCOPE, INPUT, NSTRT, NPTS, INCRX, ERROR 1 *
*
*
C9-N0NE, 1-DISABLE, 2-INT, 3-EXTI *
C0-SCOPE MODE, 1-NON-SCOPE MODE 1 *
THE INPUT ARRAY OF INTEGER DATA *
THE STARTING INDEX FOR 1ST PT DISPLAYED*
THE HUMBER OF POINTS TO BE PLOTTED *
THE X-COORDINATE SPACING BETWEEN POINTS*
10-RETURN, 1-DEVICE IN USECERROR13 *
*
********************************4**************************************
.TITL DSPLY
.ENT DSPLY
;*****
CALL DSPLY
I CLOCK,
-****
WHERE :
CLOCK
SCOPE
INPUT
NSTRT
NPTS
;*****
INCRX
ERROR
*****
.EXTD .CPYL, .FRET, .UIEX, .SHSK
. HREL
***** SET UP USER PARAMETER STOCK
CLOCK*-167
SCOPE=CLOCK+l
IARRY=SCOPE+l
NSTRT=IARRY+1
NPTS=NSTRT*1
INCRX=NPTS+1
ERROR=INCRX+l
XAXIS=ERROR+l
FS=X0XIS-CLOCK+1
***** TTY OUTPUT ROUTINE
UTTO :
STP
9,0C8
SAVE OC0
STO
1 ,RC1
SAVE PCI
STA
2,AC2
SAVE 0C2
SUBO
0,0
CLEAR AC9 & CARRY
LDA
2,0,3
LOAD ARC ADDRESS IN AC2
LDA
1 .MASK
WLOOP:
LDA
0,0,2
5
LOAD NEXT WORD
BLOOP:
MOVC
0,8,SNC
1ST HALF
MOVS
0,0
SWAP
AND
0,1,SNR
CHECK FOR HULL
JMP
RTRH
INS 1 :
SKPBZ
TTO
JMP
.-1
INS2:
DOAS
0 TTO
MOV
0,0,SZC
JMP
BLOOP
INC
2,2
JMP
WLOOP
RTRNs
LDA
0, AC0
LDA
1 AC1
LDA
2 AC2
JMP
1,3
MASK:
377
SCBIT:
0
SCOPE MODE BIT
NSBIT :
1B4
NON-SCOPE MODE BIT (4)
I NTH:
150000
INT CLOCK, DCH MODE
EXTM :
178000
EXT CLOCK, DCH MODE
OCTIV:
0
DPDCT:
USDCT
USDCTs
DI SAVE
800203
IHPND
DISOVE:
3LK
10
RTOS 8 EYTE COMPATIBILITY AREA
DIDEF :
STO
3 ,USP
SUB
0,0
CLEAR AC0
STA
0,ACTIV
CLEAR ACTIVE FLOG
LDA
0,DCODE
LOAD DEV CODE IN OC0
SUBZR
2,2
GENERATE 180000 IH 0C2
LDA
1 jBODCT
PUT ADDR OF D-A DCT TABLE
ODD
2,1
SET DCH BIT IN AC1
INC2L
2,2
5
PLACE +2 IN AC2


oooooono ooooooo no ooooooooooooo
193
File Listing Utility
Program: EXPDRIVER Page 1
EEG EXPERIMENTS SENTENCE PRESENTATION MAIN DRIVER.
VERSION A
VERSION A
VERSION A
VERSION A
TYPE 1
TYPE 1
TYPE 1
TYPE A
REVISION 0.0
REVISION 1.0
REVISION 1.1
REVISION 2.0
REVISION DATE
REVISION DOTE
REVISION DATE
REVISION DOTE
JULY 1989
29 JULY 1980
12 FEB. 1981
28 MAR. 1981
20 OCT. 1981
A ARROYO
0 ARROYO
A ARROYO
0 ARROYO
A ARROYO
PURPOSE : PRESENTS THE SENTENCES FOR THE DESIRED EXPERIMENT BASED ON A
PRE-DETERMINED RANDOM SEQUENCE AND COLLECTS THE DIGITIZED EEG SIGNALS
AND STORES THEM INTO UNIQUE FILENAMES OF 8 X 512 DATA POINTS.
COMMON JSENT(18,144),IDT(4096),IDATO(8,512),MAXP(8),ISENT<18),IFIL<8)
INTEGER X(4896), Y(4096), INDEX1144), RMSG(6), EXPNO, FTYP, SERIES
INTEGER ISAVE1(10),ISAVE2110)
INTEGER ISEQ1144), DIF(8), SFIL(8), INAME(8), F(48), SUBJ1N(2)
INTEGER ICO, REFCHN, SUBJ6), VERB6), OBJ16), SENTN012),ITIM(3)
INTEGER EBMSG(6) N0MSG(6), SCHOR, NCHAR, UR0NG(6), TE1 TE2, SPECFC5)
INTEGER NSC, HSC1, VSC, VSC1, JSYNC, ONLINE, SHIFT(2), PE, ISHFT
REAL SCALE (8) DVK18) DV2(10), SCI, SC2
EQUIVALENCE (SUBJ(1),ISENT(1)), (VERB(1),ISENT(7)), (OBJ(1),ISENTf13))
EQUIVALENCE (IDT(1) ,Y(1)), (X(1), IDATO(1,1))
EQUIVALENCE (EXPNO,IFIL(3)),(SENTNO(l),IFIL(4))
CALL OPEN(12,"DEBUG1 *,3,IER)
CALL OPEN(13,"DEBUG2,3,IER)
ISHFT = 8
COLL STAT(REALTIME,F,IER)
IF(lER.EQ.l) GO TO 1
TYPE "<7>*ERR0R* REALTIME FLAG DOES HOT EXIST...ILL ASSUME REOLTIME=0"
CALL OPEN(3,"REOLTIME",3,IER)
ONLINE = 0
RITE(3,9) ONLINE
COLL CLOSE(3)
GO TO 3
1 CALL 0PEN3,"REALTIME',1,IER)
READ(3,14) ONLINE
CALL CLOSE(3)
IF(ONLIHE.HE.1) GO TO 3
CALL STOT("CLASSIFIER*,F,IER)
IF(IER.EQ.l) GO TO 2
TYPE "<7>FATAL ERROR* FILE 'CLASSIFIER' NOT FOUND...ONLINE DISABLED"
ONLINE = 0
GO TO 3
2 COLL 0PEN(3,"CLASSIFIER",1,IER)
TYPE "<7>ON-LINE CLASSIFICATI0N*<7>"
READ BINARY(3) SUBJIN, SERIES, NUMBER, ICN,JSYNC,M,ISHFT,
X LI,L2,F1,F2,SLOPE,B8,ITH£,SCI,SC2,NDIM,NCHN,DV1,DV2
COLL CLOSE(3)
TYPE LI,L2.HDIM,ICN,JSYNC
IFIL(l) = 22016 + SUBJIN1)^256
IFIL(2) = SUBJIN(2)
IFIL (3) = SERIES 32 + NUMBER/'256
IFIL(4) = JSYNC 32 + M^2S6
IFIL(5) = 256*(ICN+48) + Ll+48
IFIL(6) = 8
COLL 0PEN3,IFIL,1,IER)
READ BINARY(3) DV1
RITE(18,1300) DV1
COLL CLOSE(3)
IFIL(5) = IFIL(5) LI + L2
COLL OPEN(3,IFIL,1,IER)
READ BINARY(3) DV2
URITE(18,1308) DV2
COLL CLOSE(3)
.3 CALL STAT( "AUTO",F,IER)
IF(IER-EQ.1J GO TO 4
TYPE "<7>*ERROR* AUTO FLAG DOES NOT EXIST...ILL ASSUME AUT0=8"
IAUTO = 8
COLL OPEN(3,"AUTO",3,IER)
RITE(3,9) IAUTO
COLL CLOSE(3)
4 CALL OPEN(3,"AUTO",1,IER)
READ(3,14) IAUTO
CALL CLOSE(3)
NUR = 0
TE1 = 8
TE2 0
PE = 8
NTPM = 8
HONS = 0


261
I
File Listing Utility
Program: RSENT
Page 1
0 ROBIN
IS
A BIRD.
ft SPARROW
IS
A BIRD.
a TROUT
IS
A FISH.
0 BASS
IS
A FISH.
A BEE
IS
AN INSECT.
AH ANT
IS
AN INSECT.
A PINE
IS
A TREE.
AN OAK
IS
A TREE.
A ROSE
IS
A FLOWER.
A DAISY
IS
A FLOWER.
A CARROT
IS
A VEGETABLE
A PEA
IS
A VEGETABLE
A HANKER
IS
A TOOL.
A SAW
IS
A TOOL.
A HOTEL
IS
A BUILDING.
A HOUSE
IS
A BUILDING.
A CAR
IS
A VEHICLE.
A TRUCK
IS
A VEHICLE.
A ROBIN
IS
AN ANIHAL.
A SPARROW
IS
AN ANIHAL.
A TROUT
IS
AN AN INAL.
A BASS
IS
AN ANINAL.
A BEE
IS
AN ANINAL.
AN ANT
IS
AN ANINAL.
A PINE
IS
A PLANT.
AN OAK
IS
A PLANT.
A ROSE
IS
A PLANT.
A DAISY
IS
A PLANT.
A CARROT
IS
A PLANT.
A PEA
IS
A PLANT.
A HANNER
IS
AN OBJECT.
A SAW
IS
AN OBJECT.
A HOTEL
IS
AN OBJECT.
A HOUSE
IS
AN OBJECT.
A CAR
IS
AN OBJECT.
A TRUCK
IS
AN OBJECT.
A PI HE
IS
A BIRD.
A HANKER
IS
A BIRD.
AN OAK
IS
A FISH.
A ROSE
IS
A FISH.
A SAW
IS
AN INSECT.
A HOTEL
IS
AN INSECT.
A ROBIN
IS
A TREE.
A HOUSE
IS
A TREE.
A SPARROW
IS
A FLOWER.
A CAR
IS
A FLOWER.
A TROUT
IS
A VEGETABLE
A TRUCK
IS
A VEGETABLE
A BASS
IS
A TOOL.
A DAISY
IS
A TOOL.
A BEE
IS
A BUILDING.
A CARROT
IS
A BUILDING.
AN ANT
IS
A VEHICLE.
A PEA
IS
A VEHICLE.
A DAISY
IS
AH ANIMAL.
A HOUSE
IS
AN ANINAL.
A CARROT
IS
AN ANINAL.
A CAR
IS
AN ANINAL.
A PEA
IS
AN ANINAL.
A TRUCK
IS
AN ANINAL.
A BASS
IS
A PLANT.
A HANKER
IS
A PLANT.
A BEE
IS
A PLANT.
A SAW
IS
A PLANT.
AN ANT
IS
A PLANT.
A HOTEL
IS
A PLANT.
A ROBIN
IS
AN OBJECT.
A PINE
IS
AN OBJECT.
A SPARROW
IS
AN OBJECT.
AN OAK
IS
AN OBJECT.
A TROUT
IS
AN OBJECT.
A ROSE
IS
AN OBJECT.
A PINE
IS NOT
A BIRD.
A HANKER
IS NOT
A BIRD.
AN OAK
IS NOT
A FISH.
A ROSE
IS NOT
A FISH.
R SAW
IS NOT
AN INSECT.
A HOTEL
IS NOT
AN INSECT.
A ROBIN
IS NOT
A TREE.
A HOUSE
IS NOT
A TREE.
A SPARROW
IS NOT
A FLOWER.
I


109


102
Table 5-6
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toeplitz.
Page
- 1
Subj:RCP,
Ser s R,
Sess s 2
, Chm:6
cz,
R-LOCK
C-703,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
4
4
5
5
5
3
4
9
5
Gamma
0.501
0.477
0.614
0.358
0.765
0.385
0.468
18.504
0.382
UF -fl
0.386
0.364
0.461
0.233
0.602
0.307
0.355
18.071
0.253
DA -fl
0.604
0.582
0.729
0.416
1.140
0.519
0.586
19.979
0.638
DA -f2
0.246
0.422
0.179
0.164
0.323
0.277
0.295
7.379
0.137


262
File Listing Utility Program: RSENT Page 2
n
CRR
IS
NOT
R FLOUER.
a
TROUT
IS
NOT
R VEGETRBLE
n
TRUCK
IS
NOT
P VEGETRBLE
n
BRSS
IS
NOT
R TOOL.
n
DRISY
IS
NOT
R TOOL.
n
BEE
IS
NOT
P BUILDING.
a
CPRROT
IS
NOT
P BUILDING.
ON RNT
IS
HOT
R VEHICLE.
n
PEP
IS
NOT
P VEHICLE.
R
DRISY
IS
NOT
PH PHIHPL.
a
HOUSE
IS
NOT
RN RNIHPL.
a
CPRROT
IS
NOT
PN PHIHPL.
a
CPR
IS
NOT
PN PHIHPL.
a
PER
IS
NOT
PN RNIHPL.
a
TRUCK
IS
NOT
RN PNIHRL.
a
BPSS
IS
NOT
P PLRNT.
a
HPHHER
IS
NOT
P PLRNT.
a
BEE
IS
NOT
P PLRNT.
a
SRU
IS
NOT
0 PLRNT.
PH PUT
IS
NOT
P PLPNT.
a
HOTEL
IS
HOT
R PLRNT.
a
ROBIN
IS
NOT
RN OBJECT.
a
PI HE
IS
NOT
PN OBJECT.
a
SPPRROU
IS
NOT
RN OBJECT.
PH ORK
IS
NOT
PN OBJECT.
a
TROUT
IS
HOT
RN OBJECT.
a
ROSE
IS
NOT
PN OBJECT.
a
ROBIN
IS
NOT
a BIRD.
a
SPPRROU
IS
NOT
P BIRD.
a
TROUT
IS
NOT
P FISH.
a
BBSS
IS
NOT
a FISH.
a
BEE
IS
NOT
RN INSECT.
PH PNT
IS
NOT
PN INSECT.
a
PINE
IS
NOT
a TREE.
AN ORK
IS
NOT
P TREE.
a
ROSE
IS
NOT
P FLOUER.
a
DRISY
IS
NOT
R FLOUER.
a
CPRROT
IS
NOT
P VEGETRBLE
a
PEP
IS
NOT
P VEGETRBLE
a
HRHHER
IS
NOT
R TOOL.
a
SRU
IS
NOT
a TOOL.
a
HOTEL
IS
NOT
R BUILDING.
a
HOUSE
IS
NOT
a BUILDING.
a
CPR
IS
NOT
a VEHICLE.
a
TRUCK
IS
NOT
P VEHICLE.
a
ROBIH
IS
NOT
PN PHIHPL.
a
SPPRROU
IS
NOT
RN PNIHRL.
a
TROUT
IS
NOT
PN RNIHPL.
a
BPSS
IS
NOT
RN PHIHPL.
a
BEE
IS
NOT
RN PNIHRL.
AH ANT
IS
NOT
RN RNIHPL.
a
PINE
IS
NOT
R PLPNT.
PM OPK
IS
NOT
R PLRNT.
A
ROSE
IS
HOT
R PLRNT.
A
DPISY
IS
NOT
P PLRNT.
A
CRRROT
IS
NOT
R PLPNT.
A
PEP
IS
NOT
R PLPNT.
A
HPHHER
IS
NOT
RN OBJECT.
A
SPU
IS
NOT
PN OBJECT.
A
HOTEL
IS
NOT
PH OBJECT.
R
HOUSE
IS
NOT
RN OBJECT.
A
CPR
IS
NOT
RN OBJECT.
A
TRUCK
IS
NOT
RN OBJECT.


182
7. Verify proper operation of the xenon photo stimulator by
connecting a low frequency sinusoid to the trigger input
of the pulse generator. The light should flash at the
frequency of the input signal.
8. Turn off the TV monitor, calibrator, polygraph, signal
generators and scopes. Sign off the system, and insure
that the data disk is properly labelled.
B. On the day (morning) the experiments are to be run, perform
the following checks after turning on the equipment:
1. Place data collection disk on unit, and ready the unit.
Sign-on the system and turn on the calibrate signal.
Collect the calibrate sample using the START.MC pseudo
macro. Adjust the amplifiers and re-run if necessary.
2. Allow VER module to run once; see if the xenon photo stim
ulator flashes the required number of times. After this,
the data collection program may then be aborted (CONTROL A).
3. Verify the operation of the polygraph, timing circuitry,
DEVELCO 3-D display, TV monitor and the response circuitry
as outlined in the previous section. Turn off the cali
bration signal.
C. Once the subject is prepared for data collection, perform
the following:
1. Turn on calibrate signal and run the calibrate module
invoked by START.MC.
2. Disconnect the calibrate signal, connect the subject's
electrodes to the amplifiers, review the response


249
File Listing Utility
Prograa: N4DCH
Page 4
IHUSE:
JSR
*UTT
DEVICE IN USE
USEMSG
DEVICE IN USE MESSAGE
LDP
3,BC3
RESTORE BC3
SUB2L
0,0
GENERATE +1 IN SC8
STB
0,0ERROR,3
SET ERROR RETURN
JHP
RTH
RETURN TO PIN PROGRAM
USEMSG:
.TXT
<1SX12>*ERR0R*
DEVICE IH USE < 15X 12>
DICLR:
STB
3,USP
CLEAR USER DEVICE
LDB
8,BCODE
LOAD DEVICE COLE
.SYSTM
CALL SYSTEM
. IRMV
;
REMOVE USER DEVICE
JhP
0,3
ERROR RETURN
JMP
0,3
:
NORMAL RETURN
MSKTTI :
3
AC3:
0
SAVE AREA FOR AC3
STOP:
0
STOP CHARACTER
SELXY:
150000

ALTERNATE MODE, DCH, DBCX 1ST
MSK:
177480
f
RIGHT CHAR MASK
MSG :
.TXT
X1SX12> STRIKE
PNV 'KEY'
< 15X 12>4
BCHBDR: 8
DOT: .+1
. BLK
.END
2882


xml record header identifier oai:www.uflib.ufl.edu.ufdc:UF0008953800001datestamp 2009-01-14setSpec [UFDC_OAI_SET]metadata oai_dc:dc xmlns:oai_dc http:www.openarchives.orgOAI2.0oai_dc xmlns:dc http:purl.orgdcelements1.1 xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.openarchives.orgOAI2.0oai_dc.xsd dc:title Implementation, collection, and processing of visual evoked responses (CPVER) for cognitive studies dc:creator Arroyo, Amauri Antonio, 1949-dc:subject Evoked potentials (Electrophysiology) -- Experiments ( lcsh )Cognition -- Experiments ( lcsh )Electrical Engineering thesis Ph. DDissertations, Academic -- Electrical Engineering -- UFdc:description b Statement of Responsibility by Amauri Antonio Arroyo.Thesis Thesis (Ph. D.)--University of Florida, 1981.Bibliography Bibliography: leaves 174-177.Typescript.Vita.dc:publisher Amauri Antonio Arroyodc:date 1981dc:type Bookdc:format viii, 281 leaves : ill. ; 28 cm.dc:identifier http://www.uflib.ufl.edu/ufdc/?b=UF00089538&v=00001000316118 (aleph)08557480 (oclc)ABU2909 (notis)dc:source University of Floridadc:language English


ACKNOWLEDGEMENTS
The author wishes to express his gratitude, appreciation and high
esteem to his advisor, Dr. D. G. Childers, for his direction, support,
guidance, and determination throughout the course of this research,
and throughout all of the author's graduate studies.
The author is particularly grateful to Dr. R. G. Selfridge, whose
moral support and encouragement have been a source of strength during
the last decade.
He is also thankful to Dr. N. W. Perry, Jr., and Dr. I. S. Fischler
for many stimulating discussions. The author is grateful to
Dr. J. R. Smith and Dr. L. W. Couch for serving on the committee and
for their guidance. He also wishes to express his appreciation to
fellow graduate students P. A. Bloom and T. Achariyapaopan for their
many stimulating discussions, encouragement, and moral support.
The author is thankful to Mrs. Edna Aquino, Mrs. Gloria Luiggi,
Mrs. Amarilys Quevedo, Miss Arlene Arroyo and Mr. Armando Quevedo for
their encouragement, prayers, and their help in many ways.
The author wishes to thank his wife Marilyn, who not only edited
and typed this dissertation, but whose love, patience, understanding
and support have made this work possible.
The author is MOST grateful and eternally indebted to his mother,
Lydia. Her hard work, sacrifice, love, patience, support, and encour
agement have been the motivating force behind the author's accomplish
ments, life, and work.
iv


253
File Listing Utility Program: SCOPE
Page 1
***** SINGLE CHANHEL SCOPE DISPLAY ROUTINE.REQUIRES SWEEP GENERATION *
***********************************************************************
***** REVISION 8.0 REVISION DATE : 06 MAR 1981 A A ARROYO*
***********************************************************************
***** CODE THE FOLLOWING FORTRAN IV STATEMENT IH YOUR SOURCE PROGRAM*
***** *
CLOCK, SHODE, CHN, INPUT, NSTRT, NPTS, ERROR 1 *
(
*****
*****
*****
*****
*****
WHERE
*
CLOCK = 10NONE, 1-DISPBLE, 2-INT, 3-EXTJ *
SMODE = C0-Z PULSE AFTER EA DACY, 1-NO Z PULSE1*
CHN = C0- DAC X, 1- DACYI *
INPUT = THE INPUT ARRAY OF INTEGER DATA *
NSTRT = THE STARTING INDEX FOR 1ST PT DISPLAYED*
NPTS = THE NUMBER OF POINTS TO BE DISPLAYED *
ERROR = 10-FUNCTION COMPLETED, 1-DEVICE IN USEI*
*
***********************************************************************
*****
*****
*****
TITL SCOPE
-ENT SCOPE
-EXTD .CPYL, .FRET, .UIEX, .SHSK
.NREL
;
;***** SET UP USER PARAMETER STACK
CL0CK=-167
SMODE=CL0CK+1
CHN=SNODE+l
IARRY=CHN+1
NSTRT=IARRY+1
NPTS=NSTRT+1
ERROR=NPTS+l
FS=ERRORCLOCK+1
***** TTY OUTPUT ROUTINE
WTTO:
STA
0 AC0
SAVE AC0
STA
1 AC1
SAVE AC1
STP
2 AC2

SAVE AC2
SUBO
0 ,0
CLEAR RC0 8, CARRY
LDA
2,0,3
LOAD ARC ADDRESS IN AC2
LDA
1,MASK
LOAD CHARACTER MASK
yLOOP :
LDA
0,0,2
LOAD NEXT WORD
BLOOP:
MOVC
0,0,SNC
;
1ST HALF
MOVS
0,0
SWOP
PND
0,1 SNR
CHECK FOR NULL
JMP
RTRN
YES...RETURN
INS1 :
SKPBZ
TTO
IS TTO BUSY?
JMP
.-1
YES...CHECK AGAIN
INS2:
DOAS
0 ,TTO
PUT CHARACTER IN SCREEN
MOV
0,0,szc
CHECK FOR 2ND CHAR
JMP
BLOOP
YES...NEXT BYTE
INC
2,2
INCREMENT WORD COUNT
JMP
LOOP
NEXT WORD
RTRN:
LDA
0,AC0
5
RESTORE AC0
LDA
1 AC1
;
RESTORE AC1
LDA
2 AC2
RESTORE AC2
JMP
1,3
;
RETURN TO CALLER (PC+1J
HRSK :
377
5
RIGHT CHAR MASK
HSBITs
1B4
;
NON-SCOPE MODE BIT <4)
INTM:
140001
INT CLOCK, DCH MODE
EXTM:
160001
EXT CLOCK, DCH MODE
ACTIV:
0
DEVICE IS ACTIVE FLAG
DRDCT:
USDCT
D/A DEVICE DCT TABLE
USDCTs
DI SAVE
1ST WORD : 8 BYTE RTOS SAVE AREA
INTMSK:
008203
;
DACV DEVICE SERVICE INTERRUPT MASK
INTSER:
IHAND
ADDRESS OF INTERRUPT HANDLER
D1SRVE:
.BLK
18

RTOS 8 BYTE COMPATIBILITY AREA
DIDEr :
STA
3 ,USP
STORE RETURN ADDRESS IN LOCN 16
SUB
0,8
CLEAR AC0
STA
8,ACTIV
CLEAR ACTIVE FLAG
LDP
0,DCODE
;
LOAD DEV CODE IN AC0
SUBZR
2,2
GENERATE 100008 IN AC2
LDA
1 DPDCT
PUT ADDR OF D-A DCT TABLE
ADD
2,1
SET DCH BIT IN PCI
IHCZL
2,2

PLACE +2 IN AC2
SYSTM
5
CALL SYSTEM


85
The design set was projected onto the selected two-feature space
and a linear classification rule was derived. The PE was determined
empirically for the design set by counting the number of known trials
that fall on the wrong side of the decision boundary. The test set
PE is also determined empirically. This design and test set procedure
is known as the Hold-Out Method for estimating the PE, and gives
pessimistic results, but it does not require much computation.
The desired experimental results were: 1) ERP averages that
demonstrate "gross" effects, such as the evoked response following
each sentence segment presentation, 2) tables of S/N ratios for
stimulus-aligned and response-aligned data, and 3) scatter diagrams
for each design/test set pair with the resulting PE tabulation.
These outputs provided the basis for paradigm evaluation and associated
conclusions.
5.2 Summary of CPVER Data Processing Results
In the following pages, sample 3-D displays, ERP averages, S/N
ratio tables, and scatter diagrams are presented for the four subjects
whose data was "accepted" for processing (see Table 2-3): Mainly,
RCP, JNL, CJB, and MAD. Subjects RCP and JNL participated in both
the episodic experiment and the semantic (replication) experiment.
Subject CJB was asked to reverse the direction of his switch-
activated response (true = left in sessions 1 and 4, true = right in
sessions 2 and 3) movement. An EMG was collected for a preliminary
study designed by Bloom [3].


Figure 5-18 Subject JNL, Series R, Session 1, R-Lock


Section 3E
CPVER COMMAND
MODULES
so f tware


61
The submodule concludes by displaying portions of the specifications
table and creating the filename for the first covariance matrix to be
generated. This filename adheres to the convention established for
data collection and modified for data processing. This convention is
discussed in Section 3.7.
Submodule E2 extracts the EEG observation vector x, of either
k
stimulus-aligned or response-aligned data for the design session. The
system automatically generates the correct filename for the digitized
EEG signal, based on the random sequence file of pointers that was
used during the data collection session. A general purpose subroutine
to read the EEG associated with each sentence (SREAD) is invoked for
this purpose (consult the appendices for a detailed description of
SREAD). The submodule accumulates the vector sum, and sum of squares
for each partition/channel combination. This is repeated until the
specified number of sentences/class has been extracted (specifications
table line 15). This number is displayed on the operator's console
upon exit.
Submodule E3 computes the mean vector and covariance for each
partition/channel combination. Submodule E4 calculates the Toeplitz
covariance estimator for the given channel number and partition. Sub-
module E5 accumulates both the individual covariance and individual
Toeplitz covariances. The individual covariances are written to disk
if the external flag INDV is set to one. The mean vector is written
to disk and the process repeated (to block E3) for each partition.
Submodule E6 calculates the average covariance and average Toeplitz
matrix across partitions. These two matrices are written to disk


79
a vegetable"). For one set of experiments, sentence subjects (S-terms)
were 18 concrete nouns (e.g., trout), while sentence objects (O-terms)
were either the immediate (e.g., fish) or superordinate (e.g. animal)
categories of those nouns. Verbs (V-terms) could be either affirmative
("is") or negative ("is not"). The use of both affirmative and negative
sentences, and the inclusion of two possible O-terms, was intended to
make it less likely that subjects would read the S and V-terms and
then try to anticipate particular words which would make the sentence
true or false. This may reduce the task from semantic verification to
lexical matching. Use of negative sentences also controlled for the
presence of associations between S and O-terms; that is, the class of
true and false sentences each included associated (Robin is/is not-
bird) and unassociated (Robin -is/is not- truck) S-0 pairings.
In the resulting set of 144 sentences, true and false statements
were equally likely, as were affirmative and negative statements. Use
of an equal number of false and true sentences, repetition of terms
within blocks of sentences, and repetition of sentences across blocks,
were intended to keep the false sentences from being any less familiar
or more anomalous than the true statements. Any such differences
would be confounded with the true-false distinction.
The semantic experiment sentence materials are a hierarchy of set-
inclusion statements, a portion of which is outlined as follows:
(Diagram on following page)


decision boundary. The process was repeated on the test set to obtain
PEt. The parameters of the decision rule may be stored for further
processing.
Experimental results and conclusions described by Childers et al.
[11,12] and Fishier et al. [1] were obtained using the data processing
subsection of the CPVER system.
3.4 Feature Extraction Methodology
The goal of the feature extraction procedure is to obtain a subset
of components from the measurement vector that enhance the chances for
proper classification. An optimal number of features may be found that
minimizes the probability of error. The feature selection algorithm
of Roucos and Childers [12] is basically a special ordering of the
eigenvectors extracted from the covariance matrix, estimated from the
data.
An evaluation of the method is obtained by using the hold-out
method to estimate the PE (a training set is used to design the feature
extraction/classifier and both design and test sets are used to estimate
the respective PEs). A feature (discriminant) vector is obtained by
Equation 3-1 where
d =
a W
u
(3-1)
u denotes differences between the mean class vectors (i.e.,
^2^1
for
a two class problem), W is a linear weighting of the covariance matrices


Sec tion 3C
CPVER SUPPORT MODULES
so f tw-are


88
Table 5-1
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non
-Toep1it z.
Page
- 1
Subj:RCP,
Ser:R,
Ses 5:1
, Chn:6
cz,
S-LOCK
C 10) ,
36 Samp/Cl, 10/25/81
II
CL
1
2
3
4
5
6
7
8
9
Mk
3
4
4
3
5
3
5
3
3
Gamma
0.482
0.350
0.579
0.791
0.575
0.524
0.897
0.798
0.366
UF -fl
0.400
0.248
0.458
0.699
0.425
0.440
0.728
0.706
0.290
DA -fl
0.715
0.463
0.660
1.043
0.521
0.599
1.215
0.877
0.563
DA -f2
0.213
0.143
0.379
0.505
0.385
0.113
0.560
0.512
0.341


115


133
Table 5-17
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non
-Toeplitz.
Page
- 1
Sub]:JNL,
Ser s E,
Ses s:3,
Chn: 6
N
O
R-LOCK
C-703,
36 Samp/Cl, 10/25/81
II
-U
CL
1
2
3
4
5
6
7
8
9
Mk
3
4
5
5
2
3
4
8
5
Gamma
0.829
0.256
0.313
0.679
0.286
0.497
0.480
9.240
1.227
UF -fl
0.736
0.167
0.195
0.521
0.246
0.414
0.366
8.869
1.045
DA -fl
1.572
0.321
0.440
0.947
0.481
0.726
1.023
8.540
1.261
DA -f2
0.060
0.038
0. 190
0.317
0.150
0.178
0.192
4.064
0.457


124
Table 5-14
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toeplitz.
Page
- 1
Sub j :RCP ,
Ser:E,
Sess:1
, Chn:6
N
o
R-LOCK
070) ,
36 Samp/Cl, 10/25/81
II
JU
CL
1
2
3
4
5
6
7
8
9
Mk
4
3
2
3
4
5
4
10
2
Gamma
0.564
0.324
0.086
0.232
0.292
0.851
0.572
39.527
0.426
UF -fl
0.445
0.251
0.062
0.167
0.198
0.684
0.452
39.034
0.382
o
3>
1
4i
0.970
0.391
0.150
0.465
0.343
0.865
0.639
24.127
0.555
Dft -f2
0.174
0.080
0.051
0.075
0.083
0.331
0.182
4.897
0.369


233
file Listing Utility Progra: FEAT Page 1
SUBROUTIHE FEAT(CM,DV,OV,VMO,VMT,NDV,H)
C INPUT CM OS FREIGHTED COV MOT. OUTPUT IS DISCRIMINANT VEC. DV(I,J)
REOL CM(18,18),DV(10,2),OV(30,2)
REAL DM(18),VM0(18) ,VMT(10) ,B(10) ,S(5,5)
C COMP. COV. INV. CM(I,J) t VECTOR MEAN DIFF. DM(I)=VHO-VMT
CM(1,1)=1.^CHC1,1)
DO 11 I=2,N
11 CALL RMI(CM,I)
DO 12 1=1,N
12 DM(I)=7M0(I)VMT(I)
C TYPE "COV-1 COMPUTED*
C COMP. FISRT DISC. VEC.
DO 21 1 = 1 ,N
DV(I,1)=8.
DO 21 J=1,N
21 DVU ,1)=DV(I,1)+CM(I ,J)*DM(J)
dti i=i,n
22 VL=VL+DV(I,1)*DV(I,1)
VL=S8RT(VL)
ONHO=1 .7VL
DO 23 1=1,N
23 DV(1,1)=DV(1,1)7VL
C TYPE "1ST COLL TO VECROT"
CALL VECROT (CM,DV,0V,1,N)
C TYPE "BOCK FROM VECROT"
S(1,I)=0.
DO 301 1=1,N
301 S(1,1)=S(1,1)+DV(1,1)*0V11,1)
S 1 ,1J = 1 .-'SU ,1)
K=1
400 IF(K.EQ.HDV) GO TO 501
C THE LOOP STARTS HERE
K=tC + l
KS=K1
DO 42 1=1,N
B(I)=8.
DO 41 J=1,KS
41 B(I)=B(I)+DVCI,J)*S(J,1)
B(I)=B(I)^OHHO
42 B(I)=PMCI)-B(I)
DO 44 1 = 1,N
DV(I,K)=0.
DO 44 J=1,N
44 DVCI,K)=DV(I,K)+CM VL=0.
DO 47 1=1,N
47 VL=VL+DV(I,K)*DV(I,K)
VL=S8RT(VL)
DO 49 1=1,N
49 DV1I,K)=DV(I,K)7VL
C TYPE "2ND CALL TO VECROT"
COLL VECROT(CM,DV,OV,K,N)
C TYPE "BOCK FROM VECROT"
DO 61 1 = 1 ,K
S(I,K)=0.
DO 61 J=1,N
61 S1I ,K)=S(I ,K)+DV(J,I)*0VCJ,(O
DO 62 1=1,K
62 S (K, 1) =S ( I ,K)
C TYPE "COLL RMI*
COLL RMI(S,K)
GO TO 400
501 CONTINUE
RETURN
END


205
File Listing Utility Program: SVEPTYPE
INTEGER IDATA(8,5121, IFIL(IS)
1 TYPE ENTER FILENAME
READUl,10)IFIL(1)
10 FORMAT(SI 5)
COLL FOPEN(3,IFIL)
CALL RDBLK(3,0,IDATA,16,IER)
ACCEPT ENTER DESIRED CHANNEL NUMBER : ,ICH
TYPE CHANNEL NUMBER ,ICH
20 WRITE (10,38) UDRTA(ICH,H) ,H=1 ,512)
30 FORMAT(1515)
40 CONTINUE
EWDFILE 3
ACCEPT ANOTHER TRIAL? ,IANS
IFUANS.EQ.l) GO TO 1
STOP
END
Page 1


36
Module A8 updates the filename for the next sentence to be pre
sented, and in the event of a rejection, it updates the set of pointers
that index each sentence presentation such that the rejected sentence
is presented again at the end of the session.
Module A9 is only enabled for the "on-line" biofeedback experi
ments. It contains the "current" parameters of the classifier/feature
extractor algorithm so as to decide on a computer-assigned class for
the single epoch just extracted. Based on this class assignment the
system may now display visual feedback to the subject and further
modify the stimulus presentation. Experimental paradigms that will
take advantage of this mode of operation are currently being developed
by Bloom [3].
Module A10 displays (on the operator's console) the run-time
statistics, for the just completed session, that are to be kept in a
laboratory manual for future reference.
A single experimental session is completed, on the average, in
approximately seven minutes (72 sentences, 10 rejects). The operator's
console displays each sentence to be presented, rejection data and
the value of the current pointer on the upper left hand portion of the
CRT, not visible to the subject. A single operator can monitor the
master console and the polygraph recorder in order to observe the pro
gress of the experiment once it is begun. The equipment has been
physically arranged to facilitate the single operator concept.
Support routines for the experiment driver module include 1)
multichannel A/D conversion with external clock running in interrupt-
disabled mode, 2) single and dual-channel D/A conversion, 3) software


CHAPTER V
APPLICATIONS OF CPVER
A STUDY OF COGNITIVE PROCESSES
The motivation for the development of a CPVER system is described
in Childers et al. [17]. In this report, the authors give specific
details of the rationale for the experiments that were to be conducted
using such a system. In section 5.1 a brief, relevant review of the
experimental design is presented for convenience. Section 5.2 gives
a summary of results.
5.1 Experimental Design
Recent studies have suggested that components of ERPs may discrimi
nate semantic or linguistic "meaning" [1,6,47,48]- In the UF experi
ments, cortical potentials were to be recorded while subjects decided
if simple propositions such as "A bass is a fish" were true or false.
This "sentence verification" task has been used extensively in behavior
al studies of semantic memory, since it requires that information
relating the two terms of the sentence be retrieved from long-term
memory, and evaluated with respect to sentence structure. The major
purpose of the experiments was to determine if true and false state
ments could be discriminated on the basis of the subject's single
ERPs.
Verification of the truth or falsity of even simple propositions
often seems to require effort (consider, for example, "A rose is not
78


196
File Listing Utility
Prograa: EXPDRIVER Page 4
C
C CREATE THE FILENAMES RHERD OF SAMPLING L SAVE 1 SECOND DURING ER TRIAL
C
C GO TO 39
CALL PULSEIS)
DO 38 J=1,NOT
H=HIN8(J+l,NOT)
CALL FOPEN(4,INANE)
CALL WRBLK(4 ,0,1DATA,16,IER)
CALL CLOSE(4)
INANE(5)=INANE(5)+1
IF(HOD(H,10).NE.01GO TO 38
INANE(5)=INANE(5)-10
INANE(5) = INANE 15)+256
IFINOD(M,180).HE.0) GO TO 38
INANE IS)=INAME 15)-2560
INANE(4) = INANE 14) + 1
38 CONTINUE
39 PAUSE
C
C NRIH SENTENCE PRESENTATION LOOP TO LINE LABELED 40O FOR 1 = 1,2,3...NOT
C
DO 40 I = 1 ,8
40 INANE 11) = IFILCI)
41 PAUSE "<33>h<33>J<33>tf1E<33>B<33>B<33>B<33>B<33>B<33>B<21>
CALL RTTY(SCHAR)
NFS = 0.5 NOS
DO 400 J = 1 NOT
C
C DELAY FOR IIDUH X JDUN) NICRO-SECONDS
C
45 DO 50 L=1,IDUN
DO 50 I=1,JDUM
50 CONTINUE
C
C SAMPLE ACROSS BOUNDARIES
C
NSEHT=NSENT+1
CALL PULSE 14096)
CALL ADSAH(3,0,7,IDATA,1,8*IS0)
CALL PULSE(8192)
1NEXT = 8*ISO + 1
C
C TRIGGER SOFT KEY F3
C
CALL FTYPE(*<33>tf3E<21>*)
CALL ADSRH(3,0,7,IDATA,INEXT,CIST-ISO)*8)
CALL PULSE(13286)
INEXT = 8*1ST + 1
C
C TRIGGER SOFT KEY F5
C
CALL FTYPEC<33>ifSE<21>)
CALL ADSAH(3,0,7,IDATA,INEXT,(ISTH-IST)*8)
CALL PULSE(16383)
INEXT = 8+ISTH + 1
C
C TRIGGER SOFT KEY F7
C
CALL FTYPE("<33>tf7E<21>")
CALL ADSAN(3,0,7,IDATA,INEXT,(512-ISTH)*8)
CALL PULSEIS)
CALL TINE(ITIH,IER)
ITIHd )=NOD(ITIN(l) + (ITIM(2) + (ITIM(3)+4)^60)x60,24)
ITINI2)=NOD(ITIH(2)+(ITIN(3)+4)/68,60)
I TIN(3)=MOD(ITIN(3)+4,60)
CALL STINE(ITIN,IER)
C TYPE <33><47>*
C
C RITE DATA ON FILE
C
CRLL FOPEN(4,INANE)
C CALL RDBLK(4,8,IDATA,16,IER)
CALL MRBLK(4,0,IDATA,16,IER)
CALL CLOSE(4)
IFICR.NE.0) GO TO 1008
H = NIN0I J+l, NOT )
DO 90 L = 1 ,18
90 ISENT(L) = JSENT(L,ISEQ(INDEX(N)))
L = INDEX(H)
RITE!10,91) J,M,L,ISEQ(L),ISENT(1),KCL,TE1,TE2,PE


APPENDIX 2
CPVER SOFTWARE USER'S GUIDE
I. Introduction
The CPVER software consist of a set of major FORTRAN programs, a
set of RDOS command modules (pseudo-macros), and a set of general pur
pose Assembly language support routines and FORTRAN miniprograms. The
FORTRAN modules were compiled using the Revision 5.52, NOVA FORTRAN
compiler; the Assembly language modules were assembled using Revision
6.60, NOVA Assembler, and all "core-image" load-module files were
prepared using the Revision 7.10, RLDR system program, running under
the MAPPED RDOS (MRDOS), Revision 6.62, operating system. The soft
ware runs on a NOVA 4 system with 256 KB of semi-conductor memory, the
hardware floating point instruction set, a model 4330-A A/D converter,
real-time clock, a model 4010 Asynch Interface (2nd CRT console) and
the 6070 FSLIC disk controller.
Prospective users of the CPVER system should become familiar
with the "basics" of the RDOS operating system. The DGC publication
number 069-000022-01, Learning To Use Your RDOS System, provides an
excellent tutorial on the mechanics of using the RDOS operating system.
II. CPVER User's Guide
A. Preliminary. The CPVER software and command modules reside,
on a permanent basis, in the "fixed" disk unit of the DGC
6070 magnetic disk storage facility. The RDOS name for this
184


ooo non nnnnnon
207
File Listing Utility
Progran: COVEST
Page 1
COVARIANCE MATRIX ESTIMATOR FOR VISUAL EVOKED RESPONSE AND COGNITION
REVISION : 0.0 REVISION DATE s JULY 10 1981 UNIVERSITY OF FLORIDA
RLBR COVEST SREAD FORT.LB
COMMOH^SENT^ EEG(8,S12), V(8,512), SENTF(S), RSEQ144)
INTEGER SENTF, RSEC, RSEQFI3), SPECF(8), EXPNO, SERIES, FTYPC10)
INTEGER EEG, V, XEEG(4096), YEEGI4096), SUBJIN(2) SEHTNO(2)
INTEGER SN4), MSC4,4), SSNI4), MSC, VSC, CLASS C 41
INTEGER CHID(2,8), MSCL(4), NSCLI4), SHIFT(2), ICHNC81, COVFI6)
REAL AVGllBl), TAVG101), TC(10)
REAL PCOV18,10,9,6), VM(10,9,6), X10.9), AI101), Bill)
EQUIVALENCE (XEEG(l),EEG(1,1)1,(YEEG(l),Vll,1)1,(SUBJIN(l),SENTF(1)1
EQUIVALENCE (EXPNO ,SENTF (3) ) (SENTF £4) .SENTNOil))
CALL STAT("INDV",XEEG,IER)
IF(IER.EQ.l) GO TO I
TYPE "<7>*ERR0R* INDV FLAG DOES NOT EXIST...WILL ASSUME INDV=1"
INDV = 1
CALL OPEN(3,INDV",3,IER)
WRITE(3,6) INDV
CALL CLOSE (3)
GO TO 2
1 CALL 0PENI3,"INDV",1,IER)
READ(3,5) INDV
CALL CLOSE(3)
CALL STATCAUTO",XEEG,IER)
IF(IER.EQ.l) GO TO 3
TYPE <7>*ERR0R* AUTO FLAG DOES NOT EXIST...WILL ASSUME RUTO=0"
IAUTO = 0
CALL OPEN(3,"AUTO*,3,IER)
WRITE(3,6) IAUTO
CALL CLOSE(3)
GO TO 10
CALL OPEN(3,"AUTO",1,IER)
READI3.5) IAUTO
CALL CLOSE(3)
IF(IAUTO .NE. 1) GO TO 10
TYPE ******AUTOMATIC MODE*****"
CALL STATCRNSWERS",XEEG,IER)
IF(IER.EQ.l) GO TO 4
TYPE "<7>*ERR0R* FILE ANSWERS DOES NOT EXIST...WILL BE CREATED"
CALL 0PEN(3,"ANSWERS",3,IER)
TYPE "ENTER PARAMETER t SPECIFICATIONS TABLE FILENAME"
READ(11,20) SPECF(l)
TYPE "ENTER SUBJECTS INITIALS*
READ(11,110) SUBJIN
TYPE "ENTER SYNCHRONY POINT : STIMULUS-LOCK(S) OR RESPONSE-LOCK(R)"
READ(11,110) JSYNC
TYPE "ENTER EXPERIMENTAL SESSION NUMBER"
READ(11,110) NUMBER
WRITE(3,21) SPECF(l)
WRITE(3,111) SUBJIN
WRITE(3,111) JSYNC
WRITE(3,111) NUMBER
CALL CLOSE(3)
GO TO 11
CALL OPEN(3,"ANSWERS",1,IER)
READ(3,28) SPECF(l)
READ(3,110) SUBJIN
READ(3,110) JSYNC
READ(3,110) NUMBER
CALL CLOSE(3)
GO TO 11
READ IN THE NAME OF THE PARAMETER t SPECIFICATIONS TABLE FOR THIS RUN.
I FORMAT (ID
6 FORMAT (IX, ID
10 TYPE "ENTER PARAMETER fc SPECIFICATIONS TABLE FILENAME( SPEC )<7>"
READ £ 11,20) SPECF(l)
II WRITE(10,15) SPECF(l)
15 FORMAT(IX,"PARAMETER L SPECIFICATIONS TABLE s ",S15)
20 FORMAT(S15)
21 FORMAT(IX,SIS)
CALL STAT(SPECF,XEEG,IER)
IF(IER .EQ. 1) GO TO 50
SPECIFICATION FILE NOT FOUND...RETRY


oooo
199
File Listing Utility Prograj: EXPDRIVER Page 7
KTYP = 0
IFU.EQ.'D ) KTYP=2
IFCI.NE.'D .AND. I.NE.U ) GO TO 420
KTYP = KTYP + 1
438 TYPE 'INDIVIDUAL AVERAGE(A) COVARIANCES OR T0EPLIT2(TIP*
READ(11,17)J
IFCJ.NE.'A .AND. J.NE.'T ) GO TO 430
IFCJ.EQ.'T ) KTYP = KTYP + 1
WRITE(3,8) SPECFCl)
WRITE C3,440) SUBJIH
440 FORMAT(IX,A1,A2)
WRITE 13,440)JSYNC
WRITE(3 ,440)NUMBER
WRITE (3,9)KTYP
COLL CLOSE(3)
475 IF(ONLINE.NE.1) CO TO 499
TYPE *
TYPE '*****0N-LINE CLASSIFICATION PERFORMANCE FIGURES*****'
TYPE 'NUMBER OF TRUE TRIALS HISCLOSSIFIEB : ',TE1
TYPE NUMBER OF FALSE TRIALS MISCLOSSIFIEB : ',TE2
TYPE 'TOTAL NUMBER OF TRIALS MISCLOSSIFIEB : ',PE
TYPE '
ERROR = 100.*PE^NOT
WRITE (10,480) PE,NOT,ERROR
480 F0RMAT1X,'PROBABILITY OF ERROR : ',13,,13,SX,F6.2)
499 STOF
500 FORMAT( <33>ifla2kl2L'S12)
518 FORMAT ( <33>S,f la4k 12L'S12)
528 FORMAT(' <33>4f1a6k1IL'Sl1)
CALCULATE CALIBRATION FACTORS FOR THIS RUN
1080 TYPE "<33>*dtdalE<33>h<33>J<21>'
TYPE '**********************************************************
TYPE '*** CALIBRATION FACTORS APPLICABLE FOR THIS RUN ***
TYPE '**********************************************************
BO 1010 1=1,8
MAXP(I) = I BATA(1,1)
INBEX(I) = 1
BO 1010 J = 2 400
IF(IABS(IBAT A(I,J)).LE.IABS(MAXP Cl))) GO TO 1010
MOXP(I) = IBATA(I,3)
INDEX(I) = J
1010 CONTINUE
DO 1015 1=1,8
NS = INDEX(I) + 1
N = INDEX!I) + 112
DIF (I) = MOXP(I) IDATO (I, INDEX U)1
DO 1015 J = NS N
L = MAXP(I) IDATAtl.J)
IF ( IABS(L) .GT. IABS(DIF(I)) ) DIFCI) = L
1015 CONTINUE
DO 1020 1=1,8
SCALECI) = ABS( FLOAT( DIF(REFCHN) ) (DIFCI) + .00001) )
WRITE(10,1038) I,DIFCI),SCALE(I)
1020 CONTINUE
TYPE '**********************************************************
1838 F ORMAT(5X,IS,I10,F10.2)
ICAL = 1
GO TO 18
C1200 FORMAT(A1,A2,2C1X,A1),I2,2(1X,A1),13,212,2F6.2,F9.4,F7.2,14,2F7.2)
C 1300 FORMAT(IX,10F8.4)
END


16
Broadly speaking, the following criteria were incorporated into
the overall performance requirements of the system:
1) To reduce total subject participation time in order to mini
mize fatigue and to meet the experimental paradigm requirements.
2) To reduce the number of personnel required to supervise and
control the data collection effort to a minimum of one or
two persons.
3) To increase the participation of the computer in all aspects
of data collection and processing, e.g., to make the system
more automatic and to optimize hardware participation.
4) To design enough generality (the system's ability to be
widely used and adaptable to many variations in application
and/or environment) into the system for its use in a broad
class of cognitive experiments.
5) To build enough flexibility into the system by increasing
the extent to which more control over the behavior of the
system resides in the input data or the resident data
(specifications tables) than in the instructions themselves.
Also by increasing the number and variety of internal controls
(flags) that are made externally available.
6) To modularize the implementation in order to increase the
reliability of the components. System reliability is also
increased by reducing the number of decisions and inputs
required of the operator.
7) To use structured design concepts and structured programming
in order to influence the cost of keeping the system viable


238
Tile Listing Utility
Progra*: ADSAM
Page
; MSKO
IN TEH
0
; ENABLE
INTERRUPT SYSTEM
JSR
0.FRET
; RETURN
TO MAIN PROGRAM
ADMASK: 086280
END


19
centroids of the two data classes (the decision boundary line) until
the probability of error for the design set is minimized [11].
Special-purpose software modules were developed for the following
applications: 1) Analog-to-digital conversion for a set of signal
channels on programmed input-output mode, synchronized to either an
internal clock, an external clock, the CPU basic instruction cycle or
no synchronization, 2) digital-to-analog conversion using either pro
grammed I/O mode or the data channel (DMA) facility for one or two
channels with or without blanking pulses, 3) oscilloscope driver,
4) DEVELCO 3-D display driver, 5) keyboard interrupt facility, 6) inter
rupt disabled FORTRAN "TYPE" statement, 7) graphics and device control
drivers for the HP 2648A terminal, and 8) a pulse generator for trigger
ing the Grass Instruments xenon photo stimulator.
1.3.3 Equipment Overview Hardware
The various functions performed by the hardware are also depicted
in Figure 1-1. CPVER uses both instruments that are available "off-
the-shelf" in most electrical engineering laboratories and custom-built
equipment. The implementation of the CPVER system is greatly influenced
by the type of computer that is available, its operating system, and its
attached peripherals. In many instances, a desired capability was
obtained by interconnecting a module from a given piece of equipment
to another.
The following equipment was used to implement CPVER:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
83
My first
name is

19
My parents
My last
name is
20
My parents
My father's
name is
21
My father
My mother's
name is
22
My mother
My major
is
23
My eyes
My class
is
24
I go
My hair
is
25
My ancestors
My hair
color is
26
My biggest
My preferred
hand is
27
My favorite
My sex
is
28
My worst
I like
to play
29
I want
My age
is over
30
My favorite
I ride
a
31
My shoe
I work
as a
32
My favorite
I was
born in
33
My middle
I was
born in
34
My favorite
I live
in
35
My favorite
I live
in
36
My residence
live(d) in
live(d) in
is a
is a
are
to bed
came from
meal is
food is
food is
to be a
color is
size is
music is
name is
author is
actor is
is
Figure 5-2 Personal Information Data Set


146


138
Table 5-19
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplitz.
Page
- 1
Sub jiJNL,
Ser:E,
Ses s:4
, Chn:6
o
N
W
1
R-LOCK
C-70) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
4
4
3
6
2
5
2
9
4
Gamma
0.293
0.375
0.462
0.697
0.729
0.991
0.767
15.518
0.773
UF -fl
0.199
0.270
0.380
0.509
0.681
0.818
0.718
15.087
0.644
Oft -fl
0.443
0.570
0.737
0.905
1.391
0.958
1.262
11.057
1.109
DA -f2
0.185
0.138
0.148
0.213
0.183
0.631
0.892
3.382
0.714


66
START
)
Figure 3-3 Scatter Structure Chart


20
1) DGC NOVA 4 minicomputer with 256 KB semiconductor memory and
the floating-point hardware option running the MAPPED RDOS,
Revision 6.62, operating system and an Inter-Processor Buffer
2) DGC NOVA 2 minicomputer with 64 KB core memory and a hardware
multiply/divide option running the RDOS, Revision 6.52, oper
ating system and an Inter-Processor Buffer.
3) A DGC 6070 Moving Head Disk storage facility (2-10 MB disk
cartridges, one removable, one non-removable).
4) A DGC 4047B Moving Head Disk storage facility (2-2.4 MB
removable disk cartridges).
5) Hewlett-Packard 2648A Graphics Terminal with printer/plotter
attachment.
6) B-W TV monitor with variable horizontal high-frequency
adjustment.
7) EEG amplifiers with 1 to 50 Hz bandwith and 50% attenuation
at 1 and 50 Hz.
8) DEVELCO 3-D Axis Display consisting of a control and A/D
unit, a core memory unit and a high-resolution video monitor.
9) Grass Instruments polygraph recorder.
10) Grass Instruments xenon photo stimulator.
11) DGC Model 4330-A Digital Analog Subsystem.
12) Analog Digital Subsystem for the NOVA 2 computer [44].
13) Two Televideo, Model TVI-912B CRT terminals.
14) Oscilloscopes, low-pass filters, high-pass filters, ampli
fiers, power supplies, pulse generator, EEG signal calibrator
subject response pulse generator, scalp electrodes and associ
ated supplies, audio "white" noise generator, a ventilated


274
File Listing Utility
Progra: COVRRIRHCES.MC Page
DELETE IHDV RUTO
XFER ZERO RUTO
XFER ONE INDV
COVEST.SV


276
File Listing Utility
Program: CLASSIFY.HC
DELETE REDRAW
XFER ZERO REDRAW
SCATTERl.SV
Page 1


o o o ono oooooooo
223
File Listing Utility
Program: SCATTER2
Page 1
SCATTER PLOT GENERATOR PROGRAM FOR VISUAL EVOKED RESPONSE L COGNITION
PROGRAM SEGMENT NUMBER 2 GENERATES THE SCATTER DIAGRAM t CLASSIFIER
REVISION : 0.0 REVISION DATE : OCT. 26 1981 UNIVERSITY OF FLORIDA
RLDR SCATTER SDRQU LDRAU FORT.LB
INTEGER SPECFI8), EXPNO, SERIES, FTYPI10)
INTEGER SUBJIN(2), PEN(2), FILEIDI22)
INTEGER NSENT12), ISYMBC2), F(?2,9,6,2), PET(21
INTEGER CHID (2,3) SHIFT(2), ICHNI8), TP1, TT
INTEGER REDRAW, 0RDERI361), SUB(2,2), SER(2), NUMC2), JSI2)
INTEGER OKI,0K2,011,012,0J1,0J2,OPE,HSC,VSC, HSC1, VSC1, FH0I9)
REAL A(21I, TANG361), C00RD(2,2), FEATC9)
INTEGER FILEI4,2I, CENTER(S), PTS(72,2,2,2), PEI2), TE, TS
IDEG(X) = MOD(188+IFIXI 0.5 X 57.29577951 ),188)
INITIALIZE VARIABLES.
TYPE "<33>*lnlM<33>g"
CALL STATI"PARAMETERS,FILEIB,IER)
IFIIER.EQ.l) GO TO 1
TYPE<7>*FATAL ERROR* FILE 'PARAMETERS' NOT POUND...RE-RUN SCATTER1.SV"
STOP
CALL OPEN(3,PARAMETERS",1,IER)
READ BINARY(3) JCHN,IAUTO.MANUAL,NCHN,LI,L2,N,NP,NSC,VSC,KTYP.SERIES,
X NUMBER,JSYNC.SUBJIH,SUB,SER,NUM,CHID,JS,ISHFT.FILE,NSENT,ICHN,F1,F2,
X FEAT,FNO,FTYP
CALL CLOSE 13)
CDR = 4.363323E-03
ISYMB(l) = 21536
ISYMBI2) = 17952
CENTER(1) = 9248
CENTER(2) = 16416
CENTER(3) = 10784
CENTER(4) = 22560
CENTER(5) = 29256
CALL STATI"SCATPARMS",RSEQ,IER)
IFIIER.EQ.l) GO TO 5
TYPE"< 7> ERROR* COULD NOT LOCATE FILE SCATPARMS...WILL CREATE"
TYPE "J-LOOP PARAMETERS s 1,11,3 L-LOOP PARAMETERS : 1,361,7-
JNIN = 1
JMAX = 11
JINT = 3
LMIN = 1
LMAX = 361
LINT = 7
CALL OPEN 13,"SCATPARMS",3,IER)
WRITE(3,91)JMIN,JMAX,JINT,LMIN,LMAX,LIHT
CALL CLOSE 13)
GO TO 6
; CALL 0PENI3,"SCATPARMS",1,IER)
READ(3,98)JMIN,JMAX,JINT,LHIN,LMAX,LINT
CALL CLOSE(3)
> DO 11 1=2, 360, 2
ORDER!I) = 1/2
11 ORDER!1+1) = -ORDER II)
ORDER!1) = 0
IF(IAUTO .EQ. 1) GO TO 26
TYPE "ENTER SYMBOL TO USE FOR CLASS 1 IN THE SCATTER PLOT"
READ 111,99) ISYMB(l)
TYPE ENTER SYMBOL TO USE FOR CLASS 2 IN THE SCATTER PLOT-
READ (11,99) ISYMB(2)
6 WRITE!10,27) ISYMB
7 FORMAT IIX,"SCATTER PLOT SYMBOLS : I",A1,",*,A1,")")
HSC1 = 8.5 HSC
VSC1 = 0.5 VSC
0 FORMAT(2814)
1 FORMAT(IX,2014)
9 FORMAT l Al)
NSAM = NP N
WE NOW HAVE THE DESIRED POINTS FOR EACH PARTITION/CHN COMBINATION.
ICN = JCHN
TYPE "<33>h<33>J
1500 IF 11AUTO .EQ. 1) GO TO 1505
ACCEPT "<33>h<33>JCHANNEL NUMBER OR ZERO TO STOP : "ICN
1505 IC = 99
DO 1510 1=1, NCHN


non o o o o o o r> o o ooooooooo ooooo
214
File Listing Utility Prograa: DVEST Page 3
130 TYPE -*PR£-STORED ACROSS SESSION SETUP*
STOP
STANDARD WITHIN SINGLE SESSION SETUP.
175 IF(IAUTO .EQ. 1) GO TO 176
TYPE 'ENTER SESSION NUMBER-
READ (11,110) NUMBER
176 WRITE(10 ,177) NUMBER
177 FORMAT(IX.SESSION NUMBER : ,A1!
NS = 1
SN(1J = NUMBER
MB = 0
DO 180 1=1, NCL
MB = MB + NSCLd)
180 MS(1,1) = NSCL(I I
MB = MB ^ NCL
SSN(11 = NSTRT
WRITE(18,185) NUMBER, NSTRT
WRITE(10,198) NOS, MCL, (MSCL(I), 1=1,MCL)
WRITE(10,195) NOT, NCL, (NSCL(I), 1=1,NCL)
185 FORMAT(IX,-SESSION NUMBER : *,A2,SX,-STARTING SENTENCE NUMBER : -,I3)
190 FORMATUX,-* SENT : -,I4,5X,- CLASSES : -,I2,SX," SENT^CL : *,413)
195 FORMAT(IX,TRIALS : -,I4,5X, CLASSES s ,12,SX,'TRIALS/CL ; ,413)
SETUP D.V. FILENAME.
C0VFC3) = SERIES NUHBER/'ZS 32
C0VF6) = 0
FOR EACH OF TWO POSSIBLE SOURCES(K=l AVG COV. L K=2 AVG TOEP COV.).
DO 2000 K = 1 2
C0VF2) = SUBJIN2)
DO 1008 IC = 1 NCHN
COVF(l) = FTYP(1=K) + SUBJIN(1)/256 32
ICH = ICHN(IC)
COVF(S) = 256*(ICH+48) + 65
FOR EACH OF TWO CLASSES.
C0VF(4) = JSYNC + (48+CLASS(1)) 32
WRITE(10,210) COVF(l)
210 FORMAT(six,-Covariance File Cl : *,S10)
CALL OPEN(3,COVF,1,IER)
READ BIHARYO) Cl
CALL CLOSE(3)
C0VF4) = JSYNC + (48+CLASS(2)) 32
WRITE(10,220) COVF(l)
220 FORMAT( 1X,-Covariance File C2 s ,S10)
CALL OPEN(3,COVF,1,1ER)
READ BINARY(3) C2
CALL CLOSE(3)
CREATE UPPER DIAGOHAL MATRIX A FROM 0.5*(C1+C2)
IQ = 1
DO 250 J = 1 N
DO 250 I = 1 J
IQR =1+1 +(J-1)*N
A(IQ) = 8.5*( Cl(IQR) + C2(IQR) )
IQ = IQ + 1
CONTINUE
A 0 FOR THE LAST ARGUMENT OF EIGEN COMPUTES BOTH E-VALUES AND E-VECTORS.
380
305
315
318
320
CALL EIGEN(A,R,N,0)
CONTINUE
WRITE(10,305)
FORMAT(IX,-Eigenvalues of the Covariance Matrix CW1 = CC11 + CC2I*)
WRITE (10,310) (Ad),1 = 1,N)
WRITE(18,315) (1,1=1,18)
FORMAT(lX'Eigenvec tors of CW1 (ei)*'1X,9(3X,"e,11,3X),3X,"e-,12)
WRITE(10,320) R
FORMAT(10F8.0)
FORMAT(10F8.3)
DO 380 1=1,
A(I) = Ad + IQ)
IQ = IQ I


71
series of experiments reside in disk 301. If we choose to process one
channel, say Cz, using episodic session 1 for design and session 3 for
test, response-lock, the following files will be generated:
Program Number x Size in Bytes Files
COVEST
9
X
404
CJNLE1R161 -
CJNLE1R169
9
X
404
CJNLE1R261 -
CJNLE1R269
9
X
404
TJNLE1R161 -
TJNLE1R169
9
X
404
TJNLE1R261 -
TJNLE1R269
2
X
404
CJNLE1R16A,
CJNLE1R26A
2
X
404
TJNLE1R16A,
TJNLE1R26A
9
X
44
UJNLE1R161 -
UJNLE1R169
9
X
44
UJNLE1R261 -
UJNLE1R269
DVEST
9
X
84
VJNLE1RA61 -
VJNLE1RA69
9
X
84
VJNLE1RT61 -
VJNLE1RT69
9
X
84
VJNLE1RD61 -
VJNLE1RD69
9
X
84
VJNLE1RM61 -
VJNLE1RM69
1
X
320
FEATURES
SCATTER
2
X 15552
DESIGN, TEST
1
X
80
CLASSIFIER
For a complete
design
session
(all channels processed), approxr
mately 1500 disk blocks are required (3/4 MB).


254
File Listing Utility
Progra*: SCOPE
Page 2
. IDEF
IDENTIFY USER DEVICE
JMP
0,3
ERROR RETURN...DEV CODE IN USE
JMP
1 ,3
5
NORHAL RETURN
t
5
DACV INTERRUPT HANDLER
IHAND:
STA
0, AC0
SAVE AC0
STA
1 PCI
SAVE AC1
STA
2.AC2
SAVE AC2
HVL
0,0
SAVE CARRY
STO
0,CARRY
BIT IS IS CARRY BIT
SKPDZ
DACV
IS DONE BIT ZERO?
JMP
TEST
NO...WE ORE DONE
DIAC
0,DPCV
GET STATUS WORD t CLEAR
JMP
RETRN
SOME OTHER INTERRUPT
TEST:
DIAC
0,DACV
GET STATUS WORD 4 CLEAR
LDA
1,LCHSK

LOAD LATE CONV MASK WORD
AND*
0,1,SNR
9
IS LATE CONV BIT ZERO?
JMP
RETRN
YES. .RETURN
JSR
0UTT
5
PRINT DATA LATE ERROR
ERHSG
ERROR MESSAGE
RETRN:
LDA
0,CARRY
RESTORE CARRY
HOVR
0,0
LDA
0, AC0
RESTORE AC0
LDA
1 PCI
RESTORE AC1
LDA
2 AC2
RESTORE AC2
INTEH
ENABLE INTERRUPT SYSTEM
.UlEX
RETURN TO USER ENVIRONHENT
ERHSG:
TXT
DATA LATE<15><12>*
LCMSK:
IBS
LATE CONVERSION MASK
PC0:
0
SAVE PREP FOR PC0
ACl :
9
;
SAVE AREA FOR AC1
flC2:
9
SAVE AREA FOR AC2
CfiRPY:
e
5
SAVE AREA FOR CARRY BIT
!nPHE:
.4-1*2
BYTE POINTER FOR CONSOLE NOME
TTYN:
TXT
**TTO *
AINS1:
SKPBZ
TTOl
2ND TTY INSTRUCTION CHANGE
AINS2:
DOAS
9,TT01
2ND TTY INSTRUCTION CHANGE
AIMS3:
DIA
0,TT11
;
3RD TTY INSTRUCTION CHANGE
TT:
VTTO
ADDRESS OF UTTO ROUTINE
DCODE:
DACV
9
DACV DEVICE CODE
i
FS
SCOPE:
JSR
9.CPYL
ESTABLISHES USER STACK
SUBO
9,0
CLEAR PC0
STA
0,0ERROR,3
SET ERROR RETURN TO 0
LDA
8, .NAHE
LOAD DEV NOME BYTE PTR
.SYSTH
COLL SYSTEM
.GCOUT
FIND CONSOLE NOME
JHP
OK
SOMETHING WRONG...IGNORE
LDA
0 TTYN+2
SEE IF THIRD BYTE NON-ZERO
MOV
0,0,SNR
NONZERO <==> TTIl/TTOl
JHP
OK
CONSOLE TTI^TTO
LDA
0,AI NS1
1ST INST TO CHANCE
STA
0,1NS1
5
CHANGE IT
LDA
0 AINS2
2ND INST
STA
9,1NS2
CHPNGE IT
LDA
0 ,AINS3
3RD INST
STO
0,1HS3A

CHANGE IT ONCE
STA
0,INS3B
;
CHANGE IT TWICE
OK :
NIOC
DACV
CLEAR DACV
STA
3,0C3
SAVE CONTENTS OF AC3
JSR
DIDEF
DEFINE DACV DEVICE AS USER DEVICE
JHP
INUSE
DEVICE ALREADY IN SYSTEM
LDA
3, AC3
RESTORE PC3
ADC
1,1
;
GENERATE A -1 IN 0C1
LDA
0,IPRRY,3
;
PUT IN PC0 ADDRESS OF INPUT ARRAY
ADD
0,1
PUT IN ACl ADDRESS OF INPUT ARRAY -
LDA
0,@NSTRT,3
PUT IN OC0 THE STORTING INDEX
ADD
8,1
OFFSET STARTING ADDRESS BY STORTING
STA
1 IORRY ,3
;
STORE STPRTIMG 9DDRESS IN STRCK
LDA
0,0CLOCK,3
LOAD CLOCK BITS IN PCS
ADCZL
1,1
GENERATE -2 IN ACl
LDA
2.INTM
LOAD INT CLOCK MODE
ADD
1,0,SZR
ASSUME EXT CLOCK IF NOT 2
LDA
2.EXTN
EXTERNAL CLOCK
LDA
0,@SMOBE,3
LOAD SCOPE BIT FLAG
MOV
9,1 SHR
SKIP IF NON-SCOPE MODE
JMP
HODEW
5
MODE WORD IS FINISHED


Figure 5-9
Subject RCP, Series R, Session 1, R-Lock


99


TABLE OF CONTENTS
Page
ACKNOWLEDGEMENTS iv
ABSTRACT viii
CHAPTER
I OVERVIEW OF CPVER 1
1.1 Introduction and General Objectives
1.2 Single Visual Evoked Responses!
A Signal Processing Perspective 5
1.2.1 Signal Extraction Methodology 7
1.2.2 Signal Classification Methods 9
1.2.3 A Framework for Real-Time Classification. 10
1.3 Technical Approach 14
1.3.1 Functional Specification of CPVER 14
1.3.2 Software Overview 17
1.3.3 Equipment Overview 19
1.4 Preview of Remaining Chapters 21
IIIMPLEMENTATION OF CPVERTHE DATA COLLECTION
SUBSYSTEM 22
2.1 Introduction 22
2.2 Data Collection Subsystem Overview 22
2.3 Experimental Application Overview 23
2.4 Real-Time Stimulus Presentation and EEG
Data Collection 25
2.5 Data Averaging and Display 37
2.5.1 The EEG Data Averaging Module 37
2.5.2 EEG Data Display Module 39
2.5.3 Single Epoch Display 41
2.6 Data Storage Conventions 41
III IMPLEMENTATION OF CPVER DATA PROCESSING SUBSYSTEM ... 44
3.1 Introduction 44
vi


I certify that I have read this study and that in my opinion it
conforms to acceptable standards of scholarly presentation and is fully
adequate, in scope and quality, as a dissertation for the degree of
Doctor of Philosophy.
Donald G. Childers, Chairman
Professor of Electrical Engineering
I certify that I have read this study and that in my opinion it
conforms to acceptable standards of scholarly presentation and is fully
adequate, in scope and quality, as a dissertation for the degree of
Doctor of Philosophy.
PLuJL
u/.
Nathan VT.
Professor
Perry, Jr.
of Psychology
I certify that I have read this study and that in my opinion it
conforms to acceptable standards of scholarly presentation and is fully
adequate, in scope and quality, as a dissertation for the degree of
Doctor of Philosophy.


76
point, the experimental session number and the choice
of feature extraction methodology on a disk file. The
following RDOS command sequence accomplishes this task:
EPIN.SV
[creates episodic sentence file]
EXPDRIVER.SV
[invokes the data collection
subsystem, creates file ANSWERS]
EEGDSPL.SV
[produces 3-D display]
4) If after the visual inspection of the EEG the data is accept
able, proceed with the automatic classifier design by invoking
the data processing modules with the following RDOS sequence:
COVEST.SV
[calculates covariances]
DVEST.SV
[calculates discriminant vectors
and creates file FEATURES]
SCATTER.SV
[designs classifier and stores it
in file CLASSIFIER]
5) Invoke the data collection subsystem for on-line classification
by setting the REALTIME flag and invoke the experiment driver
module with the following RDOS command sequence:
DELETE REALTIME AUTO
XFER ONE REALTIME
XFER ZERO AUTO
EXPDRIVER.SV
The default "on-line" module for the experiment driver (module
A9 of Figure 2-1) tallies the number of misclassification errors and


221
File Listing Utility
ISHFT = SHIFT(1)
TYPE "STIMULUSLOCK
GO TO 125
128 ISHFT = SHIFT 21
TYPE RESPONSE-LOCK
C
C DECIDE IF ACROSS SESSIONS.
C
Cl25 ACCEPT "DO YOU WISH TO CALCULATE COVARIANCES RCROSS SESSIONS? : ",IRNS
C IF(IRHS .EQ. 01 GO TO 175
125 CONTINUE
GO TO 175
C
C ACROSS SESSIONS....PRE-DETERMINED ORDER AND SETUP
C
130 TYPE "*PRE-STORED ACROSS SESSION SETUP*"
STOP
C
C STANDARD UITHIN SINGLE SESSION SETUP.
C
175 IF(KDT.EQ.1.AND.IRUTO .EQ. 1) GO TO 176
TYPE "ENTER SESSION NUMBER"
READ(11,99) NUMBER
176 WRITE(10 ,177) NUMBER
177 FORMATdX,"EXPERIMENTAL SESSION HUMBER : *,A1)
HUM(KDT) = NUMBER
NS = 1
SN(1) = NUMBER ~
DO 180 1=1, NCL
180 MS(1,1) = NSCL(I)
SSN(l) = NSTRT
* WRITE(10,185) NUMBER, NSTRT
WRITE(18,198) NOS, MCL, (MSCL(I), 1=1,MCL)
WRITE(10,195) NOT, NCL, (NSCLCI), 1=1,HCL)
185 FORMATdX,"SESSION NUMBER : ",A2,SX,"START INC SENTENCE NUMBER : ",I3)
190 F0RMAT(1X,* SENT : ",I4,5X,"* CLASSES : ,I2,5X,* SENT^CL : *,413)
195 FORMATdX," TRIALS : ",I4,5X,"* CLASSES .- 12 ,SX, TRIALS'CL : ",4I3)
C
C SETUP D.V. FILENAME.
C
200 IF(KDT.EQ.2) GO TO 240
COVFd) = FTYP (5) + (SENTF(l)-SENTF (13x256*256) 32
COVF(2) = SENTF(2)
COVF(3) = SERIES + NUMBER^256 32
COVF(6) = 0
C
C FOR EACH OF TWO POSSIBLE TYPES.
C
COVF(4) = JSYNC FTYP(S+KTYP1^256 32
COVF(5) = 12336
WRITE (10 ,229) COVFd)
220 FORMATdX,"D.V. FILE -,S10)
BO 235 IC = 1 NCHN
DO 235 L = 1 HP
COVF (5) = (ICHN( 10+48) *256 + (48+L)
CALL OPEN(3,COVF,1,IER)
READ BINARY(3) A
CALL CLOSE(3)
DO 230 I = 1 N
230 DV(I,L,IC) = A(I+1)
235 CONTINUE
C TYPE "DISC VECTORS FOR EA PARTITION"
C DO 236 IC = 1 NCHN
C DO 236 L = 1 NP
C 236 WRITE(10,237) L,(DV(I,L,IC),1 = 1,N)
C 237 FORMATdX, 12,2X.10F7.3)
C
C FOR EACH OF THE TWO CLASSES.
C
240 IF( REDRAW.EQ.0 ) GO TO 245
DO 242 1 = 1 ,2
242 NSENT(I) = NSCL(I)
GO TO 1200
245 DO 1000 KCLAS =1,2
K = CLASS(KCLAS)
SENTNO(l) = 12336
SEMTN0I2) = 12337
NSE = 0
MX = 0
DO 250 I = 1 K
MX = MX + MSCL(I)
Progra*: SCATTERl
Page 4
WINDOW W.R.T. SYNC POINT ",ISHFT
WINDOW W.R.T. SYNC POINT : ",ISHFT
250


185
disk unit is device DP4F (the controller is reconfigured for
device code 73, the second moving-head disk controller in the
system). Data collection is normally invoked from the
directory residing in the "removable" 6070 unit, (a 10MB disk
cartridge) RDOS device DP4.
Because of the large disk space demands of a CPVER data
collection effort, it will be necessary, on occasion, to intro
duce fresh (unused) disk packs into the system. A "new"
pack ( or unused) must first be formatted using the RDOS
DKINIT.SV stand-alone system program. This module is invoked
at sign-on or by the RDOS command, BOOT DKINIT, once signed
on. The new pack, once formatted, must have a disk boot
strap installed in it. This is done at sign-on with the
module BOOT.SV or with the RDOS command, BOOT BOOT, once
signed on. To install the CPVER system on a new pack, once
signed on, invoke the following RDOS pseudo-macro CRENEWDSK.MC,
which performs a full initialization (INIT/F) on the disk pack
and moves (MOVE/V/R/A) to the "new" DP4 the CPVER modules and
pseudo-macros. CPVER disk packs are labelled sequentially,
beginning with CPVER disk 300.
For example, let us introduce CPVER disk 304 into the
system, assuming a fresh 6070 disk cartridge is available.
The following RDOS command sequence will accomplish this
task (user inputs are underlined for convenience). Turn on
the Nova 4, operator's console, DGC 4047B disk unit, and mount
the fresh pack on the DGC 6070 disk unit.


224
Tile Listing Utility Progra*: SCPTTER2 Page 2
IF( ICN .EQ. ICHN(I) ) IC = I
1510 CONTINUE
IF(IC.GT.NCHN.OR.IC.LE.0) GO TO 5008
IF(IAUTO .EQ. 1) GO TO 1685
1600 ACCEPT "1ST FEATURE TO PLOT OR ZERO TO CHANGE CHANNELS : *,L1
IF(L1.LE.0.OR.L1.GT.NP) GO TO 1500
ACCEPT 2ND FEATURE TO PLOT OR ZERO TO CHANCE 1ST FEATURE : ,L2
IFCL2.LE.0.OR.L2.EQ.L1.0R.L2.GT.NP) GOTO 1608
1685 WRITE(10,1610) ICN, LI, L2
1610 FORMATI1X,PROCESSING CHANNEL : *,I2,5X,*FERTURES : l,11,*,",11,*)* 1
IC1 = 8
IC2 = 0
DO 1758 KDT =1,2
CALL OPEN(3,FILE(1,NAX0KDT-IAUTO+MANUAL,1)1,1 ,IER)
READ BINARY(31 F
CALL CLOSE(3)
DO 1728 K = 1 2
NPT = NSENT(K)
DO 1720 1=1, NPT
IX = F(I,L1,IC,K)
IY = Fd,L2,IC,K)
IF(IABS(IX) .GT. IC1) IC1 = IAES(IX)
IFCIABS(IY) .GT. IC21 IC2 = IABS(IY)
PTSd ,1,K,KDT) = F d ,L 1 IC ,K)
PTSI,2,K,KDT1 = F(I,L2,IC,K)
1720 CONTINUE
1750 CONTINUE
1755 FORMAT( X-MAX:,15,3X,"SCALE:*,F5.2,SX,"Y-MAXs,15,3X,"SCALE:,F5.2)
SCI = (HSC1-10.*HSC^VSC)'IC1
SC2 = (VSC1-18.1/1C2
URITE10,17551 IC1, SCI, IC2, SC2
J1 = 0
J2 = 0
K1 = 0
K2 = 8
11 = 0
12 = 0
1768 KDT = 1
IFdAUTO.EQ.il GO TO 1764
TYPE *<33>*dEFINETUNE(F) OR DESIGN(Dl OR TEST(T1 SET?*
READ(11,991 M
KDT = 1
IF (M .EQ. *T *1 KDT = 2
IF(M.EQ.*F 1 ACCEPT "ENTER LOCN(J-LOOP! t, ANGLE (L-L00P1 PARAMETERS(6)
X ,JMIN, JMAX, JINT, LMIN. LHAX, LINT
IF(M .HE. *D .AND. M.NE.'T .AND. M.NE.'F "1 CO TO 1508
1764 WRITE(10,17651 FILE(1,KDT)
1765 FORMAT(IX,"<33>-*dA",S6,* SET*,*<33>*dF")
DO 2008 K = 1 2
HPT = NSENTK1
AC1 = 8
AC2 = 0
DO 1980 1=1, NPT
AX = PTSd ,1 ,K,KDT)*SC1 MIN0(HSCi+188,360)
AY = PTS(I,2,K,KDT)*SC2 + VSC1
IX = AX
IY = AY
CALL SDRAW(ISYMB(K),IX+S-S*K,IY+7-7*K)
AC1 = AC1 + AX/NPT
AC2 = AC2 AY^NPT
1900 CONTINUE
COORDd ,K)=AC1
COORD(2,K)=AC2
2000 CONTINUE
IF(KDT-EQ.21 GO TO 3000
CALL SDRAW(CENTER ill ,IFIX(COORD(1,11-3) ,IFIX(COORD(2,11-5)1
CALL SDRAW(CENTER(2),IFIX(COORD(1,2)-3),IFIX(COORD(2,21-5)1
CALL LDRAWd IFIX (COORDd ,1)1 IFIX (COORD (2,11 1 ,
X IFIX(COORD(1,2)1, IFIX(COORD(2,2)I 1
SLB = (COORD(2,2)-COORD(2,1)1/(COORD(1,2)-COORD(1,1)1
BB = COORD(2,1)SLB*COQRD(1,1)
THETA = ATAN(-1.SLB)
ITH = IDEG( RTAN(SLB) 1
DO 2100 J = 1 361
2100 TANGCJ) = TAN( THETA + ORDER(J)*CDR 1
WRITE(10,2200) SLB, BB, ITH
2200 FORMAT(* BI-SECTOR LINE Y = *,F6.2,"X *,F6.2,4X,*ANGLE:*,14)
BC1 = 0.5=(COORD(1,1)+COORD(1,2)1
BC2 = 0.5*(COORD(2,1)+COORD(2,2)1
WRITE(10,2210) BC1, BC2
2210 FORMAT (" MID-POINT COORDINATES C,F6.2," *,F6.2,* )*)


84
without shifting (response-lock). Since there were 8 msec between
samples, this gave a 90 component measurement vector, e.g., N = 90 for
each EEG data channel. This measurement vector dimension was determined
empirically by considering several factors. First, initially it was
desired to include the P300 component in the ERP (i.e., the positive
300 msec peak). Second, it seemed wise to place some upper limit on
the dimensionality of the measurement vector. This observation window
can be shifted at will, therefore, this does not impose any limitation
on exploratory data processing. Thirdly, this 720 msec measurement
interval closely approximates the overall spread of the subject's
responses [11].
The data was divided into two equal sets, a design set of
samples/class and a test set of samples/class. Usually = 36
for the experiments conducted (subjects on occasion did not respond
early enough in the measurement interval to allow the full 720 msec
observation window for response-aligned data processing) using CPVER.
The design set is used to determine both the features and the classifier.
To reduce the dimensionality of the observation vector as compared to
the number of samples per class, the measurement vector was partitioned
into K segments of length L (N = KL) such that the ratio M/L _> 3. The
partition size was chosen as L = 10, yielding a reduced nine-element
observation set. The size 10 was selected after conducting experiments
on the correlation between successive samples, etc.
One or two discriminant vectors (features) were calculated for
each partition of dimension 10. A criterion value (a type of signal-
to-noise ratio) was computed for each feature. The two features with
the largest S/N ratios were usually chosen for the representation.


63
Submodule FI initializes and sets up the DVEST program. This
submodule is identical in structure to submodule El, described in
Section 3.5.1. The discriminant vector filenames adhere to the con
vention discussed in Section 3.7.
Submodule F2 forms the joint average across partitions covariance
matrix W and obtains the eigenvalues and eigenvectors by invoking sub
routine EIGEN (available from the IBM FORTRAN Scientific Subroutine
Package, see the appendices for detailed documentation). The sub-
module displays the eigenvalues and eigenvectors on the operator's
console upon exit.
Submodule F3 implements steps 3 and 4 of Table 3-2, the discriminant
analysis method. The procedure is implemented with subroutines FEAT,
VECROT and INVERSE. The outputs of the submodule are the criterion
values J (S/N ratios) and the two feature vectors for each partition.
Submodule F4 calculates the Fisher ratios for the UF method using
Equation 3-4, obtains a set of indices for the decreasing order of Fisher
ratios, computes r(mo) by increasing m^ until ICm^) does not change by
more than a threshold (5%), and evaluates the criterion J(m ) and b
o o
(the feature vector). The submodule invokes subroutine SORT to calcu
late the eigenvector/eigenvalue order according to the decreasing value
of the set of Fisher ratios {y.}.
i
Submodule F5 displays the filenames used to store the feature
vectors and writes the set of features from the algorithms out to disk.
The process, from submodule F3 on, is repeated for each partition. The
procedure, from submodule F2 on, is repeated for each channel and covar
iance matrix type combination.


280
File Listing Utility Program: ONLIHEDEMO.MC
DELETE REBLTIME BUTO IHDV REDRBU
XFER ONE BUTO
XFER ZERO INDV
XFER ZERO REDRBU
XFER ZERO REBLTIME
DEHOEXP.SV
COVEST.SV
DVEST.SV
SCBTTER1.SV
DELETE REBLTIME BUTO
XFER ONE REBLTIME
XFER ZERO BUTO
DEMOEXP.SV
Page


156


140


TO LYDIA


15
Figure 1-1 CPVER Functional Diagram


35
allows for the off-line storage of commands that will, in fact, cause
the HP to perform operations asynchronous from the host computer.
Function keys FI, F8 and F2 load the subject term into graphics memory
while inhibiting the display; keys F3 and F4 turn on the graphics
display for 400 ms, turn it off, and load the verb into graphics
memory; keys F5 and F6 turn on the graphics display for 400 ms, turn
it off, and load the object term into the graphics memory; and key F7
turns on the graphics display for 400 ms, turns it off, delays for 2
seconds, then places an asterisk on the fixation box. Timing signals
are derived from the BELL character which is triggered by F8, F3, F5,
and twice by F7. After adjusting the real-time clock (A/D system turns
it off), the system writes the data on disk, stores the new sentence
in keys F2, F4 and F6 and triggers key FI in preparation for another
trial.
Module A7 examines the eyeblink channel for a threshold violation,
the timing channel for missing timing pulses or response pulse,
examines the response pulse for the proper polarity, and determines
if the operator has requested a keyboard interrupt. If any of these
conditions exist, the system will reschedule the trial for later
presentation. The subject is given visual feedback in the case of
eyeblinks, no response, or erroneous response. The system pauses in
the case of missing timing pulses or operator keyboard interrupt
request, and the entire screen is erased. A message that is not
visible to the subject is displayed for operator intervention. The
operator has the option of aborting (in the case of equipment failure)
or making adjustments and continuing with the session.


oo on non ooo o on ooo nonn non oo ooo non nnnnn
213
File Listing Utility
Program: DVEST
Page 2
WRITE(10,30) IER, SPECF(l)
38 FORMAT(IX,"ERROR* IER : ,13,2X,"SPECIFICATION FILE : *,S8,2X,N0T FOUH
PAUSE "SIGH OH TO ANOTHER USER AND TRAHSFER FILE TO BP4"
GO TO 18
TABLE AVAILABLE AND ASSIGNED TO UNIT 1.
SERIES : EXPERIMENT SERIES (E-EPISODIC, R-REPLICATION, ETC.)
FTYP CD-BATA, C-COVARIANCE, U-HEAN VECTOR, V-DISC VECTOR, T-TOEPLITZ)
S0 CALL OPENd ,SPECF, 1 ,IER)
READ(1,68) SERIES, FTYP
60 FORMAT (///////.'40 (Al IX) )
NTCH s NUMBER OF THE TIMING CHANNEL CHIB : NAME(ID) FOR 3 CHANNELS.
READ1,?0) NTCH, ((CHID(I,J), 1=1,2), J=1,8)
FORMAT (^^44X, 12,16A2)
NOS : OF SENTENCES NOT : OF TRIALS/'SESSION
MCL : OF SENTENCE CLASSES MSCL i OF SENTEHCES/CLASS
NCL : OF SESSION CLASSES NSCL s OF SENTENCESYCLASS
REAB1,80) NOS,NOT,NSTRT,MCL,(MSCL(I),1=1,HCL),NCL,(NSCL(I),1=1,NCL),
X (CLASS(I),1=1,MCL)
IF( MCL.LE.2 .OR. IAUTO.EO.l ) GO TO 85
TYPE "<7>********HULTI-CLASS EXPERIMENT*****-
TYPE ** CLASSES : 1-TA, 2-FA, 3-TN, 4-FN*"
TYPE *************************************
7 ACCEPT *ENTER 1ST CLASS TO PROCESS s ",CLASS(1)
ACCEPT "ENTER 2ND CLASS TO PROCESS -. *,CLASS(2)
IF(CLASS(1).EO.CLASSI2) -OR. CLASS(1).LE.8 .OR. CLASS!1)-GT.MCL
X .OR. CLASS2).LE.8 .OR. CLASS2) .GT.MCL) GO TO 77
¡0 FORMAT (S20I4)
IPOS : POLARITY OF RESPONSE PULSE (+1 TRUE POSITIVE HIGH)
8S READ(1,80) I,I,I,I,I,I,IPOS
HP : PARTITIONS N : DIMENSION WINDOW SHIFT FOR : S-LOCK, R-LOCK
NCHN : OF CHANNELS TO PROCESS ICHN s CHANNEL NUMBER TO PROCESS
READ(1 ,90) HP, N, SHIFT, HSC, VSC, NCHN, (ICHN(I), 1 = 1,NCHN)
90 FORMAT(2014)
NSAM = HP N
SUBJECT'S INITIALS (3)
IF(IAUTO .EQ. 1) GO TO 101
TYPE "ENTER : SUBJECT'S INITIALS(3)*
READ(11,110) SUBJIN
101 WRITE(10,112) SUBJIN
118 FORMATA1,A2)
111 F0RHRT(1X,A1,02)
112 FORMAT(IX,"SUBJECTS INITIALS : ",A1,A2)
DECIDE ON SYNCHRONY POINT.
116
117
IF IOUTO .EQ. 1) GO TO
TYPE "STIMULUS-LOCK(S)
READ(11,110) JSYNC
CONTINUE
IF(JSYNC .EQ. "R ") GO
IF(JSYNC -HE. "S ") GO
117
OR RESPONSE-LOCK(R)?"
TO 120
TO 116
STIMULUS LOCK.
ISHFT = SHI FT(1)
TYPE "STIMULUS-LOCK
GO TO 125
128 ISHFT = SHIFT(2)
TYPE "RESPONSE-LOCK
WINDOW W.R.T. SYNC POINT : ".ISHFT
WINDOW W.R.T. SYNC POINT : ",ISHFT
DECIDE IF ACROSS SESSIONS.
125 CONTINUE
ACCEPT "DO YOU WISH TO CALCULATE DISC. VECTORS ACROSS SESSIONS?: ",IAHS
IF(IANS .EQ. 0) GO TO 175
GO TO 175
ACROSS SESSIONS....
PRE-DETERMINED ORDER AND SETUP


144


7
4) Analysis of relati
regions caused by
discriminant analy
caused by the same
Cluster Analysis,
inant functions ar
tween groups of su
"a-priori" classes
1.2.1 Signal Extraction Me
The simplest model of
an (assumed) invariant sign
geneous data the method of
nships between signals in different
he same stimulus or between successive
signals in the sami region caused by successive or different
stimuli. Factor Aialysis, sorting methods and stepwise
is can be used to classify ERPs to
successive or different stimuli.
5) Analysis of relati (nships between signals in the same regions
stimuli delivered to different individuals,
actor Analysis, Multiple ANOVA or discrim-
i methods used to describe differences be-
ijects identified as members of different
:hodology
in evoked response consists of the sum of
il and random background noise. For homo-
response averaging may be a valid procedure
for extracting the signal f rom the noise in which it is imbedded. This
model is quite valid for an isthetized subjects, and for the short
latency contributions to ER 5s which reflect sensory processes. It is
least valid for the longer latency components associated with cognitive
activity. The average ERP, however, may be quite useful in the ident
ification of certain types of artifacts.
1) The following methods are recommended as precautionary
measures for the detection of artifacts by John et al. [13].
First, it is highly advisable to examine visually at least
a representative sample of single ERPs. The vertical array


264
File Listing Utility
File Attributes
Page 1
LIST/A/E RSPEC
RSPEC
ESPEC
ANSWERS
ONE
ZERO
SCATPARHS
PARAMETERS
R
LIST/A/E RSENT
RSENT
EPISODIC
CLASSIFIER
FEATURES
R
ESPEC ANSWERS ONE ZERO SCATPARNS
682 10/25/81 20:30
661 10/25/81 19:35
24 D 10/25/81 21:15
2 PD 07/29/81 11:48
2 P 07/29/81 11:48
25 D 10/17/81 10:04
2364 D 10/25/31 18:22
EPISODIC CLASSIFIER FEATURES
4922
2240 P
68 D
616 D
10/17/81 20:05
83/12/81 13:13
18/24/81 11:37
10/25/81 21:21
PARAMETERS
10/25/81
18/26/81
10/26/81
10/26/81
10/26/81
10/25/81
10/25/81
10/26/81
10/26/81
10/24/81
10/2S/81
I021160I
1020205]
C831S13]
I020704]
1020772]
[023517]
[040456]
C042313J
[002715]
[040515]
[025576]
LIST/A/E DP4:
DP4:DESIGN
15552
D
10/25/81
00:30
10/25/81
[010451]
DP4:TEST
R
15552
D
10/18/81
21:39
10/18/81
[031641]
LIST/A/E ,COVEST,SCATTERl
,SCATTER2,
DEMOEXP
,EEGDSPL,I
EPIN,ADTES'
DVEST.SV
29696
so
10/24/81
14:46
10/24/81
[030434]
COVEST.SV
35840
SD
10/23/81
11:19
10/23/81
[0202111
SCATTER1.SV
36352
SD
10/23/81
11 :21
10/23/81
[048007]
SCATTER2.SV
19456
SD
10/24/81
13:03
10/24/81
[040061]
DENOEXP.SV
38720
SD
10/23/81
09:43
10/23/81
[0408151
EECDSPL.SV
27136
SD
10/23/81
09:42
10/23/81
[020317]
EPIN.SV
9216
SPD
03/12/81
13:14
06/26/31
[0026161
ADTEST.SV
18432
SD
10/88/81
11:35
10/08/81
[0437051
LIST/A/E EPINPUT.SV
EPINPUT.SV
R
0:EPIN.SV
CD 9 CD CD CD CD


123
Table 5-13
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplit z.
Page
- 1
Sub}iRCP,
SeriE r
Seasi1
, ChmS
CZ, R-L0CK
C-700 ,
36 Samp/Cl, 10/25/81
-W
CL
1
2
3
4 5
6
7
8
9
Mk
4
5
2
2 2
5
5
10
2
Gamma
0.556
0.339
0.109
0.271 0.244
0.910
0.663
37.512
0.435
UF -fl
0.437
0.217
0.081
0.231 0.206
0.740
0.506
37.020
0.391
DA -fl
0.337
0.407
0.209
0.469 0.320
1.145
0.801
32.385
0.843
DA -f2
0.159
0.070
0.076
0.105 0.084
0.530
0.344
10.327
0.405


163
Table 5-27
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
T oep1itz.
Page
- 1
Subj:CJB,
Ser:E,
Sess:4
, Chn:6
o
N
w
R-LOCK
C-705 ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
2
6
3
4
4
2
4
6
2
Gamma
0.231
0.483
0.221
0.927
1.195
0.190
1. 006
2.466
0.360
UF -fl
0.193
0.318
0.158
0.793
1.055
0.155
0.869
2.221
0.313
DA -fi
0.618
0.899
0.315
1.065
1.959
0.414
2.075
2.417
0.519
DA -f2
0.266
0.230
0.141
0.388
0.788
0.168
0.290
1.080
0.095


non nn ooo
225
File Listing Utility Program: SC0TTER2 Page 3
PEd) = NSENT(l)
PE(2) = NSENT(2)
TH = NSENT(1) + NSENT(2)
DO 2800 J = JNIN ,JMOX, JINT
BC1 = 0.5*(COQRD(1,1)+COORD(1,2)) + ORBER(J)
BC2 = SLB*BC1 + BB
WRITE(18,22161 BC1, BC2
C IF(J.Ea.l) WRITE!10,2213) BC1, BC2
CALL SDRAW(CENTER(3),IFIX(BCl-3),IFIX(BC2-S>)
DO 2500 L = L1IN LMAX, LINT
PERTURBOTE BNGLE(SLOPE) OF THE PERPEHDICULBR BI-SECTOR.
SL = TflNGCL)
BL BC2 SL*BC1
TYPE "SLOPE OF PERPENDICULAR BISECTOR : ,SL
TYPE "Y-INTERCEPT : *,BL
JC2 = NIN8 (VSC-20 ,IFIX BL) 1
KC2 = 0X8(20,IFIX(SL*(NIN0(HSC+360,720)-10.)*BL))
JC1 = (JC2-BL)/SL
KC1 = (KC2BL) r'SL
CALCULOTE P.E.
X
X
X
X
2250
2275
X
C
DO 2250 K = 1 2
HPT = NSENT(K)
PET(K) = 0
PEN(K) = 0
DO 2250 1=1, NPT
OX = PTSd ,1 ,K,KDT)*SC1 + NIH0(HSC1+180,360)
OY = PTSd ,2,K,KDT) *SC2 + VSC1
AT = QX*SL + BL
IF ( (K.EQ.l) .OND. (SL.LE.8.0ND.0Y.LE.0T) .OR.
PEN(1) = PEN(1) + 1
IF( (K.EQ.2) .OND. (SL.LE.8-OND-OY.GE.AT) .OR.
PEN(2) = PEN(2) + 1
IF(IOUTO-HQNUOL.EQ.1) CO TO 2250
OX = PTSII,1,K,2)*SC1 + HIN0(HSC1+180,360)
OY = PTS(I,2,K,2)*SC2 + VSC1
OT = OXeSL + BL
IF( (K.EQ.l) .AND. (SL.LE.0-OND.OY.LE.OT) .OR.
PET1) = PET(1) 1
IF( (K.EQ.2) .OND. (SL.LE.0-AND.OY.GE.OT) .OR.
PET(2) = PET(2) 1
GO TO 2250
CONTINUE
TS = PEd) + PE (2)
TE = PEN(1) + PEN(2)
TT = PET1) + PET(2)
IF( TE.GE.TS ) GO TO 2300
SLOPE = SL
ITHE = IDEGTHETQ ORDER(L)*CDR)
B0 = BL
WRITE(10,2275) J, L, SL, BL, ITHE, TE, TT
FORMAT(" J:",13,2X, L:",I3,4X,Y = ",F6.2,"X
5X,"PE(D):",I3,3X,"PE(T):",I3)
TYPE "J: ",J," L: ",L," PED : ",TE, PET : "
(SL.GE.0.AND.OY.GE.OT) )
(SL.GE.8.AND.AY.LE.AT) )
(SL.GE.8.OND.OY.GE.AT) )
(SL .GE .0 .AND .AY .LE .AT) )
+ ",F6.2,4X,"ANGLE:",14,
,TT
K1 = KC1
K2 = KC2
J1 = JC1
J2 = JC2
11 = BC1
12 = BC2
PE(1) = PENd)
PE(2) = PEN(2)
COLL LDROWd ,J1 ,J2,K1 ,K2)
C IF(TT.GT.TN) GO TO 2500
GO TO 2310
2388 IF(TE.GT.TS.OR.TT.GE.TN) GO TO 2500
ITH = IDEG( THETA + ORDER(L)*CDR )
WRITE(10,2450) J, L, SL, BL, ITH, TE, TT
TH = TT
OSL = SL
OB0 = BL
OPE = TE
OKI = KC1
0K2 = KC2
Oil = BC1
012 = BC2
0J1 = JC1
0J2 = JC2
2310


37
pulse generator, 4) keyboard interrupt facility, 5) interrupt-disabled
FORTRAN "TYPE" statement, 6) interface to the operating system. These
routines are discussed in the appendices.
2.5 Data Averaging and Display
Nearly all the cognitive ERP work reported in the literature has
been done with averages [11]. Though the CPVER system was designed
for single epoch processing (unaveraged EEG records), the averaged
VER does provide an objective measure of validity, and a basis for
comparison with other research. Certain types of artifacts are better
identified on the averaged VER or on three-dimensional data displays
than by examination of the single epoch. Visual inspection of the
EEG data has been recommended by Childers et al. [17,19] and John
et al. [13].
Experimental session averages are obtained by invoking the
VERAVERAGE.MC pseudo-macro, and experimental session three-dimensional
displays by invoking VERDISPLAY.MC pseudo-macro. Single sentence dis
plays are obtained by invocation of the SVERDSPL.MC or the SVERTYPE.MC
pseudo-macro. The appendices provide detailed program listings of the
pseudo-macro commands and program modules.
2.5.1 The EEG Data Averaging Module
The EEG data averaging structure chart is depicted in Figure 2-2.
Module Bl's purpose is to define the default value of the loop param
eters to initialize the EEG array accumulators, and to input the


229
File Listing Utility Progra: SREAD Page 2
IF C NTP.LT.3 ) SO TO 140
C
C ALL TIMING PULSES ACCOUNTED FOR...SERACH FOR RESPONSE PULSE.
C
190 DO 200 J = ISP 511
ID IF = EEG NTCH, J+l) EEG(HTCH, J)
IF IABSHDIF) .GT.200 1 GO TO 225
200 CONTINUE
C
C SUBJECT DID NOT RESPOND.
C
URITE110,205) SENTF(11
205 FORMAT(IX,"SUBJECT DID NOT ANSWER SENTEHCE: ,S10)
IF( JS.EQ."S ) GO TO 250
210 TYPE "THIS TRIAL SENTENCE DELETED...SEARCH NEXT SENTENCE-
GO TO 10
C
C DECIDE IF RESPONSE IS IN CLASS 1(TRUE) OR 2(FALSE' BASED ON POLARITY.
C
225 IF( (IP*IDIF) .LT. 0 ) GO TO 235
URITE(10,230) SENTF(11
230
FORMAT(IX,"SENTENCE : ",S10,SX,"SUBJECT'S
GO TO 250
RESPONSE
IN
CLASS
1")
235
WRITE 10,240) SENTF(11
240
FORMATdX,"SENTENCE : ,S10 ,SX "SUBJECT S
RESPONSE
IN
CLASS
2")
C SYNCHRONIZATION SOFTWARE.
C
250 SYNCH(4) = J
INSF = 0
IWS = SYNCH(4) + ISH
IF( JS.EQ.-S ) IWS = SYNCH(3) ISH
IF(SYNCH(31 .GT. IWS) INSF = 1
IAVL = 512 IWS
IF( IAVL.GE.NS 1 GO TO 300
C
C REQUIRED SAMPLES EXCEED AVAILABLE.
C
WRITE(10,270) SENTF(1), NS, IAVL
270 FORMAT(IX,"FILE: ",S10.SX,"REQ. PTSs*,13,IX,"> AVAILABLE PTS:",I3)
GO TO 210
C
C STRIP OFF REQUIRED NUMBER OF SAMPLES.
C
300 DO 400 K = 1 NC
DO 400 J = 1 NS
V(K,J) = EEG( ICH(K), IWS J 1 )
400 CONTINUE
IER = 1
RETURN
EHD


30
those already described in the introduction. The experiment designer
not only designs the experimental paradigm, but also must interpret the
results; the engineers, computer scientists, technicians and operators
play a supporting role in this phase. The control of these parameters
stays with the experiment designer. Cognitive experiments must adhere
to this "modus operandi."
In line 9 of the parameter table, the experiment designer assigns
a one-character alphanumeric code to the series of experiments to be
conducted, e.g., S for the semantic experiments, E for the episodic
experiments, R for the replication of the semantic studies using the
same subjects as the espisodic experiments [17,19].
The file-type designators are assigned by the system designer.
These are arbitrarily assigned one alphanumeric character code desig
nation for each different type of data file required by the entire
system. The current file-type designator convention is: D for EEG
files, C for covariance files, T for Toeplitz estimator files, U for
mean vector files, and V for discriminant vector files. All system
data files use the maximum ten-character filename allowed by the RDOS
operating system. The first five file-type designators represent a
choice for the first character of the filename.
Lines 10, 11 and 12 contain rejection feedback messages to be
displayed back to the subject, for example, EYEBLINK! These lines may
be left blank (no subject feedback) at the discretion of the experiment
designer. In the episodic experiment series, messages were found to
improve the data collection effort and had a "calming" effect on the


152


31
subjects. The number and frequency of occurrence of eyeblinks gives
an objective measure of whether or not the subject is "good."
A reference channel number, default scale factors, eyeblink chan
nel number and threshold, the timing channel number and names for each
channel are supplied in line 13. The reference channel number and
default scale factors are described with the A2 and A3 Modules, the
eyeblink channel number and threshold, with the A7 Module. The choice
of a timing channel number is arbitrary, and is implied by the naming
of each channel, e.g., Channel 1 (F3) channel 2(F4), channel 3 (C3),
channel 4 (C4), channel 5 (EMG), channel 6 (Cz), channel 7 (EOG),
channel 8 (TIM).
Line 14 specifies a channel or sequence of channels where the
evoked response to the specified number of photic stimuli is collected,
digitized and averaged. In the episodic experiment series, fifty
repetitions collected on channel 6 (Cz) were used for this purpose.
Experiment-specific data are supplied in lines 15 and 16 of the
table. For the semantic experiment series, 144 different sentences
involving general knowledge constituted the master semantic set. The
subject was presented either four sessions of 72 sentences each or two
sessions of 144 sentences each. The semantic set consisted of sen
tences of four types (classes); true affirmative (TA) (e.g., A hammer
is a tool), true negative (TN) (e.g., A hammer is not a plant), false
affirmative (FA) (e.g., A hammer is a plant), and false negative (FN)
(e.g., A hammer is not a tool). Each class contained 36 sentences, 4
classes, 18 sentences per class. The two-session set consisted of 144
sentences, 4 classes and 36 sentences per class.


142
Table 5-21
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toep1itz.
Page
- 1
Subj:MAD,
Ser r E,
Sess:3
, Chn:6
o
N
i
S-LOCK
C 10),
36 Samp/Cl, 10/25/81
II
JmC
J*
CL
1
2
3
4
5
6
7
8
9
MIc
3
2
3
5
4
4
3
4
5
Gamma
0.281
0.309
0.521
0.500
0.428
0.604
0.352
0.598
0.610
UF -fl
0.211
0.268
0.437
0.357
0.319
0. 4*3
0.276
0.477
0.457
DA -fl
0.444
0.487
0.719
0.606
0.663
1.030
0.467
0.581
0.533
DA -f2
0.105
0.109
0.338
0.276
0.343
0.345
0.279
0.252
0.300


125


29
Line
Number
1-8
9
10
11
12
13
14
15
16
17
18
Table 2-2
Experiment Series Parameter Table
Contents
Format
Value of H.P. 2648A Terminal,
Series designator, file types
No response feedback message
Eyeblink feedback message
Wrong answer feedback message
Function Keys 1-8
S80
(1:10)
40(Al,IX)
S15
S15
S15
Reference channel,.default scale factors
eyeblink channel, eyeblink threshold, timing (II IX, 8F4.1,
channel number, four-letter names for the eight 12, F8.2, 12,
channels digitized 16A2)
First channel number, last channel number,
number of photic stimuli 2014
Number of sentences in set, number of trials,
starting sentence number, number of sentence
classes, number of sentences per class, number
of trial classes, number of trials per class 2014
Sentence master filename S15
Delay parameters (3); number of samples to
collect after: 1) fixation box, 2) subject
term, 3) verb term; polarity of the response
{+1, -1} 2014
Number of partitions, number of samples/
partition, rectangular window shift for
stimulus and response lock, horizontal and
vertical scale dimensions of the graphics
terminal, number of channels to process,
channel number of each channel to be pro
cessed 2014


The author acknowledges, that above and beyond all, the acceptance
of the Lord Jesus Christ as his personal Saviour has been the key to
any and all fruit of his endeavor and reserves any and all glory and
praise to the Almighty, Yahweh God.
v


159


169


97
Table 5-4
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toep
1 i t z .
Page
- 1
Subj:RCP,
Ser:R ,
Sess:1
, Chn:6
cz,
R-LOCK
C-70),
36 Sam
p/Cl, 10/25/81
Pic k =
1
2
3
4
5
6
7
8
9
Mk
3
3
4
2
3
5
6
8
5
Gamma
0.693
0.273
0.425
0.275
0.799
0.871
0.407
20.331
1.082
UF -fl
0.604
0.204
0.316
0.235
0.707
0.702
0.255
19.950
0.905
DA -fl
0.885
0.333
0.485
0.331
1.003
1.055
0.469
16.939
1.326
DA -f2
0.240
0.081
0.156
0.083
0.361
0.611
0.165
4.850
0.515


Sec tion 3E
CPVER DATA PROCESSING
so ftware


168
DISCRIHINRHT RNRLVSIS Y = -1.45X + 683.86 RHCLE: 1
TTT
TEST SET, SUBJiCJB, SER ;E SESSIOHil, CHH¡6 CZ R-LOCK SHIFT¡-79, FE~BT(7,5), PE=38x?2(18-T,26-F)
Figure 5-56 Scatter plots


54
Table 3-1
CPVER Feature Extraction/Classification AlgorithmUF Method
Item
Instruction
Partition the EEG observation vector x of dimension N into K
partitions k = 1, 2, . ., K of dimension L, e.g., N = KL
and x = { x^ | x?
x, }. x is a subset of samples
rC
extracted from the stimulus-aligned or response-aligned single
EEG record.
Estimate the covariance matrices for the ktk partition
ttl
and the i class from an experimental session of M samples/
class. Calculate the Toeplitz estimator for each
/\ /\ ^
Average across partitions the C and T to obtain C^. and
K.1 1
ki
1^ 5 6 O 5
- i? ~ i 5 *
C. = E C. T = E T. .
1 \=1 kl 1 Kk=l kl
Calculate mean vectors u for each partition.
~^k
Evaluate the eigenvalues and eigenvectors of
WA = 1/2(C1 + C2) and WT = 1/2(1^ + T2)
n
Calculate the Fisher ratios Y^ by Equation 3-4, k = 1, 2, ...,K
for each of and W^.
Sort the eigenvectors e^ in decreasing order of Fisher ratio
Y Calculate P(m) (Equation 3-8) by increasing m until P(m)
K.
does not change by more than 10% (selected threshold). Eval
uate b^ using Equation 3-9 and J(m) by Equation 3-7 for each
partition k. These are our features.


181
and ending channel number (8). The module samples each
A/D channel and produces an oscilloscope display of the
sampled version of the input signal, for each channel.
4. Check the polygraph recorder for paper, ink, and verify
that all channels are responding to input signals. (This
can be done with a signal generator or by turning on the
signal calibrator connected to the EEG amplifiers. (The
output signal is approximately a 1 volt, 10 Hz sinusoid).
Clean the polygraph pens, if necessary.
5. Check the timing signals by turning on the timing signal
amplifier, the oscilloscope or the polygraph (with the
timing channel connected to it), and striking the BELL
character (CONTROL G) various times. Check the response
pulse by various left and right switch activations; replace
batteries if necessary.
6. Turn on the black and white TV monitor and adjust the
horizontal position and horizontal frequency until the
image is clear. Use the RDOS command, TYPE ESPEC to
load the HP function keys with a sample sentence presen
tation. Depress fl and turn on the graphics display.
The subject term should appear inside a reverse-video
rectangular area, and this image should be clearly visible
on the TV monitor within the prescribed area. Turn on
the Develco 3-D display, visually inspect the unit.


32
In the episodic experiments [17,19], 72 sentences involving facts
about the individual subjects were used, e.g., My name is Tony. The
sentences consisted only of two types (classes) (TA and FA). Each
type contained 36 sentences. Subjects were presented four different
sessions of 72 sentences, 2 classes, 36 sentences per class, each.
The filename of the master set of sentences is supplied in line 16 and
is normally five characters long. If a longer name is supplied, the
system will automatically replace characters 6-8 with the subject's
initials. This feature is useful for subject dependent sentence files,
as those used in the episodic experiments.
The delay parameters, the sample collection breakdown, and re
sponse switch polarity are supplied in line 17 of the table. These
parameters give the experiment designer and the biomedical engineer
flexibility in the control of the segment-presentation/data-collection,
A6 Module.
Line 18 contains specifications for the data processing subsystem.
These parameters are discussed in Section 3.4 of this work.
The operator is requested to input the subject initials (3) and
session number. The system constructs the filename for the first EEG
record as follows: The character stored in the first file-type desig
nator, the three subject initials, the experiment series designator,
the session number, and a four digit (including nonsignificant zeroes,
e.g.,0001) sentence number. For example, in the episodic experiments,
the data for sentence number 24 of session 3 for subject RCP are stored
in the file whose filename is DRCPE30024; in the semantic experiments,
the data for sentence number 17 of session 4 for subject MWF are stored


148
Table 5-23
Feature Vector Criterion
S/H Ratios
or Criterion
J, Non-
Toepl i t z .
Page
- 1
Subj:MAD,
Ser:E,
Sess:1
, Chn:6
cz,
R-LOCK
0700 .
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
7
3
5
4
4
4
3
10
4
Gamma
0.625
0.819
0.751
0.646
0.525
0.691
0.423
14.423
2.146
UF -fi
0.420
0.726
0.589
0.522
0.408
0.565
0.343
13.942
1.995
DA -fl
0.980
1.491
1.126
0.880
1.000
1.266
0.758
16.664
2.329
DA -f2
0.432
0.418
0.676
0.715
0.424
0.767
0.176
8.392
1.641


APPENDIX 3
CPVER MODULE LISTINGS
The following sections give source listings of the CPVER major
routines, RDOS pseudo-macros, support software, and gives details
of files (storage parameters and ASCII listing (if applicable)).
Section 3A gives the listings of the data collection software, 3B the
data processing software, 3C the support software listings, 3D the
file details, and 3E the RDOS pseudo-macro listings.
190


108


237
File Listing Utility Program: ADSAM
Page 1
***** NOVA 4 MODEL 4338-fl ANALQG/DIGITAL CONVERTER SAMPLER (12 BITS)*
*************** ****************************** **************************
***** REVISION 0-0 REVISION DATE s 01 MAR 1981 A A ARROYO **
***********************************************************************
*****
*****
*****
*****
*****
*****
**
CODE THE FOLLOWING FORTRAN IV SOURCE STATEMENT IN YOUR PROGRAM*
CALL ADSAM ( CLOCK,ICHS,ICHE,IARRY,NSTRT,NPTS )
WHERE :
**
**
**
**
*****
*****
*****
*****
*****
*****
CLOCK = C0-NONE, 1-DISABLE, 2-INT, 3-EXT1 **
ICHS = DESIRED CHANNEL START ( 0 31 ) **
ICHE = DESIRED CHANNEL END ( 0 31 ) **
IARRY = OUTPUT ARRAY OF DIGITIZED SAMPLES **
NSTRT STARTING ARRAY INDEX ( 1 NPTS ) **
NPTS = NUMBER OF SAMPLES TAKEN **
*****
**
***********************************************************************
TITL ADSAM
-ENT ADSAM
-EXTD -CPYL, .FRET
-NREL
***** SET UP USER STACK FOR DESIRED DUMMY ARGUMENTS
CL0CK=-167
ICHS=CLQCK+1
ICHE=ICHS*1
IARRY=ICHE+1
NSTRT=IARRY+1
MPTS=NSTRT+1
FS=NPTSCLOCK*1
***** ESTABLISH THE PROPER FORTRAN IV LINK
ADSAM:
LOOP:
FS
JSR
8.CPYL
LDA
8,ADHRSK
MSKO
8
INTDS
y
DISABLE INTERRUPT SYSTEH
NIOC
BDCV
y
CLEAR BDC DEVICE
LDfl
0,IBRRY,3
5
LOAD STARTING ADDRESS OF ARRAY
ADC
1,1
y
GENERATE A -1 IN SCI
ODD
8,1
y
ADDRESS IS ONE LESS
LOB
8,0NSTRT,3
y
LOAD STARTING INDEX
ADD
0,1
5
THIS IS THE NEW ADDRESS
STB
1,IBRRY,3
9
STORE IT IN THE STACK
LOB
8,PICHE,3
f
LOAD DESIRED FINAL CHANNEL HUHBER
MOVS
8,1
5
HOVE CHN TO BITS 0-7 OF AC1
HOVZR
1,1
5
SHIFT RIGHT (BITS 1-8)
MOVZR
1,1
;
SHIFT RIGHT (BITS 2-9)
LDB
e,eicHS,3
y
LOAD DESIRED INITIAL CHN NO
BOD
8,1
5
ADD CHN IN BITS 11-15
LOB
8,8CL0CK,3
;
LOAD IN AC8 HODE SELECT BITS (8-2)
HOVZR
8,8
5
HOVE BIT 15 TO CARRY
HOVR
8,0
5
CARRY TO BIT 8, BIT 14 TO CARRY
HOVR
0,0
y
CLOCK IN BITS 0 1
HOVR
0,0
5
CLOCK IN BITS 1 2
BOO
0,1

y
ADD NODE SELECT BITS TO AC1
DOBC
1,BBCV
5
ISSUE THE SELECT COHHBMD TO THE BDCV
LDfl
1,0NPTS,3
5
LOAD HUHBER OF SAMPLES IH AC1
MEG
1,1
y
CHANCE TO TWO'S COHPLEHENT
NIOS
BDCV
y
START A CONVERSION
SKPDN
BDCV
5
SKIP NSW IF BDCV DONE
JHP
.-1
5
NO...DEVICE STILL BUSY
DIGS
8 ,BDCV
y
SAMPLE INTO BC8 t START ANOTHER
HOVZL
8,0,SHC
5
IS HUHBER NEGATIVE?
HOVZR
8,8,SKP
y
POS SHIFT ONCE
HOVOR
0,0,SKP
y
NEG SHIFT ONCE
HOVZR
8,8, SKP
y
POS SHIFT TWICE
HOVOR
8,8,SKP
;
NEG SHIFT TWICE
HOVZR
8,8,SKP

y
POS SHIFT 3 TIHES
HOVOR
0,8,SKP
5
NEG SHIFT 3 TIHES
HOVZR
0,8,SKP
9
POS SHIFT 4 TIHES
HOVOR
0,0
y
HEG SHIFT 4 TIHES
STB
8,0IBRRY,3
y
STORE DIGITIZED SAMPLE IH BUFFER
ISZ
IBRRY,3
y
INCREMENT BUFFER ADDRESS
INC
1,1,SZR
y
INCREMENT SAMPLE COUNT
JHP
LOOP
y
CONTINUE SAMPLING
SUBO
8,8


Section 3D
CPVER FILE DETAILS
so f tware


File Listing Utility
Program: SDRQW
C DRAW A SYMBOL OH tIX,IY) USING GRAPHICS TEXT MODE.
C H-P REFERENCE MANUAL
SUBROUTINE SDRPW(ISYHB,IX,IY)
WRITE(10,101 IX,IY,ISYHB
18 FORMAT(IX,*<33>*dck,214,"oS*,A1,<33>*dT<33>A*)
RETURN
END


183
procedure with the subject, and turn on the polygraph.
Monitor the EEG signal, while the subject makes some
"trial" responses, for artifacts and verify the polarity
of the response pulse.
3. Turn on A/D clock to 1 KHz, and collect the VER sample.
Readjust the electrodes and collect again, if necessary.
4. While the computer prepares for data collection, adjust
the TV monitor for subject's viewing comfort, turn on the
"white" noise generator, and close the Faraday shielded
room.
5. Start the experiment.
6. Calibration runs may be collected between sessions, to
measure proper amplifier performance.
D. After all data collection, do the following:
1. Turn off all the equipment.
2. Label and store the polygraph hardcopy for each subject/
session combination.
3. Label and store the data disk pack.
4. File the subject data sheets and hardcopy outputs
collected during the experiments, in the laboratory hand
book.


59
START
I ZX
FI:INITIALIZE
F2:CALCULATE {e.} & {X.}
1 x
' ~"t=
F3: CALC{dx d2 }, DA METHOD
F4:TABLE 3, STEPS 3b, 4
I
F5:WRITE FEATURES TO DISK
=¡=* ===
F6:PRINT TABLES
Figure 3-2
Discriminant Vector Estimator Structure Chart


Ill
Table 5-9
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplitz.
Page
- 1
Subj:JNL,
Ser s R,
Sess : 1
, Chn:6
cz,
R-LOCK
C-70) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
3
3
4
4
3
2
4
9
3
Gamma
0.269
0.116
0.211
0.611
0.187
0.178
0.355
18.010
1.028
UF -fl
0.200
0.071
0.129
0.489
0.128
0.144
0.253
17.578
0.932
DA -fl
0.389
0.180
0.378
1.008
0.240
0.342
0.558
14.743
1.443
DA -f2
0.162
0.081
0.178
0.228
0.113
0.074
0.216
6.516
0.914


247
File Listing Utility Program: N4DCH Page 2
.SYSTM
. 1DEF
JMP
0,3
ERROR RETURN...DEV CODE IN
USE
JMP
1,3
5
NORMRL RETURN

5
DACV INTERRUPT HANDLER
IH AND:
STA
0 < ftC0
SAVE AC0
STA
1 AC1
SAVE AC1
STA
2, AC2
SAVE RC2
HOVL
0,8

SAVE CARRY
STA
0,CARRY
BIT 15 IS CftRRY BIT
SKPBZ
DACV
IS DONE BIT ZERO?
JHP
TEST
NO ..WE ARE DONE
DIAC
0,DACV
GET STATUS WORD & CLEAR
JNP
RETRN
SONE OTHER INTERRUPT
TEST:
DIAC
8,DACV
GET STATUS WORD S. CLEAR
LDA
1 LCMSK
LOAD LATE CONV HRSK WORD
AND
0,1 ,SNR
IS LATE CONV BIT ZERO?
JHP
RETRN
9
YES...RETURN
JSR
QlmTT
PRINT DATA LATE ERROR
ERHSG
ERROR HESSAGE
RETRN:
LDft
0,CARRY
RESTORE CARRY
HOVR
0 ,0
LDA
0,ftC0
RESTORE RC0
LDA
1 ,AC1
RESTORE AC1
LDA
INTEN
UIEX
2, AC2
5
RESTORE AC2
ERMSG:
.TXT
DATA LATE<15><12>*
LCMSK:
200
LATE CONVERSION NASK
C0:
0
AC1:
0
flC2 :
8
CARRY:
0
!naHE:
. + 1*2
BYTE POINTER FOR CONSOLE NANE
TTYN:
.TXT
*TTO
AINS1 :
SKPBZ
TTOl
AINS2:
BOAS
0 ,TTO1
AINS3:
DIA
0 TT11
2ND USER
UTT:
UTTO
ADDRESS OF UTTO ROUTINE
DCODE:
DACV
5
DACV DEVICE CODE
9
FS
DSPLY:
JSR
0.CPYL
ESTABLISHES USER STACK
SUBO
0,0
CLEAR AC0
STA
0,0ERROR,3
SET NORHAL RETURH
LDA
0, .NANE
LOAD DEV NANE BYTE PTR
.SYSTN
CALL SYSTEN
GCOUT
FIND CONSOLE NftHE
JHP
OK
SONETHING URONG... IGNORE
LDA
0.TTYH+2
SEE IF THIRD BYTE NON-ZERO
NOV
0,0,SNR
NON-ZERO <==> TTIl'TTOl
JNP
OK
CONSOLE TTi/TTO
LDA
0.AINS1
5
1ST INST TO CHANCE
STA
0,INS1
CHANGE IT
LDA
0,AINS2
2ND INST
STA
0.INS2
CHANGE IT
LDA
0.AINS3
3RD INST
ST ft
0.INS3A
CHftNGE IT ONCE
STfi
0,1NS3B
CHANGE IT TWICE
OK:
NIOC
DACV
CLEAR DACV
STR
3, RC3
SAVE CONTENTS OF AC3
JSR
DIDEF
DEFINE DACV DEVICE AS USER
DEVICE
JHP
IHUSE
DEVICE ALREADY IH SYSTEN
LDft
3,AC3
RESTORE AC3
ADC
1,1
GENERATE A -1 IN AC1
LDA
8,IARRY,3
PUT IN AC8 ADDRESS OF INPUT
ARRAY
ODD
0,1
PUT IN AC1 ADDRESS OF INPUT
QRRRY -
LDA
0,@NSTRT,3
PUT IN RC0 THE STARTING INDEX
RDD
0,1
OFFSET STARTING ADDRESS BY
STARTING
STA
1 ,1ARRY,3
STORE STARTING ADDRESS IN STACK
LDA
0,@CL0CK,3
LOAD CLOCK BITS IN AC0
ADCZL
1,1
GENERATE -2 IN AC1
LDft
2, IHTH
LOAD INT CLOCK NODE
ADD
1,0,SZR
ASSUME EXT CLOCK IF NOT 2
LDA
2,EXTN
EXTERNAL CLOCK
LDA
8,0SCOPE,3
LOAD SCOPE BIT FLAG
LDA
1 ,SCBIT
5
LOAD SCOPE MODE BIT
1
INDEX


82
the semantic experiments, each subject participated in two sessions of
144 trials (in the early experiments, disk storage was limited to the
size of a Data General 4047B disk pack).
In the episodic experiments, 72 sentences involving facts about
the individual subject, were presented in four randomized sessions to
each subject. The sentences consisted of two types, TA and FA, each
type contains 36 statements (the negative statements were eliminated).
These experiments were fundamentally identical to the semantic experi
ments (the only change was the sentence) described above. The episodic
sentence set is depicted in Figure 5-2.
The rationale for these idiosyncratic experiments was basically
that the task should be easier and faster (this proved to be the case),
and that validity could be tested perhaps more reliably, since the
statements involve terms that are not previously associated. Thus,
the responses to the TA statements should be more easily separated
from the responses to the FA statements because of their particular
idiosyncratic nature and more "obvious" validity.
More than 10 subjects have participated in these experiments
(see Table 2-3) with the use of the CPVER system. Experimental results
have been described by Fishier et al. [1] and Childers et al. [11,
12,17,19,33].
The measurement vector was chosen as a 720 msec interval of the
EEG. The interval may start with the onset of the last sentence seg
ment that the subject reads or it may be shifted by a specified
number of samples from the 0-term (stimulus-locked). Synchronization
may also be chosen with respect to the response pulse onset, with or


167


126


go* ooooooooo
200
File Listing Utility
Progra: EEGDSPL
Page 1
PROGRAM USED TO DISPLAY EEC DOTO OH THE DEVELCO 3-D DISPLAY
REVISIOH 0.6 REVISION DOTE : 8 SEPTEMBER 1988 A A ARROYO
REVISION 1.8 REVISION DATE : 6 MARCH 1981 A A ARROYO
REVISION 2.0 REVISION DATE : 10 JULY 1981 A A ARROYO
RLDR EEGRD SCOPE RTTY CLRTTY DEV3D FORT.LB
INTEGER SUBJIN(2), NUMBER, SERIES, JSYNC, SPECFC5)
INTEGER IBLK512), ZTIM(S12,S), INO(5), SCHAR, NCHAR, SYNCH(4)
INTEGER IFILEC2S), IDATP(1024), TIM(512), INPUT(8,512), ILST(S)
NTCH = 8
CALL STAT("AUTO*,IBLK,IER)
IF(IER.EQ.l) GO TO 1
TYPE "*ERR0R* FILE AUTO DOES NOT EXIST...WILL ASSUME AUT0=8"
IAUTO = 8
CALL OPEN(3,"RUTO",3,IER)
WRITE(3,7) IAUTO
CALL CLOSE(3)
GO TO 5
1 CALL OPEN(3,"AUTO*,1, IER)
READ(3,8) IAUTO
CALL CLOSE(3)
IF(IAUTO.NE.l) GO TO 5
CALL STATI"ANSWERS*,IBLK,IER)
IFCIER.EQ.l) GO TO 2
TYPE "<7>*AUTOMATIC ERROR*FILE 'ANSWERS' NOT FOUND ...WILL SET AUTO=0"
IAUTO = 0
GO TO 5
2 CALL 0PEN(3,'ANSWERS,1,IER)
READ (3,15) SPECF(l)
READ(3,6) SUBJIN
READ(3,6) JSYNC
READ(3,6) NUMBER
CALL CLOSE(3)
CALL OPENl1,SPECF,1,IER)
READ(1,3) SERIES, ICN, NTCH, M, IPOS
3 FORMAT 12,42X,I2'/4X,14^24X,14)
CALL CLOSE Cl)
4 TYPE "DISPLAY TRUE RESPONSESCT), FOLSE RESPONSESCF), OR BOTH(B)?"
READ C11,6) IANS
IF CIONS-HE.*T .AND. IONS.HE.*F .AND. IONS.NE.B *) GO TO 4
IF 1IANS.EG.*F *) IPOS=-IPOS
IF(IONS.EQ."B *) IPOS=8
IFILEI1) = 68*256 + SUBJIN C I) /'256
IFILEC2) = SUBJIN 12)
IFILEC3) = SERIES 32 + NUHBER^256
IFILE4) = 12336
IFILEC5) = 12337
IFILEC6) = 8
TYPE *<7>*****AUT0M0TIC MODE*****"
WRITE(10,14) IFILEC1)
TYPE **DISPLAYING CHANNEL NUMBER : *,ICN
TYPE **NO OF SENTENCES TO DISPLAY: *,M
IF(JSYNC.EQ.*R *) ACCEPT R-LOCK...DISPLAY SYNC PT.COBOUT 480)? .MARK
5 IF(IAUTO.EO.l) GO TO 16
TYPE "STIMULUS-LOCKCS) OR RESPONSE-LOCK(R)?"
READ Cl 1,6) JSYNC
FORMAT CA1,A2)
FORMAT (IX, ID
8 FORMAT (ID
9 TYPE "DISPLAY TRUE RESPONSESCT), FALSE RESPONSES(F) OR BOTH CB)?"
READ(11,6) IANS
IF C IONS .NE. *B .AND. IANS.NE.T .AND. IANS.HE.*F *) GO TO 9
IPOS = 1
IF(IANS.EQ.*F *)IPOS=-l
IF(IANS.EQ.B *)IPOS= 0
IF(JSYNC.EQ.*R *) ACCEPT "ENTER DISPLAY SYNC PTCOBOUT 488) : ".MARK
TYPE "ENTER INPUT FILENAME"
READ(11,15) IFILE(l)
WRITE(19,14) IFILE(l)
SUBJIN(l) = (IFILE(l)-68*2561*256 + 32
SUBJIN(2) = IFILE2)
SERIES = IFILE(3)^256*256 + 32
NUMBER (IFILE(3)IFILE(31/256*256)*256 + 32
14 FORMAT(IX,"SENTENCE FILENAME : *,S1S)
15 FORMAT(S15)
ACCEPT "CHANNEL NUMBER? i ",ICN
ACCEPT "HOW MANY SENTENCES TO DISPLAY? ,H
16 IOUT1 = IFILE(5)^256 48


278
File Listing Utility Progra; DESIGN.MC
DELETE BUTO INDV REDRAW
XFER ZERO REDRAW
XFER ONE AUTO
XFER ZERO INDV
COVEST.SV
DVEST.SV
SCATTER.SV
Page


150


45
to design the decision rule. The performance of the combination fea
ture extraction/classifier procedure is estimated from the population
probability of classification error (PE). An independent set of trials,
known as the test set, is used to obtain an estimate of the PE. The
(PEd, PEt) determine the performance of the signal classification
method.
These two blocks of epochs must be collected before attempting
any real-time classification (defaulting). The software realization
of the signal classification methodology need not be implemented in
real-time. Chapter IV describes real-time interface considerations
and possible implementation.
The remainder of this chapter details the off-line EEG data pro
cessing subsystem. The software philosophy is described from the
system designer's point of view. The chapter is subdivided into the
following sections: 1) Data Processing Subsystem Overview, 2) Experi
mental Application Overview, 3) Feature Extraction Methodology, 4) Fea
ture Extraction Software, 5) ERP Classification Software, 6) Data
Storage/Data Processing Conventions.
3.2 Data Processing Subsystem Overview
The purpose of the CPVER data processing subsystem is to extract
a number of features from the observed EEG records, that contain the
discriminatory information, required to classify single visual evoked
response trials into one of two general classes. The subsystem yields


192
File Listing Utility Progra: EPINPUT
COMMON SENT
INTEGER SENT(18) ,OBJ(6) ,IFILE(8) FIRST 121
EQUIVALENCE (SENT(13),0BJ(1)) (SENT(1) .FIRST(111
TYPE "ENTER NEW EPISODIC FILENAME"
READ(11,1) IFILE(l)
1 FORMAT(S15)
CALL FOPEHO, "EPISODIC")
CALL F0PENI4.IFILE)
TYPE "THE NEXT 36 SENTENCES ARE THE TRUE RESPONSES
DO 10 I = 1 ,36
READ (3,5) SENTID
5 FORMAT(S35)
WRITE(18,6) FIRST(11
6 FORMAT(IX, S24)
READ(11,7) OBJ(1)
7 FORMAT(Sll)
WRITE (4,8) SENTID
8 FORMAT(IX,S35)
10 CONTINUE
TYPE "THE NEXT 36 SENTENCES ARE THE FALSE RESPONSES
DO 20 I = 1 ,36
READ(3,51 SENTID
WRITE(10,6) FIRST(1)
READ(11,7) OBJ(1)
WRITE(4,8) SENTID
20 CONTINUE
STOP
END
Page


161


28
Figure 2-1
EEG Experiment Driver Structure Chart


195
File Listing Utility
Program: EXPDRIVER Page 3
C
DO 23 I = 1 NVERS
COLL PULSEO)
COLL ADSAH(3,ICH1-1,ICH2-1,Y,1,NS)
DO 23 J = 1 HS
X(J) = X(J) + Y(J) VF
23 CONTINUE
DO 27 I = 1 N
MOXP(I) = XII)
L = I + ICH1 1
TYPE * SEE SCOPE FOR DISPLAY OF CHANNEL : ,L
DO 24 J = 1 512
IDT CJ) = X CI + N* CJ1))
IF(IABS(IDT J)) .GT. NAXP(I) ) MOXP(1) = IAESCIDT(J))
24 CONTINUE
HOXP(I) = 204? /- HOXP(I)
DO 26 J = 1 512
26 IDT J) = IDT(J) MAXP(I)
27 COLL DSPLY(0,1 IDT, 1 ,512,3, IER)
ACCEPT REPEAT VER SAMPLE? 1-YES 0-NO : ,IANS
IF(IANS.EQ.l) GO TO 21
CALL F0FEN4,INOME)
COLL WRBLK(4,0,X,N*2,IER)
COLL CLOSE(4)
C
C STORT SAMPLING
C
28 TYPE <33>h<33>J<7> <21>
TYPE **-********#*************************************#********
TYPE * DEFAULT SPECIFICATIONS FOR THIS EXPERIMENTAL SESSION *
TYPE **********************+***
TYPE * *
WRITE(18,33) IFIL(l)
READ(3,18) NOS, NOT
SF1L(4)=0
READ(3,15) SFIL(l)
IFSFIH4) .EQ.0) GO TO 29
SFIL(3)=SFIL(3)X256*2E6 + IFIL(l) IFIL(1)'256*256
SFIL(4)=IFIL(2)
SFILI5)=0
29 WRITE (10,32) SFILll)
CALL FOPEN(4,SFIL)
DO 30 I 1, NOS
INDEX 11) = I
38 READ(4,31) JSENT(1,1)
ENDFILE 4
READ 13,18) IDUM, JDUM, KDUM, ISO, 1ST, ISTH, IPOS
READ(3,18) NPART, NDIM, SHIFT, HSC, VSC
VSC1 = 0.5+VSC
HSC1 = 0.5*HSC
MSOMP= NIN0(511+SHIFT(2),511)
ENDFILE 3
INANE(1)=SERIES +83-32
INOME(2)=256*69 + 81
INAME(3)=NUMBER 32
WRITE(10,34) INAME(1)
C READ ill,15)INAME11)
31 FORMAT(S35)
32
FORMAT(*
*
SENTENCES TO BE
PRESENTED
FILENAME
. sis, -
*)
33
FORMAT(
*
FIRST DIGITIZED
EEG DATA
FILENAME
, SI5,
34
FORMAT("
*
EXPERIMENT SESSION RANDOM
SEQUENCE
*, S15,
*)
CALL FOPEN(3,IHOME)
READ(3,35)(ISEQ(I), 1=1,NOT)
35 FORMAT(1914)
ENDFILE 3
DO 36 L = 1 ,18
36 ISENT(L) = JSENT(L,ISEQ(1))
WRITE(10,500) SUBJ(l)
WRITE(18,510) VERB(1)
WRITE(18,520) OBJ(1)
DO 37 I = 1 ,8
37 INAME I) = IFIL(I)
TYPE * NUMBER OF TRIALS FOR THIS RUN : ,NOT," *
TYPE ** LOOP DELAY PARAMETERS : *,IDUM,JDUM,KDUM,* *-
TYPE * 1ST IMAGE BOUNDARY : ,ISO, *'
TYPE * SUBJECT BOUNDARY : .IST," *
TYPE * VERB BOUNDARY : ,ISTH, *
INEXT = 512 ISTH
TYPE * RESPONSE SAMPLES I *,INEXT,
TYPE *


6
the response to previous sentences could become overlearned. The
response could then become one of simple association rather than a
decision process employing long-term memory, incorporation of overall
meaning and evaluation with respect to the correctness of a proposition.
The detection of the single evoked potential represents a formidable
challenge to the signal processor especially in the presence of such
experimental constraints.
Recent articles by John, Ruchkin, and Vidal [13], Freeman [14],
and Brillinger [15] concisely document methods of ERP analysis. Five
major types of measurement problems have been identified by John et al.
[13] as follows:
1) The extraction of ERP "signals" from EEG "noise." Signal
classification methods are better suited for handling non-
homogeneous signals, such as the SVER, than averaging, but
averages can be used for artifact identification and for
short latency ERP contributions.
2) Extraction of quantified features from, or a quantitative
description of, signals after separation from noise. Special
feature extraction algorithms can be used to describe specific
aspects of the ERP. Examples include principal components,
Fourier Analysis, the eigenvalue/eigenvector methods of
Roucos and Childers [12], etc.
3) Analysis of relationships between signals as dependent
variables and experimental manipulations of stimuli, environ
mental conditions or state of the system as independent
variables. ANOVAS, t-tests and stepwise discriminant analysis
are examples of techniques used in this area.


39
experiment series parameter table, subject initials and experimental
session number. This table is the same table discussed previously
and depicted in Table 2-2. Refer to Section 2.4 for an expose^of
the parameter table.
Module B2 extracts the stimulus-aligned or response-aligned EEG
for each channel, and accumulates the data in an array. This is re
peated for each trial in the session.
Module B3 computes the arithmetic mean for each channel and
evaluates the maximum signal amplitude for scaling purposes.
Module B4 sets the graphics display of the HP terminal and plots
the averaged VER signal for each class and desired channel.
2,5.2 EEG Data Display Module
The EEG data display routine structure chart is depicted in
Figure 2-3. Module Cl is analogous to Module B1 of the data averaging
routine of Section 2.5.1.
Module C2 extracts the stimulus-aligned or response-aligned EEG
for a selected channel and Module B3 outputs the EEG signal to the
DEVELCO 3-D unit. The operator examines each single epoch as it is
displayed on the DEVELCO unit, and if desired, issues a keyboard
interrupt in order to zoom in on the desired epoch. Module B4 senses
the keyboard interrupt and gives the operator the option of selecting
any of the last five epochs displayed in the DEVELCO unit, for display
on a Tektronics oscilloscope. The operator is given the option of
making an entry in a sequential file, called the REJECTS file, which


166


234
File Listing Utility Progra: VECROT
SUBROUTINE VECROTtCH,BV,flV,K,N)
INDE! of disc. vec. n is the dimension
REAL curie,18),DV(10,S),RV(10,5)
DO 31 1 = 1 ,M
RV(I,K)=0.
DO 31 J=1,N
RV(I,K)=CH(I,J)*DV(J,K)+RV(I,K)
RETURH
END
Page


CHAPTER IV
IMPLEMENTATION OF CPVER
DATA COLLECTION/PROCESSING INTERFACE
The implementation details of the EEG data collection interface
to the data processing subsystem, are described in this chapter (from
the system designer's point of view). The chapter is subdivided into
two sections: The "off-line" system implementation and the "real-time"
system implementation.
4.1 "Off-Line" Implementation of CPVER
The term "off-line," when used with the CPVER system, refers to
the data processing task being performed, not in real-time with respect
to the data collection task (which is, of course, always performed
in real-time). In other words, all of the data collection task is
performed prior to the completion of the data processing task, and
there is no biofeedback with respect to the single epoch classification
task. In this mode, any of the experimental sessions are available for
use as either design or test sets (or combinations thereof). The major
disadvantage of this mode is that the knowledge gained through data
processing is not used to influence the data collection, and as a con
sequence, the homogeneity model assumption becomes less valid. This
must be taken into consideration during the experimental design phase.
For off-line operation, the sequence of events is, typically, as
follows: To begin with, the experiment designer and the biomedical
72


48
sentences consisted of four types; true affirmative (TA) true negative
(TN), false affirmative (FA) and false negative (FN). Each type con
tained 36 statements.
In a second experiment, there were 72 different sentences involv
ing facts about the individual subject, which were presented four times
to each subject. The sentences consisted of two types, TA and FA and
each type contained 36 statements.
The measurement vector was chosen to be a 720 msec (Chapter V)
interval of the EEG. The interval may start with the onset of the
0-term or may be shifted by a specified number of samples from the
0-term (stimulus-lock). Synchronization may also be chosen with re
spect to the response pulse with/without shifting (response-lock).
Since there were 8 msec between data samples, this gave a 90 component
measurement vector. The observation recorded was partitioned into
segments, such that the ratio of the number of samples per class to
partition size was 3 or 4 [12]. The partition size was chosen as 10,
yielding a reduced nine-element feature set, one feature/partition.
The size 10 was selected after conducting experiments on the correlation
between successive samples, etc.
One or two discriminant vectors were calculated for each partition
of dimension 10. A criterion value (a type of signal-to-noise ratio)
was computed for each feature. The two features with the largest S/N
ratios were chosen for the representation.
The design set was projected onto the selected two-feature space
and a linear classifier rule was derived. The PEd was obtained by
counting the number of trials that were misclassified by this linear


86
No attempt is made to assess the implicability of these results
to the cognitive processes of the human brain. The goal of this re
search was to provide a framework for the conduction of experiments
in cognitive psychology studies, e.g., the evaluation of these results
is beyond the scope of this work.


130


18
The "real-time" stimulus presentation and EEG data collection
module schedules the statement propositions, collects the digitized
EEG, monitors the EOG signal for eyeblink artifacts, reschedules
stimulus presentation, schedules and collects a calibration signal
from each EEG channel, and schedules and presents photic stimuli in
order to obtain an "averaged" VER which is used for a baseline deter
mination.
The data averaging and display routines display the collected EEG
signal from a given channel for operator inspection and signal valida
tion. Evoked response averages are used to detect certain types of
artifacts not readily observable from single epoch inspection, and to
establish the adherence of the collected EEG to "expected" behavior
(there should be a signal peak on the stimulus-aligned averaged VER,
shortly after the onset of each stimulus segment presentation).
The feature extraction software consists of two major routines,
a discriminant vector estimator module and a covariance matrix esti
mator module. The purpose of feature extraction is to reduce the
dimensionality of the measurement vector in order to improve the
probability of correct classification [11,12],
The ERP classification module derives a linear Bayesian rule from
the projection of a subset of the ERP trials (design set) onto the
selected feature space. The module produces a design scatter plot
from the points obtained by forming the dot product between the fea
ture vectors and the data [11,12]. This is followed by a search algo
rithm which shifts and/or rotates the perpendicular bisector of the


154


259
File Listing Utility
FILE : ESPEC
Page 1
*6flkla61LS*dAS6al2y27C8.dB,al2yS6C*Ld@tal3y2?C*6dB*,al3y56C*6d0SLf8E
*6f2kla019Lfl bass
*6f3kla045L~G#*dC**E$*dA**ddk250,1500*8. f4E
*tf4kla008Lis
Sif5kla044L~G**dC*a<1,1X21,320>E*dA**ddk250,1500*6 f6E
*6f6kla01 lLa fish.
*4f7k la056L~G**dCS*< 1,1X21 ,320>E**datlerD*M@AG**ddk250,150oS***dlC
*6f8klafl56L*deR-'G*ddk2S0,lS0O**3H**2a3b0 0 0 0 8 0 0 0D**dS*6f2E
EDCTUVATDM
NO RESPONSE
EYEBLINK!
WRONG!
06 1.9 1.0 1.0 1.0 1.0 1.0 1.0 1.0 7 750.0 08 F3 F4 C3 C4 ENG CZ EOG TIN
06 06 50
072 372
01
02
36
36
02
36
36
1
2
ESENTXXX
208 200
09 10
999
10
50
-70
150
720
250
360
1
01
06
04
03
82 01 07
07


277
rile Listing Utility Progra: PROCESS.MC
delete puto indv redraw answers
XFER ZERO REDRAW
XFER ONE AUTO
XFER ONE INDV
COVEST.SV
DVEST.SV
SCATTERl.SV
Page


IMPLEMENTATION, COLLECTION, AND PROCESSING OF
VISUAL EVOKED RESPONSES (CPVER) FOR COGNITIVE STUDIES
BY
AMAURI ANTONIO ARROYO
A DISSERTATION PRESENTED TO THE GRADUATE COUNCIL
OF THE UNIVERSITY OF FLORIDA IN
PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1981

Copyright 1981
by
Amauri Antonio Arroyo

TO LYDIA

ACKNOWLEDGEMENTS
The author wishes to express his gratitude, appreciation and high
esteem to his advisor, Dr. D. G. Childers, for his direction, support,
guidance, and determination throughout the course of this research,
and throughout all of the author's graduate studies.
The author is particularly grateful to Dr. R. G. Selfridge, whose
moral support and encouragement have been a source of strength during
the last decade.
He is also thankful to Dr. N. W. Perry, Jr., and Dr. I. S. Fischler
for many stimulating discussions. The author is grateful to
Dr. J. R. Smith and Dr. L. W. Couch for serving on the committee and
for their guidance. He also wishes to express his appreciation to
fellow graduate students P. A. Bloom and T. Achariyapaopan for their
many stimulating discussions, encouragement, and moral support.
The author is thankful to Mrs. Edna Aquino, Mrs. Gloria Luiggi,
Mrs. Amarilys Quevedo, Miss Arlene Arroyo and Mr. Armando Quevedo for
their encouragement, prayers, and their help in many ways.
The author wishes to thank his wife Marilyn, who not only edited
and typed this dissertation, but whose love, patience, understanding
and support have made this work possible.
The author is MOST grateful and eternally indebted to his mother,
Lydia. Her hard work, sacrifice, love, patience, support, and encour
agement have been the motivating force behind the author's accomplish
ments, life, and work.
iv

The author acknowledges, that above and beyond all, the acceptance
of the Lord Jesus Christ as his personal Saviour has been the key to
any and all fruit of his endeavor and reserves any and all glory and
praise to the Almighty, Yahweh God.
v

TABLE OF CONTENTS
Page
ACKNOWLEDGEMENTS iv
ABSTRACT viii
CHAPTER
I OVERVIEW OF CPVER 1
1.1 Introduction and General Objectives
1.2 Single Visual Evoked Responses!
A Signal Processing Perspective 5
1.2.1 Signal Extraction Methodology 7
1.2.2 Signal Classification Methods 9
1.2.3 A Framework for Real-Time Classification. 10
1.3 Technical Approach 14
1.3.1 Functional Specification of CPVER 14
1.3.2 Software Overview 17
1.3.3 Equipment Overview 19
1.4 Preview of Remaining Chapters 21
IIIMPLEMENTATION OF CPVERTHE DATA COLLECTION
SUBSYSTEM 22
2.1 Introduction 22
2.2 Data Collection Subsystem Overview 22
2.3 Experimental Application Overview 23
2.4 Real-Time Stimulus Presentation and EEG
Data Collection 25
2.5 Data Averaging and Display 37
2.5.1 The EEG Data Averaging Module 37
2.5.2 EEG Data Display Module 39
2.5.3 Single Epoch Display 41
2.6 Data Storage Conventions 41
III IMPLEMENTATION OF CPVER DATA PROCESSING SUBSYSTEM ... 44
3.1 Introduction 44
vi

3.2 Data Processing Subsystem Overview 45
3.3 Experimental Overview 46
3.4 Feature Extraction Methodology 49
3.5 Feature Extraction Software 53
3.5.1 Covariance Estimator ModuleCOVEST .... 57
3.5.2 Discriminant Vector Estimator Module
DVEST 62
3.6 ERP Classification Software
The SCATTER Module 64
3.7 Data Processing/Data Storage Conventions 69
IVIMPLEMENTATION OF CPVER DATA COLLECTION/PROCESSING
INTERFACE 72
4.1 "Off-Line" Implementation of CPVER 72
4.2 "Real-Time" Implementation of CPVER 74
VAPPLICATIONS OF CPVERA STUDY OF COGNITIVE PROCESSES 78
5.1 Experimental Design 78
5.2 Summary of CPVER Data Processing Results 85
VICONCLUDING REMARKS AND FUTURE WORK 171
REFERENCES 174
APPENDICES 178
1 Equipment Checklist Procedure 179
2 CPVER Software User's Guide 184
3 CPVER Module Listings 190
3A CPVER Data Collection Software 191
3B CPVER Data Processing Software 206
3C CPVER Support Modules Software 227
3D CPVER File Details Software 259
3E CPVER Command Modules Software 266
BIOGRAPHICAL SKETCH 282
vii

Abstract of Dissertation Presented to the Graduate Council
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy
IMPLEMENTATION, COLLECTION, AND PROCESSING OF
VISUAL EVOKED RESPONSES (CPVER) FOR COGNITIVE STUDIES
By
Amauri Antonio Arroyo
December 1981
Chairman: D. G. Childers
Major Department: Electrical Engineering
Single Visual Evoked Responses (SVERs) elicited from human
subjects can be used to study sensory and perceptual processes.
The philosophy behind the design and implementation of a computer
laboratory facility to collect and process visual evoked responses
(unaveraged or single EEG records) is described and expounded.
The resulting system has been used to collect and process Evoked
Potentials (EPs) for a series of cognitive experiments. The "off
line" data processing subsystem has been used to process the SVERs
with classification error rates as low as 0% (perfect) for both
design and test sets. Operator guides for the software and hardware
procedures are described in the appendices.

CHAPTER I
OVERVIEW OF CPVER
1.1 Introduction and General Objectives
The need for understanding the neural processes underlying human
perception and behavior has motivated the recent unification of
psychology, neurology, engineering and Computer Science into inter
disciplinary teams studying .electrical responses evoked from the human
brain. The experimental approach has been to measure the electrical
activity of localized populations of neurons in the brain during the
performance of specific perceptual or behavioral tasks. The activity
of neurons generates electric currents that are transmitted through
the skull, thereby causing minute voltage changes known as the electro
encephalogram (EEG). These neuronal responses can be recorded with
non-invasive disk electrodes taped to the scalp. The EEG reveals
little about sensory perception because of the absence of specific
correlation to sensory stimuli. The evoked potential technique attempts
to focus on the neuronal potential that is directly evoked to specific
sensory stimuli. This process supposedly recruits and synchronizes
numerous neurons so that the evoked response to a particular stimulus
exceeds the on-going background activity.
The availability of the evoked potential has helped to reveal
specific brain activity where information is handled simultaneously
in multichannel fashion; it can be used to distinguish organic
1

2
disorders from psychogenic ones; and it can provide an objective indica
tion of sensory function where conventional perceptual tests are un
reliable or impractical (patients, infants, the severely handicapped,
etc.) .
The main problem in recording evoked potentials (EP) is detecting
them at all, since they are imbedded in the composite electrical
activity of the brain as a whole (EEG). Whereas the EEG signal
reaches amplitudes of 50 to 100 microvolts, single evoked potentials
(EPs) are often in the range of 1 to 5 microvolts and may be as small
as 0.5 microvolts. The signal energy appears confined mostly to low
frequencies, e.g., around the 10 Hz alpha rythm. This continuous
activity is spatially distributed over the scalp and can be, at best,
described as a piecewise stationary process. The evoked potential
(EP) (evoked response (ER) or event related potential (ERP)) is the
desired signal and to the ER investigator the EEG signal represents
unwanted and overwhelming background noise.
Event related potentials (ERPs) may be induced by other than
sensory events. Short latency ERPs are those whose presence is most
prominent in the 50 ms to 150 ms range following the stimuli and
include sensory ERPs elicited by visual (VER), auditory (AER), soma-
sensory (SER) and olphatory (OER) as well as by direct electrical
stimulation (EER). Motor ERPs are responses found accompanying
voluntary movement that may in fact precede the actual behavioral
event. Examples of motor ERPs include phonation, eye movement and
limb movement. Long latency ERPs refer to potentials whose presence
is detected in the 250 to 450 ms range following the stimuli. Most

3
prominent in the literature is the positive deflection occurring
around 300 ms (P300) and more recently, the negative component
around 400 ms (N400) [1] has been discussed. These components
are enhanced by subject expectation (novelty or familiarity) and
task relevance to stimuli.
Artifacts are potential fluctuations of non-neuronal origin such
as electroocular potentials (EOG), muscle potentials from neck, scalp
or face (such as eyeblinks), electrocardiographic signals (ECG), and
external electric or magnetic field interference.
Because of the large differences in magnitude between the ERP and
the on-going EEG signal, unrelated to the event of interest, the ERP
competes with the EEG for "signal space" and as such the EEG constitutes
or plays the role of noise. If a deterministic, repetitive signal
is added to random noise and the time occurrence of the signal is
accurately known, averaging becomes an effective tool for enhancement
of the signal. Conventional averaging, however, is subject to the
following assumptions about the entire EEG process. First, the moni
tored composite scalp brain wave f(t) is composed of an ERP signal
component s(t) and an additive noise component n(t) represented by
the on-going EEG waveform; e.g., the noise is purely additive. Second,
the ERP signal s(t) is usually assumed to be deterministic; e.g., that
for the same stimulus and subject, the ERP signal will faithfully
repeat itself given the same stimuli. Third, the noise component is
not time-locked to the presentation of the stimulus. Aunon et al. [2]
give a detailed discussion of conventional averaging as applied to
evoked potential research.

4
Evidence exists, however, that individual evoked responses s(t)
do indeed change from stimulus to stimulus, thereby rendering conven
tional averaging an ineffective tool for signal enhancement. Ideally,
one would like to recover the event related information from the elec
trical potential on the basis of single events (individual responses
or "single epochs" in real time) as they occur during an experiment.
This represents a major challenge when considering that effects of
instrumentation noise and artifacts are more critical in the absence
of averaging.
The study of cognitive brain function is currently a major area
of interest in experimental psychophysiology and behavioral psychology.
The possibility exists that single ERPs can provide an objective
measure of brain processes involved in learning, memory functioning
and problem solving. The ability to discriminate or classify single
ERPs, on-line, and provide feedback to the subject for conscious
validation could bring to this field the same advantages enjoyed by
other classical behavioral experiments, mainly that of subject parti
cipation. These biofeedback-type experiments could give much insight
into psychological behavior and could have applications to such areas
as communication with the severely handicapped and infants or improved
automatic response aids for airline pilots and astronauts, to name a
few.
The major objective of this research is the development and
implementation of an integrated ERP collection and processing labora
tory facility to be used in conjunction by psychologists, scientists
and biomedical engineers to study the cognitive functions of the human

5
brain. Keeping in mind the desire for "on-line" classification and
biofeedback, the goal was to develop and standardize procedures, soft
ware, optimize hardware participation, minimize operator intervention,
reduce total subject participation time, and design enough flexibility
and generality into the system to accomodate new and novel experimental
paradigms [3]. In addition, the need for making it simple to learn and
operate the software has become a significant area of interest, and as
such a secondary goal for the University of Florida (UF) collection
and processing of visual evoked response (UF-CPVER) system.
1.2 Single Visual Evoked Responses!
A Signal Processing Perspective
Evoked responses have been used to find clues to the functioning
of the human brain [4, 5, 6]. However, the use of evoked potentials
has not become wide-spread due to major problems such as large inter
subject variability [7, 8], within subject variability [9], artifact
contamination etc.
If individual evoked responses change from stimulus to stimulus,
then the time average may contribute very little to the characteriza
tion of the response. The single evoked potential may then be a viable
alternative. This is particularly true in certain kinds of cognitive
studies. One such study requires the subjects to perform a "sentence
verification" task that has been used extensively in behavioral re
search of human semantic memory [1, 10, 11, 12]. The stimuli in these
experiments cannot be repeated numerous times because, presumably,

6
the response to previous sentences could become overlearned. The
response could then become one of simple association rather than a
decision process employing long-term memory, incorporation of overall
meaning and evaluation with respect to the correctness of a proposition.
The detection of the single evoked potential represents a formidable
challenge to the signal processor especially in the presence of such
experimental constraints.
Recent articles by John, Ruchkin, and Vidal [13], Freeman [14],
and Brillinger [15] concisely document methods of ERP analysis. Five
major types of measurement problems have been identified by John et al.
[13] as follows:
1) The extraction of ERP "signals" from EEG "noise." Signal
classification methods are better suited for handling non-
homogeneous signals, such as the SVER, than averaging, but
averages can be used for artifact identification and for
short latency ERP contributions.
2) Extraction of quantified features from, or a quantitative
description of, signals after separation from noise. Special
feature extraction algorithms can be used to describe specific
aspects of the ERP. Examples include principal components,
Fourier Analysis, the eigenvalue/eigenvector methods of
Roucos and Childers [12], etc.
3) Analysis of relationships between signals as dependent
variables and experimental manipulations of stimuli, environ
mental conditions or state of the system as independent
variables. ANOVAS, t-tests and stepwise discriminant analysis
are examples of techniques used in this area.

7
4) Analysis of relati
regions caused by
discriminant analy
caused by the same
Cluster Analysis,
inant functions ar
tween groups of su
"a-priori" classes
1.2.1 Signal Extraction Me
The simplest model of
an (assumed) invariant sign
geneous data the method of
nships between signals in different
he same stimulus or between successive
signals in the sami region caused by successive or different
stimuli. Factor Aialysis, sorting methods and stepwise
is can be used to classify ERPs to
successive or different stimuli.
5) Analysis of relati (nships between signals in the same regions
stimuli delivered to different individuals,
actor Analysis, Multiple ANOVA or discrim-
i methods used to describe differences be-
ijects identified as members of different
:hodology
in evoked response consists of the sum of
il and random background noise. For homo-
response averaging may be a valid procedure
for extracting the signal f rom the noise in which it is imbedded. This
model is quite valid for an isthetized subjects, and for the short
latency contributions to ER 5s which reflect sensory processes. It is
least valid for the longer latency components associated with cognitive
activity. The average ERP, however, may be quite useful in the ident
ification of certain types of artifacts.
1) The following methods are recommended as precautionary
measures for the detection of artifacts by John et al. [13].
First, it is highly advisable to examine visually at least
a representative sample of single ERPs. The vertical array

8
display of stimulus-aligned (stimulus-lock) data described by
John et al. [16] is easily implementable. An alternative
implementation is obtained by displaying the ERP in a three-
dimensional coordinate system, where "surface" effects are
more readily identified [11, 17, 18]. Second, it is extremely
useful to compute the standard deviation or the variance at
each latency point in the epoch.
2) Prefiltering of evoked responses prior to visual inspection
of single trial records may be profitable if the filter
attenuates activity in the following range(s) where the noise
is dominant. Digital filtering techniques are a convenient
way of implementing such filters. Other filtering techniques
of interest includes the Linear Prediction, Autoregression,
and Maximum Entropy Analysis [19, 20], the MMSE and MSNR method
of Aunon and McGillem [21], Matched Filtering [22], Weiner
Filtering [23, 24, 25], Cross and Autocorrelation [26], and
Adaptive Filtering [27, 28, 29].
3) Signal averaging across response-aligned (response-locked)
ERPs can potentially enhance the evoked response and/or the
artifact. Problems will arise if ERPs persist beyond the
time of occurrence of subsequent stimuli, therefore as a rule
of thumb, the effective time span of the range of variation
of the interstimulus intervals should be greater than the
period of the lowest frequency component of the overlapping
activity to be attenuated by averaging.

9
4) Adaptive Correlation Detection [28,29] is a method that can
be used for averaging variable latency (non-homogeneous)
signals. McGillem and Aunon [25] have devised a near optimal
algorithm that uses pre-filtering techniques to attenuate the
signal in frequency ranges where the S/N ratio is relatively
low. However, these strategies cannot deal accurately with
cases in which there exist significant signal components
within the analysis epoch which are not phase-locked to the
major signal peak. Classification procedures may be the only
way to analyze such data.
1.2.2 Signal Classification Methods
Although signal classification methods are more difficult, and
feature extraction and selection is not straightforward, they are often
capable of providing accurate results in cases where it would be hope
less to use signal-extraction methods. For single ERPs, these methods
may be used for: 1) Identification of "protypic" responses and 2)
identification of sequences-of-states in the process. Sorting methods
and stepwise discriminant analysis are procedures suitable for the
identification of prototypic responses corresponding to each state
(of the subject-environment system) of interest. In the latter case,
there may exist non-random variations in the nature of the signal which
reflect different stages in some process, such as decision-making. The
features of the signal are not only themselves of interest, but each
different form of the signal may reflect some characteristic response
mode of the system.

10
Single epoch classification with no training data (sorting methods)
require two general steps: 1) Determination of the characteristics
of the non-homogeneities and 2) classification of the individual ERPs
into homogeneous subgroups. Quantitative assessment of non-homogeneity
can be made by computing for each time point a chi-squared measure
for the fit of the amplitude histogram to a normal distribution, and
the number of modes of the profile of the histogram. Such methods
must be used with care for if misused, the method can say "yes" to
almost any proposition [13].
Single epoch classification with training data (discriminant
analysis) was pioneered by Donchin et al. in the late 1960's [30].
Studies by Vidal [9], Childers et al. [11,12,17,19] and others [20]
have shown unequivocably that under suitable conditions, extremely
reliable classification of single ERPs can be performed. These
methods can open the door to a new realm of experiments in which
cognitive variables that vary from trial to trial may be manipulated
and sorted out. The ultimate goal of the signal classification
methodology is to recognize single visual evoked responses to meaning
ful stimuli in real-time.
1.2.3 A Framework for Real-Time Classification
The following constitutes a general framework of procedures to be
considered in the generation of a system to do "on-line" real-time
classification. The summary in John et al. [13] provided a starting
basis for this framework.

Artifact rejection. This procedure detects electroocular and
movement artifacts (EOG artifacts, eyeblinks, head movement, etc.)
before and during the ERP epoch. On-line artifact rejection is
fundamental to the real-time approach and is essential to the overall
strategy. Peak detection algorithms with the width of the window and
threshold value as adjustable parameters are used for this purpose.
Artifact monitoring must continue throughout the data acquisition
period. The detection of an artifact then aborts the trial and re
schedules the stimulus event.
Preprocessing Wiener filtering. Real-time filtering may be
performed to improve the signal-to-noise ratio based on covariance
information [21,23,24,25].
Selection of a feature vector. Data reduction techniques are
applied to the digitized EEG data in order to reduce the dimensionality
of the measurement vector. In cases where the number of samples/class
is small compared to the dimensionality of the observation vector, the
data classification method may be unreliable [11,12,31]. This ratio
must be increased in order to improve the reliability of classification.
As features are selected, the probability of error will decrease, up
to the point where additional unreliable features are added. Beyond
this point the population PE will increase [11,12,32-38]. Care must be
taken when using eigenvector expansions, because the largest principal
component may yield a very poor feature for some data sets, particularly
those where two classes have different means but equal covariances.
The mean difference along this principal component may be zero [11].
Cognitive studies demand special consideration because the number of

12
samples/class cannot be increased given a certain experimental
paradigm. For these small sample cases few feature extraction algo
rithms are available.
Stepwise selection of best features. As mentioned earlier, there
may exist an optional set of features that achieves the lowest PE.
Selection of these features is based upon Fisher's ratio [39], a type
of class separability [40]. Algorithms developed by Childers et al.
[11,12] solve the stepwise selection problem.
Design or training set. Discriminant analysis-type methods
require a "training set," e.g., a set of labelled epochs of known
classes to guide the data reduction (feature extraction) procedure in
the selection of an optimal set of features.
Epoch classification and outlier rejection. A linear Bayesian
decision rule is calculated for each pair of hypotheses (classes).
The performance of this rule (PE) is estimated using the elements of
the design set. The PE thus obtained gives an optimistic value for
the true PE of the system. The classifier design algorithm attempts
to obtain the lowest PE for the design set and establishes a rejection
region for outliers. Interactive graphic packages, clustering tech
niques, nearest neighbor rules etc., are useful procedures to use for
the automatic design of an "optimum" classifier [41-43].
Test set or real-time defaulting. Once the decision rule is
established on the design set, real-time classification ("testing")
can proceed with a minimum of computing time between epoch acquisition.
The only calculation involved is the evaluation of the linear decision
rule. This task can, of course, be performed on an independent set

13
of trials commonly labelled the "test set." The probability of error
(PE) thus obtained gives a pessimistic value for the true PE of the
system. Therefore the bounds (PEd, PEt) establish the performance
of the combination feature extractor/classifier algorithm.
Decision rule updating. By making the procedure recursive,
blocks of epochs can sequentially serve as training sets for the
next string. This capability allows for decision rule updating
where the "behavior" of a subject may be monitored and investigated
and an objective measure obtained of such brain processes as learning
and problem solving. Experimental paradigms involving biofeedback
may then become plausible alternatives in cognitive research.

14
1.3 Technical Approach
Attention is now focused on the major components that comprise
an ERP collection and processing laboratory facility. For design
purposes, the application is partitioned into three levels: 1) The
development of a complete set of functional requirements (specifica
tions) that describes, in precise terms, the overall performance of the
integrated system; 2) the development of a set of software modules to
supervise and control the ERP collection phase, and signal processing
modules to recognize the single visual evoked response to meaningful
stimuli; 3) identification of the hardware (equipment) used to imple
ment the system and the development of special-purpose software (for
example a display routine to drive an oscilloscope) to use this equip
ment in EEG applications.
1.3.1 Functional Specification of CPVER
The major functional blocks of the CPVER system are depicted in
Figure 1-1. The figure shows general system flow, hardware components,
software components, and external or environmental interaction (the
operator, for instance). The overall (technical, objective and func
tional) specification is made up of varying amounts of (emphasis on)
efficiency, maintainability, modifiability, generality, flexibility and
utility. These are components of objective system quality, e.g., the
best implementation in established terms, within recognized limitations,
while making compromises required by working in the real world.

15
Figure 1-1 CPVER Functional Diagram

16
Broadly speaking, the following criteria were incorporated into
the overall performance requirements of the system:
1) To reduce total subject participation time in order to mini
mize fatigue and to meet the experimental paradigm requirements.
2) To reduce the number of personnel required to supervise and
control the data collection effort to a minimum of one or
two persons.
3) To increase the participation of the computer in all aspects
of data collection and processing, e.g., to make the system
more automatic and to optimize hardware participation.
4) To design enough generality (the system's ability to be
widely used and adaptable to many variations in application
and/or environment) into the system for its use in a broad
class of cognitive experiments.
5) To build enough flexibility into the system by increasing
the extent to which more control over the behavior of the
system resides in the input data or the resident data
(specifications tables) than in the instructions themselves.
Also by increasing the number and variety of internal controls
(flags) that are made externally available.
6) To modularize the implementation in order to increase the
reliability of the components. System reliability is also
increased by reducing the number of decisions and inputs
required of the operator.
7) To use structured design concepts and structured programming
in order to influence the cost of keeping the system viable

17
in the face of changing requirements (modifiability), while
keeping the productivity of the system in a relatively
constant environment (maintainability).
8) To make the system simple to use, e.g., to make it "menu"
or "a la carte" driven.
9) To increase the utility of the system by standardizing
procedures and software modules, especially those which
control peripheral devices such as the A/D converter, oscillo
scope, three-dimensional display> etc. This is a very impor
tant consideration in a research laboratory facility.
10)To perform single VER extraction and classification in real
time or in near real-time.
All of these factors have been given consideration in the design
of the CPVER system. However, in the event that a compromise between
criteria was required, items 10, 1, 2, 3, 8 and 9 were given precedence.
1.3.2 Software Overview
The software modules of CPVER consist of: 1) A "real-time" stim
ulus presentation and EEG data collection module, 2) a set of data
averaging and data display modules, 3) feature extraction modules,
4) an ERP classifier module, and 5) a set of special-purpose modules
to control non-standard peripherals or to enhance the participation of
standard peripherals (such as the use of the "off-line" capability of
the Hewlett-Packard (HP) 2648A terminal).

18
The "real-time" stimulus presentation and EEG data collection
module schedules the statement propositions, collects the digitized
EEG, monitors the EOG signal for eyeblink artifacts, reschedules
stimulus presentation, schedules and collects a calibration signal
from each EEG channel, and schedules and presents photic stimuli in
order to obtain an "averaged" VER which is used for a baseline deter
mination.
The data averaging and display routines display the collected EEG
signal from a given channel for operator inspection and signal valida
tion. Evoked response averages are used to detect certain types of
artifacts not readily observable from single epoch inspection, and to
establish the adherence of the collected EEG to "expected" behavior
(there should be a signal peak on the stimulus-aligned averaged VER,
shortly after the onset of each stimulus segment presentation).
The feature extraction software consists of two major routines,
a discriminant vector estimator module and a covariance matrix esti
mator module. The purpose of feature extraction is to reduce the
dimensionality of the measurement vector in order to improve the
probability of correct classification [11,12],
The ERP classification module derives a linear Bayesian rule from
the projection of a subset of the ERP trials (design set) onto the
selected feature space. The module produces a design scatter plot
from the points obtained by forming the dot product between the fea
ture vectors and the data [11,12]. This is followed by a search algo
rithm which shifts and/or rotates the perpendicular bisector of the

19
centroids of the two data classes (the decision boundary line) until
the probability of error for the design set is minimized [11].
Special-purpose software modules were developed for the following
applications: 1) Analog-to-digital conversion for a set of signal
channels on programmed input-output mode, synchronized to either an
internal clock, an external clock, the CPU basic instruction cycle or
no synchronization, 2) digital-to-analog conversion using either pro
grammed I/O mode or the data channel (DMA) facility for one or two
channels with or without blanking pulses, 3) oscilloscope driver,
4) DEVELCO 3-D display driver, 5) keyboard interrupt facility, 6) inter
rupt disabled FORTRAN "TYPE" statement, 7) graphics and device control
drivers for the HP 2648A terminal, and 8) a pulse generator for trigger
ing the Grass Instruments xenon photo stimulator.
1.3.3 Equipment Overview Hardware
The various functions performed by the hardware are also depicted
in Figure 1-1. CPVER uses both instruments that are available "off-
the-shelf" in most electrical engineering laboratories and custom-built
equipment. The implementation of the CPVER system is greatly influenced
by the type of computer that is available, its operating system, and its
attached peripherals. In many instances, a desired capability was
obtained by interconnecting a module from a given piece of equipment
to another.
The following equipment was used to implement CPVER:

20
1) DGC NOVA 4 minicomputer with 256 KB semiconductor memory and
the floating-point hardware option running the MAPPED RDOS,
Revision 6.62, operating system and an Inter-Processor Buffer
2) DGC NOVA 2 minicomputer with 64 KB core memory and a hardware
multiply/divide option running the RDOS, Revision 6.52, oper
ating system and an Inter-Processor Buffer.
3) A DGC 6070 Moving Head Disk storage facility (2-10 MB disk
cartridges, one removable, one non-removable).
4) A DGC 4047B Moving Head Disk storage facility (2-2.4 MB
removable disk cartridges).
5) Hewlett-Packard 2648A Graphics Terminal with printer/plotter
attachment.
6) B-W TV monitor with variable horizontal high-frequency
adjustment.
7) EEG amplifiers with 1 to 50 Hz bandwith and 50% attenuation
at 1 and 50 Hz.
8) DEVELCO 3-D Axis Display consisting of a control and A/D
unit, a core memory unit and a high-resolution video monitor.
9) Grass Instruments polygraph recorder.
10) Grass Instruments xenon photo stimulator.
11) DGC Model 4330-A Digital Analog Subsystem.
12) Analog Digital Subsystem for the NOVA 2 computer [44].
13) Two Televideo, Model TVI-912B CRT terminals.
14) Oscilloscopes, low-pass filters, high-pass filters, ampli
fiers, power supplies, pulse generator, EEG signal calibrator
subject response pulse generator, scalp electrodes and associ
ated supplies, audio "white" noise generator, a ventilated

21
Faraday shielded room, and various types and lengths of
cabling.
Prior to any data collection effort, the equipment must be in
spected, prepared and tested for proper operation in order to minimize
instrumentation interference and prevent equipment failures during the
experimental sessions. A standardized procedure and equipment check
list (see Appendix 1) has been developed for this purpose. This pro
cedure has been found effective in minimizing unexpected equipment
failures, and in the "debugging" of the hardware in the event a mal
function is detected and the faulty component is not obvious.
1.4 Preview of Remaining Chapters
The remaining chapters of this work present a survey of the CPVER
implementation, results, and future research.
Chapter II gives the details of the implementation of the data
collection subsystem. Chapter III discusses the data processing
subsystem. Chapter IV discusses the interfacing of data collection
and processing into an integrated "menu" driven system. Chapter V
provides details on the experiments conducted using the CPVER system.
Chapter VI presents some concluding remarks.
The appendices includes the hardware and equipment checklist, the
software user's guide and program listings.

CHAPTER II
IMPLEMENTATION OF CPVER
THE DATA COLLECTION SUBSYSTEM
2.1 Introduction
The implementation details of the EEG data collection subsystem
are described in this chapter. Software philosophies and experimental
procedures are explained from the system designer's point of view. The
chapter is divided into the following subsections: 1) Data Collection
Overview, 2) Experimental Application Overview, 3) Real-Time Stimulus
Presentation and EEG Data Collection, 4) Data Averaging and Display,
5) Data Storage Conventions.
2.2 Data Collection Subsystem Overview
The goal of the CPVER data collection subsystem is to monitor
and digitize the EEG signal, from a number of scalp electrodes, that is
the response to a given stimulus presentation. The system must be
capable of eliminating trials that are found to have been contaminated
by artifacts, and reschedule the stimulus presentation. The data
collection software must be designed as an "on-line," "real-time,"
memory-resident package that has the capability to respond to various
kinds of external interrupts without abnormally terminating.
22

23
The data collection software is divided into two classes of
computer programs: One type is the "real-time" stimulus presentation
and EEG data collection and storage routines; the other is a set of
data display and averaging modules. The latter is used to validate
the collected data base by establishing general adherence to "expected
behavior." An example of this type behavior is the signal peaks that
are observable in averaged stimulus-aligned VERs shortly after the on
set of the visual stimulus.
The data collection subsystem is invoked by the pseudo-macros:
COLLECT.MC, START.MC, VERAVERAGE.MC, or VERDISPLAY.MC. These RDOS
command modules set the necessary flags and bring into execution the
program modules necessary for the task at hand. The appendices provide
detailed program listings of the pseudo-macro commands and program
modules.
2,3 Experimental Application Overview
The details of the experimental applications that have been
conducted using the CPVER system are discussed in Chapter V. A brief
discussion of the experiments is included in this chapter for complete
ness and to make this an independent chapter for reader convenience.
In the cognitive experiments conducted, cortical potentials were
recorded while subjects read and decided if simple propositions such
as "A robin is a bird" or "My name is Tony" were true or false. The
subjects were to decide rapidly and respond via switch activation. The
major purpose of the experiments was to collect the EEG, extract the

ERP and classify the single epochs into one of two possible classes,
e.g., correct or incorrect.
Five scalp electrode locations, F3, F4, C3, C4, Cz in the 10/20
EEG system, were to be monitored and digitized using nonpolarizing cup
electrodes. A timing/response channel, an EMG channel, and a diagonal
EOG channel were collected as well. Each EEG location was a monopolar
derivation to the linked mastoids. The data were to be digitized at
125 samples/second/channel (8 msec sampling interval on 1,000 Hz
sampling frequency over 8 channels). The amplifiers had a bandwith
from 1 to 50 Hz, with 50% attenuation at 1 and 50 Hz [45].
Prior to the conduction of the experiment, the operator performed
pre-operational checks on the equipment. The procedure and checklist
in Appendix 1 was used for this purpose. On the day of the experiment,
subjects were given appropriate instructions relevant to the particular
experiment. A 50 microvolt, 10 Hz calibrate signal was connected to the
input of all the EEG amplifiers. The operator verified proper operation
of the amplifiers by observing each channel on an oscilloscope and by
collecting and digitizing 512 samples from each channel.
The subject was then seated in a ventilated Faraday shielded
screen room and photic evoked response (ER) trials were collected
using a Grass Instruments xenon photo stimulator. The ER trials were
used to calculate an "average" visual evoked response that was dis
played on an oscilloscope and visually inspected for proper shape and
magnitude. An invalid VER signal indicated probable amplifier mal
function or improper electrode placement.

25
A practice session, using sentence presentations not used in the
experiment, was given to familiarize the subject with the task. The
visual stimulus was presented via a black and white TV monitor located
approximately 32 inches from the subject's eyes. The contrast and
brightness were adjusted to each subject's specifications for viewing
comfort. Each proposition was presented under computer control via
HP 2648A graphics terminal to which the TV monitor was connected.
The sentence, in the form of a proposition, was presented in three
segments to minimize eye movements, e.g.,
My name
is
Tony
The sequencing of the presentation of the sentence segments, with
respect to data acquisition, is presented in Table 2-1. The timing of
the segments and the subject's response were collected on one digitized
data channel. F3, Cz timing and the EOG were also monitored, via a
Grass Instruments polygraph, on-line during the experiments.
More than ten subjects have participated in various experiments
[17]. Experimental results and conclusions are also described by
Childers et al [11,12,17,19] and Fishier et al. [1].
2.4 Real-Time Stimulus Presentation
And EEG Data Collection
The EEG experiment driver software is a set of FORTRAN IV routines
implemented on a Data General NOVA 4 computer using NOVA FORTRAN, Revi
sion 5.52 and NOVA Assembler, Revision 6.6, running under the MAPPED

26
Table 2-1
Timing Diagram
MSEC
0
400
800
1200
1600
2000
2400
2000-4048
4048
4048
EXAMPLE
A Robin
Is Not
A Bird
4448
4448-7500
EVENT
Fixation Box Appears
Begin Data Collection
Subject Presented
Subject Erased
Verb Presented
Verb Erased
Object Presented
Object Erased
Response Executed
End Data Collection
Message (If Any) Presented
Message Erased
Write Data To Disk And Start
Next Presentation

27
RDOS, Revision 6.62, operating system. The driver presents the state
ment propositions in a three-segment format on the 2648A HP graphics
terminal, and collects the digitized EEG signal from eight A/D channels
operating at a composite 1000 Hz sampling frequency. It monitors the
EOG signal for eyeblinks and rejects and reschedules the stimulus
presentation, if the subject blinks during the response period. In
addition, the driver collects a digitized calibration signal from
each channel and presents photic stimuli to obtain an "averaged" VER
for a specified channel.
The structure chart [46] for the equipment driver is shown in
Figure 2-1. Each module represents a logical grouping of related
operations that will be described in this section.
Module Al's purpose is to define the default values of program
parameters and loop counters, to initialize the value of the experiment
statistics accumulators, and to input the experiment series parameter
table, subject initials, and experimental session number. The experi
ment series parameter table is shown in Table 2-2. The first eight
lines contain the character values of the instructions stored in the
function keys of the 2648A HP graphics terminal. These are discussed
in conjunction with Module A6 in a later paragraph. The experiment
designer supplies most of the remaining information.
The concept behind this philosophy is that once an experimental
paradigm is designed, the values of the parameters that describe the
experimental session are fixed and the computer operator should not
have the option of respecifying them. This area is especially sensi
tive when the experiments involve interdisciplinary teams, such as

28
Figure 2-1
EEG Experiment Driver Structure Chart

29
Line
Number
1-8
9
10
11
12
13
14
15
16
17
18
Table 2-2
Experiment Series Parameter Table
Contents
Format
Value of H.P. 2648A Terminal,
Series designator, file types
No response feedback message
Eyeblink feedback message
Wrong answer feedback message
Function Keys 1-8
S80
(1:10)
40(Al,IX)
S15
S15
S15
Reference channel,.default scale factors
eyeblink channel, eyeblink threshold, timing (II IX, 8F4.1,
channel number, four-letter names for the eight 12, F8.2, 12,
channels digitized 16A2)
First channel number, last channel number,
number of photic stimuli 2014
Number of sentences in set, number of trials,
starting sentence number, number of sentence
classes, number of sentences per class, number
of trial classes, number of trials per class 2014
Sentence master filename S15
Delay parameters (3); number of samples to
collect after: 1) fixation box, 2) subject
term, 3) verb term; polarity of the response
{+1, -1} 2014
Number of partitions, number of samples/
partition, rectangular window shift for
stimulus and response lock, horizontal and
vertical scale dimensions of the graphics
terminal, number of channels to process,
channel number of each channel to be pro
cessed 2014

30
those already described in the introduction. The experiment designer
not only designs the experimental paradigm, but also must interpret the
results; the engineers, computer scientists, technicians and operators
play a supporting role in this phase. The control of these parameters
stays with the experiment designer. Cognitive experiments must adhere
to this "modus operandi."
In line 9 of the parameter table, the experiment designer assigns
a one-character alphanumeric code to the series of experiments to be
conducted, e.g., S for the semantic experiments, E for the episodic
experiments, R for the replication of the semantic studies using the
same subjects as the espisodic experiments [17,19].
The file-type designators are assigned by the system designer.
These are arbitrarily assigned one alphanumeric character code desig
nation for each different type of data file required by the entire
system. The current file-type designator convention is: D for EEG
files, C for covariance files, T for Toeplitz estimator files, U for
mean vector files, and V for discriminant vector files. All system
data files use the maximum ten-character filename allowed by the RDOS
operating system. The first five file-type designators represent a
choice for the first character of the filename.
Lines 10, 11 and 12 contain rejection feedback messages to be
displayed back to the subject, for example, EYEBLINK! These lines may
be left blank (no subject feedback) at the discretion of the experiment
designer. In the episodic experiment series, messages were found to
improve the data collection effort and had a "calming" effect on the

31
subjects. The number and frequency of occurrence of eyeblinks gives
an objective measure of whether or not the subject is "good."
A reference channel number, default scale factors, eyeblink chan
nel number and threshold, the timing channel number and names for each
channel are supplied in line 13. The reference channel number and
default scale factors are described with the A2 and A3 Modules, the
eyeblink channel number and threshold, with the A7 Module. The choice
of a timing channel number is arbitrary, and is implied by the naming
of each channel, e.g., Channel 1 (F3) channel 2(F4), channel 3 (C3),
channel 4 (C4), channel 5 (EMG), channel 6 (Cz), channel 7 (EOG),
channel 8 (TIM).
Line 14 specifies a channel or sequence of channels where the
evoked response to the specified number of photic stimuli is collected,
digitized and averaged. In the episodic experiment series, fifty
repetitions collected on channel 6 (Cz) were used for this purpose.
Experiment-specific data are supplied in lines 15 and 16 of the
table. For the semantic experiment series, 144 different sentences
involving general knowledge constituted the master semantic set. The
subject was presented either four sessions of 72 sentences each or two
sessions of 144 sentences each. The semantic set consisted of sen
tences of four types (classes); true affirmative (TA) (e.g., A hammer
is a tool), true negative (TN) (e.g., A hammer is not a plant), false
affirmative (FA) (e.g., A hammer is a plant), and false negative (FN)
(e.g., A hammer is not a tool). Each class contained 36 sentences, 4
classes, 18 sentences per class. The two-session set consisted of 144
sentences, 4 classes and 36 sentences per class.

32
In the episodic experiments [17,19], 72 sentences involving facts
about the individual subjects were used, e.g., My name is Tony. The
sentences consisted only of two types (classes) (TA and FA). Each
type contained 36 sentences. Subjects were presented four different
sessions of 72 sentences, 2 classes, 36 sentences per class, each.
The filename of the master set of sentences is supplied in line 16 and
is normally five characters long. If a longer name is supplied, the
system will automatically replace characters 6-8 with the subject's
initials. This feature is useful for subject dependent sentence files,
as those used in the episodic experiments.
The delay parameters, the sample collection breakdown, and re
sponse switch polarity are supplied in line 17 of the table. These
parameters give the experiment designer and the biomedical engineer
flexibility in the control of the segment-presentation/data-collection,
A6 Module.
Line 18 contains specifications for the data processing subsystem.
These parameters are discussed in Section 3.4 of this work.
The operator is requested to input the subject initials (3) and
session number. The system constructs the filename for the first EEG
record as follows: The character stored in the first file-type desig
nator, the three subject initials, the experiment series designator,
the session number, and a four digit (including nonsignificant zeroes,
e.g.,0001) sentence number. For example, in the episodic experiments,
the data for sentence number 24 of session 3 for subject RCP are stored
in the file whose filename is DRCPE30024; in the semantic experiments,
the data for sentence number 17 of session 4 for subject MWF are stored

33
in filename DMWFS40017; in the semantic replication experiments, the
data for subject JNL, sentence number 142 of session 2 are stored in
filename DJNLR20142, and so on.
Module A2 is operator enabled/disabled and is typically enabled
once for each subject. The module defaults the loop control parameters
of Module A5 and line 17 of the specifications table, to make a single
pass through Module A6 and enables passage to Module A3 via flag ICA,
e.g., ICA=0 means do not calibrate, ICA=1 means calibration is desired.
A six-character filename consisting of the letter C, the subject's
initials, the experiment series designator and the session number, is
created for the storage of the digitized 512 samples/channel, 50
microvolt, calibrate signal connected to each of the EEG amplifiers.
Module A3 is entered after a single pass through Module A6, which
was enabled by Module A2. The module clears the display memory of the
HP terminal, calculates the maximum absolute value for each of the
digitized channels, and computes a scale factor based on the largest
peak-to-peak difference in the immediate vicinity of the maximum
value (to compensate for amplifier drift). These factors are displayed
on the master console, so a determination of "relative" amplifier per
formance and stability can be made. Amplifiers may then be recalibrated
and the process repeated.
Module A4 is also operator enabled/disabled. Its purpose is to
present a specified set of photic stimuli and collect photic evoked
response trials, that are averaged and used for a baseline determina
tion. The subject must be fully prepared in order to proceed with
the module. The system creates a six-character filename in the same

34
manner as the calibration signal filename, using the letter V for a
first letter, and stores in it the averaged VER, after displaying it
on an oscilloscope. After visually inspecting the signal on the
oscilloscope the electrodes may be repositioned and the process re
peated.
Module A5 uses the information in the specifications table to set
up the stimulus presentation module. The system then searches for a
file whose name is created from the experiment series designator, the
letters SEQ, and the session number. This file is assumed to contain
the randomized order for sentence presentation. The system prints out
a subset of the default specifications for the session, and creates
the filenames that will contain the digitized EEG signals. By doing
this, the system not only insures that there is enough disk space to
store all of the data (prior to the conduction of the experiment) but
also saves one second of CPU time between each trial presentation (more
time is required to create, allocate space and write disk blocks than
it does to restore data on direct-access files).
Module A6 presents the sentence in three segments, collects the
EEG signal, and stores the digitized data samples in the appropriate
file. The presentation of the sentences in segments is made possible
by the exploitation of the capabilities of the HP 2648A graphics
terminal. This terminal allows the user to load from one to eight,
eighty-character instruction sequences into its memory, and allows
triggering of the sequences by depressing a button (these are called
"Function Keys" FI to F8) or via command string. Instruction sequen
ces for one key may contain commands to trigger another key. This

35
allows for the off-line storage of commands that will, in fact, cause
the HP to perform operations asynchronous from the host computer.
Function keys FI, F8 and F2 load the subject term into graphics memory
while inhibiting the display; keys F3 and F4 turn on the graphics
display for 400 ms, turn it off, and load the verb into graphics
memory; keys F5 and F6 turn on the graphics display for 400 ms, turn
it off, and load the object term into the graphics memory; and key F7
turns on the graphics display for 400 ms, turns it off, delays for 2
seconds, then places an asterisk on the fixation box. Timing signals
are derived from the BELL character which is triggered by F8, F3, F5,
and twice by F7. After adjusting the real-time clock (A/D system turns
it off), the system writes the data on disk, stores the new sentence
in keys F2, F4 and F6 and triggers key FI in preparation for another
trial.
Module A7 examines the eyeblink channel for a threshold violation,
the timing channel for missing timing pulses or response pulse,
examines the response pulse for the proper polarity, and determines
if the operator has requested a keyboard interrupt. If any of these
conditions exist, the system will reschedule the trial for later
presentation. The subject is given visual feedback in the case of
eyeblinks, no response, or erroneous response. The system pauses in
the case of missing timing pulses or operator keyboard interrupt
request, and the entire screen is erased. A message that is not
visible to the subject is displayed for operator intervention. The
operator has the option of aborting (in the case of equipment failure)
or making adjustments and continuing with the session.

36
Module A8 updates the filename for the next sentence to be pre
sented, and in the event of a rejection, it updates the set of pointers
that index each sentence presentation such that the rejected sentence
is presented again at the end of the session.
Module A9 is only enabled for the "on-line" biofeedback experi
ments. It contains the "current" parameters of the classifier/feature
extractor algorithm so as to decide on a computer-assigned class for
the single epoch just extracted. Based on this class assignment the
system may now display visual feedback to the subject and further
modify the stimulus presentation. Experimental paradigms that will
take advantage of this mode of operation are currently being developed
by Bloom [3].
Module A10 displays (on the operator's console) the run-time
statistics, for the just completed session, that are to be kept in a
laboratory manual for future reference.
A single experimental session is completed, on the average, in
approximately seven minutes (72 sentences, 10 rejects). The operator's
console displays each sentence to be presented, rejection data and
the value of the current pointer on the upper left hand portion of the
CRT, not visible to the subject. A single operator can monitor the
master console and the polygraph recorder in order to observe the pro
gress of the experiment once it is begun. The equipment has been
physically arranged to facilitate the single operator concept.
Support routines for the experiment driver module include 1)
multichannel A/D conversion with external clock running in interrupt-
disabled mode, 2) single and dual-channel D/A conversion, 3) software

37
pulse generator, 4) keyboard interrupt facility, 5) interrupt-disabled
FORTRAN "TYPE" statement, 6) interface to the operating system. These
routines are discussed in the appendices.
2.5 Data Averaging and Display
Nearly all the cognitive ERP work reported in the literature has
been done with averages [11]. Though the CPVER system was designed
for single epoch processing (unaveraged EEG records), the averaged
VER does provide an objective measure of validity, and a basis for
comparison with other research. Certain types of artifacts are better
identified on the averaged VER or on three-dimensional data displays
than by examination of the single epoch. Visual inspection of the
EEG data has been recommended by Childers et al. [17,19] and John
et al. [13].
Experimental session averages are obtained by invoking the
VERAVERAGE.MC pseudo-macro, and experimental session three-dimensional
displays by invoking VERDISPLAY.MC pseudo-macro. Single sentence dis
plays are obtained by invocation of the SVERDSPL.MC or the SVERTYPE.MC
pseudo-macro. The appendices provide detailed program listings of the
pseudo-macro commands and program modules.
2.5.1 The EEG Data Averaging Module
The EEG data averaging structure chart is depicted in Figure 2-2.
Module Bl's purpose is to define the default value of the loop param
eters to initialize the EEG array accumulators, and to input the

38
Figure 2-2 EEG Data Averaging Structure Chart

39
experiment series parameter table, subject initials and experimental
session number. This table is the same table discussed previously
and depicted in Table 2-2. Refer to Section 2.4 for an expose^of
the parameter table.
Module B2 extracts the stimulus-aligned or response-aligned EEG
for each channel, and accumulates the data in an array. This is re
peated for each trial in the session.
Module B3 computes the arithmetic mean for each channel and
evaluates the maximum signal amplitude for scaling purposes.
Module B4 sets the graphics display of the HP terminal and plots
the averaged VER signal for each class and desired channel.
2,5.2 EEG Data Display Module
The EEG data display routine structure chart is depicted in
Figure 2-3. Module Cl is analogous to Module B1 of the data averaging
routine of Section 2.5.1.
Module C2 extracts the stimulus-aligned or response-aligned EEG
for a selected channel and Module B3 outputs the EEG signal to the
DEVELCO 3-D unit. The operator examines each single epoch as it is
displayed on the DEVELCO unit, and if desired, issues a keyboard
interrupt in order to zoom in on the desired epoch. Module B4 senses
the keyboard interrupt and gives the operator the option of selecting
any of the last five epochs displayed in the DEVELCO unit, for display
on a Tektronics oscilloscope. The operator is given the option of
making an entry in a sequential file, called the REJECTS file, which

40
Figure 2-3 EEG Data Display Structure Chart

41
may be used for future reference. The REJECTS file has been used for
"off-line" artifact rejection and EEG session editing [17].
2.5.3 Single Epoch Display
The single epoch data display or type routine structure chart is
depicted in Figure 2-4.
Module D1 requests the subject's initials, the experiment series
designator, the session number, and the trial number. Module D2 dis
plays the data on an oscilloscope or outputs the digitized sample
values on the operator's console, or both, for a given EEG channel.
2.6 Data Storage Conventions
The DGC 6070 Moving Head Disk storage facility was used to store
the data collected by the CPVER system. Three 10 MB disk packs labelled
DISK 300, DISK 301, and DISK 302 were used for this purpose. Data for
both the episodic experiments and the replication of the semantic
experiments (using two of the subjects who participated in the episodic
experiments, see Chapter V for details) are stored, in subject order,
on these disk packs. Table 2-3 summarizes the data storage convention
adapted for this purpose.

42
c
START
Dl: INITIALIZATION
D2: EXTRACT EEG
'
>
D3: DISPLAY or TYPE ERP
c
END
D
Figure 2-4
Single Epoch Display Structure Chart
¡-

Table 2-3
Disk
No.
300
301
301
301
301
302
302
CPVER Disk Storage Convention
Experiment Series
Designator
Subject
Session
First Trial/Last Trial
Filenames
Episodic(E)
DHG
1-4
None*
TA
1-4
None*
SNS
1-4
None*
SED
1-4
None*
STJ
1-4
None*
GMH
1-4
None*
SLV
1-4
None*
Semantic
JNL
1
DJNLR10001-DJNLR10144
Replication(R)
2
DJNLR20001-DJNLR20144
Semantic
RCP
1
DRCPR10001-DRCPR10144
Replication(R)
2
DRCPR20001-DRCPR20144
Episodic(E)
JNL
1
DJNLE10001-DJNLE10072
2
DJNLE20001-DJNLE20072
3
DJNLE30001-DJNLE30072
4
DJNLE40001-DJNLE40072
Episodic(E)
RCP
1
DRCPE10001-DRCPE10072
2
DRCPE20001-DRCPE20072
3
DRCPE30001-DRCPE30072
4
DRCPE40001-DRCPE40072
Episodic(E)
MAD
1
DMADE10001-DMADE10072
2
DMADE20001-DMADE20072
3
DMADE30001-DMADE30072
4
DMADE40001-DMADE40072
Episodic(E)
CJB
1
DCJBE10001-DCJBE10072
2
DCJBE20001-DCJBE20072
3
DCJBE30001-DCJBE3007 2
4
DCJBE40001-DCJBE40072
*Data rejected due to instrumentation failure.

CHAPTER III
IMPLEMENTATION OF CPVER
DATA PROCESSING SUBSYSTEM
3.1 Introduction
The implementation details of the EEG data processing subsystem
are described in this chapter. The ultimate goal of the signal pro
cessing task is to recognize single visual evoked responses to meaning
ful stimuli, and to classify the single epochs into one of two possible
classes. In cognitive studies of semantic memory the stimuli cannot
be repeated numerous times because, presumably, the response to pre
vious sentence propositions could become overlearned. These experi
ments demand special consideration since relatively few processing
algorithms are available for the small sample case, and the number of
samples per class cannot be increased.
Signal extraction methods have been used to extract the ERP, but
these methods are least valid for the extraction of longer latency
components associated with cognitive activity. Signal classification
methods, though more difficult and complex, are often capable of
providing accurate results in cases where it would be useless to use
signal extraction methods [13]. CPVER uses the signal classification
methodology developed by Childers et al. [ll] to accomplish this task.
A "training set," e.g., a set of labelled epochs of known classes
(design set), is required to guide the data reduction (feature extrac
tion) procedure in the selection of an optimal set of features, and
44

45
to design the decision rule. The performance of the combination fea
ture extraction/classifier procedure is estimated from the population
probability of classification error (PE). An independent set of trials,
known as the test set, is used to obtain an estimate of the PE. The
(PEd, PEt) determine the performance of the signal classification
method.
These two blocks of epochs must be collected before attempting
any real-time classification (defaulting). The software realization
of the signal classification methodology need not be implemented in
real-time. Chapter IV describes real-time interface considerations
and possible implementation.
The remainder of this chapter details the off-line EEG data pro
cessing subsystem. The software philosophy is described from the
system designer's point of view. The chapter is subdivided into the
following sections: 1) Data Processing Subsystem Overview, 2) Experi
mental Application Overview, 3) Feature Extraction Methodology, 4) Fea
ture Extraction Software, 5) ERP Classification Software, 6) Data
Storage/Data Processing Conventions.
3.2 Data Processing Subsystem Overview
The purpose of the CPVER data processing subsystem is to extract
a number of features from the observed EEG records, that contain the
discriminatory information, required to classify single visual evoked
response trials into one of two general classes. The subsystem yields

46
the specifications for a linear Bayesian decision rule, along with an
estimate of the decision rule performance (combined feature extraction/
classification procedure) expressed as the probability of classification
error for the population (PE). The software has been designed as an
"off-line" application with respect to the data collection task.
Three major routines comprise the data processing software: A
Covariance Matrix Estimator module (COVEST), a Discriminant Vector
Estimator module (DVEST), and a Scatter Plot and Classifier Generator
module (SCATTER). The latter is used to display the projections of
the observed data onto feature space (scatter diagram).
The data processing subsystem is invoked by the pseudo-macros:
PROCESS.MC, COVARIANCE.MC, FEATURES.MC, CLASSIFY.MC, RESCATTER.MC, or
DESIGN.MC. These RDOS command modules set the necessary flags and
bring into execution the program modules necessary for the completion
of the task. The appendices provide detailed program listings of the
pseudo-macro commands and program modules.
3.3 Experimental Overview
The details of the experimental applications that have been con
ducted using the CPVER system are discussed in Chapter V. A brief
discussion of the data processing aspects of the experiments is in
cluded in this chapter for completeness, and to make this chapter
independent for reader convenience.
In the cognitive experiments conducted, cortical potentials were
recorded while subjects read and decided if simple propositions such

as "A hammer is a tool" or "My last name is Arroyo" were true or false.
The subjects were to decide rapidly and respond via switch activation.
The major purpose of the experiments was to collect and digitize the
EEG signal, extract the ERF, and classify the single visually evoked
response (VER) into one of two possible classes, e.g., correct or
incorrect.
Five scalp electrode locations, F3, F4, C3, C4, and Cz in the
10/20 EEG system, were to be monitored and digitized using nonpolarizing
cup electrodes. A timing/response channel, an EMG channel, and a diag
onal EOG channel were collected as well. Each EEG location was a mono-
polar derivation to the linked mastoids. The data were to be digitized
at 125 samples/second/channel. The amplifiers had a bandwith from 1
to 50 Hz, with 50% attenuation at 1 and 50 Hz.
The sentences, in the form of a proposition, were presented in
three segments to minimize eye movements, e.g.,
A hammer
is
a tool.
The sequencing of the presentation of the sentence segments, with
respect to data acquisition, was presented in Table 2-1. Fifty samples/
channel were collected before the subject term (S-term) one hundred
samples/channel between the S-term and verb, one hundred samples/
channel between the verb and object term (0-term), and two hundred and
sixty-two samples/channel after the 0-term.
In one experiment, there were 144 different sentences involving
general knowledge, which were presented twice to each subject. The

48
sentences consisted of four types; true affirmative (TA) true negative
(TN), false affirmative (FA) and false negative (FN). Each type con
tained 36 statements.
In a second experiment, there were 72 different sentences involv
ing facts about the individual subject, which were presented four times
to each subject. The sentences consisted of two types, TA and FA and
each type contained 36 statements.
The measurement vector was chosen to be a 720 msec (Chapter V)
interval of the EEG. The interval may start with the onset of the
0-term or may be shifted by a specified number of samples from the
0-term (stimulus-lock). Synchronization may also be chosen with re
spect to the response pulse with/without shifting (response-lock).
Since there were 8 msec between data samples, this gave a 90 component
measurement vector. The observation recorded was partitioned into
segments, such that the ratio of the number of samples per class to
partition size was 3 or 4 [12]. The partition size was chosen as 10,
yielding a reduced nine-element feature set, one feature/partition.
The size 10 was selected after conducting experiments on the correlation
between successive samples, etc.
One or two discriminant vectors were calculated for each partition
of dimension 10. A criterion value (a type of signal-to-noise ratio)
was computed for each feature. The two features with the largest S/N
ratios were chosen for the representation.
The design set was projected onto the selected two-feature space
and a linear classifier rule was derived. The PEd was obtained by
counting the number of trials that were misclassified by this linear

decision boundary. The process was repeated on the test set to obtain
PEt. The parameters of the decision rule may be stored for further
processing.
Experimental results and conclusions described by Childers et al.
[11,12] and Fishier et al. [1] were obtained using the data processing
subsection of the CPVER system.
3.4 Feature Extraction Methodology
The goal of the feature extraction procedure is to obtain a subset
of components from the measurement vector that enhance the chances for
proper classification. An optimal number of features may be found that
minimizes the probability of error. The feature selection algorithm
of Roucos and Childers [12] is basically a special ordering of the
eigenvectors extracted from the covariance matrix, estimated from the
data.
An evaluation of the method is obtained by using the hold-out
method to estimate the PE (a training set is used to design the feature
extraction/classifier and both design and test sets are used to estimate
the respective PEs). A feature (discriminant) vector is obtained by
Equation 3-1 where
d =
a W
u
(3-1)
u denotes differences between the mean class vectors (i.e.,
^2^1
for
a two class problem), W is a linear weighting of the covariance matrices

50
h
C. for the i class, and a is a scale factor that normalizes cl to unity
W is usually chosen as the arithmetic mean of the class covariances (e.g
W = \ (Cx + C2) for a two class problem). Equation 3-1 maximizes the
distance between classes in feature space given by the divergence form
ulation [32],
The value of d as a feature may be measured by the generalized
Fisher ratio.
J(d) = (- (3-2)
d' W d
A set of P features is obtained by sequentially maximizing
Equation 3-2 as follows:
1) Find the first feature d^ by maximizing J. This is done
with Equation 3-1. d^ is the only eigenvector of W ^ _u u.'
with a non-zero eigenvalue A^.
2) Find feature i _< P by maximizing J subject to i-1 orthogonality
constraints, i.e.,
d! d = 0 n = 1, 2, . ., i-1 (3-3)
x n
The measurement vector of dimension N is decimated into K parti
tions, each of dimension L (N = KL) in order to reduce the dimension
ality of the observed data. For each partition of dimension L, an
optimal feature extractor is used to obtain a feature(s) to represent
the partition. Stepwise selection is applied to the partitions to
obtain a set of P features from the set of features defined for all the
partitions.
The partition size L should be chosen as large as possible for
statistical stability. Given a fixed number M of observations

51
per class, L is selected such that the ratio M/L is equal to 3 or 4
[11,12] .
Consider the alternate expression for the Fisher ratio where is
y. (£l
1 XT
1
(3-4)
an eigenvector of the common covariance matrix C with eigenvalue
and ii is the mean difference vector between two classes.
After ordering the eigenvectors e^ by decreasing value of (the
Fisher ratio), the discriminant vector _d is given by
, v e! u
d, = a L i e.
i=l A.
(3-5)
A new feature vector Mm) is defined from Equation 3-5 by choosing
M _< L components [11,12,33], i.e.,
m
Mm) = a E i e..
1=1 A.
i
(3-6)
The average S/N ratio of Mm) is the average criterion [32], assuming
a design set of M observations was used to estimate the covariance
matrix and the mean vectors.
J(m) = S/N(m) = M F(m) + 2 F(m)
M T (m) + 2m
where
m
r(m) = E y.
i=l
and SNR(d) = J(d) in Equation 3-2 with C = W.
(3-7)
(3-8)

52
The discriminant vector is obtained from Equation 3-6 by: 1)
Choosing m = m^ such that TinO does not change by more than 10%
when m^ is increased, 2) estimating u from the design set, and 3)
having a good estimate of C, e.g.,
mo e! u
b = b(m ) = a Z rl-~ -i (3-9)
o i
i=l A.
i
There are at least two methods to estimate the covariance matrix
when the design set size M is small. First, if the data set is assumed
to be stationary over the measurement interval, then the covariance
matrix estimate may be obtained by averaging the individual partition
matrices. Second, the data set may be assumed to be piecewise station
ary, e.g., stationary over the duration of a partition. For such a
process, the covariance matrix is Toeplitz. The Toeplitz estimator
replaces all the elements of the matrix diagonals by their arithmetic
mean.
Conventional discriminant analysis is obtained from Equation 3-5,
with the eigenvectors _e derived from the individual partition covariance
matrices C^, and ordered by decreasing value of the eigenvalues A_^.
The matrices C^ for each partition i, may be assumed to be Toeplitz if
the data is assumed to be piecewise stationary.
To evaluate the feature extraction procedure, the design data set
is projected onto feature space, a linear decision rule is computed,
and an error count is made for the design and test sets. The projection
from data space to feature space is done by forming the dot product
between the feature vectors and the data. For example, suppose ^(i) is

53
a feature vector for partition i, and ch^Cj) i-s a seconc^ feature vector
for partition j. The projection becomes
u d (i) x
(3-10)
v = d2(j) 2^
til
where x^ is the EEG data for the i partition. The coordinates (u,v)
in feature space may be used to plot the class value for each experiment
trial. A linear decision boundary is then superimposed on the coordinate
space, and a count made of the trials that are misclassified by the de
cision rule. The error-count-to-number-of-trials ratio is an estimate
of the PE. The decision boundary is chosen as the perpendicular bisector
of the centroids of the two classes, which is shifted and/or rotated
until the design PE is minimized.
Large discrepancies between PEd and PEt may exist due to the bias
and variability of the feature extraction rather than the classification
method.
The feature extraction methodology of the CPVER system is summarized
in Table 3-1 and Table 3-2. Table 3-1 uses the methodology developed by
the University of Florida team of Childers et al. [11,12,17,19]; Table 3-2
is the conventional discriminant analysis method also used by Foley and
Sammon [40, 31] and Roucos [32,33].
3.5 Feature Extraction Software
The feature extraction software implement steps 1 through 4 of
Tables 3-1 and 3-2. Two major routines are used for this purpose: A

54
Table 3-1
CPVER Feature Extraction/Classification AlgorithmUF Method
Item
Instruction
Partition the EEG observation vector x of dimension N into K
partitions k = 1, 2, . ., K of dimension L, e.g., N = KL
and x = { x^ | x?
x, }. x is a subset of samples
rC
extracted from the stimulus-aligned or response-aligned single
EEG record.
Estimate the covariance matrices for the ktk partition
ttl
and the i class from an experimental session of M samples/
class. Calculate the Toeplitz estimator for each
/\ /\ ^
Average across partitions the C and T to obtain C^. and
K.1 1
ki
1^ 5 6 O 5
- i? ~ i 5 *
C. = E C. T = E T. .
1 \=1 kl 1 Kk=l kl
Calculate mean vectors u for each partition.
~^k
Evaluate the eigenvalues and eigenvectors of
WA = 1/2(C1 + C2) and WT = 1/2(1^ + T2)
n
Calculate the Fisher ratios Y^ by Equation 3-4, k = 1, 2, ...,K
for each of and W^.
Sort the eigenvectors e^ in decreasing order of Fisher ratio
Y Calculate P(m) (Equation 3-8) by increasing m until P(m)
K.
does not change by more than 10% (selected threshold). Eval
uate b^ using Equation 3-9 and J(m) by Equation 3-7 for each
partition k. These are our features.

55
Table 3-1 continued
Select the two features with the largest criterion value J(m).
Project the x, from the design set onto the selected feature
K
space. Compute a decision boundary from the perturbation
(position and angular) of the perpendicular bisector of the
centroids of the two classes.
Compute the probability of error for the design and test sets
via classification error count.

56
Table 3-2
CPVER Feature Extraction/Classification Algorithm
Discriminant Analysis
Item Instruction
1
2
3
5
6
Partition the EEG observation vector x. of dimension N into K
partitions k = 1, 2, .. ., K of dimension L, e.g., N = KL
and x = {x^ | | ... | x^} = {x^}. 21 i-s a subset of samples
extracted from the stimulus-aligned or response-aligned single
EEG record.
A til
Estimate the covariance matrices for the k partition and
til
the i class from an experimental session with M samples/class.
A A
Calculate the Toeplitz estimator T, for each C, .. Calculate
ki ki
mean vectors u^ for each partition.
Evaluate the eigenvalues e^ and eigenvectors of
Ck l/2(Ckl + Ck2) and 1/2(T^ + V,
and calculate the Fisher ratios by Equation 3-4.
Calculate F (m=L) using Equation 3-8 and d_^ by Equation 3-5 for
each partition. These are our features with T(m=L) as our
criterion value. A second feature vector is calculated sub
ject to the orthogonality constraints previously discussed.
Select the two features with largest criterion value T(L).
Project the from the design set onto the selected feature
space. Compute a decision boundary from the angular and
positional perturbation of the perpendicular bisector of the
two classes.
Compute the probability of error for the design and test sets
via classification error count.

57
Covariance Estimator module (COVEST) that implements steps one and two,
and a Discriminant Vector Estimator module (DVEST) that implements
steps three and four for both algorithms. The current version of
CPVER extracts a single feature (discriminant vector) for each parti
tion using the UF algorithm, and two features per partition using the
discriminant analysis algorithm.
The feature extraction modules are invoked by the PROCESS.MC,
COVARIANCE.MC, or FEATURES.MC RDOS pseudo-macros. PROCESS.MC invokes
all the data processing subsystem's modules of CPVER for "off-line"
operation. COVARIANCE.MC and FEATURES.MC invoke COVEST and DVEST,
respectively, for independent execution.
The structure chart for COVEST and DVEST are shown in Figures 3-1
and 3-2, respectively. Each submodule represents a logical grouping
of related operations (a structural block) that will be described in
the following sections.
3.5.1 Covariance Estimator ModuleCOVEST
COVEST is a set of FORTRAN IV routines implemented on Data
General's NOVA 4 computer using NOVA FORTRAN, Revision 5.52, running
under the MAPPED RDOS (MRDOS), Revision 6.62, operating system. The
program requests inputs such as the name of the parameter and specifi
cations table, the subject's initials etc. Outputs generated include
the set of individual partition covariance matrices for each class,
the partition Toeplitz estimator matrix for each class, the average
across partitions matrix for each class and the average Toeplitz
estimator across partitions for each class.

58
Figure 3-1 Covariance Matrix Estimator Structure Chart

59
START
I ZX
FI:INITIALIZE
F2:CALCULATE {e.} & {X.}
1 x
' ~"t=
F3: CALC{dx d2 }, DA METHOD
F4:TABLE 3, STEPS 3b, 4
I
F5:WRITE FEATURES TO DISK
=¡=* ===
F6:PRINT TABLES
Figure 3-2
Discriminant Vector Estimator Structure Chart

60
Submodule El (Figure 3-1) initializes and sets up the COVEST
program. Two externally supplied flags control the operation of the
software: flag INDV is set to enable the output of individual partition
covariances for calculation of features using discriminant analysis,
and flag AUTO is set for automatic, input-free operation. In manual
mode, the system requests the following inputs from the operator:
1) the name of the parameter and specifications table (Table 2-2),
2) the subject's initials, 3) the synchrony point designator, and 4)
the experiment session number. In automatic mode, these inputs are
pre-stored in a sequential character file named ANSWERS.
The submodule opens the specifications table for read-only access,
and extracts the value of the pertinent subset of the parameters that
were previously used to collect the data. The specifications table
was previously described in section 2.4 of this work. The parameters
used by COVEST include: 1) The experiment series and file-type desig
nators of line 9 of the table; 2) the number of the timing channel
and channel names of line 13; 3) the number of sentences, number of
trials, starting sentence number, number of classes in the master
sentence set, number of sentences per class for the master set, number
of classes presented, and number of sentences per class presented of
line 15; 4) the polarity of the response of line 17; and 5) all of
line 18. This line contains the data processing specifications alluded
to in step one of Tables 3-1 and 3-2, mainly, 1) the number of parti
tions k, the length of each partition L, the synchrony point displace
ment windows, the horizontal and vertical scale factors for the graphics
display, and the number of channels and channel numbers to process.

61
The submodule concludes by displaying portions of the specifications
table and creating the filename for the first covariance matrix to be
generated. This filename adheres to the convention established for
data collection and modified for data processing. This convention is
discussed in Section 3.7.
Submodule E2 extracts the EEG observation vector x, of either
k
stimulus-aligned or response-aligned data for the design session. The
system automatically generates the correct filename for the digitized
EEG signal, based on the random sequence file of pointers that was
used during the data collection session. A general purpose subroutine
to read the EEG associated with each sentence (SREAD) is invoked for
this purpose (consult the appendices for a detailed description of
SREAD). The submodule accumulates the vector sum, and sum of squares
for each partition/channel combination. This is repeated until the
specified number of sentences/class has been extracted (specifications
table line 15). This number is displayed on the operator's console
upon exit.
Submodule E3 computes the mean vector and covariance for each
partition/channel combination. Submodule E4 calculates the Toeplitz
covariance estimator for the given channel number and partition. Sub-
module E5 accumulates both the individual covariance and individual
Toeplitz covariances. The individual covariances are written to disk
if the external flag INDV is set to one. The mean vector is written
to disk and the process repeated (to block E3) for each partition.
Submodule E6 calculates the average covariance and average Toeplitz
matrix across partitions. These two matrices are written to disk

62
and the process repeated (to block E3) for each channel. The class
is automatically incremented and another pass is made beginning at
block E2.
COVEST creates (number of partitions K) x (number of channels) x
(number of classes) mean vector files; (1 +(INDV x K)) x (number of
channels) x (number of classes) covariance files; and (1 +(INDV x K))
x (number of channels) x (number of classes) Toeplitz files. Each
mean vector file contains (N + 1) binary real numbers (2 words per
number); each covariance or Toeplitz file contains (1 + N x N) binary
real numbers. Each file requires a minimum of one disk block (256
words) of disk storage plus 18 words of directory space for the RDOS
file pointer. The program requires a 36 KB main memory partition for
execution. In the UF experiments, execution times varied linearly
according to the product (1 + INDV) x (number of channels) from a
minimum of two minutes to a maximum of 12 minutes of total elapsed
time.
3.5.2 Discriminant Vector Estimator ModuleDVEST
DVEST is a set of FORTRAN IV routines implemented on Data
General's NOVA 4 computer using NOVA FORTRAN, Revision 5.52, running
under the MAPPED RDOS (MRDOS), Revision 6.62, operating system. The
program requests inputs such as the name of the specifications and
parameters table, the subject's initials, etc. Outputs generated
include a table of criterion J values (S/N ratios) for each partition/
channel combination for both algorithms (UF and Discriminant Analysis
(DA)) and the corresponding features (discriminant vectors).

63
Submodule FI initializes and sets up the DVEST program. This
submodule is identical in structure to submodule El, described in
Section 3.5.1. The discriminant vector filenames adhere to the con
vention discussed in Section 3.7.
Submodule F2 forms the joint average across partitions covariance
matrix W and obtains the eigenvalues and eigenvectors by invoking sub
routine EIGEN (available from the IBM FORTRAN Scientific Subroutine
Package, see the appendices for detailed documentation). The sub-
module displays the eigenvalues and eigenvectors on the operator's
console upon exit.
Submodule F3 implements steps 3 and 4 of Table 3-2, the discriminant
analysis method. The procedure is implemented with subroutines FEAT,
VECROT and INVERSE. The outputs of the submodule are the criterion
values J (S/N ratios) and the two feature vectors for each partition.
Submodule F4 calculates the Fisher ratios for the UF method using
Equation 3-4, obtains a set of indices for the decreasing order of Fisher
ratios, computes r(mo) by increasing m^ until ICm^) does not change by
more than a threshold (5%), and evaluates the criterion J(m ) and b
o o
(the feature vector). The submodule invokes subroutine SORT to calcu
late the eigenvector/eigenvalue order according to the decreasing value
of the set of Fisher ratios {y.}.
i
Submodule F5 displays the filenames used to store the feature
vectors and writes the set of features from the algorithms out to disk.
The process, from submodule F3 on, is repeated for each partition. The
procedure, from submodule F2 on, is repeated for each channel and covar
iance matrix type combination.

64
Submodule F6 displays, on the operator's console and on the
attached hardcopy device (HP-IB device), the S/N or criterion J tables
for each algorithm, covariance source type, partition and channel
combination.
DVEST creates 2 x (number of channels) x (1 + INDV) x (K parti
tions) discriminant vector files of (1 + 2 x N) real numbers. Each
file requires a minimum of one disk block (256 words) of disk storage
plus 18 words of directory space for the RDOS file pointer. The
program requires 36 KB of main memory for execution. In the UF experi
ments, execution time varied linearly according to the product (1 +
INDV) x (number of channels) from a minimum of 2.5 minutes to a
maximum of 10 minutes of total elapsed time.
3.6 ERP Classification Software
The SCATTER Nodule
The ERP classification software implements steps 5 and 6 of
Tables 3-1, 2 The SCATTER module displays the projections of the
observed data onto the selected feature space (scatter diagram);
automatically scales the scatter diagram to the dimensions of the
graphics terminal; designs the linear classifier by selecting the
perpendicular bisector of the centroids of the two classes, followed
by shifts and/or rotation of the line until the PE is minimized; re
draws the design scatter diagram and the classifier line, computes
the design PE, and prints the figure captions; draws the test set
scatter diagram with the classifier line, computes the test set PE,
!

65
and prints the figure captions; and stores the parameters of the class
ifier line in a file for future processing.
The ERP classification module is invoked by the PROCESS.MC,
CLASSIFY.MC, RESCATTER.MC, or DESIGN.MC RDOS pseudo-macros. PROCESS.MC
invokes all the CPVER data processing subsystem modules for "off-line"
operation. CLASSIFY.MC and RESCATTER.MC invoke the SCATTER module for
independent execution. DESIGN.MC invokes the SCATTER module in
"automatic" mode.
The structure chart for SCATTER is shown in Figure 3-3. Each
logical grouping of related operations (structure block or submodule)
is described in the following paragraphs.
Submodule G1 initializes and sets up the SCATTER program. Three
externally supplied flags control the operation of the software: flag
INDV is set to enable the discriminant analysis method, flag AUTO is
disabled for manual operation, and flag REDRAW is set to bypass the
recalculation of the design and test set feature space projections,
and assume they are stored in files DESIGN and TEST respectively. In
manual mode, the system requests the following inputs: 1) the symbols
to plot for each class in the scatter diagram, 2) the name of the
specifications table, the subject's initials, the synchrony point and
session numbers for both design and test sets, 3) a selection of the
algorithm and covariance type, 4) the desired channel(s) and features,
and 5) explicit control of the looping parameters of the bisector
perturbation algorithm in submodule G5. In automatic mode, a single
pass is made through the submodules (design set) and the decision

66
START
)
Figure 3-3 Scatter Structure Chart

boundary line parameters are saved in a file named CLASSIFIER. The
structure of submodule G1 is essentially that of submodule El or FI
discussed in the previous section.
Submodule G2 extracts the EEG observation vector x, of either
stimulus-aligned or response-aligned data for the design or test set
or both. The system retrieves the feature vectors for the design set
and forms the dot product of the feature vectors with the observation
vector.
The calculation is repeated for the test set and the projections
are saved in files DESIGN and TEST respectively. The submodule invokes
subroutine SREAD to extract the EEG signal associated with each sentence
presentation.
Submodule G3 requests the channel number and features to use in
the scatter diagram. A scale factor is derived from the projection
mximums for each axis. The submodule exits by requesting the process
ing mode: design, test or fine tune.
Submodule G4 draws the scatter diagram and calculates the centroids
of the two classes in feature space, for either design (or fine tune) or
test sets. If in fine-tune mode, loop parameters for the perturbation
algorithm are requested. The system calculates the perpendicular
bisector of the centroids of the two classes, then shifts the point of
interception of the perpendicular line with the line drawn between the
two centroids. The perpendicular line is then rotated a maximum of
+90 to -90 from the current angular position.
Submodule G6 calculates the PE, via error count, for each tentative
decision line. Each time the PE of the design set is decreased, the
system "saves" the coordinates of the point of interception, the slope,

68
the y-intercept, the PE, and draws the new decision line. This process
continues until the design PE is zero or the perturbation algorithm
terminates. The system clears the graphics memory and redraws the
design scatter plot.
Submodule G7 draws the decision line that was "saved last (the
first occurence of the lowest PE that is "closest" to the perpendicular
bisector line), and calculates the PE based on this decision rule.
The submodule concludes by writing in graphics text mode, the scatter
diagram captions in order to obtain a "hardcopy" of the graphics memory.
In automatic mode, the system stores the parameters of the decision
boundary line in the sequential file CLASSIFIER and exits. In manual
mode, the operator is prompted for additional channel/feature combina
tions as desired.
In the experiments conducted using the CPVER system, the design
and test set scatter diagrams with the classifier boundary and PE
counts, and the corresponding S/N ratio tables, were the outputs de
sired by the experiment designer. These were used to evaluate the
validity of the postulated hypotheses with regard to semantic memory
processing by Fishier et al. [1], Childers et al. [11,12,17,19,33],
and by Bloom [3].
The SCATTER module requires 46 KB of main memory for execution.
Execution times for typical design/test set applications are, approxi
mately, 10 minutes for the design and 20 seconds for the test. The
program requires 62 disk blocks to store the files DESIGN and TEST,
and one disk block for the file CLASSIFIER.

69
3.7 Data Processing/Data Storage Conventions
The DGC 6070 Moving Head Disk storage facility was used to store
the files generated by the CPVER data processing subsystem. These
files are generated in the current system directory at the time of
invocation. The system will automatically search other disk units
for sentence data, but once read, returns to the original directory
for further processing.
All filenames used by the data processing system, with the
exception of the files already mentioned explicitly by name (DESIGN,
TEST, CLASSIFIER, AUTO, INVD, AUTOMATIC, REDRAW, etc.), adhere to
a 10-character naming convention. The first character is always the
file-type designator for the file (described in Section 2.4). Character
positions 2-4 are the subject's initials, character position 5 is the
experiment series designator, position 6 is the session number. Charac
ter position 7 is either S or R (for jStimulus-aligned or Response-
aligned) position 8 is the class {1-TA, 2-FA, 3-TN, 4-FN} for
covariances or mean vectors, or the letters A, T, D, or M for discrim
inant vectors {A = UF method using Average across partitions covariance
matrix, T = UF method using the average Toeplitz estimate, D = conven
tional Discriminant Analysis, and M = Toeplitz Modified Discriminant
Analysis}. Character position 9 is the channel number and character
position 10 is either the partition number or the letter A for average
across partitions. This is summarized in Table 3-3.
As an example, consider the data collected for subject JNL in Ta
ble 2-3. The data for the semantic replication (R) or episodic (E)

70
Table 3-3
Filenaming Convention for Covariances,
Mean Vectors and Discriminant Vectors
Filename = 10 alphanumeric characters
{file-type} {ill} {e} {n} {sync} {class} {channel} {P or A}
K.
Where
{file-type} = a one character code for each type of file.
C Covariance, T Toeplitz, U Mean Vector
V Discriminant Vector
{HI}
{E}
{N}
{sync}
{ class}
{ channel}
{Pk or A}
= subject's initials (3 letters).
= experiment-series designator (E or S or R).
= session number (1, 2, 3, or 4).
= stimulus or response synchronization (S or R).
= the stimulus class for covariances and mean
vectors or the algorithm used for discriminant
vectors. 1 TA, 2 FA, 3 TN, 4 FN,
A UF Averaging, T UF Toeplitz, D Discrim
inant Analysis, M Modified Discriminant Analysis.
= channel number (1 8).
= partition numbers (1 9) or the letter A for
the "average" covariance or "average" Toeplitz
estimator across partitions.

71
series of experiments reside in disk 301. If we choose to process one
channel, say Cz, using episodic session 1 for design and session 3 for
test, response-lock, the following files will be generated:
Program Number x Size in Bytes Files
COVEST
9
X
404
CJNLE1R161 -
CJNLE1R169
9
X
404
CJNLE1R261 -
CJNLE1R269
9
X
404
TJNLE1R161 -
TJNLE1R169
9
X
404
TJNLE1R261 -
TJNLE1R269
2
X
404
CJNLE1R16A,
CJNLE1R26A
2
X
404
TJNLE1R16A,
TJNLE1R26A
9
X
44
UJNLE1R161 -
UJNLE1R169
9
X
44
UJNLE1R261 -
UJNLE1R269
DVEST
9
X
84
VJNLE1RA61 -
VJNLE1RA69
9
X
84
VJNLE1RT61 -
VJNLE1RT69
9
X
84
VJNLE1RD61 -
VJNLE1RD69
9
X
84
VJNLE1RM61 -
VJNLE1RM69
1
X
320
FEATURES
SCATTER
2
X 15552
DESIGN, TEST
1
X
80
CLASSIFIER
For a complete
design
session
(all channels processed), approxr
mately 1500 disk blocks are required (3/4 MB).

CHAPTER IV
IMPLEMENTATION OF CPVER
DATA COLLECTION/PROCESSING INTERFACE
The implementation details of the EEG data collection interface
to the data processing subsystem, are described in this chapter (from
the system designer's point of view). The chapter is subdivided into
two sections: The "off-line" system implementation and the "real-time"
system implementation.
4.1 "Off-Line" Implementation of CPVER
The term "off-line," when used with the CPVER system, refers to
the data processing task being performed, not in real-time with respect
to the data collection task (which is, of course, always performed
in real-time). In other words, all of the data collection task is
performed prior to the completion of the data processing task, and
there is no biofeedback with respect to the single epoch classification
task. In this mode, any of the experimental sessions are available for
use as either design or test sets (or combinations thereof). The major
disadvantage of this mode is that the knowledge gained through data
processing is not used to influence the data collection, and as a con
sequence, the homogeneity model assumption becomes less valid. This
must be taken into consideration during the experimental design phase.
For off-line operation, the sequence of events is, typically, as
follows: To begin with, the experiment designer and the biomedical
72

73
engineer participate jointly on the development of a realizable para
digm. A by-product of this step is the generation of the experiment
parameter and specifications table required by the CPVER system. On
the eve of and on the day of the experiment, the laboratory technician
performs the pre-operational checks outlined in Appendix 1. The sub
jects are trained in the task, and electrodes are attached and tested
for proper operation. Data collection (1st session only) is invoked
by the START.MC pseudo-macro. The system requests the personal infor
mation (if applicable) obtained from the subject, collects the calibrate
signal, and collects the VER sample prior to sentence presentation.
After the session is completed, the subject is given a brief rest
period while the operator makes an objective evaluation of the session
by invoking any or all of the data averaging and display modules
(VERAVERAGE.MC, VERDISPLAY.MC, SVERDSPL.MC or SVERTYPE.MC). The re
maining sessions are collected by invoking the COLLECT.MC pseudo-macro
which automatically disables the calibration and VER modules of the
data collection software. The subject is typically given a 15 minute
rest period (outside of the Faraday shielded room) every two sessions.
The data processing is done after all sessions are completed.
The data processing task provides the following outputs to the experi
ment designer for evaluation: 1) The table of S/N criterion J values
that is produced by the DVEST module, invoked by PROCESS.MC or
FEATURES.MC, preceded by COVARIANCE.MC; 2) the scatter plots for
various channel/feature combinations generated by the SCATTER module,
invoked by PROCESS.MC, CLASSIFY.MC or RESCATTER.MC; 3) a set of VER
"averages" for each channel/session combination. Stimulus-aligned

74
results, response-aligned results, and choice of feature extraction
algorithm scatter plots have provided the basis for the experimental
results and conclusions reported by Childers et al. [11,12,17,19],
Fishier et al. [1] and Bloom [3].
The ultimate success of a cognitive study is being able to
generalize the conclusions. Inter-subject effects must, necessarily,
be obtained by the use of an "off-line" data processing system. CPVER
must be able to handle such things as designing with one subject and
testing with other subjects, multi-subject design, multi-subject aver
ages, etc. Versions of the CPVER data processing modules have been
used to generate these types of outputs. In these applications, modules
are invoked independently, "a la carte" so to speak. The pseudo-macro
command invocation provides this capability.
4.2 "Real-Time" Implementation of CPVER
The term "real-time" refers to the interfacing of the data pro
cessing task to data collection in order to design a classifier, from
a set of labelled epochs, that is made available to the data collection
software for subsequent sessions. The availability of the "on-line"
classification algorithm provides the experimental designer with
plausible alternatives in cognitive research.
In real-time applications, the procedure for the collection of the
data for the first session is identical to the procedure used in off
line applications described in Section 4.1, using the START.MC pseudo
macro. The subject is given a brief rest period, long enough for the

75
operator to obtain a VER average or scan the three-dimensional display,
to make an objective determination of the session. Once the session
is accepted, the system is placed in automatic real-time mode where
the order and invocation of system modules must be performed automati
cally, with minimum operator intervention.
The following experimental variation is directly implementable
using the CPVER modules: Using the episodic sentence set, design a
classifier with a 72-sentence presentation session and test your
design in real-time with a second session. Provide a classification
error count at the end of the second session. Use the UF feature
extraction algorithm on the stimulus-aligned EEG data.
A possible implementation consists of the following steps:
1) Using any RDOS text editor, create the parameter and
specifications file.
2) Set the AUTO flag and clear the REALTIME, REDRAW, and
INDV flags, using the RDOS command sequence:
DELETE AUTO, REALTIME, INDV, REDRAW
XFER
ONE
AUTO
[set the AUTO flag]
XFER
ZERO
REALTIME
[clear
the REALTIME flag]
XFER
ZERO
INDV
[clear
the INDV flag]
XFER
ZERO
REDRAW
[clear
the REDRAW flag]
3)Collect the data for the first session after creating
the master sentence set. The AUTO flag enables a portion
of code inside the data collection driver module which
creates the file ANSWERS, placing the name of the speci
fications table, the subject initials, the synchrony

76
point, the experimental session number and the choice
of feature extraction methodology on a disk file. The
following RDOS command sequence accomplishes this task:
EPIN.SV
[creates episodic sentence file]
EXPDRIVER.SV
[invokes the data collection
subsystem, creates file ANSWERS]
EEGDSPL.SV
[produces 3-D display]
4) If after the visual inspection of the EEG the data is accept
able, proceed with the automatic classifier design by invoking
the data processing modules with the following RDOS sequence:
COVEST.SV
[calculates covariances]
DVEST.SV
[calculates discriminant vectors
and creates file FEATURES]
SCATTER.SV
[designs classifier and stores it
in file CLASSIFIER]
5) Invoke the data collection subsystem for on-line classification
by setting the REALTIME flag and invoke the experiment driver
module with the following RDOS command sequence:
DELETE REALTIME AUTO
XFER ONE REALTIME
XFER ZERO AUTO
EXPDRIVER.SV
The default "on-line" module for the experiment driver (module
A9 of Figure 2-1) tallies the number of misclassification errors and

77
reports the count and probability of error automatically, at the
end of the session, on the operator's console. Module A9 can easily
be modified for the display of a feedback message (to the subject)
based on the result of the classification algorithm (Module A7 and
A8 currently provide feedback messages when the subject eyeblinks or
does not respond in adequate time etc. A few (less than 10) FORTRAN
statements in modules A9, A7 and A8 can modify the existing logic for
this purpose). All of these RDOS commands have been stored in the
ONLINEDEMO.MC pseudo-macro, which uses the DEMOEXPER.SV module instead
of the EXPDRIVER.SV module. DEMOEXPER.SV is identical to EXPDRIVER.SV
except it replaces the single statement that writes the collected
EEG data onto disk with the dual statement that reads the EEG data
from disk. In other words, DEMOEXPER.SV performs a real-time simulation
of a previously collected real experimental session, except there will
not be any rejections due to artifacts (these were rejected on-line
when the session is actually collected).
The ONLINEDEMO.MC pseudo-macro is a very valuable tool in the
evaluation of the performance of the data processing software. Newer
revisions of these modules can now be tested "on-line." A revision
that may be optimal in terms of a given performance parameter but that
demands long execution times (over a few minutes) would seriously
degrade biofeedback experiments. Using ONLINEDEMO.MC, this application
took 22 minutes (total elapsed time) to collect and test two episodic
experimental sessions.

CHAPTER V
APPLICATIONS OF CPVER
A STUDY OF COGNITIVE PROCESSES
The motivation for the development of a CPVER system is described
in Childers et al. [17]. In this report, the authors give specific
details of the rationale for the experiments that were to be conducted
using such a system. In section 5.1 a brief, relevant review of the
experimental design is presented for convenience. Section 5.2 gives
a summary of results.
5.1 Experimental Design
Recent studies have suggested that components of ERPs may discrimi
nate semantic or linguistic "meaning" [1,6,47,48]- In the UF experi
ments, cortical potentials were to be recorded while subjects decided
if simple propositions such as "A bass is a fish" were true or false.
This "sentence verification" task has been used extensively in behavior
al studies of semantic memory, since it requires that information
relating the two terms of the sentence be retrieved from long-term
memory, and evaluated with respect to sentence structure. The major
purpose of the experiments was to determine if true and false state
ments could be discriminated on the basis of the subject's single
ERPs.
Verification of the truth or falsity of even simple propositions
often seems to require effort (consider, for example, "A rose is not
78

79
a vegetable"). For one set of experiments, sentence subjects (S-terms)
were 18 concrete nouns (e.g., trout), while sentence objects (O-terms)
were either the immediate (e.g., fish) or superordinate (e.g. animal)
categories of those nouns. Verbs (V-terms) could be either affirmative
("is") or negative ("is not"). The use of both affirmative and negative
sentences, and the inclusion of two possible O-terms, was intended to
make it less likely that subjects would read the S and V-terms and
then try to anticipate particular words which would make the sentence
true or false. This may reduce the task from semantic verification to
lexical matching. Use of negative sentences also controlled for the
presence of associations between S and O-terms; that is, the class of
true and false sentences each included associated (Robin is/is not-
bird) and unassociated (Robin -is/is not- truck) S-0 pairings.
In the resulting set of 144 sentences, true and false statements
were equally likely, as were affirmative and negative statements. Use
of an equal number of false and true sentences, repetition of terms
within blocks of sentences, and repetition of sentences across blocks,
were intended to keep the false sentences from being any less familiar
or more anomalous than the true statements. Any such differences
would be confounded with the true-false distinction.
The semantic experiment sentence materials are a hierarchy of set-
inclusion statements, a portion of which is outlined as follows:
(Diagram on following page)

80
Level 1
Level 2
Level 3
An example from the actual stimuli would be as follows: X =
animal; P^ = bird; P^ = insect; = robin; Y = plant; = flower;
= tree; etc. The complete hierachy is given in Figure 5-1.
The use of both positive and negative propositions gives four
basic types of statements, e.g.,
True Affirmative (TA):
False Affirmative (FA):
True Negative (TN):
False Negative (FN):
A hammer is a tool.
A hotel is a tool.
A hotel is not a tool.
A hammer is not a tool.
The number of TN and FA sentences was restricted to equal the
number of possible sentences in the other classes (i.e. 36 each).
This gives a total of 144 sentences. From a subject's perspective
true and false statements are equiprobable. This serves to disconfound
the response to validity from any probability effects that might occur
with less likely false sentences. For presentation purposes, the
sentences are randomized and divided into two blocks (sessions) of
72 trials. In the semantic experiments, each subject participated in
four distinctly randomized 72-trial sessions. In the replication of

BASS
TROUT
ANT
BEE
ROBIN
SPARROW
OAK
PINE
ROSE
DAISY
PEA
CARROT
?ISH
INSECT
BIRD
TREE
FLOWER
VEGETABLE
ANIMAL
PLANT
00
Figure 5-1 Sentence Hierarchy

82
the semantic experiments, each subject participated in two sessions of
144 trials (in the early experiments, disk storage was limited to the
size of a Data General 4047B disk pack).
In the episodic experiments, 72 sentences involving facts about
the individual subject, were presented in four randomized sessions to
each subject. The sentences consisted of two types, TA and FA, each
type contains 36 statements (the negative statements were eliminated).
These experiments were fundamentally identical to the semantic experi
ments (the only change was the sentence) described above. The episodic
sentence set is depicted in Figure 5-2.
The rationale for these idiosyncratic experiments was basically
that the task should be easier and faster (this proved to be the case),
and that validity could be tested perhaps more reliably, since the
statements involve terms that are not previously associated. Thus,
the responses to the TA statements should be more easily separated
from the responses to the FA statements because of their particular
idiosyncratic nature and more "obvious" validity.
More than 10 subjects have participated in these experiments
(see Table 2-3) with the use of the CPVER system. Experimental results
have been described by Fishier et al. [1] and Childers et al. [11,
12,17,19,33].
The measurement vector was chosen as a 720 msec interval of the
EEG. The interval may start with the onset of the last sentence seg
ment that the subject reads or it may be shifted by a specified
number of samples from the 0-term (stimulus-locked). Synchronization
may also be chosen with respect to the response pulse onset, with or

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
83
My first
name is

19
My parents
My last
name is
20
My parents
My father's
name is
21
My father
My mother's
name is
22
My mother
My major
is
23
My eyes
My class
is
24
I go
My hair
is
25
My ancestors
My hair
color is
26
My biggest
My preferred
hand is
27
My favorite
My sex
is
28
My worst
I like
to play
29
I want
My age
is over
30
My favorite
I ride
a
31
My shoe
I work
as a
32
My favorite
I was
born in
33
My middle
I was
born in
34
My favorite
I live
in
35
My favorite
I live
in
36
My residence
live(d) in
live(d) in
is a
is a
are
to bed
came from
meal is
food is
food is
to be a
color is
size is
music is
name is
author is
actor is
is
Figure 5-2 Personal Information Data Set

84
without shifting (response-lock). Since there were 8 msec between
samples, this gave a 90 component measurement vector, e.g., N = 90 for
each EEG data channel. This measurement vector dimension was determined
empirically by considering several factors. First, initially it was
desired to include the P300 component in the ERP (i.e., the positive
300 msec peak). Second, it seemed wise to place some upper limit on
the dimensionality of the measurement vector. This observation window
can be shifted at will, therefore, this does not impose any limitation
on exploratory data processing. Thirdly, this 720 msec measurement
interval closely approximates the overall spread of the subject's
responses [11].
The data was divided into two equal sets, a design set of
samples/class and a test set of samples/class. Usually = 36
for the experiments conducted (subjects on occasion did not respond
early enough in the measurement interval to allow the full 720 msec
observation window for response-aligned data processing) using CPVER.
The design set is used to determine both the features and the classifier.
To reduce the dimensionality of the observation vector as compared to
the number of samples per class, the measurement vector was partitioned
into K segments of length L (N = KL) such that the ratio M/L _> 3. The
partition size was chosen as L = 10, yielding a reduced nine-element
observation set. The size 10 was selected after conducting experiments
on the correlation between successive samples, etc.
One or two discriminant vectors (features) were calculated for
each partition of dimension 10. A criterion value (a type of signal-
to-noise ratio) was computed for each feature. The two features with
the largest S/N ratios were usually chosen for the representation.

85
The design set was projected onto the selected two-feature space
and a linear classification rule was derived. The PE was determined
empirically for the design set by counting the number of known trials
that fall on the wrong side of the decision boundary. The test set
PE is also determined empirically. This design and test set procedure
is known as the Hold-Out Method for estimating the PE, and gives
pessimistic results, but it does not require much computation.
The desired experimental results were: 1) ERP averages that
demonstrate "gross" effects, such as the evoked response following
each sentence segment presentation, 2) tables of S/N ratios for
stimulus-aligned and response-aligned data, and 3) scatter diagrams
for each design/test set pair with the resulting PE tabulation.
These outputs provided the basis for paradigm evaluation and associated
conclusions.
5.2 Summary of CPVER Data Processing Results
In the following pages, sample 3-D displays, ERP averages, S/N
ratio tables, and scatter diagrams are presented for the four subjects
whose data was "accepted" for processing (see Table 2-3): Mainly,
RCP, JNL, CJB, and MAD. Subjects RCP and JNL participated in both
the episodic experiment and the semantic (replication) experiment.
Subject CJB was asked to reverse the direction of his switch-
activated response (true = left in sessions 1 and 4, true = right in
sessions 2 and 3) movement. An EMG was collected for a preliminary
study designed by Bloom [3].

86
No attempt is made to assess the implicability of these results
to the cognitive processes of the human brain. The goal of this re
search was to provide a framework for the conduction of experiments
in cognitive psychology studies, e.g., the evaluation of these results
is beyond the scope of this work.

87
Figure 5-3 Subject RCP, Series R, Session 1, S-Lock

88
Table 5-1
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non
-Toep1it z.
Page
- 1
Subj:RCP,
Ser:R,
Ses 5:1
, Chn:6
cz,
S-LOCK
C 10) ,
36 Samp/Cl, 10/25/81
II
CL
1
2
3
4
5
6
7
8
9
Mk
3
4
4
3
5
3
5
3
3
Gamma
0.482
0.350
0.579
0.791
0.575
0.524
0.897
0.798
0.366
UF -fl
0.400
0.248
0.458
0.699
0.425
0.440
0.728
0.706
0.290
DA -fl
0.715
0.463
0.660
1.043
0.521
0.599
1.215
0.877
0.563
DA -f2
0.213
0.143
0.379
0.505
0.385
0.113
0.560
0.512
0.341

89
Table 5-2
Feature Vector Criterion
S/N Ratios
or Criterion
J, T oep1it z.
Page
- 1
Subj:RCP ,
Ser:R,
Sess:1
, Chn: 6
N
o
S-LOCK
C 103 ,
36 Samp/Cl, 10/25/81
Pic k =
1
2
3
4
5
6
7
8
9
Mk
2
4
3
3
4
3
5
3
3
Gamma
0.390
0.314
0.611
0.747
0.521
0.455
0.841
0.769
0.498
UF -fl
0.347
0.216
0.524
0.657
0.404
0.374
0.674
0.678
0.414
DA -fl
0.594
0.400
0.789
0.837
0.736
0.716
1.196
1.011
0.632
DA -f2
0.218
0.082
0.242
0.463
0.333
0.042
0.439
0.493
0.278

90

91

92

93

94

Figure 5-9
Subject RCP, Series R, Session 1, R-Lock

96
Table 5-3
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplitz.
Page
- 1
Subj:RCP,
Ser:R,
Sess s1
, Chn:6
o
N
V
R-LOCK
C-703 ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
3
4
4
2
4
4
5
9
5
Gamma
0.639
0.336
0.444
0.313
0.850
0.710
0.435
19.916
1.112
UF -fl
0.551
0.236
0.333
0.272
0.718
0.583
0.300
19.483
0.934
DA -fl
1.362
0.442
0.827
0.364
1.200
1.167
0.536
14.119
1.626
DA -f2
0.318
0.098
0.245
0.114
0.398
0.713
0.220
5. 150
0.594

97
Table 5-4
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toep
1 i t z .
Page
- 1
Subj:RCP,
Ser:R ,
Sess:1
, Chn:6
cz,
R-LOCK
C-70),
36 Sam
p/Cl, 10/25/81
Pic k =
1
2
3
4
5
6
7
8
9
Mk
3
3
4
2
3
5
6
8
5
Gamma
0.693
0.273
0.425
0.275
0.799
0.871
0.407
20.331
1.082
UF -fl
0.604
0.204
0.316
0.235
0.707
0.702
0.255
19.950
0.905
DA -fl
0.885
0.333
0.485
0.331
1.003
1.055
0.469
16.939
1.326
DA -f2
0.240
0.081
0.156
0.083
0.361
0.611
0.165
4.850
0.515

98

99

Figure 5-12 Subject RCP, Series R, Session 2, R-Lock

101
Table 5-5
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
-Toeplit z.
Page
- 1
Subj¡RCP,
Ser:R,
Sess:2
, Chn:6
CZ, R-LOCK
C-703 ,
36 Samp/Cl, 10/25/81
11
-W
CL
1
2
3
ID
n
O
7
8
9
Mk
5
5
4
2 5
3
2
7
3
Gamma
0.537
0.505
0.489
0.402 0.913
0.540
0.339
18.833
0.339
UF -fl
0.390
0.361
0.374
0.359 0.742
0.456
0.297
18.506
0.264
DA -fl
0.665
0.523
0.622
0.686 1.135
0.720
0.615
13.100
0.533
DA -f2
0.288
0.269
0.343
0.141 0.503
0 363
0.417
7.262
0.229

102
Table 5-6
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toeplitz.
Page
- 1
Subj:RCP,
Ser s R,
Sess s 2
, Chm:6
cz,
R-LOCK
C-703,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
4
4
5
5
5
3
4
9
5
Gamma
0.501
0.477
0.614
0.358
0.765
0.385
0.468
18.504
0.382
UF -fl
0.386
0.364
0.461
0.233
0.602
0.307
0.355
18.071
0.253
DA -fl
0.604
0.582
0.729
0.416
1.140
0.519
0.586
19.979
0.638
DA -f2
0.246
0.422
0.179
0.164
0.323
0.277
0.295
7.379
0.137

103

104

105
Figure 5-15 Subject JKLr Seres R, Session 2, SLock

106
Table 5-7
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non
-Toeplit z.
Page
- 1
Sub j:JNL,
Ser:R,
Ses 5:2
, Chn:6
CZ,
S-LOCK
C 103 ,
36 Samp/Cl, 10/25/81
Pk k
1
2
3
4
5
6
7
8
9
Mk
3
2
4
4
3
3
2
5
4
Gamma
0.336
0.277
0.563
0.386
0.843
0.416
0.523
0.688
0.761
UF -fl
0.261
0.238
0.444
0.280
0.751
0.336
0.477
0.530
0.632
DA -fl
0.448
0.430
0.891
0.660
t
1.227
0.654
0.774
0.808
1.422
DA -f2
0.179
0.070
0.095
0.209
0.796
0.362
0.296
0.406
0.593

107
Table 5-8
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toe
piit z.
Page
- 1
Subj :JNL ,
Ser:R,
Sess:2
, Chn:6
CZ,
S-LOCK
C 10) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
1
2
4
5
2
3
5
4
5
Gamma
0.270
0.320
0.559
0.407
0.727
0.446
0.672
0.635
0.829
UF -fl
0.270
0.278
0.440
0.275
0.678
0.365
0.515
0.512
0.662
o
3>
I
-h
H-4
0.422
0.547
0.628
0.447
1.066
0.678
0.819
0.711
0.993
DA -f2
0.113
0.053
0.080
0.196
0.774
0.358
0.152
0.377
0.503

108

109

Figure 5-18 Subject JNL, Series R, Session 1, R-Lock

Ill
Table 5-9
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplitz.
Page
- 1
Subj:JNL,
Ser s R,
Sess : 1
, Chn:6
cz,
R-LOCK
C-70) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
3
3
4
4
3
2
4
9
3
Gamma
0.269
0.116
0.211
0.611
0.187
0.178
0.355
18.010
1.028
UF -fl
0.200
0.071
0.129
0.489
0.128
0.144
0.253
17.578
0.932
DA -fl
0.389
0.180
0.378
1.008
0.240
0.342
0.558
14.743
1.443
DA -f2
0.162
0.081
0.178
0.228
0.113
0.074
0.216
6.516
0.914

112
Table 5-10
Feature Vector Criterion
S/N Ratio
5 or Cr
iterion
J, Toep
litz.
Page
- 1
Sub j:JNL,
Ser:R 7
Sess:1
, Chn: 6
CZ,
R-LOCK
C-705 ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
3
3
4
5
3
1
5
9
3
Gamma
0.298
0.111
0.221
0.763
0.175
0.156
0.383
20.171
0.967
UF -fl
0.227
0.067
0.138
0.600
0.118
0.156
0.254
19.737
0.872
DA -fl
0.403
0.167
0.298
1.122
0.222
0.271
0.438
11.589
1.248
DA -f2
0.162
0.073
0.153
0.251
0.098
0.075
0.153
2.943
0.882

113
J

114

115

116
BISCRIHINRHT ANALYSIS Y = -6.38X £453.72 ANCLE; 189
T
T
T T
T T T
r f f
r f
F F F ^
F F
T F
f H r
t rr
T T
T
T
SET, SUB J: JNL, SER:R, §ESSI0N:1, CHH:6 C2 R-LOCK, SHIFT :-?0, FEATTaTj'), P=" 2/72 i l-T.T
DESIGN
DISCRIMINANT ANALYSIS Y = -6.38X + nucir- iaa

117
Figure 5-23 Subject RCP, Series E, Session 2, S-Lock

118
Table 5-11
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplit z.
Page
- 1
Subj:RCP,
Ser:E,
Sess : 2
, Chn:6
cz,
S-LOCK
C 103 ,
36 Samp/C1, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
7
4
3
2
3
5
4
3
5
Gamma
0.513
0.555
0.490
1.108
1.422
0.826
0.478
0.343
0.450
UF -fl
0.323
0.436
0.407
1.057
1.322
0.659
0.364
0.268
0.313
DA -fl
0.636
1.124
0.655
1.282
1.719
1.238
0.437
0.330
0.386
DA -f2
0.135
0.308
0.330
0.759
0.939
0.343
0.202
0.155
0.130

119
Table 5-12
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toeplit z.
Page
- 1
Subj:RCP,
Ser:E,
Sess:2
, Chn: 6
cz,
S-LOCK
C 10) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
4
5
5
2
2
5
3
3
4
Gamma
0.504
0.600
0.592
1.108
1.329
0.852
0.495
0.364
0.377
c
n
i
*
0.388
0.448
0.441
1.058
1.277
0.685
0.412
0.288
0.272
DA -fl
0.677
0.741
0.673
1.166
1.600
1.095
0.454
0.372
0.336
DA -f 2
0.172
0.306
0.279
0.859
0.394
0.388
0.159
0.119
0.085

120

121

Figure 5-26 Subject RCP, Series E, Session 1, R-Lock

123
Table 5-13
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplit z.
Page
- 1
Sub}iRCP,
SeriE r
Seasi1
, ChmS
CZ, R-L0CK
C-700 ,
36 Samp/Cl, 10/25/81
-W
CL
1
2
3
4 5
6
7
8
9
Mk
4
5
2
2 2
5
5
10
2
Gamma
0.556
0.339
0.109
0.271 0.244
0.910
0.663
37.512
0.435
UF -fl
0.437
0.217
0.081
0.231 0.206
0.740
0.506
37.020
0.391
DA -fl
0.337
0.407
0.209
0.469 0.320
1.145
0.801
32.385
0.843
DA -f2
0.159
0.070
0.076
0.105 0.084
0.530
0.344
10.327
0.405

124
Table 5-14
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toeplitz.
Page
- 1
Sub j :RCP ,
Ser:E,
Sess:1
, Chn:6
N
o
R-LOCK
070) ,
36 Samp/Cl, 10/25/81
II
JU
CL
1
2
3
4
5
6
7
8
9
Mk
4
3
2
3
4
5
4
10
2
Gamma
0.564
0.324
0.086
0.232
0.292
0.851
0.572
39.527
0.426
UF -fl
0.445
0.251
0.062
0.167
0.198
0.684
0.452
39.034
0.382
o
3>
1
4i
0.970
0.391
0.150
0.465
0.343
0.865
0.639
24.127
0.555
Dft -f2
0.174
0.080
0.051
0.075
0.083
0.331
0.182
4.897
0.369

125

126

127
Figure 5-29 Subject JNL, Series E, Session 1
S-Lock

128
Table 5-15
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplitz.
Page
- 1
Sub js JNL ,
Ser:E,
Seas : 1
, Chn:6
cz,
S-LOCK
C 10),
36 Samp/Cl, 10/25/81
Pic k =
1
2
3
4
5
6
7
8
9
Mk
4
3
4
5
3
1
2
3
3
Gamma
0.774
0.539
0.609
0.952
0.526
0.100
0.354
0.726
0.673
UF -fl
0.G44
0.455
0.487
0.780
0.441
0.100
0.311
0.636
0.584
DA -fl
0.810
0.649
0.873
1.463
0.759
0.226
0.560
1.421
0.862
DA -f2
0.417
0.445
0.552
0.463
0.216
0.077
0.172
0.503
0.649

129
Table 5-16
Feature Vector Criterion
S/N Rat ios
or Criterion
J, Toe
piitz.
Page
- 1
Subjs JNL ,
Ser:E,
Se5 5:1
, Chn:6
cz,
S-LOCK
C 10) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
3
9
Mk
5
4
3
4
4
3
2
5
2
Gamma
0.782
0.580
0.545
0.914
0.542
0.147
0.409
0.855
0.599
UF -fl
0.618
0.460
0.460
0.780
0.423
0.095
0.365
0.687
0.552
DA -fl
0.934
0.808
0.757
1.165
0.793
0.219
0.794
1.371
0.809
DA -f2
0.350
0.453
0.529
0.421
0.203
0. 045
0.244
0.508
0.591

130

131

Figure 5-32 Subject JNL, Series E, Session 3, R-Lock

133
Table 5-17
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non
-Toeplitz.
Page
- 1
Sub]:JNL,
Ser s E,
Ses s:3,
Chn: 6
N
O
R-LOCK
C-703,
36 Samp/Cl, 10/25/81
II
-U
CL
1
2
3
4
5
6
7
8
9
Mk
3
4
5
5
2
3
4
8
5
Gamma
0.829
0.256
0.313
0.679
0.286
0.497
0.480
9.240
1.227
UF -fl
0.736
0.167
0.195
0.521
0.246
0.414
0.366
8.869
1.045
DA -fl
1.572
0.321
0.440
0.947
0.481
0.726
1.023
8.540
1.261
DA -f2
0.060
0.038
0. 190
0.317
0.150
0.178
0.192
4.064
0.457

134
Table 5-18
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toe
piit z.
Page
- 1
Subj:JNL,
Ser:E,
Sess:3
, Chn:G
- CZ,
R-LQCK
C-70) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
3
3
4
3
4
3
4
8
5
Gamma
0.859
0.220
0.278
0.563
0.367-
0.517
0.546
9.661
1.235
UF -fl
0.76S
0.157
0.186
0.477
0.263
0.432
0.428
9.290
1.054
DA -fl
0.827
0.267
0.347
0.771
0.476
0.984
0.701
8.369
1.300
DA -f2
0.083
0.039
0.141
0.278
0.128
0.148
0.224
2.282
0.395

135

136

137
Figure 5-35 Subject JNL, Series E, Session 4, R-

138
Table 5-19
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toeplitz.
Page
- 1
Sub jiJNL,
Ser:E,
Ses s:4
, Chn:6
o
N
W
1
R-LOCK
C-70) ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
4
4
3
6
2
5
2
9
4
Gamma
0.293
0.375
0.462
0.697
0.729
0.991
0.767
15.518
0.773
UF -fl
0.199
0.270
0.380
0.509
0.681
0.818
0.718
15.087
0.644
Oft -fl
0.443
0.570
0.737
0.905
1.391
0.958
1.262
11.057
1.109
DA -f2
0.185
0.138
0.148
0.213
0.183
0.631
0.892
3.382
0.714

139
Table 5-20
Feature Vector Criterion
S/M Ratios
or Criterion
J, Toeplit z.
Page
- 1
Sub]:JNL,
Ser s E,
Sess:4
, Chn:6
o
N
V
1
R-LOCK
C-703,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
2
3
4
5
4
4
1
9
3
Gamma
0.233
0.324
0.436
0.586
0.795
0.822
0.688
14.325
0.772
UF -fl
0.196
0.251
0.325
0.435
0.665
0.691
0.688
13.896
0.681
DA -fl
0.391
0.638
0.546
0.708
0.974
0.377
0.920
14.741
0.940
DA -f2
0.188
0.158
0.133
0.228
0.159
0.508
0.744
3. 739
0.642

140

141
Figure 5-37
Subject MAD,
Series E,
Session 3,
S-Lock

142
Table 5-21
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
Toep1itz.
Page
- 1
Subj:MAD,
Ser r E,
Sess:3
, Chn:6
o
N
i
S-LOCK
C 10),
36 Samp/Cl, 10/25/81
II
JmC
J*
CL
1
2
3
4
5
6
7
8
9
MIc
3
2
3
5
4
4
3
4
5
Gamma
0.281
0.309
0.521
0.500
0.428
0.604
0.352
0.598
0.610
UF -fl
0.211
0.268
0.437
0.357
0.319
0. 4*3
0.276
0.477
0.457
DA -fl
0.444
0.487
0.719
0.606
0.663
1.030
0.467
0.581
0.533
DA -f2
0.105
0.109
0.338
0.276
0.343
0.345
0.279
0.252
0.300

143
Table 5-22
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toeplitz.
Page
- 1
Sub j:MAD ,
Ser:E,
Sess¡3,
Chn: 6
o
N
V
S-LOCK
r'*
O
tH
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
1
2
3
3
4
4
2
5
5
Gamma
0.186
0.287
0.476
0.375
0.364
0.534
0.283
0.677
0.562
UF -fl
0.186
0.247
0.394
0.298
0.260
0.417
0.243
0.519
0.413
DA -fl
0.379
0.316
0.644
0.548
0.454
0.968
0.363
0.691
0.535
DA -f2
0.097
0.100
0.409
0.257
0.222
0.287
0.250
0.251
0.219

144

145

146

147
Figure 5-41 Subject MAD, Series E, Session 1,
R-Lock

148
Table 5-23
Feature Vector Criterion
S/H Ratios
or Criterion
J, Non-
Toepl i t z .
Page
- 1
Subj:MAD,
Ser:E,
Sess:1
, Chn:6
cz,
R-LOCK
0700 .
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
7
3
5
4
4
4
3
10
4
Gamma
0.625
0.819
0.751
0.646
0.525
0.691
0.423
14.423
2.146
UF -fi
0.420
0.726
0.589
0.522
0.408
0.565
0.343
13.942
1.995
DA -fl
0.980
1.491
1.126
0.880
1.000
1.266
0.758
16.664
2.329
DA -f2
0.432
0.418
0.676
0.715
0.424
0.767
0.176
8.392
1.641

149
Table 5-24
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toep1it z.
Page
- 1
Subj:MAD,
Ser:E,
Sess: 1
, Chus 6
cz,
R-LOCK
C-70),
36 Samp/Cl, 10/25/81
-U
JU
Cl
1
2
3
4
5
6
7
3
9
Mk
5
3
5
3
4
3
4
9
5
Gamma
0.543
0.804
0.789
0.574
0.571
0.630
0.491
13.985
2.336
UF -fl
0.396
0.712
0.625
0.487
0.451
0.542
0.376
13.556
2.137
DA -fl
0.679
0.971
0.876
0.868
0.780
0.991
0.661
11.158
2.778
DA -f2
2.649
0.320
0.590
0.698
0.328
0.569
0.169
5.773
1.947

150

151

152

153

154

155

156

157
Table 5-25
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non
-Toeplitz.
Page
- 1
Subj s CJB,
Ser t E,
Sess:2
, Chn:6
cz,
S-LOCK
C 103 ,
36 Samp/Cl, 10/25/81
II
JU
JU
CL
1
2
3
4
5
6
7
8
9
Mk
6
3
2
5
2
5
6
6
5
Gamma
1.389
1.232
0.454
0.766
0.978
0.394
0.445
0.945
0.739
UF -fi
1.165
1.135
0.409
0.603
0.928
0.264
0.286
0.739
0.578
DA -fl
1.515
1.438
0.710
1.110
1.772
0.384
0.556
1.217
0.822
DA -f2
1.037
0.694
0.420
0.603
0.394
0.164
0.208
0.525
0.538

158
Table 5-26
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toep
1 i t z .
Page
- 1
Sub]s CJB,
Ser:6,
Seas:2
, Chn:6
cz,
S-LOCK
C 10? ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
5
4
2
5
2
3
3
4
3
Gamma
1.269
1.326
0.459
0.740
0.776
0.287
0.300
0.792
0.573
UF -fl
1.087
1.183
0.414
0.578
0.728
0.216
0.229
0.662
0.487
DA -fl
2.186
1.574
0.842
1.364
4.226
-1.571
0.392
1.223
0.629
DA -f2
1.157
0.784
0.533
0.619
0.822
0.163
0.171
0.531
0.415

159

160

161

162
Figure 5-52 Subject CJB, Series E, Session 4, R-Lock

163
Table 5-27
Feature Vector Criterion
S/N Ratios
or Criterion
J, Non-
T oep1itz.
Page
- 1
Subj:CJB,
Ser:E,
Sess:4
, Chn:6
o
N
w
R-LOCK
C-705 ,
36 Samp/Cl, 10/25/81
Pk k =
1
2
3
4
5
6
7
8
9
Mk
2
6
3
4
4
2
4
6
2
Gamma
0.231
0.483
0.221
0.927
1.195
0.190
1. 006
2.466
0.360
UF -fl
0.193
0.318
0.158
0.793
1.055
0.155
0.869
2.221
0.313
DA -fi
0.618
0.899
0.315
1.065
1.959
0.414
2.075
2.417
0.519
DA -f2
0.266
0.230
0.141
0.388
0.788
0.168
0.290
1.080
0.095

164
Table 5-28
Feature Vector Criterion
S/N Ratios
or Criterion
J, Toeplitz.
Page
- 1
Sub j s CJB,
Ser:E,
Sess:4
, Chn:6
CZ, R-LOCK
C-705 ,
36 Sami
p/Cl, 10/25/81
Pk k =
1
2
3
4 5
6
7
8
9
Mk
3
5
3
2 3
2
3
6
2
Gamma
0.301
0.393
0.233
0.754 1.302
0.218
0.974
2.341
0.272
UF -fl
0.229
0.263
0.168
0.706 1.204
0.131
0.879
2. 098
0.233
DA -fl
0.51G
0.461
0.852
1.006 -0.181
0.272
0.933
2.190
0.357
DA -f2
0.281
0.156
-0.553
0.215 1.213
0.035
0.181
1.174
0.054

165
Figure 5-53 Scatter plots

166

167

168
DISCRIHINRHT RNRLVSIS Y = -1.45X + 683.86 RHCLE: 1
TTT
TEST SET, SUBJiCJB, SER ;E SESSIOHil, CHH¡6 CZ R-LOCK SHIFT¡-79, FE~BT(7,5), PE=38x?2(18-T,26-F)
Figure 5-56 Scatter plots

169

170

CHAPTER VI
CONCLUDING REMARKS AND FUTURE WORK
The major results of this research are summarized below.
A. A modular system to collect and process single visual
evoked responses (CPVER) was designed and implemented
at the University of Florida.
B. The CPVER system was used in the collection and
processing of single EEG records for a series of
cognitive experiments. More than ten subjects
have participated in these experiments.
C. The CPVER system modules can easily be tailored for
"on-line," "real-time" single epoch classification;
the data collection system produces an artifact-free
data base.
D. One person can supervise and control the data
collection effort.
E. Total subject participation time has been minimized.
F. "Automatic" data processing has been implemented.
"Manual" or "off-line" data processing is also
available; intersubject processing is easily per
formed.
171

172
G. The experiment designer retains control over the
data collection and processing. The software has
easily accomodated various experimental paradigms.
H. External controls guide the behavior of the system.
I. The number of decisions and inputs required of the
operator have been minimized.
J. The software was written in "structured," "modular"
form; modification is easily done.
K. The system is "menu" driven by command modules.
L. The various special-purpose modules written for
CPVER have found wide utility in other research
applications (examples include speech analysis,
image processing, speech synthesis, etc.).
M. The system is simple to learn and operate.
Future enhancements for the CPVER system are already in the
planning stages. These include: 1) The inclusion of the Jacknife
design-and-test procedure for PE estimation, 2) the inclusion of
digital filtering algorithms for pre-processing of the single VER prior
to feature extraction, 3) the reduction of the execution time required
to do a design in "on-line" mode, 4) improvements for data classifica
tion and clustering, such as the inclusion of nearest-neighbor algo
rithms and outlier rejection, 5) the removal of "motor" ERP components
associated with the index finger movement during the response, 6)
automatic update of the feature extraction/classifier as more data is
collected in "real-time" applications.

173
The answers to the following theoretical questions will directly
affect the future of CPVER systems: Can the data be optimally parti
tioned? Will multiple features and/or multiple channel inclusion
improve the probability of correct classification? Is there an optimum
alignment procedure for the synchronization of single EEG records?
How can "noisy channels be processed in order to improve the chances
for correct classification? Can a CPVER system be implemented in a
multi-processor environment, and still retain its flexibility, general
ity, utility, and low implementation cost?
The availability of a CPVER system has already fostered ideas for
future applications in other than cognitive studies. Examples of these
research topics include: 1) Can the EEG records be used to give single
commands to a computer system, 2) can we recognize "words" from single
EEG records, 3) can we use single EEG records to supplement or vali
date the polygraph tests 4) can single EEG records be used to diagnose
certain psychogenic disorders, reliably? etc.
Ultimately this research will be measured by how successful we
are in hewing a tool out of a seemingly insurmountable mountain.

REFERENCES
1. Fischler, I.S.; Bloom, P.A.; Childers, D.G.; Roucos, S.E.; and
Perry, N.W., Jr, "Potentials Related to Sentence Verification:
Lexical Versus Sentential Processes and the N400," submitted
to Psychophysiology, 1981.
2. Aunon, J.I.; McGillem, C.D.; and Childers, D.G., "Signal Processing
in Evoked Potential Research: Averaging and Modeling,"
Critical Reviews in Bioengineering, Vol. 6, pp. 225-265,
October, 1981.
3. Bloom, P.A., "Dissertation Proposal," submitted to the Graduate
Committee supervising P.A. Bloom, I.S. Fischler, Chairman,
University of Florida, June, 1981.
4. Regan, David, "Recent Advances in Electrical Recording from the
Human Brain," Nature, Vol. 253, pp. 401-407, 1975.
5. Regan, David, Evoked Potentials in Psychology, Sensory Physiology
and Clinical Medicine, Wiley Press, New York, 1972.
6. Shagass, C., Evoked Brain Potentials in Psychiatry, Plenum Press,
New York, 1972.
7. Schenkenberg, T., Visual, Auditory, and Somasensory Evoked Responses
of Normal Subjects from Childhood to Senescence, PhD Thesis,
University of Utah, 1970.
8. Ohlrich, E.S., and Barnet, A.,"Auditory Evoked Responses During
the First Year of Life," EEG and Clinical Neurophysiology,
Vol.32, pp. 161-169, 1972.
9. Vidal, J.J., "Real Time Detection of Brain Events in EEG,"
Proc. IEEE, Vol. 65, No. 5, pp. 633-641, May, 1977.
10. Smith, E.E., "Theories of Semantic Memory," in W.K. Estes (Ed.)
Handbook of Learning and Cognitive Processes, Vol. 5, Erlbaum,
Princeton, New Jersey, 1978.
11. Childers, D.G.; Roucos, S.E.; Bloom, P.A.; Fischler, I.S.;
Arroyo, A.A.; Achariyapaopan, T.; and Perry Jr., N.W.,
"Classification of Cortical Responses Using Features from
Single EEG Records," Submitted for publication, 1981.
174

175
12. Roucos, S.E., and Childers, D.G., "Feature Extraction for Small
Design Sets: Two New Algorithms," Submitted for publication,
1981.
13. John, E.; Ruchkin, D.; and Vidal, J., "Measurement of Event-
Related Potentials," in Event-Related Brain Potentials in Man,
E. Calloway, P. Tueting, and S. Koslow, Eds., Academic Press,
New York, pp. 93-138, 1978.
14. Freeman, W., "Measurement of Event-Related Potentials by Decomposi
tion of Their Waveforms," J. Cybern. Info. Sci., 1979.
15. Brillinger, D., "A Note on the Estimation of Evoked Response,"
Biol. Cybern., Vol. 31, pp. 141-144, 1978.
16. John, E.R.; Walker, P.; and Cawood, D., "Mathematical Identification
of Brain States Applied to Classification of Drugs,"
International Reviews of Neurobiology, Vol. 15, pp.273-347,
1972.
17. Childers, D.G.; Fischler, I.S.; and Perry Jr., N.W., Visual
Evoked Response and Cognition, Second Annual Report, Contract
78-F-295000, Department of Electrical Engineering, University
of Florida, October, 1980.
18. Burns, S.K, and Melzack, R., "A Method for Analyzing Variations
in Evoked Responses," Elec. Clin. Neuro., Vol. 20, pp. 407-409,
1967.
19. Childers, D.G.; Fischler, I.S.; and Perry Jr., N.W., Visual Evoked
Response and Cognition, First Annual Report, Contract 78-F-
295000, Department of Electrical Engineering, University of
Florida, September 1979, Revised November, 1979.
20. Gevins, A.S., "Pattern Recognition of Human Brain Electrical
Potentials," IEEE, Vol. PAMI-2, No. 5, September, 1980.
21. Aunon, J.I., and McGillem, C.D., "Techniques for Processing Single
Evoked Potentials," Proc. of San Diego Biomedical Symposium,
pp. 211-218, 1975.
22. Ott, N., and Schmitt, H.G., "A Method for a Quick Detection of
Acoustically Evoked Potentials of Known Shape With the Aid
of Digital Filters," IBM Publication 71.09.005, pp.1-20,
September 1, 1971, IBM Heidelberg Scientific Center.
23. Childers, D.G.; Varga, R.S.; Doyle, T.C.; and Perry Jr., N.W.,
"Experimental Evaluation of Weiner Filtering of Visual Evoked
Potentials," Second Southeastern Symposium on System Theory,
pp. G5-0 to G5-10, March 1970.

176
24. Walter, D.O., and Brazier, M.A.B.,(Eds.)"Advances in EEG Analysis,"
Supplement 27, Electroenceph. Clin. Neurophysiol., pp. 61-70,
1969.
25. McGillem, D.D., and Aunon, J.I., "Measurements of Signal Components
in Single Visually Evoked Brain Potentials," IEE Trans. Biomed.
Engr., Vol. BME-24, pp. 232-241, May, 1977.
26. Perry, N.W., Jr., and Childers, D.G., The Human Visual Evoked
Response: Method and Theory, C. Thomas, Springfield, Illinois, 1969.
27. Senmoto, S., and Childers, D.G., "Adaptive Decomposition of a
Composite Signal of Identical Unknown Wavelets in Noise,"
IEEE Trans. Sys., Man, and Cyber., Vol. SMC-2, pp. 59-66,
1972.
28. Woody, C.D., "Characterization of an Adaptive Filter for the Analysis
of Variable Latency Neuroelectric Signals," Med, and Biol.
Engng., Vol. 5, pp. 539-553, 1967.
29. Harris, E.K., and Woody, C.D., "Use of an Adaptive Filter to
Characterize Signal-Noise Relationships," Computers and
Biomed. Res., Vol. 2, pp. 242-273, 1969.
30. Donchin E.; Calloway, E.; and Jones, R.T., "Auditory Evoked Poten
tial Variability in Schizophrinia. II The Application of
Discriminant Analysis," Electroenceph. Clin. Neurophysiol.,
Vol. 29, pp. 429-440, 1970.
31. Foley, D.H., "Considerations of Sample and Feature Size," IEEE
Trans, on Inf. Theory, Vol. IT-18, pp. 618-622, September 1972.
32. Roucos, S.E., "On Small Sample Performance of Pattern Recognition
Machines," PhD Dissertation, University of Florida, 1980.
33. Roucos, S.E., and Childers, D.G., "On Dimensionality and Learning
Set Size in Feature Extraction," Proc. 1980 Internat11 Conf.
on Cybernetics and Society, pp. 26-31, October, 1980.
34. Jain, A.D., and Waller, W.G., "On the Optimum Number of Features
in the Classification of Multivariate Guassion Data,"
Pattern Recognition, Vol. 10, pp. 365-374, 1978.
35. Raudys, S., and Pikelis, V., "On Dimensionality, Sample Size,
Classification Error, and Complexity of Classification
Algorithms in Pattern Recognition," IEEE Trans. Pattern
Analy, and Mach. Intell., Vol. PAMI-2, pp. 242-252, May 1980.
36. Trunk, G.V., "A problem of Dimensionality," IEEE Trans. Pattern
Analy. and Mach. Intell., Vol. PAMI-1, pp. 306-307, July, 1979.

177
37. Lachenbruch, P.A., and Goldstein, "Discriminant Analysis,"
Biometrics, Vol. 35, pp. 68-85, March,1979.
38. Van Ness, J.W., and Simpson, C., "On the Effects of Dimension in
Discriminant Analysis," Technometrics, Vol. 18, pp. 175-187,
1976.
39. Fisher, R.A., "The Use of Multiple Measurements in Toxonomic
Problems," Annals of Eugenics, Vol. 17, pp. 179-188, 1936.
40. Foley, D.H., and Sammon Jr., J.W., "An Optimal Set of Discriminant
Vectors," IEEE Trans. Computers, Vol. C-24, pp. 281-298, 1975.
41. Slagle, J., "Experiments With Some Algorithms thqt Find Central
Solutions for Pattern Classification," CACM, Vol. 22, No. 3,
pp. 178-183, March, 1979.
42. Rabiner, L.; Levinson, S.E.; Rosenberg, A.E.; and Wilpon, J.G.,
"Speaker-Independent Recognition of Isolated Words Using
Clustering Techniques," IEEE Trans. Acou. Speech and Signal
Proc., Vol. ASSP-27, No. 4, pp. 336-349, August, 1979.
43. Levinson, S.E.; Rabiner, L.R.; Rosenberg, A.E.; and Wilpon, J.G.,
"Interactive Clustering Techniques for Selecting Speaker-
Independent Reference Templates for Isolated Word Recognition,"
IEEE Trans. Acou. Speech and Signal Proc., Vol. ASSP-27,
No. 2, pp. 134-141, April, 1979.
44. Beddinfield, John, "Mini-Computer Peripheral Multi-Channel Analog-
to-Digital and Digital-to-Analog Converter System," Master's
Thesis, University of Florida, 1975.
45. Childers, D.G., "Evoked Responses: Electrogenesis, Models,
Methodology, and Wavefront Reconstruction and Tracking
Analysis," Proceedings of the IEEE, Vol. 65, pp. 611-626, 1977.
46. Yourdon, E., and Constantine, L.L., Structured Design, Prentice-
Hall, Inc., Englewood Cliffs, New Jersey, 1979.
47. Kutas, M., and Hillyard, S.A., "Regarding Senseless Sentences:
Brain Potentials Reflect Semantic Incongruity," Science,
Vol. 207, pp. 203-205, 1980.
48. Chapman, R.M.; McCrary, J.W.; Chapman, J.A.; and Bragdon, H.R.,
"Brain Responses Related to Semantic Meaning," Brain and
Language, Vol. 5, pp. 195-205, 1978.

APPENDICES

APPENDIX 1
EQUIPMENT CHECKLIST PROCEDURE
I. Introduction
The EEG experiment driver program is a set of FORTRAN routines
written to present the sentences in a three-segment format on the CRT
display, and collect the digitized EEG signal from 8 A/D channels.
Each sampled channel contains 512 data points in integer format, for
each sentence presented (8192 bytes). The disk where the data is to
be stored must be inspected to verify that enough space is left in it
to accomodate the experimental sessions. An estimate of the number
of 256-word (512 bytes) disk blocks required is obtained by multi
plying the number of sessions, times the number of sentences presented
each session, times 16 blocks per sentence, e.g., (total disk blocks) =
(number of sessions) x (number of sentences/session) x (16 blocks).
The EEG amplifiers and the black and white TV monitor will require
warm-up for stabilization purposes. The equipment required consists
of: the NOVA 4 computer, the Grass Instruments photo stimulator, the
Grass Instruments polygraph, the DGC 6070 disk unit, the HP 2648A
graphics terminal, the EEG amplifiers, the EEG signal calibrator, the
response pulse generator, the clock hardware in the NOVA 2 A/D chasis,
a pulse generator, the Develco 3-D display, two oscilloscopes, a
variable power supply, and a timing pulse amplifier.
179

180
II. Checklist Procedure
A. The day before the data collection is to take place, perform
the following pre-operational equipment checks:
1. Turn on the EEG amplifiers. Check the batteries on the
signal calibrator and connect the signal calibrator out
put to all of the inputs of the EEG amplifiers. Verify
proper operation by observing the amplifier output on an
oscilloscope (after an appropriate warm-up period).
Adjust the relative gain (from channel-to-channel) and
DC off-set. Turn off the calibrator but leave the ampli
fiers on until the next day.
2. Turn on the NOVA 4 computer, place the data collection
disk to be used in the 6070 disk unit and ready the unit;
sign on the system. Insure there is enough space on the
data collection disk with the RDOS command, DISK. If a
new pack is required, perform a full disk initialization
on the pack and run the pseudo-macro CRENEWDSK.MC.
3. Verify proper operation of the NOVA 4 A/D subsystem as
follows: connect a sinewave generator onto the inputs of
A/D channels one through eight, turn on the NOVA 2 A/D
system and select the desired external clock frequency
(switch position l=lKHz), turn on the variable gain
oscilloscope, and run RDOS pseudo-macro ADTEST.MC. The
macro invokes the module ADTEST.SV which requests inputs
such as the desired clock source (0-disabled, 1-none, 2-
internal, 3-external), the beginning channel number (1)

181
and ending channel number (8). The module samples each
A/D channel and produces an oscilloscope display of the
sampled version of the input signal, for each channel.
4. Check the polygraph recorder for paper, ink, and verify
that all channels are responding to input signals. (This
can be done with a signal generator or by turning on the
signal calibrator connected to the EEG amplifiers. (The
output signal is approximately a 1 volt, 10 Hz sinusoid).
Clean the polygraph pens, if necessary.
5. Check the timing signals by turning on the timing signal
amplifier, the oscilloscope or the polygraph (with the
timing channel connected to it), and striking the BELL
character (CONTROL G) various times. Check the response
pulse by various left and right switch activations; replace
batteries if necessary.
6. Turn on the black and white TV monitor and adjust the
horizontal position and horizontal frequency until the
image is clear. Use the RDOS command, TYPE ESPEC to
load the HP function keys with a sample sentence presen
tation. Depress fl and turn on the graphics display.
The subject term should appear inside a reverse-video
rectangular area, and this image should be clearly visible
on the TV monitor within the prescribed area. Turn on
the Develco 3-D display, visually inspect the unit.

182
7. Verify proper operation of the xenon photo stimulator by
connecting a low frequency sinusoid to the trigger input
of the pulse generator. The light should flash at the
frequency of the input signal.
8. Turn off the TV monitor, calibrator, polygraph, signal
generators and scopes. Sign off the system, and insure
that the data disk is properly labelled.
B. On the day (morning) the experiments are to be run, perform
the following checks after turning on the equipment:
1. Place data collection disk on unit, and ready the unit.
Sign-on the system and turn on the calibrate signal.
Collect the calibrate sample using the START.MC pseudo
macro. Adjust the amplifiers and re-run if necessary.
2. Allow VER module to run once; see if the xenon photo stim
ulator flashes the required number of times. After this,
the data collection program may then be aborted (CONTROL A).
3. Verify the operation of the polygraph, timing circuitry,
DEVELCO 3-D display, TV monitor and the response circuitry
as outlined in the previous section. Turn off the cali
bration signal.
C. Once the subject is prepared for data collection, perform
the following:
1. Turn on calibrate signal and run the calibrate module
invoked by START.MC.
2. Disconnect the calibrate signal, connect the subject's
electrodes to the amplifiers, review the response

183
procedure with the subject, and turn on the polygraph.
Monitor the EEG signal, while the subject makes some
"trial" responses, for artifacts and verify the polarity
of the response pulse.
3. Turn on A/D clock to 1 KHz, and collect the VER sample.
Readjust the electrodes and collect again, if necessary.
4. While the computer prepares for data collection, adjust
the TV monitor for subject's viewing comfort, turn on the
"white" noise generator, and close the Faraday shielded
room.
5. Start the experiment.
6. Calibration runs may be collected between sessions, to
measure proper amplifier performance.
D. After all data collection, do the following:
1. Turn off all the equipment.
2. Label and store the polygraph hardcopy for each subject/
session combination.
3. Label and store the data disk pack.
4. File the subject data sheets and hardcopy outputs
collected during the experiments, in the laboratory hand
book.

APPENDIX 2
CPVER SOFTWARE USER'S GUIDE
I. Introduction
The CPVER software consist of a set of major FORTRAN programs, a
set of RDOS command modules (pseudo-macros), and a set of general pur
pose Assembly language support routines and FORTRAN miniprograms. The
FORTRAN modules were compiled using the Revision 5.52, NOVA FORTRAN
compiler; the Assembly language modules were assembled using Revision
6.60, NOVA Assembler, and all "core-image" load-module files were
prepared using the Revision 7.10, RLDR system program, running under
the MAPPED RDOS (MRDOS), Revision 6.62, operating system. The soft
ware runs on a NOVA 4 system with 256 KB of semi-conductor memory, the
hardware floating point instruction set, a model 4330-A A/D converter,
real-time clock, a model 4010 Asynch Interface (2nd CRT console) and
the 6070 FSLIC disk controller.
Prospective users of the CPVER system should become familiar
with the "basics" of the RDOS operating system. The DGC publication
number 069-000022-01, Learning To Use Your RDOS System, provides an
excellent tutorial on the mechanics of using the RDOS operating system.
II. CPVER User's Guide
A. Preliminary. The CPVER software and command modules reside,
on a permanent basis, in the "fixed" disk unit of the DGC
6070 magnetic disk storage facility. The RDOS name for this
184

185
disk unit is device DP4F (the controller is reconfigured for
device code 73, the second moving-head disk controller in the
system). Data collection is normally invoked from the
directory residing in the "removable" 6070 unit, (a 10MB disk
cartridge) RDOS device DP4.
Because of the large disk space demands of a CPVER data
collection effort, it will be necessary, on occasion, to intro
duce fresh (unused) disk packs into the system. A "new"
pack ( or unused) must first be formatted using the RDOS
DKINIT.SV stand-alone system program. This module is invoked
at sign-on or by the RDOS command, BOOT DKINIT, once signed
on. The new pack, once formatted, must have a disk boot
strap installed in it. This is done at sign-on with the
module BOOT.SV or with the RDOS command, BOOT BOOT, once
signed on. To install the CPVER system on a new pack, once
signed on, invoke the following RDOS pseudo-macro CRENEWDSK.MC,
which performs a full initialization (INIT/F) on the disk pack
and moves (MOVE/V/R/A) to the "new" DP4 the CPVER modules and
pseudo-macros. CPVER disk packs are labelled sequentially,
beginning with CPVER disk 300.
For example, let us introduce CPVER disk 304 into the
system, assuming a fresh 6070 disk cartridge is available.
The following RDOS command sequence will accomplish this
task (user inputs are underlined for convenience). Turn on
the Nova 4, operator's console, DGC 4047B disk unit, and mount
the fresh pack on the DGC 6070 disk unit.

186
!0K
¡000000
! 100033L
FILENAME? DP4F: DKINIT
DGC MODEL? 6070
UNIT? DP4
COMMAND? FULL
NUMBER OF PATTERNS? _1
DO YOU WISH TO DECLARE ADDITIONAL BAD BLOCKS? NO
REMAP AREA SIZE?
REMAP ADDRESS?
DISK FRAME SIZE? 97
COMMAND? STOP
¡000001 100033L
FILENAME? DP4F:BOOT
BOOTSTRAP DEVICE SPECIFIER? DP4
INSTALL BOOTSTRAP? YES
BOOTSTRAP DEVICE SPECIFIER? DP4F
INSTALL BOOTSTRAP? NO
FILENAME? DP4F:5YS
DATE? 10/26/81
TIME? 16:00
R
CRENEWDSK
R
RELEASE DP4F
Remove the disk pack, label it "CPVER DISK 304."
B. Data collection without "on-line" classification. The CPVER
data collection main program is called EXPDRIVER.SV, the 3-D
program EEGDSPL.SV, the single epoch display program SVERDSPL.
SV, the ERP averaging VERAVERAGE.SV, the episodic input sen
tence file generator EPINPUT.SV, and the A/D system testing
program ADTEST.SV. These modules are automatically moved to
a CPVER new system pack by the CRTNEWDSK.MC pseudo-macro.
The following pseudo-macros are used to invoke the various
program modules:

187
RDOS COMMAND
MODULE "MENU"
START.MC
COLLECT.MC
VERDISPLAY.MC
VERAVERAGE. MC
SVERDSPL.MC
ADTEST.MC
INVOKES
PURPOSE
EPINPUT.SV
EXPDRIVER. SV
EEGDSPL.SV
VERAVERAGE.SV
To create a sentence file,
and to collect one session
of an experiment in "off
line" classification mode,
including calibration, VER
photo average, 3-D display
and a ERP average for any
channel.
EXPDRIVER.SV To collect one session in
EEGDSPL.SV "off-line" classification
mode, with no calibration
nor photic VER average and
make a 3-D display.
EEGDSPL.SV To make a 3-D display.
VERAVERAGE.SV To make ERP averages.
SVERDSPL.SV To display a single EEG
record.
ADTEST.SV To test the A/D, D/A hard
ware of the NOVA A/D system.
C. CPVER data processing in "off-line" mode. The CPVER data
processing main modules are called COVEST.SV which is used
for covariance matrix estimation, DVEST.SV which creates the
discriminant (feature) vectors, and SCATTER.SV which chains
the SCATTERl.SV and SCATTER2.SV modules to produce a design
and test set scatter plot and estimates the PE. These modules
are not moved automatically to the CPVER system disk with the
CRENEWDSK.MC because they have built-in capability to search
across directories, and because disk space for data collection
is optimized.
The following pseudo-macros invoke the CPVER data pro
cessing subsystem:

188
RDOS COMMAND
MODULE "MENU"
INVOKES
PURPOSE
COVARIANCE.MC
COVEST.SV
To calculate all the covar
iance matrices for a design
set.
FEATURES.MC
DVEST.SV
To obtain the set of features
for a design set.
CLASSIFY.MC
SCATTER.SV
SCATTER1.SV
SCATTER2.SV
To design the classifier and
obtain PEt and PEd; produces
files DESIGN and TEST.
RESCATTER.MC
SCATTER.SV
SCATTER1.SV
SCATTER2.SV
To redraw the scatter plots,
using existing files, DESIGN
and TEST.
PROCESS.MC
COVEST.SV
DVEST.SV
SCATTER.SV
SCATTERl. SV
SCATTER2.SV
To process one session as a
design set in automatic mode,
and test it with a second
session.
DESIGN.MC
COVEST.SV
DVEST.SV
SCATTER.SV
SCATTERl.SV
SCATTER2.SV
To process a single session
in automatic mode, to design
a classifier assuming the
existence of file ANSWERS.
Creates file CLASSIFIER
for further processing.
Modules COVEST.SV, DVEST.SV, and SCATTER.SV may be invoked
directly (without a pseudo-macro) for the processing of data
across subjects, or across experiments etc. In this mode,
the external flags are disabled for user flexibility.
D. CPVER real-time collection and classification. By the proper
arrangement of external flags and pseudo-macros, the CPVER
can be made to collect, process, and collect/classify EEG
data. The latter is referred to as the real-time data
collection and classification mode of CPVER operation. The
permanent files ONE and ZERO contain, respectively, the

189
integers 1 and 0 in II format. To set any of the CPVER
external flags (AUTO, REDRAW, INDV, REALTIME, etc.) simply
delete the file with the RDOS, DELETE command followed by an
XFER ONE to the desired file.
To collect a session, use it for a design, and collect
a second session with "on-line" classification, the following
sequence may be used:
DELETE ANSWERS,REALTIME,REDRAW,AUTO,INDV
XFER ONE AUTO
XFER ZERO REALTIME
XFER ZERO REDRAW
XFER ZERO INDV
START.MC
DESIGN.MC
DELETE REALTIME,AUTO
XFER ONE REALTIME
XFER ZERO AUTO
EXPDRIVER.SV
The module DEMOEXP.SV (a modification of EXPDRIVER.SV)
uses existing sessions to simulate the real-time CPVER mode.
The sequence of RDOS commands used to invoke CPVER real-time
mode, but using DEMOEXP.SV, has been stored under the
ONLINEDEMO.MC pseudo-macro which is automatically moved to
a new pack with the CRENEWDSK.MC pseudo-macro.

APPENDIX 3
CPVER MODULE LISTINGS
The following sections give source listings of the CPVER major
routines, RDOS pseudo-macros, support software, and gives details
of files (storage parameters and ASCII listing (if applicable)).
Section 3A gives the listings of the data collection software, 3B the
data processing software, 3C the support software listings, 3D the
file details, and 3E the RDOS pseudo-macro listings.
190

Sec tion 3fl
CPVER DfiTfl COLLECTION
o f tware

192
File Listing Utility Progra: EPINPUT
COMMON SENT
INTEGER SENT(18) ,OBJ(6) ,IFILE(8) FIRST 121
EQUIVALENCE (SENT(13),0BJ(1)) (SENT(1) .FIRST(111
TYPE "ENTER NEW EPISODIC FILENAME"
READ(11,1) IFILE(l)
1 FORMAT(S15)
CALL FOPEHO, "EPISODIC")
CALL F0PENI4.IFILE)
TYPE "THE NEXT 36 SENTENCES ARE THE TRUE RESPONSES
DO 10 I = 1 ,36
READ (3,5) SENTID
5 FORMAT(S35)
WRITE(18,6) FIRST(11
6 FORMAT(IX, S24)
READ(11,7) OBJ(1)
7 FORMAT(Sll)
WRITE (4,8) SENTID
8 FORMAT(IX,S35)
10 CONTINUE
TYPE "THE NEXT 36 SENTENCES ARE THE FALSE RESPONSES
DO 20 I = 1 ,36
READ(3,51 SENTID
WRITE(10,6) FIRST(1)
READ(11,7) OBJ(1)
WRITE(4,8) SENTID
20 CONTINUE
STOP
END
Page

oooooono ooooooo no ooooooooooooo
193
File Listing Utility
Program: EXPDRIVER Page 1
EEG EXPERIMENTS SENTENCE PRESENTATION MAIN DRIVER.
VERSION A
VERSION A
VERSION A
VERSION A
TYPE 1
TYPE 1
TYPE 1
TYPE A
REVISION 0.0
REVISION 1.0
REVISION 1.1
REVISION 2.0
REVISION DATE
REVISION DOTE
REVISION DATE
REVISION DOTE
JULY 1989
29 JULY 1980
12 FEB. 1981
28 MAR. 1981
20 OCT. 1981
A ARROYO
0 ARROYO
A ARROYO
0 ARROYO
A ARROYO
PURPOSE : PRESENTS THE SENTENCES FOR THE DESIRED EXPERIMENT BASED ON A
PRE-DETERMINED RANDOM SEQUENCE AND COLLECTS THE DIGITIZED EEG SIGNALS
AND STORES THEM INTO UNIQUE FILENAMES OF 8 X 512 DATA POINTS.
COMMON JSENT(18,144),IDT(4096),IDATO(8,512),MAXP(8),ISENT<18),IFIL<8)
INTEGER X(4896), Y(4096), INDEX1144), RMSG(6), EXPNO, FTYP, SERIES
INTEGER ISAVE1(10),ISAVE2110)
INTEGER ISEQ1144), DIF(8), SFIL(8), INAME(8), F(48), SUBJ1N(2)
INTEGER ICO, REFCHN, SUBJ6), VERB6), OBJ16), SENTN012),ITIM(3)
INTEGER EBMSG(6) N0MSG(6), SCHOR, NCHAR, UR0NG(6), TE1 TE2, SPECFC5)
INTEGER NSC, HSC1, VSC, VSC1, JSYNC, ONLINE, SHIFT(2), PE, ISHFT
REAL SCALE (8) DVK18) DV2(10), SCI, SC2
EQUIVALENCE (SUBJ(1),ISENT(1)), (VERB(1),ISENT(7)), (OBJ(1),ISENTf13))
EQUIVALENCE (IDT(1) ,Y(1)), (X(1), IDATO(1,1))
EQUIVALENCE (EXPNO,IFIL(3)),(SENTNO(l),IFIL(4))
CALL OPEN(12,"DEBUG1 *,3,IER)
CALL OPEN(13,"DEBUG2,3,IER)
ISHFT = 8
COLL STAT(REALTIME,F,IER)
IF(lER.EQ.l) GO TO 1
TYPE "<7>*ERR0R* REALTIME FLAG DOES HOT EXIST...ILL ASSUME REOLTIME=0"
CALL OPEN(3,"REOLTIME",3,IER)
ONLINE = 0
RITE(3,9) ONLINE
COLL CLOSE(3)
GO TO 3
1 CALL 0PEN3,"REALTIME',1,IER)
READ(3,14) ONLINE
CALL CLOSE(3)
IF(ONLIHE.HE.1) GO TO 3
CALL STOT("CLASSIFIER*,F,IER)
IF(IER.EQ.l) GO TO 2
TYPE "<7>FATAL ERROR* FILE 'CLASSIFIER' NOT FOUND...ONLINE DISABLED"
ONLINE = 0
GO TO 3
2 COLL 0PEN(3,"CLASSIFIER",1,IER)
TYPE "<7>ON-LINE CLASSIFICATI0N*<7>"
READ BINARY(3) SUBJIN, SERIES, NUMBER, ICN,JSYNC,M,ISHFT,
X LI,L2,F1,F2,SLOPE,B8,ITH£,SCI,SC2,NDIM,NCHN,DV1,DV2
COLL CLOSE(3)
TYPE LI,L2.HDIM,ICN,JSYNC
IFIL(l) = 22016 + SUBJIN1)^256
IFIL(2) = SUBJIN(2)
IFIL (3) = SERIES 32 + NUMBER/'256
IFIL(4) = JSYNC 32 + M^2S6
IFIL(5) = 256*(ICN+48) + Ll+48
IFIL(6) = 8
COLL 0PEN3,IFIL,1,IER)
READ BINARY(3) DV1
RITE(18,1300) DV1
COLL CLOSE(3)
IFIL(5) = IFIL(5) LI + L2
COLL OPEN(3,IFIL,1,IER)
READ BINARY(3) DV2
URITE(18,1308) DV2
COLL CLOSE(3)
.3 CALL STAT( "AUTO",F,IER)
IF(IER-EQ.1J GO TO 4
TYPE "<7>*ERROR* AUTO FLAG DOES NOT EXIST...ILL ASSUME AUT0=8"
IAUTO = 8
COLL OPEN(3,"AUTO",3,IER)
RITE(3,9) IAUTO
COLL CLOSE(3)
4 CALL OPEN(3,"AUTO",1,IER)
READ(3,14) IAUTO
CALL CLOSE(3)
NUR = 0
TE1 = 8
TE2 0
PE = 8
NTPM = 8
HONS = 0

194
File Listing Utility
Program: EXPDRIVER Page 2
NOPR = 0
NBLKS = 0
NSENT = 0
NOT = 1
NOS = 1
I CAL = 0
C
C READ IN THE NAME OF THE PARAMETER TABLE FOR THIS RUN *, START PROCESS
C
TYPE "ENTER SPECIFICATIONS & DEFAULTS TABLE FILENAME (_SPEC_)<7>"
READ(t1,15) SPECF(1)
CALL FOPEN(3,SPECF)
5 FORMAT(12,8F4.1,12,F8.4,12,16A2)
DO 6 1=1,8
IFIL(I)=8
READ(3,7) Fill
6 WRITE(18,81 Fill
7 FORMAT(S80)
8 FORMAT C1X,S38)
9 FORMAT (IX, ID
TYPE "ENTER SUBJECT'S INITIALS(3): "
READ(11,171 SUBJIN
READ(3,16) SERIES, FTYP
READ(3,15) NAMSG(l)
READ(3,15) EBMSG(l)
READ(3,15) WRONG(1)
READ(3,5) REFCHN, SCALE, JEOG, THRES, JTIM
TYPE "ENTER EXPERIMENT NUMBER "
READ(11,16) NUMBER
EXPNO=SERIES + NUMBER^2S6 32
SENTNO11=12336
SENTNO(2)=12337
IFIL(1)= FTYP SUBJIN(1)/256 32
IFIL(2) = SUBJIN(2)
10 ACCEPT "CALIBRATE RUN? 0=NO 1=YES! ", ICP
IFUCA.EQ.0) GO TO 20
C
C CALIBRATION RUN COLLECT 512 VALUES FOR 8 CHANNELS
C
PAUSE "CALIBRATION RUH***PUT CALIBRATION SIGNAL ON ALL CHANNELS***"
ISO = 50
1ST = 150
ISTH = 250
IDUM = 1
JDUM = 1
INAME(1)= 21504 FTYP + 32 + IFIL(l)
IHAME(2)= IFIL(2)
INAME(3)= IFIL(3)
INAME(41= 0
14 FORMAT(II)
15 FORMAT(SI 5)
16 FORMAT(A1,1X,A1)
17 FORMAT(Al,A2)
18 FORMAT(814)
GO TO 41
C
C COLLECT VER SAMPLE FOR THIS SUBJECT
C
20 TYPE "<33>h<33>J<7><21>"
READ(3,18) ICH1, ICH2, NVERS
TYPE "**********************************************************"
TYPE "*** PREPARE SUBJECT FOR VER DATA COLLECTION ***
TYPE "i*********************************************************"
TYPE "* 512 SAMPLES AVERAGED FOR ",NVERS," REPETITIONS. *
TYPE "* START CHANNEL s ",ICH1," END CHANNEL : ",ICH2," *"
TYPE "i*********************************************************"
TYPE "* PAUSE...HIT TO CONTINUE"
READ(11,17) IANS
IF(IANS.EQ.23872.OR.IANS.EQ.22560) GO TO 28
N = ICH2 ICH1 + 1
IF(N.LE.0)N=N+32
VF = 1.O^FLOAT(NVERS)
NS = N 512
INAME(1) = 22016 FTYP + 32 +IFIL1)
INAME(2) = IFIL(2)
INAME(3) = IFIL(3)
INAME(4) = 0
21 DO 22 J = 1 HS
22 X(J) = 0
C
C START VER COLLECTION

195
File Listing Utility
Program: EXPDRIVER Page 3
C
DO 23 I = 1 NVERS
COLL PULSEO)
COLL ADSAH(3,ICH1-1,ICH2-1,Y,1,NS)
DO 23 J = 1 HS
X(J) = X(J) + Y(J) VF
23 CONTINUE
DO 27 I = 1 N
MOXP(I) = XII)
L = I + ICH1 1
TYPE * SEE SCOPE FOR DISPLAY OF CHANNEL : ,L
DO 24 J = 1 512
IDT CJ) = X CI + N* CJ1))
IF(IABS(IDT J)) .GT. NAXP(I) ) MOXP(1) = IAESCIDT(J))
24 CONTINUE
HOXP(I) = 204? /- HOXP(I)
DO 26 J = 1 512
26 IDT J) = IDT(J) MAXP(I)
27 COLL DSPLY(0,1 IDT, 1 ,512,3, IER)
ACCEPT REPEAT VER SAMPLE? 1-YES 0-NO : ,IANS
IF(IANS.EQ.l) GO TO 21
CALL F0FEN4,INOME)
COLL WRBLK(4,0,X,N*2,IER)
COLL CLOSE(4)
C
C STORT SAMPLING
C
28 TYPE <33>h<33>J<7> <21>
TYPE **-********#*************************************#********
TYPE * DEFAULT SPECIFICATIONS FOR THIS EXPERIMENTAL SESSION *
TYPE **********************+***
TYPE * *
WRITE(18,33) IFIL(l)
READ(3,18) NOS, NOT
SF1L(4)=0
READ(3,15) SFIL(l)
IFSFIH4) .EQ.0) GO TO 29
SFIL(3)=SFIL(3)X256*2E6 + IFIL(l) IFIL(1)'256*256
SFIL(4)=IFIL(2)
SFILI5)=0
29 WRITE (10,32) SFILll)
CALL FOPEN(4,SFIL)
DO 30 I 1, NOS
INDEX 11) = I
38 READ(4,31) JSENT(1,1)
ENDFILE 4
READ 13,18) IDUM, JDUM, KDUM, ISO, 1ST, ISTH, IPOS
READ(3,18) NPART, NDIM, SHIFT, HSC, VSC
VSC1 = 0.5+VSC
HSC1 = 0.5*HSC
MSOMP= NIN0(511+SHIFT(2),511)
ENDFILE 3
INANE(1)=SERIES +83-32
INOME(2)=256*69 + 81
INAME(3)=NUMBER 32
WRITE(10,34) INAME(1)
C READ ill,15)INAME11)
31 FORMAT(S35)
32
FORMAT(*
*
SENTENCES TO BE
PRESENTED
FILENAME
. sis, -
*)
33
FORMAT(
*
FIRST DIGITIZED
EEG DATA
FILENAME
, SI5,
34
FORMAT("
*
EXPERIMENT SESSION RANDOM
SEQUENCE
*, S15,
*)
CALL FOPEN(3,IHOME)
READ(3,35)(ISEQ(I), 1=1,NOT)
35 FORMAT(1914)
ENDFILE 3
DO 36 L = 1 ,18
36 ISENT(L) = JSENT(L,ISEQ(1))
WRITE(10,500) SUBJ(l)
WRITE(18,510) VERB(1)
WRITE(18,520) OBJ(1)
DO 37 I = 1 ,8
37 INAME I) = IFIL(I)
TYPE * NUMBER OF TRIALS FOR THIS RUN : ,NOT," *
TYPE ** LOOP DELAY PARAMETERS : *,IDUM,JDUM,KDUM,* *-
TYPE * 1ST IMAGE BOUNDARY : ,ISO, *'
TYPE * SUBJECT BOUNDARY : .IST," *
TYPE * VERB BOUNDARY : ,ISTH, *
INEXT = 512 ISTH
TYPE * RESPONSE SAMPLES I *,INEXT,
TYPE *

196
File Listing Utility
Prograa: EXPDRIVER Page 4
C
C CREATE THE FILENAMES RHERD OF SAMPLING L SAVE 1 SECOND DURING ER TRIAL
C
C GO TO 39
CALL PULSEIS)
DO 38 J=1,NOT
H=HIN8(J+l,NOT)
CALL FOPEN(4,INANE)
CALL WRBLK(4 ,0,1DATA,16,IER)
CALL CLOSE(4)
INANE(5)=INANE(5)+1
IF(HOD(H,10).NE.01GO TO 38
INANE(5)=INANE(5)-10
INANE(5) = INANE 15)+256
IFINOD(M,180).HE.0) GO TO 38
INANE IS)=INAME 15)-2560
INANE(4) = INANE 14) + 1
38 CONTINUE
39 PAUSE
C
C NRIH SENTENCE PRESENTATION LOOP TO LINE LABELED 40O FOR 1 = 1,2,3...NOT
C
DO 40 I = 1 ,8
40 INANE 11) = IFILCI)
41 PAUSE "<33>h<33>J<33>tf1E<33>B<33>B<33>B<33>B<33>B<33>B<21>
CALL RTTY(SCHAR)
NFS = 0.5 NOS
DO 400 J = 1 NOT
C
C DELAY FOR IIDUH X JDUN) NICRO-SECONDS
C
45 DO 50 L=1,IDUN
DO 50 I=1,JDUM
50 CONTINUE
C
C SAMPLE ACROSS BOUNDARIES
C
NSEHT=NSENT+1
CALL PULSE 14096)
CALL ADSAH(3,0,7,IDATA,1,8*IS0)
CALL PULSE(8192)
1NEXT = 8*ISO + 1
C
C TRIGGER SOFT KEY F3
C
CALL FTYPE(*<33>tf3E<21>*)
CALL ADSRH(3,0,7,IDATA,INEXT,CIST-ISO)*8)
CALL PULSE(13286)
INEXT = 8*1ST + 1
C
C TRIGGER SOFT KEY F5
C
CALL FTYPEC<33>ifSE<21>)
CALL ADSAH(3,0,7,IDATA,INEXT,(ISTH-IST)*8)
CALL PULSE(16383)
INEXT = 8+ISTH + 1
C
C TRIGGER SOFT KEY F7
C
CALL FTYPE("<33>tf7E<21>")
CALL ADSAN(3,0,7,IDATA,INEXT,(512-ISTH)*8)
CALL PULSEIS)
CALL TINE(ITIH,IER)
ITIHd )=NOD(ITIN(l) + (ITIM(2) + (ITIM(3)+4)^60)x60,24)
ITINI2)=NOD(ITIH(2)+(ITIN(3)+4)/68,60)
I TIN(3)=MOD(ITIN(3)+4,60)
CALL STINE(ITIN,IER)
C TYPE <33><47>*
C
C RITE DATA ON FILE
C
CRLL FOPEN(4,INANE)
C CALL RDBLK(4,8,IDATA,16,IER)
CALL MRBLK(4,0,IDATA,16,IER)
CALL CLOSE(4)
IFICR.NE.0) GO TO 1008
H = NIN0I J+l, NOT )
DO 90 L = 1 ,18
90 ISENT(L) = JSENT(L,ISEQ(INDEX(N)))
L = INDEX(H)
RITE!10,91) J,M,L,ISEQ(L),ISENT(1),KCL,TE1,TE2,PE

197
File Listing Utility Progran: EXPDRIVER Page 5
91 FORMAT!* <33>*ddatlE<33>h",4I4,2X,S36,4I4)
URITE(10,92) XI,X2,AX,AY
92 FORMAT(50X,4F7.2)
write<18,500) subjcd
WRITE(10,510) VERB <11
WRITE(19,520) OBJ(l)
TYPE -<33>*.flE<21>*
CALL RTTY(NCHAR)
IF(HCHAR.HE.SCHOR) GO TO 135
C
C EYEBLINK REJECTION SOFTWARE
C
DO 188 L = 250 512
IF( IABStIDATA(JEOG,L)1 .GT. THRES 1 GO TO 148
100 CONTINUE
C
C NO TIMING-'NO RESPONSE REJECTION SOFTWARE
C
ISP=4S
MTP=8
110 NTP = NTP + 1
DO 115 L = ISP 511
IF IABS(IDATA(JTIM,L+1)-IDATA(JTIM,L)1 .GT. 100) GO TO 119
115 CONTINUE
TYPE "<33>-*dtdalE<33>h<33>J<21>
NTPH = NTPM + 1
PAUSE TIMING PULSES MISSING-
TYPE -<33>h<33>J<21>
CALL RTTY(SCHAR)
GO TO 156
119 ISP = L + 20
IF( NTP .LT. 3 ) GO TO 118
C
C SEE IF SUBJECT MADE A RESPONSE.
C
DO 120 L = ISP MSPHP
IDIF = IDATA(JTIM, L+l) IDATA(JTIM,L)
IF ( IABS(IDIF) .GT. 200 ) GO TO 125
120 CONTINUE
DO 121 L 1 ,6
121 RHSG(L) = NAMSG(L)
NANS = NANS + 1
GO TO 150
C
C CHECK FOR CORRECT ANSWER
C
125 IANS = ISEQlINDEX(Jl)
KCL = 1
ISL = ISP SHIFT 111 20
IRL = L + SHIFT(2)
IF ( IF((IANS.GT.8.AND.IANS.LE.36).OR.(IANS.GT.72.AND.IONS.LE.108))GOTO 130
GO TO 128
127 KCL = 2
IF!1IONS.GT.36.AND.IANS.LE.72).OR.(IONS.GT.108.AND.IANS.LE.144)JGOTO 130
C
C SUBJECT MADE WRONG RESPONSE
C
128 NWR = NWR + 1
DO 129 L = 1 6
129 RMSG(L) = WRONG(L)
GO TO 150
C*
C***PROVISION FOR SENTENCE REJECTION BY OPERATOR GOES HERE
C<
138 CALL RTTY NCHAR!
IF(NCHAR.EQ.SCHAR) GO TO 280
135 CALL CLRTTY
TYPE -<33>*dtdalE<33>h<33>J<21>*
L = ISEQ(INDEX(J))
TYPE -WILL DELETE SENTENCE NUMBER : ,L
WRITE 118,8) JSENT(1,L)
NOPR = NOPR + 1
PAUSE
TYPE -<33>tK33>J<21>-
COLL RTTY(SCHAR)
GO TO 156
C
C SUBJECT EYEBLINKED!
C
REJECT SENTENCE

198
File Listing Utility Program: EXPDRIVER Page 6
140 DO 145 L = 1 ,6
14S RMSG(L) = EBMSG(L)
HBLKS = NBLKS + 1
C
C REJECT PREVIOUS SENTENCE
C
150 TYPE "<33>*dadk2S0,150O<33>fi
WRITE(10,8) RHSC(l)
TYPE <33>*,f7E<21>
DO 155 L = 1 KDUM
DO 155 1 = 1, KDUM
155 CONTINUE
156 TYPE <33>tflE<21>
C
C JUMP TO 280 IF SENTENCES ORE NOT TO BE RE-CYCLED.
C
GO TO 200
157 IF(J. EQ.NOT) CO TO 45
N = INDEX N-1)
DO 160 L = N NOT
160 INDEX(Ll) = INDEX(L)
INDEX(NOT) = H
N0=INDEX(J)
f11=0^100
M2=(M8l* 1001/10
N3=N0-1* 100-H2* 10
INAME(5)256*(H2+48)+N3+48
INfiNE (41 = 12238+111 + 48
GO TO 45
C
C SENTENCE IS ACCEPTED ISL = STIMULUS-LOCK PT ISR = RESPONSE-LOCK PT
C
288 IF(ONLINE.NE.il GO TO 380
I = ISL -1
IF(JSYNC.EQ. "R "II = ISR -1
XI = 0
X2 = 0
DO 228 L = 1 HDIU
ISAVEl(L) = IDATA(ICN,I+L+(L1-1)*NDIM)
ISAVE2(L) = IDATAIICN,I+L+(L2-11*NDIM)
XI = XI + DVKL1 ISAVEKL)
220 X2 = X2 + DV2(L) ISAVE2(L)
AX = X1*SC1 + NIN8(HSC1+188,3661
AY = X2+SC2 + VSC1
C IF(KCL.EQ.l) WRITE(12,2211 ISRVE1,X1,X2,RX,AY
C IF(KCL.E8.2) WRITE(13,221) ISRVE2,X1,X2,RX,RY
C 221 FORNflT(IX,1014,4F9.2)
IER1 = 0
IER2 = 0
PT = SLOPE*flX + 20
IF(KCL.EQ.1 .RND. (SLOPE.LE.0.RND.RY.LE.RT).OR.
X (SLOPE.GE.0.RND.RY.GE.RT)) IER1 = 1
IF(KCL.EQ.2 .AND. (SLOPE.LE.0.RND.RY.GE.RT1.OR.
X (SLOPE.GE.0.RND.RY.LE.HT11 IER2 = I
PE = PE + IER1 + IER2
TE1 = TE1 + IER1
TE2 = TE2 + IER2
380 M0=INDEX(MI
M1=M0/100
M2=(M8M1*1001x10
M3=M8-M1*180-M2*10
INPME(51=256*(M2+48)+M3+48
INAME(41=12288+M1+48
480 CONTINUE
TYPE <33>*dtdalE<33>h<33>J<21>
TYPE NUMBER OF SENTENCES PRESENTED : *,NSENT
TYPE NUMBER OF EYEBLINKS ENCOUNTERED : HBLKS
TYPE "NUMBER OF SENTENCES NOT ANSWERED: ,NRNS
TYPE NUMBER OF WRONG SENTENCE ANSWERS: ,NWR
TYPE NUMBER OF OPERATOR REJECTIONS : ,NOPR
TYPE NUMBER OF TIMING MARK REJECTIONS: ,NTPH
TYPE FINAL ORDER OF SENTENCE PRESENTATION"
WRITE(18,35) (INDEX(J),J=1,NOT)
IF(IRUTO.HE.11 GO TO 475
CALL OPEN(3,ANSWERS*,3,IER)
TYPE *****AUTOMATIC DflTfi PROCESSING MODE (RUT0=11 ******
418 TYPE STIMULUS-LOCK(S) OR RESPONSE-LOCK(R)?
READ(11,17) JSYNC
IF JSYNC.HE.S .RND. JSYNC.HE.R ) GO TO 418
420 TYPE DISCRIMINANT ANALYSIS(D) OR UF ALGORITHM(U)?
READ(11,17) I

oooo
199
File Listing Utility Prograj: EXPDRIVER Page 7
KTYP = 0
IFU.EQ.'D ) KTYP=2
IFCI.NE.'D .AND. I.NE.U ) GO TO 420
KTYP = KTYP + 1
438 TYPE 'INDIVIDUAL AVERAGE(A) COVARIANCES OR T0EPLIT2(TIP*
READ(11,17)J
IFCJ.NE.'A .AND. J.NE.'T ) GO TO 430
IFCJ.EQ.'T ) KTYP = KTYP + 1
WRITE(3,8) SPECFCl)
WRITE C3,440) SUBJIH
440 FORMAT(IX,A1,A2)
WRITE 13,440)JSYNC
WRITE(3 ,440)NUMBER
WRITE (3,9)KTYP
COLL CLOSE(3)
475 IF(ONLINE.NE.1) CO TO 499
TYPE *
TYPE '*****0N-LINE CLASSIFICATION PERFORMANCE FIGURES*****'
TYPE 'NUMBER OF TRUE TRIALS HISCLOSSIFIEB : ',TE1
TYPE NUMBER OF FALSE TRIALS MISCLOSSIFIEB : ',TE2
TYPE 'TOTAL NUMBER OF TRIALS MISCLOSSIFIEB : ',PE
TYPE '
ERROR = 100.*PE^NOT
WRITE (10,480) PE,NOT,ERROR
480 F0RMAT1X,'PROBABILITY OF ERROR : ',13,,13,SX,F6.2)
499 STOF
500 FORMAT( <33>ifla2kl2L'S12)
518 FORMAT ( <33>S,f la4k 12L'S12)
528 FORMAT(' <33>4f1a6k1IL'Sl1)
CALCULATE CALIBRATION FACTORS FOR THIS RUN
1080 TYPE "<33>*dtdalE<33>h<33>J<21>'
TYPE '**********************************************************
TYPE '*** CALIBRATION FACTORS APPLICABLE FOR THIS RUN ***
TYPE '**********************************************************
BO 1010 1=1,8
MAXP(I) = I BATA(1,1)
INBEX(I) = 1
BO 1010 J = 2 400
IF(IABS(IBAT A(I,J)).LE.IABS(MAXP Cl))) GO TO 1010
MOXP(I) = IBATA(I,3)
INDEX(I) = J
1010 CONTINUE
DO 1015 1=1,8
NS = INDEX(I) + 1
N = INDEX!I) + 112
DIF (I) = MOXP(I) IDATO (I, INDEX U)1
DO 1015 J = NS N
L = MAXP(I) IDATAtl.J)
IF ( IABS(L) .GT. IABS(DIF(I)) ) DIFCI) = L
1015 CONTINUE
DO 1020 1=1,8
SCALECI) = ABS( FLOAT( DIF(REFCHN) ) (DIFCI) + .00001) )
WRITE(10,1038) I,DIFCI),SCALE(I)
1020 CONTINUE
TYPE '**********************************************************
1838 F ORMAT(5X,IS,I10,F10.2)
ICAL = 1
GO TO 18
C1200 FORMAT(A1,A2,2C1X,A1),I2,2(1X,A1),13,212,2F6.2,F9.4,F7.2,14,2F7.2)
C 1300 FORMAT(IX,10F8.4)
END

go* ooooooooo
200
File Listing Utility
Progra: EEGDSPL
Page 1
PROGRAM USED TO DISPLAY EEC DOTO OH THE DEVELCO 3-D DISPLAY
REVISIOH 0.6 REVISION DOTE : 8 SEPTEMBER 1988 A A ARROYO
REVISION 1.8 REVISION DATE : 6 MARCH 1981 A A ARROYO
REVISION 2.0 REVISION DATE : 10 JULY 1981 A A ARROYO
RLDR EEGRD SCOPE RTTY CLRTTY DEV3D FORT.LB
INTEGER SUBJIN(2), NUMBER, SERIES, JSYNC, SPECFC5)
INTEGER IBLK512), ZTIM(S12,S), INO(5), SCHAR, NCHAR, SYNCH(4)
INTEGER IFILEC2S), IDATP(1024), TIM(512), INPUT(8,512), ILST(S)
NTCH = 8
CALL STAT("AUTO*,IBLK,IER)
IF(IER.EQ.l) GO TO 1
TYPE "*ERR0R* FILE AUTO DOES NOT EXIST...WILL ASSUME AUT0=8"
IAUTO = 8
CALL OPEN(3,"RUTO",3,IER)
WRITE(3,7) IAUTO
CALL CLOSE(3)
GO TO 5
1 CALL OPEN(3,"AUTO*,1, IER)
READ(3,8) IAUTO
CALL CLOSE(3)
IF(IAUTO.NE.l) GO TO 5
CALL STATI"ANSWERS*,IBLK,IER)
IFCIER.EQ.l) GO TO 2
TYPE "<7>*AUTOMATIC ERROR*FILE 'ANSWERS' NOT FOUND ...WILL SET AUTO=0"
IAUTO = 0
GO TO 5
2 CALL 0PEN(3,'ANSWERS,1,IER)
READ (3,15) SPECF(l)
READ(3,6) SUBJIN
READ(3,6) JSYNC
READ(3,6) NUMBER
CALL CLOSE(3)
CALL OPENl1,SPECF,1,IER)
READ(1,3) SERIES, ICN, NTCH, M, IPOS
3 FORMAT 12,42X,I2'/4X,14^24X,14)
CALL CLOSE Cl)
4 TYPE "DISPLAY TRUE RESPONSESCT), FOLSE RESPONSESCF), OR BOTH(B)?"
READ C11,6) IANS
IF CIONS-HE.*T .AND. IONS.HE.*F .AND. IONS.NE.B *) GO TO 4
IF 1IANS.EG.*F *) IPOS=-IPOS
IF(IONS.EQ."B *) IPOS=8
IFILEI1) = 68*256 + SUBJIN C I) /'256
IFILEC2) = SUBJIN 12)
IFILEC3) = SERIES 32 + NUHBER^256
IFILE4) = 12336
IFILEC5) = 12337
IFILEC6) = 8
TYPE *<7>*****AUT0M0TIC MODE*****"
WRITE(10,14) IFILEC1)
TYPE **DISPLAYING CHANNEL NUMBER : *,ICN
TYPE **NO OF SENTENCES TO DISPLAY: *,M
IF(JSYNC.EQ.*R *) ACCEPT R-LOCK...DISPLAY SYNC PT.COBOUT 480)? .MARK
5 IF(IAUTO.EO.l) GO TO 16
TYPE "STIMULUS-LOCKCS) OR RESPONSE-LOCK(R)?"
READ Cl 1,6) JSYNC
FORMAT CA1,A2)
FORMAT (IX, ID
8 FORMAT (ID
9 TYPE "DISPLAY TRUE RESPONSESCT), FALSE RESPONSES(F) OR BOTH CB)?"
READ(11,6) IANS
IF C IONS .NE. *B .AND. IANS.NE.T .AND. IANS.HE.*F *) GO TO 9
IPOS = 1
IF(IANS.EQ.*F *)IPOS=-l
IF(IANS.EQ.B *)IPOS= 0
IF(JSYNC.EQ.*R *) ACCEPT "ENTER DISPLAY SYNC PTCOBOUT 488) : ".MARK
TYPE "ENTER INPUT FILENAME"
READ(11,15) IFILE(l)
WRITE(19,14) IFILE(l)
SUBJIN(l) = (IFILE(l)-68*2561*256 + 32
SUBJIN(2) = IFILE2)
SERIES = IFILE(3)^256*256 + 32
NUMBER (IFILE(3)IFILE(31/256*256)*256 + 32
14 FORMAT(IX,"SENTENCE FILENAME : *,S1S)
15 FORMAT(S15)
ACCEPT "CHANNEL NUMBER? i ",ICN
ACCEPT "HOW MANY SENTENCES TO DISPLAY? ,H
16 IOUT1 = IFILE(5)^256 48

201
File Listing Utility Progra*: EEGDSPL Page 2
INI = IFILE S) (IOUT 1 + 48) 256 48
MST = INI + I0UT1*18
DO 17 I = 1 ,5
17 ILSTCI) = IFILE(5)
TYPE <33>h<33>J"
TYPE
TYPE "* * E. E. G. SINGLE EPOCH DISPLAY***
TYPE ****** *********************** ************* ****** **************
TYPE "* *
IF(IOHS.£Q."T )
X TYPE TRUE RESPONSES *
IF(IONS.EQ.F )
X TYPE "* FOLSE RESPONSES *
IF(IONS.EG -"B -1
X TYPE "* BOTH RESPONSE CLASSES (TRUE %, FOLSE) *
TYPE "* BEGINNING SENTENCE NUMBER IS :",HST, *
TYPE "* NUMBER OF SENTENCES TO DISPLAY:*,M, *
WRITE(10,18) SUBJIN, SERIES, NUMBER
18 FORMAT(" SUBJECT :*,01,02,3X,"SERIES :*,01,3X,
X "SESSION :*,01,18X,"*")
WRITE(10,19) ICN, JSYHC
19 FORMAT(" CHANNEL :",I1,5X,01."-LOCK",34X,)
TYPE "**************************************************************
ISTRT = 512 CICN-1)
DO 28 I = 1 512
26 IBLK(I) = 8
DO 21 I = 1 64
21 COLL DEV3D(2,IBLK,1,588,IER)
IF (JSYNC-HE."R ") GO TO 23
DO 22 I = 1 512
TIMCI)=0.0
IF(I.GE.MARK.AND.I.LE.MORK+20) TIM(I)=-2800
22 CONTINUE
GO TO 25
23 COLL F0PEN3,IFILE)
CALL RDBLK3.0,INPUT,16,IER)
ENDFILE 3
DO 24 I = 1 512
24 TIM (I)=INPUT(8,1)
25 COLL BEV3D2,TIN,1,508,IER)
CALL RTTY(SCHOR)
MEND = MST + M 1
DO 100 N = MST MEND
DO 28 J = 1 512
28 IDOTO J) = 0.0
ILST(l) = IFILE(5)
COLL FOPEN(3,IFILE)
COLL RDBLK(3,0,INPUT,16,IER)
ENDFILE 3
C
C PUT IN ORROY IDOTO THE DIGITIZED SAMPLE TO BE DISPLAYED.
C
ISP = 45
NSP = 0
30 NSP = NSP 1
DO 33 J = ISP 511
IDIF = INPUT CNTCH,J+1) INPUT(NTCH,J)
IF( IOBS(IDIF) .GT. 100 ) GO TO 35
33 CONTINUE
TYPE "<7>*ERR0R* TIMING PULSE MISSING...SEARCH NEXT SENTENCE"
GO TO 89
35 ISP = J+28
SYNCH(NSP)=J
IF(NSP.LT.3) GO TO 30
C
C ALL TIMING PULSES ACCOUNTED FOR
C
DO 36 J = ISP 511
IDIF = INPUT(NTCH,J+l) INPUT(NTCH,J)
IF( lOBS(IDIF) .GT. 200 ) GO TO 37
36 CONTINUE
TYPE "<7>*ERR0R* SUBJECT DID NOT ANSWER...SEARCH NEXT SENTENCE"
GO TO 89
37 SYNCH(4) = J
ISP = J
IF( (IPOS*IDIF) .LT. 0) GO TO 89
IF(JSYNC.HE."R ") GO TO 40
DO 38 J = 1 ISP
NSP MfiRK J
IF(NSP.GT.0) IDOTO(NSP) = -INPUT(ICN,ISP-J+1)
38 CONTINUE

202
File Listing Utility Prograa: EEGDSPL Page 3
DO 39 J = ISP 511
MSP = MARK + J ISP
IFtHSP.LE.512) IDATA(NSP) = INPUT(ICH,J+1)
39
COHTIHUE
.... - '
GO TO 49
C
C
0
-STIMULUS LOCK..
.DISPLAY ALL
OF THE DATA
40
DO 45 I = 1
, 512
IDATA(I) =
-INPUT(ICH ,
I)
45
CONTINUE
48
FORMATC *
SENTENCE
NUMBER :",14, SX,"FILENAME
49 CALL DEV3D(2,IDATA,1,508,IER)
WRITE(19,48) H, IFILE(l)
ILST(5) = ILST(4)
ILST14) = ILST(3)
ILST(3) = ILST(2)
ILST(2) = ILST(1)
ILST 1) = IFILE15)
IHO(5) = I HO(4)
IHO(4) = INOC3)
I HO(3) = IHO(2)
IHO(2) = INO(l)
IHO(1) = H
CALL RTTY(NCHAR)
C WRITE(10,9999) SCHRR, NCHAR
C9999 FORMAT(20110)
IF(HCHAR.EQ.SCHRR) GO TO 89
CALL CLRTTY
C
C DISPLAY LAST FIVE SENTENCES
C
DO 50 I = 1 ,64
58 CALL DEV3D(2,IBLK,1,S08,IER)
DO 60 I = 1 ,5
JDUM = 6-1
IFILE(5) = ILST(JDUH)
CALL FOPEN(3,1FILE)
CALL RDBLK(3,0,INPUT,16,IER)
EHDFILE 3
DO 55 J = 1 512
ZTIH(J,I) = INPUT(8,J)
55 IDATA(J) = -INPUT(ICH,J)
TYPE "ZOOHIHG OH SENTENCE HUMBER : *,IHO(JDUM)
CALL DEV3D(2,IDATA,1,508,IER)
60 COHTIHUE
DO 63 I = 1 ,2
63 CALL DEV3D(2,IBLK,1,508,IER)
DO 70 I = 1 ,5
DO 65 J = 1 512
65 IDATA(J) = ZTIH(J,I)
70 CALL DEV3D(2,IDATA,1,508,IER)
C DO 75 I = 1 10
C75 CALL DEV3D(2,IBLK,1,508,IER)
76 ACCEPT "ENTER POSSIBLE SENTENCE NUMBER TO BE DELETED OR ZERO : ",IANS
IF (IANS .£Q. 8 ) GO TO 89
TYPE "SENTENCE NUMBER ", IAHS, DISPLAYED OH THE SCOPE"
DO 89 I 1 ,5
IF(IANS .NE. INO(I)) GO TO 80
IFILE(S) = ILST(I)
CALL FOPEH(3,IFILE)
CALL RBBLK(3,8,INPUT,16,IER)
ENDFILE 3
DO 77 J = 1 512
77 IDATA(J) = INPUT(ICN J)
78 CALL SCOPE(2,0,1,IDRTA,1,512,IER)
ACCEPT "ANSWER 1 IF YOU WISH TO REJECT THIS TRIAL : ",IANS
IF(IANS .NE. 1) GO TO 76
TYPE "TRIAL SENTENCE : ",INO(I), DELETED*"
ACCEPT "ENTER DISK NUMBER FOR DELETED TRIAL : ",IDISK
CALL APPEND(4,DP8¡REJECTS",2,IER)
WRITE(4,79) IDISK, IFILE(l), INO(I)
CALL CLOSE(4,IER)
79 FORMAT(14,2X,S20,2X,14)
CO TO 76
80 COHTIHUE
TYPE "ERROR INVALID SENTENCE"
GO TO 76
89 IFILE(5) = ILST(1) + 1
90 IF(MOD(N+1,10).NE.0) GO TO 100
IFILE(5) = IFILE(5) 10

203
c
C888
lee
File Listing Utility Program: EEGDSPL
Page 4
IFILE(S) = 1FILE(5) + 256
WRITE tie,888) IFILE(l)
F0RH0T(1X,S15)
IF(MOD(H+l,100).HE.0) GO TO 100
IFILE(4) = 1FILE4) + 1
IFILE(5) = IFILE(5) 2560
CONTINUE
COLL DEV3D(2,TIH,1,508,IER)
COLL DEV3DC2,TIH,1,S08,IERJ
TYPE
STOP
END

204
File Listing Utility Program: SVERDSPL Page i
INTEGER FHAME(8),Y(8,512),IDT(512)
TYPE "*UP TO EIGHT CHANNEL EEG SINGLE SENTENCE SCOPE DISPLAY**
I TYPE "ENTER FILENAME TO DISPLAY : *
READ(11,50) FNAME(l)
CALL FOPEN(3,FNPNE)
CALL RDBUC(3,0,Y,16,IER)
CALL CLOSE(3)
ACCEPT "ENTER BEGINNING CHANNEL NUMBER : ",ICH1
ACCEPT "ENTER ENDING CHANNEL NUMBER : ",ICH2
N = ICH2 ICHI + 1
IFN.LE.0) N = 32 + N
DO 20 1=1,N
DO 10 J=1,512
18 IDT(J) = Y(I+(J-1)*N)
20 COLL DSPLY(2,0,IDT,1,512,8,IER1
ACCEPT "DO YOU UISH ANOTHER TEST? 1-YES, 0-NO "IONS
IFUANS.NE.ai GO TO 1
50 FORMAT(S15D
99 STOP
EHD

205
File Listing Utility Program: SVEPTYPE
INTEGER IDATA(8,5121, IFIL(IS)
1 TYPE ENTER FILENAME
READUl,10)IFIL(1)
10 FORMAT(SI 5)
COLL FOPEN(3,IFIL)
CALL RDBLK(3,0,IDATA,16,IER)
ACCEPT ENTER DESIRED CHANNEL NUMBER : ,ICH
TYPE CHANNEL NUMBER ,ICH
20 WRITE (10,38) UDRTA(ICH,H) ,H=1 ,512)
30 FORMAT(1515)
40 CONTINUE
EWDFILE 3
ACCEPT ANOTHER TRIAL? ,IANS
IFUANS.EQ.l) GO TO 1
STOP
END
Page 1

Sec tion 3E
CPVER DATA PROCESSING
so ftware

ooo non nnnnnon
207
File Listing Utility
Progran: COVEST
Page 1
COVARIANCE MATRIX ESTIMATOR FOR VISUAL EVOKED RESPONSE AND COGNITION
REVISION : 0.0 REVISION DATE s JULY 10 1981 UNIVERSITY OF FLORIDA
RLBR COVEST SREAD FORT.LB
COMMOH^SENT^ EEG(8,S12), V(8,512), SENTF(S), RSEQ144)
INTEGER SENTF, RSEC, RSEQFI3), SPECF(8), EXPNO, SERIES, FTYPC10)
INTEGER EEG, V, XEEG(4096), YEEGI4096), SUBJIN(2) SEHTNO(2)
INTEGER SN4), MSC4,4), SSNI4), MSC, VSC, CLASS C 41
INTEGER CHID(2,8), MSCL(4), NSCLI4), SHIFT(2), ICHNC81, COVFI6)
REAL AVGllBl), TAVG101), TC(10)
REAL PCOV18,10,9,6), VM(10,9,6), X10.9), AI101), Bill)
EQUIVALENCE (XEEG(l),EEG(1,1)1,(YEEG(l),Vll,1)1,(SUBJIN(l),SENTF(1)1
EQUIVALENCE (EXPNO ,SENTF (3) ) (SENTF £4) .SENTNOil))
CALL STAT("INDV",XEEG,IER)
IF(IER.EQ.l) GO TO I
TYPE "<7>*ERR0R* INDV FLAG DOES NOT EXIST...WILL ASSUME INDV=1"
INDV = 1
CALL OPEN(3,INDV",3,IER)
WRITE(3,6) INDV
CALL CLOSE (3)
GO TO 2
1 CALL 0PENI3,"INDV",1,IER)
READ(3,5) INDV
CALL CLOSE(3)
CALL STATCAUTO",XEEG,IER)
IF(IER.EQ.l) GO TO 3
TYPE <7>*ERR0R* AUTO FLAG DOES NOT EXIST...WILL ASSUME RUTO=0"
IAUTO = 0
CALL OPEN(3,"AUTO*,3,IER)
WRITE(3,6) IAUTO
CALL CLOSE(3)
GO TO 10
CALL OPEN(3,"AUTO",1,IER)
READI3.5) IAUTO
CALL CLOSE(3)
IF(IAUTO .NE. 1) GO TO 10
TYPE ******AUTOMATIC MODE*****"
CALL STATCRNSWERS",XEEG,IER)
IF(IER.EQ.l) GO TO 4
TYPE "<7>*ERR0R* FILE ANSWERS DOES NOT EXIST...WILL BE CREATED"
CALL 0PEN(3,"ANSWERS",3,IER)
TYPE "ENTER PARAMETER t SPECIFICATIONS TABLE FILENAME"
READ(11,20) SPECF(l)
TYPE "ENTER SUBJECTS INITIALS*
READ(11,110) SUBJIN
TYPE "ENTER SYNCHRONY POINT : STIMULUS-LOCK(S) OR RESPONSE-LOCK(R)"
READ(11,110) JSYNC
TYPE "ENTER EXPERIMENTAL SESSION NUMBER"
READ(11,110) NUMBER
WRITE(3,21) SPECF(l)
WRITE(3,111) SUBJIN
WRITE(3,111) JSYNC
WRITE(3,111) NUMBER
CALL CLOSE(3)
GO TO 11
CALL OPEN(3,"ANSWERS",1,IER)
READ(3,28) SPECF(l)
READ(3,110) SUBJIN
READ(3,110) JSYNC
READ(3,110) NUMBER
CALL CLOSE(3)
GO TO 11
READ IN THE NAME OF THE PARAMETER t SPECIFICATIONS TABLE FOR THIS RUN.
I FORMAT (ID
6 FORMAT (IX, ID
10 TYPE "ENTER PARAMETER fc SPECIFICATIONS TABLE FILENAME( SPEC )<7>"
READ £ 11,20) SPECF(l)
II WRITE(10,15) SPECF(l)
15 FORMAT(IX,"PARAMETER L SPECIFICATIONS TABLE s ",S15)
20 FORMAT(S15)
21 FORMAT(IX,SIS)
CALL STAT(SPECF,XEEG,IER)
IF(IER .EQ. 1) GO TO 50
SPECIFICATION FILE NOT FOUND...RETRY

no oo non ooo o oo ooo oooo non o nnnn non nnnnn
208
File Listing Utility Program: COVEST Page 2
WRITE E10,38) IER, SPECF(1)
38 FORMAT!IX,"*ERR0R* IER : *,13,2X,"SPECIFICATION FILE : *,S8,2X,"N0T FOUN
PAUSE "SIGH OH TO ANOTHER USER AND TRANSFER FILE TO DP4*
GO TO 18
TABLE AVAILABLE AND ASSIGNED TO UNIT 1.
SERIES : EXPERIMENT SERIES (E-EPISODIC, R-REPLICATION, ETC 1
FTYP : ID-DATA, C-COVARIANCE, U-MEAN VECTOR, V-DISC VECTOR, TTOEPLITZ3
8 CALL OPEN (1 ,SPECF 1 IER)
READ <1,68) SERIES, FTYP
0 FORMAT /ss///s/4id\ IX) )
NTCH : NUMBER OF THE TIMING CHANNEL CHID : NAME(ID) FOR 8 CHANNELS.
READ(1,78) NTCH, C(CHIDCI,J), 1=1,2), J=1,8)
8 FORMAT (^/-44X, 12,16A2)
NOS : OF SENTENCES NOT : OF TRIALS^SESSION
MCL : OF SENTENCE CLASSES MSCL : OF SENTEHCES-rCLASS
NCL : OF SESSION CLASSES NSCL : OF SENTENCES^CLASS
READll,80) NOS,NOT,NSTRT,MCL,(MSCL(I),1 = 1,MCL),NCL, (NSCL(I) ,1 = 1 ,NCL) ,
X CCLASSCI), 1=1,MCL)
IFt HCL.LE.2 .OR. IAUT0.EQ.1) GO TO 85
TYPE "<7>********MULTI-CLASS EXPERIMENT****"
TYPE "*CLASSES : 1-TA, 2-FA, 3-TN, 4-FN *"
TYPE ******************* ******************
'7 ACCEPT "*EMTER 1ST CLASS TO PROCESS : ".CLASSd)
ACCEPT "*ENTER 2ND CLASS TO PROCESS : ",CLASS(2)
IF(CLASS 11).EG.CLASS(2) .OR.CLASS(l).GT.MCL-OR.CLASS 11) .LE.8
X .OR.CLASS12).GT.MCL.OR.CLASS(2).LE.8) GO TO 77
¡8 FORMAT 1/2814)
IPOS : POLARITY OF RESPONSE PULSE (+1 TRUE POSITIVE HIGH)
85 READll,88) I,I,I,I,I,I,IPOS
HP : PARTITIONS N .- DIMENSION WINDOW SHIFT FOR : S-LOCK, R-LOCK
NCHM : OF CHANNELS TO PROCESS ICHN : CHANNEL NUMBER TO PROCESS
READll,90) HP, N, SHIFT, HSC, VSC, NCHN, ICHN1I), 1=1,NCHN)
98 FORMAT(2014)
HSAH = HP H
SUBJECT'S INITIALS (3)
100 IF1IAUTO .EG. 1) GO TO 101
TYPE "ENTER : SUBJECTS INITIALS 13)"
READ 111,116) SUBJIN
181 WRITE(10,112) SUBJIN
110 FORMAT 1A1,A2)
111 FORMAT 1IX,A1,R2)
112 FORMATUX,"SUBJECT'S INITIALS : ,A1 ,A2>
SENTF(l) = FTYP 11) SUBJINU)'2S6 32
DECIDE ON SYNCHRONY POINT.
115
IF 11AUTO .EQ. 1) GO
TO
117
116
TYPE "STIMULUS-LOCK(S)
OR
RESPONSELOCK(R)?
READ 111,110) JSYNC
117
CONTINUE
IF(JSYNC .EG. "R ")
GO
TO
129
IF(JSYNC .NE. "S ")
GO
TO
116
STIMULUS LOCK.
ISHFT = SHIFT 11)
TYPE STIMULUS-LOCK WINDOW W.R.T. SYNC POINT : *,ISHFT
GO TO 125
120 ISHFT = SHIFT(2)
TYPE "RESPONSE-LOCK WINDOW W.R.T. SYNC POINT : ",ISHFT
DECIDE IF ACROSS SESSIONS.
125 CONTINUE
ACCEPT "DO YOU WISH TO CALCULATE COVARIANCES ACROSS SESSIONS? : ",IANS
IF CIANS .EG. 0) GO TO 175
GO TO 175
ACROSS SESSIONS....PRE-DETERMINED ORDER AND SETUP

209
File Listing Utility
Program: COVEST
Page 3
C
130 TYPE **PRE-STORED ACROSS SESSION SETUP**
STOP
C
C STANDARD UITHIN SINGLE SESSION SETUP.
C
175 IF(IAUTO .EQ. 1) GO TO 176
TYPE "ENTER SESSION NUMBER*
READ(11,110) NUMBER
176 URITE(10,177) NUMBER
177 FORMATUX,"EXPERIMENTAL SESSION NUMBER : *,A1)
NS = 1
SHU) = NUMBER
DO 180 1 = 1, NCL
180 MS (1,1) = NSCL(I)
SSN(l) = NSTRT
URITE(10,185) NUMBER, NSTRT
URITE(10,190) NOS, MCL, (MSCLI), 1=1,MCL)
URITE(10,195) NOT, NCL, (NSCL(I), 1=1,NCL)
185 FORMAT(IX,'SESSION NUMBER : *,02,5X,'STARTING SENTENCE NUMBER : *,I3)
198 FORMATUX, SENT s *,I4,5X,** CLASSES : *,I2,5X,* SENT'CL s *,413)
195 FORMATUX,** TRIALS : *,I4,5X,* CLASSES *,12,SX,*TRIRLS/XL
C
C SETUP COVARIANCE FILENAME.
C
200 COVF(l) = FTYP(2) (SENTFU)-SEHTFU)^256*256) 32
COVF(2) = SENTF(2)
COVF(3) = SERIES + NUMBER'256- 32
COVF(6) = 8
C
C FOR EACH OF TUO POSSIBLE CLASSES.
C
DO 1888 KCLOS =1,2
K = CLASS(KCLAS)
COVF(4) = JSYNC + (43+K) 32
COVF(5) = 12336
SENTNOU) = 12336
SENTNO(2) = 12337
C
C INITIALIZE ARRAYS.
C
DO 218 IC = 1 NCHN
DO 218 L = 1 NP
DO 210 I = 1 N
VH(I,L,IC) = 8.0
DO 218 J = 1 N
210 PCOVU ,J,L,IC> = 0.0
URITE(18,225) K
225 FORMATUX,CLASS : *,I1)
MX = 0
DO 248 I = 1 K
240 MX = MX + HSCL(I)
MN = MX MSCL(K) + 1
URITE(10,260) COVF(1)
268 FORMAT(IX,"COVARIANCE FILE : *,S10)
C
C ACROSS SESSIONS
*,413)
C
MSENT = 8
DO 750 LS = 1 MS
EXPNO = SERIES + SN(LS)^2S6 32
URITE(10,270) SEHTF(1)
270 FORMATUX, "SENTENCE FILE : *,S10)
RSEQF Cl) = SERIES + 83-32
RSEQF2) = 69*256 + 81
RSEQF(3) = SN(LS) 32
URITE(10,288) RSEQF(1)
280 FORMATUX, "RANDOM FILE s ,S10)
M = MS(LS,K)
MSENT = MSENT + M
NSTRT = SSN(LS)
CALL OPEN(3,RSEQF,1,1ER)
READ(3,308) (RSEQ(I), 1=1, NOT)
CALL CLOSE(3)
300 FORMAT (1914)
C
C FOR EACH SENTENCE IN THE SESSION
C
NSE = 0
DO 780 IS = 1 M
CALL SREAD(NSTRT,NOT,MX,MN,NCHN,ICHN.NSAM,JSYNC,ISHFT,NTCH,IPOS,INSF.IER

210
Tile Listing Utility
Progra*! COVEST
Page 4
NSE = NSE + 1
DO 608 IC = 1 NCHH
DO 588 L = 1 NP
DO 450 I = 1 N
XII,L> = VdC,I+(L-l)*N)
450 VM(I,L,IC) = VM(I,L,IC) * X(I,L)
C
DO 475 I = 1 H
DO 475 J = 1 N
475 PCOVd ,J,L,IC)=PCOVCI ,J,L,IC) +X(I,L)*X(J,L)
C
588 CONTINUE
C
C END OF CHANNELS.
C
608 CONTINUE
C
C EHD OF SENTENCES.
C
708 CONTINUE
WRITE 110,725) NSE
725 FORMAT IX,"^NUMBER OF SENTENCES PROCESSED : ,13)
C
C END OF SESSIONS.
C
758 CONTINUE
C
C REPEAT FOR EACH CHANNEL AND PARTITION.
C
DO 958 IC = l NCHH
C0VFI5) = (ICHN (10+481*256 + 48
C
C INITIALIZE AVERAGE ARRAYS.
C
DO 775 INDEX = 1 101
TPVG(INDEX) = 0.0
775 QVG(INDEX) = 0.0
C
DO 890 L = 1 HP
COVF(S) = COVF(S) + 1
C
C CALCULATE MEAN VECTOR.
C
B(l) = 1.0
DO 800 I = 1 N
VM(I,L,IC) = VH(I,L,IC) X MSENT
800 BCI + U = VMCI,L,IC1
C
C CALCULATE COVARIANCE MATRIX FROM SUM OF SQUARES FORMULAE.
C
DO 310 I = 1 N
DO 810 J = 1 N
310 PCOV(I,J,L,IC)-(PCOVII,J,L,IC)-HSENT*VM(I,L,IC)*VM(J,L,IC)l^(MSENT-l)
C
C FORCE COVARIANCE MATRIX TO BE SYMMETRIC.
C
A(1) = 1.0
DO 820 I = 1 N
DO 820 J = 1 N
PCOV(J,I,L,IC) = PCOVd ,J,L ,IC)
INDEX = 1 + J + (I-1)*N
AUNDEX) = PCOVd ,J,L,IC)
820 AVG (INDEX) = AVG (INDEX 1 + 0(INDEX)HP
C
C WRITE THE INDIVIDUAL PARTITION COVARIANCE MATRICES ON DISK.
C
IFdNDV.EQ.0) GO TO 825
WRITE (10,260) COVFd)
WRITE(18,8211 (0(11,1=2,11)
821 FORMATdX,"COVARIANCE" ,10F7.8)
COLL OPEN(3,COVF,3,1ER1
WRITE BINARY(3) 0
ENDFILE 3
C
C CALCULATE TOEPLITZ COVARIANCE.
C
825 INDEX = 2
DO 840 I = 1 N

oooooo ooo oooooo non
211
File Listing Utility Prograa: COVEST Page 5
icm = 8.0
IS = H I + 1
DO 835 J = 1 IS
TCtn = TC(I) + A (INDEX) ''IS
835 INDEX = INDEX + N +1
840 INDEX =1+2
C
DO 845 I = 1 N
DO 845 J = 1 H
IS = IABSCI-J) + 1
INDEX = J + 1 + (I-1)*N
A( INDEX) = TC(IS)
TAVG(INDEX) = TAVG(INDEX) TC(IS)/HP
845 CONTINUE
C
. IFCINDV.EQ.0) GO TO 860
COVF(1) = COVF(l) FTVP(2) + FTYP3)
WRITE (10,850) COVF(II
850 FORHAT(1X,'TOEPLITZ COVARIANCE FILE : ,S10)
CALL OPEN(3,COVF,3,IER1
WRITE BINARYC3I A
WRITE C10,851) (A(I) ,1=2,11)
851 FORMAT(IX,"TOEPLITZ :,18F7.0)
EHDFILE 3
COVF ill = COVF(II FTYPI3) + FTYP(2)
WRITE OUT THE AVERAGE VECTOR.
(68 COVF (11 = COVFC1) FTYP (2) + FTYP (4)
WRITE(10,875) COVFd )
(75 FORMAT (IX,"AVERAGE VECTOR FILE : ,S10)
WRITE(10,876) (BCI) ,1=2,11)
176 FORMAT (IX, "MEAN VECT 10F7 .8)
CALL OPEN(3,COVF,3,IER)
WRITE BINARY(3) B
ENDFILE 3
COVF(1) = COVFC1) FTYPC4) + FTYPC2)
NEXT PARTITION.
898 CONTINUE
WRITE OUT THE AVG COVARIANCE MATRIX ON DISK.
COVF(5)=COVF(5) NP + 17
WRITE(10,910) COVF(l)
910 FORMAT(IX,'AVERAGE COVARIANCE MATRIX s ",S101
WRITE(18,911) (AVG(I), 1=2,11)
911 FORMAT(IX,'AVG. COV.:,10F7.0)
CALL OPEN(3,COVF,3,IER)
WRITE BINARY3) AVG
ENDFILE 3
WRITE OUT THE AVG T0EPLIT2 COVARIANCE MATRIX ON DISK.
COVF(1) = COVF(l) FTYP(2) FTYP(3)
WRITE(10,920) COVF(l)
920 FORMAT(IX,AVERAGE TOEPLITZ COVARIANCE MATRIX s *,S10)
WRITE(10,921) CTAVGCI), 1=2,11)
921 FORMAT(IX,'AVG TOEPT:*,10F7.0)
CALL OPEN(3,COVF,3,IER)
WRITE BINARY(3) TAVG
ENDFILE 3
COVF(1) = COVF(1) FTYP(3) + FTYP(2)
NEXT CHANNEL.
950 CONTINUE
NEXT CLASS.
1000 CONTINUE
STOP
END

oo o o o ooooooo
212
File Listing Utility
Program: DVEST
Page 1
DISCRIMINANT VECTOR ESTIMATOR FOR VISUAL EVOKED RESPOHSE AND COGNITION
REVISION : 8.8 REVISION DATE : SEPT 28 1981 UNIVERSITY OF FLORIDA
RLDR DVEST EIGEN SORT FEAT VECROT INVERSE FORT.LB
COMMON/-FI LES^COVF < 61
INTEGER SPECFO), EXPNO, SERIES, FTYP118), IDAY C3) FILEID(22)
INTEGER SUBJIN2), HX(2,9,6), CLASS(4>
INTEGER SN(4), HS(4,4), SSN(4), NSC, VSC, IAUTO, JSYNC
INTEGER CHID(2,8), MSCL(4), NSCL(4), SHIFT(2), ICHN(8). COVF, IHDEX(ll)
REAL A (55) R(108), UK1D, U2C11), CK181), C2(181), .(2,9,6)
REAL GAMMA(2,9,6) Bill) BO(11) D(ll) AA(21) DV(1 AV(10,2)
REAL CM(18,18), VMO10), VMT(10), DM(2,2,9.6), CG(10), VD(10,2)
MDV = 2
PCT = 8.8498
CALL STAT(INDV",FILEID,IER)
IF(IER.EQ.l) GO TO 1
TYPE "<7>*ERR0R* INDV FLAG DOES NOT EXIST...WILL ASSUME INDV=1"
INDV = 1
CALL OPEN(3,INDV",3,IER)
GRITEO,6) INDV
CALL CLOSE(3)
GO TO 2
I CALL OPEN(3,"INDV",1,IER)
READ(3,5) INDV
CALL CLOSE(3)
CALL STAT("AUTO",FILEIB,IER)
IF(IER.EQ.l) GO TO 3
TYPE "<7>*ERR0R* AUTO FLAG DOES NOT EXIST...MILL ASSUME AUTO=0"
IAUTO = 0
CALL OPEN(3,"AUTO",3,IER)
GRITEO,6) IAUTO
CALL CLOSE(3)
GO TO 10
CALL OPENO,"AUTO",1 ,IER)
READ(3,5) IAUTO
CALL CLOSE(3)
IF(IAUTO .HE. 1) GO TO 10
TYPE "*****AUTOMATIC MODE****"
CALL STATCANSGERS" ,FILEID,IER)
IF(IER.EQ.l) GO TO 4
TYPE "<7>*ERR0R* FILE ANSGERS DOES NOT EXIST...GILL BE CREATED"
COLL OPENO,"ANSGERS" ,3,IER)
TYPE "ENTER PARAMETER & SPECIFICATIONS TABLE FILENAME"
READ(11,28) SPECF(l)
TYPE "ENTER SUBJECT'S INITIALS"
READ ill 110) SUBJIN
TYPE "ENTER SYNCHRONY POINT s STIMULUS-LOCK(S) OR RESPONSE-LOCK(R)*
READ(11,110) JSYNC
TYPE "ENTER EXPERIMENTAL SESSION NUMBER"
READ(11,118) NUMBER
GRITEO,21) SPECF(l)
GRITEO,111) SUBJIN
GRITEO,111) JSYNC
GRITEO,111) HUMBER
CALL CLOSE(3)
GO TO 11
COLL OPEN(3,"ANSGERS",1,IER)
READ(3,20) SPECF(l)
READ(3,118) SUBJIN
READ(3,110) JSYNC
READ(3,118) NUMBER
COLL CLOSE(3)
GO TO 11
READ IN THE NAME OF THE PARAMETER 3, SPECIFICATIONS TABLE FOR THIS RUN.
5 FORMAT (ID
6 FORMAT (IX, ID
10 TYPE "ENTER PARAMETER . SPECIFICATIONS TABLE FILENAME ( SPEC )<7>"
READ(11,20) SPECF(l)
II GRITE(18,15) SPECF(l)
15 FORMATdX,"PARAMETER t SPECIFICATIONS TABLE : ",S15)
28 FORMAT(S15)
21 FORMAT(1X,S15)
CALL STAT(SPECF,FILEID,IER)
IF(IER .EQ. 1) GO TO 50
SPECIFICATION FILE NOT FOUND...RETRY

oo on non ooo o on ooo nonn non oo ooo non nnnnn
213
File Listing Utility
Program: DVEST
Page 2
WRITE(10,30) IER, SPECF(l)
38 FORMAT(IX,"ERROR* IER : ,13,2X,"SPECIFICATION FILE : *,S8,2X,N0T FOUH
PAUSE "SIGH OH TO ANOTHER USER AND TRAHSFER FILE TO BP4"
GO TO 18
TABLE AVAILABLE AND ASSIGNED TO UNIT 1.
SERIES : EXPERIMENT SERIES (E-EPISODIC, R-REPLICATION, ETC.)
FTYP CD-BATA, C-COVARIANCE, U-HEAN VECTOR, V-DISC VECTOR, T-TOEPLITZ)
S0 CALL OPENd ,SPECF, 1 ,IER)
READ(1,68) SERIES, FTYP
60 FORMAT (///////.'40 (Al IX) )
NTCH s NUMBER OF THE TIMING CHANNEL CHIB : NAME(ID) FOR 3 CHANNELS.
READ1,?0) NTCH, ((CHID(I,J), 1=1,2), J=1,8)
FORMAT (^^44X, 12,16A2)
NOS : OF SENTENCES NOT : OF TRIALS/'SESSION
MCL : OF SENTENCE CLASSES MSCL i OF SENTEHCES/CLASS
NCL : OF SESSION CLASSES NSCL s OF SENTENCESYCLASS
REAB1,80) NOS,NOT,NSTRT,MCL,(MSCL(I),1=1,HCL),NCL,(NSCL(I),1=1,NCL),
X (CLASS(I),1=1,MCL)
IF( MCL.LE.2 .OR. IAUTO.EO.l ) GO TO 85
TYPE "<7>********HULTI-CLASS EXPERIMENT*****-
TYPE ** CLASSES : 1-TA, 2-FA, 3-TN, 4-FN*"
TYPE *************************************
7 ACCEPT *ENTER 1ST CLASS TO PROCESS s ",CLASS(1)
ACCEPT "ENTER 2ND CLASS TO PROCESS -. *,CLASS(2)
IF(CLASS(1).EO.CLASSI2) -OR. CLASS(1).LE.8 .OR. CLASS!1)-GT.MCL
X .OR. CLASS2).LE.8 .OR. CLASS2) .GT.MCL) GO TO 77
¡0 FORMAT (S20I4)
IPOS : POLARITY OF RESPONSE PULSE (+1 TRUE POSITIVE HIGH)
8S READ(1,80) I,I,I,I,I,I,IPOS
HP : PARTITIONS N : DIMENSION WINDOW SHIFT FOR : S-LOCK, R-LOCK
NCHN : OF CHANNELS TO PROCESS ICHN s CHANNEL NUMBER TO PROCESS
READ(1 ,90) HP, N, SHIFT, HSC, VSC, NCHN, (ICHN(I), 1 = 1,NCHN)
90 FORMAT(2014)
NSAM = HP N
SUBJECT'S INITIALS (3)
IF(IAUTO .EQ. 1) GO TO 101
TYPE "ENTER : SUBJECT'S INITIALS(3)*
READ(11,110) SUBJIN
101 WRITE(10,112) SUBJIN
118 FORMATA1,A2)
111 F0RHRT(1X,A1,02)
112 FORMAT(IX,"SUBJECTS INITIALS : ",A1,A2)
DECIDE ON SYNCHRONY POINT.
116
117
IF IOUTO .EQ. 1) GO TO
TYPE "STIMULUS-LOCK(S)
READ(11,110) JSYNC
CONTINUE
IF(JSYNC .EQ. "R ") GO
IF(JSYNC -HE. "S ") GO
117
OR RESPONSE-LOCK(R)?"
TO 120
TO 116
STIMULUS LOCK.
ISHFT = SHI FT(1)
TYPE "STIMULUS-LOCK
GO TO 125
128 ISHFT = SHIFT(2)
TYPE "RESPONSE-LOCK
WINDOW W.R.T. SYNC POINT : ".ISHFT
WINDOW W.R.T. SYNC POINT : ",ISHFT
DECIDE IF ACROSS SESSIONS.
125 CONTINUE
ACCEPT "DO YOU WISH TO CALCULATE DISC. VECTORS ACROSS SESSIONS?: ",IAHS
IF(IANS .EQ. 0) GO TO 175
GO TO 175
ACROSS SESSIONS....
PRE-DETERMINED ORDER AND SETUP

non o o o o o o r> o o ooooooooo ooooo
214
File Listing Utility Prograa: DVEST Page 3
130 TYPE -*PR£-STORED ACROSS SESSION SETUP*
STOP
STANDARD WITHIN SINGLE SESSION SETUP.
175 IF(IAUTO .EQ. 1) GO TO 176
TYPE 'ENTER SESSION NUMBER-
READ (11,110) NUMBER
176 WRITE(10 ,177) NUMBER
177 FORMAT(IX.SESSION NUMBER : ,A1!
NS = 1
SN(1J = NUMBER
MB = 0
DO 180 1=1, NCL
MB = MB + NSCLd)
180 MS(1,1) = NSCL(I I
MB = MB ^ NCL
SSN(11 = NSTRT
WRITE(18,185) NUMBER, NSTRT
WRITE(10,198) NOS, MCL, (MSCL(I), 1=1,MCL)
WRITE(10,195) NOT, NCL, (NSCL(I), 1=1,NCL)
185 FORMAT(IX,-SESSION NUMBER : *,A2,SX,-STARTING SENTENCE NUMBER : -,I3)
190 FORMATUX,-* SENT : -,I4,5X,- CLASSES : -,I2,SX," SENT^CL : *,413)
195 FORMAT(IX,TRIALS : -,I4,5X, CLASSES s ,12,SX,'TRIALS/CL ; ,413)
SETUP D.V. FILENAME.
C0VFC3) = SERIES NUHBER/'ZS 32
C0VF6) = 0
FOR EACH OF TWO POSSIBLE SOURCES(K=l AVG COV. L K=2 AVG TOEP COV.).
DO 2000 K = 1 2
C0VF2) = SUBJIN2)
DO 1008 IC = 1 NCHN
COVF(l) = FTYP(1=K) + SUBJIN(1)/256 32
ICH = ICHN(IC)
COVF(S) = 256*(ICH+48) + 65
FOR EACH OF TWO CLASSES.
C0VF(4) = JSYNC + (48+CLASS(1)) 32
WRITE(10,210) COVF(l)
210 FORMAT(six,-Covariance File Cl : *,S10)
CALL OPEN(3,COVF,1,IER)
READ BIHARYO) Cl
CALL CLOSE(3)
C0VF4) = JSYNC + (48+CLASS(2)) 32
WRITE(10,220) COVF(l)
220 FORMAT( 1X,-Covariance File C2 s ,S10)
CALL OPEN(3,COVF,1,1ER)
READ BINARY(3) C2
CALL CLOSE(3)
CREATE UPPER DIAGOHAL MATRIX A FROM 0.5*(C1+C2)
IQ = 1
DO 250 J = 1 N
DO 250 I = 1 J
IQR =1+1 +(J-1)*N
A(IQ) = 8.5*( Cl(IQR) + C2(IQR) )
IQ = IQ + 1
CONTINUE
A 0 FOR THE LAST ARGUMENT OF EIGEN COMPUTES BOTH E-VALUES AND E-VECTORS.
380
305
315
318
320
CALL EIGEN(A,R,N,0)
CONTINUE
WRITE(10,305)
FORMAT(IX,-Eigenvalues of the Covariance Matrix CW1 = CC11 + CC2I*)
WRITE (10,310) (Ad),1 = 1,N)
WRITE(18,315) (1,1=1,18)
FORMAT(lX'Eigenvec tors of CW1 (ei)*'1X,9(3X,"e,11,3X),3X,"e-,12)
WRITE(10,320) R
FORMAT(10F8.0)
FORMAT(10F8.3)
DO 380 1=1,
A(I) = Ad + IQ)
IQ = IQ I

215
File Listing Utility Program: DVEST Page 4
DO 750 L = 1 MP
COVF(5) = 256* ICH+48) + (48+L)
COVF(11 = FTYP(4) + SUBJXH(1)/256 32
COVF(4) = JSYNC (48+CLASSf1)) 32
C
C READ IN THE AVERAGE VECTORS FOR EACH PARTITION/CLASS.
C
CALL OPEN(3,COVF 1 ,IER)
READ BINARY(3) U1
CALL CLOSEf3J
IFtIHDV .EG. 8) GO TO 338
COVF(l) = FTYP(1+K) + SUBJIH(l)/256 32
CALL OPEH13,COVF,1,IER)
READ BINARY(3) Cl
CALL CLOSE 13)
C
C NEXT CLASS.
C
338 COVF(4) = JSYNC 32 (48+CLASS12))
IFIINDV .EG. 8) GO TO 348
CALL OPEN(3,COVF,1,IER)
READ BINARY(3) C2
CALL CLOSE(3)
340 COVF(1) = FTYP(4) + SUBJIN(1)/256 32
CALL 0PENI3,COVF,1,IER)
READ BINARY(3) U2
CALL CLOSE(3)
IFtIHDV .EQ. 8) GO TO 399
BO 358 I = 1 N
VHO(I) = Ulll+l)
VMTtI) = U21I+1)
DO 350 J = 1 N
N = (I-1)*N + J 1
350 CHCI.J) = 0.5*(C1(H)+C2(H1)
C
C CALCULATE DISCRIMINANT VECTORS USING DISCRIMINANT ANALYSIS.
C
CALL FEATICM,VD,AV,VHO,VMT,HDV,N)
CM (1,1) = 1 ./CM (1 ,1)
DO 360 I = 2 N
368 CALL RMItCM,I)
DO 398 1 = 1 MDV
DM (I ,K ,L IC) = 8.
DO 378 J = 1 N
CG(J) = 6.
DM(I,K,L,IC) = DM(I,K,L,IC) + VDtJ,I)* DO 378 M = 1 N
370 CG(J) = CG(J) + CH(J,H)*VD(M,I)
DM(I,K,L,IC) = DM(I,K,L,IC) DM(I,K,L,IC)
DNT = 0.
DO 388 J = 1 N
380 DNT = DNT + VDtJ,I)*CG(J)
DM(I,K,L,IC) = DM(I,K,L,1C)/DNT
390 CONTINUE
WRITE(10,395) (DM(I ,K ,L IC), 1=1,2)
395 FORMAT (/* Discriminant Analysis*/14X ,-<33>tdB-,7X "<33>id0"
X /* <33>AS/N ratios : ,2F7.3)
C
C CALCULATE MEAN DIFF. ALONG EACH VECTOR
C
399 DO 400 I = 1 N
B(I) = 8.8
DO 408 J = 1 N
480 D(I) = D(I) + (U1(J+1)-U2(J+1))*R(J+(I-1)*N)
C
C CALCULATE INDEPENDENT CONTRIBUTIONS TO THE S/N RATIO.
C
DO 450 I = 1 N
450 B(I1 = D(I)*D(I)/A(I)
C
C SORT THE S/N RATIO CONTRIBUTIONS IN ASCENDING ORDER.
C
CALL SORT(B,N,INDEX)
C
C PRINT OUT THE S/N RATIONS.
C
DO 500 I = 1 N
508 BO (I) = B( INDEX (ID
WRITE(10,585) (B(I),1=1,N)
WRITE(19,510) (INDEX(I),1=1,N)
WRITE(18,515) (BO(I), 1=1,N)

216
Tile Listing Utility Program: DVEST Page 5
565 FORMfiT UF METHOD-^IX, S/-N : -10F7.3)
510 F0RMAT1X,Order : -,1617)
515 FORMAT(IX Bo : -,18F7.3)
C
C DECIDE HOU MANY COMPONENTS TO INCLUDE.
C
C KC = 1
NDV = 1
GAMMA (K,L,IC) = BO(l>
JK(K,L,IC) = BO(l)
C IF(GAMMA(K,L,IC) .LT. 0.1) KC = 2
DO 520 M = 2 N
CM = GANNA(K,L,IC) + BO(M)
CR = GM (GM*HB + 2)/(GM*MB + 2*(NDV+1))
IF( (BO(M).LT.8.10.AND.(ABS(CR-JK(K,L,IC))yJK(K,L,IC)).LT.PCT)
X .OR. (BO(M).LT.0.020) ) GO TO 530
C IF((BO(M).LE.0.1.AND.KC.EQ.l).OR.(BO(M).LE.8.020)
C X.OR.(KC.NE.l.AND.BO(M).LE.8.4*BO(H-l))) GO TO 538
NDV = NDV + 1
GAMMA(K,L,IC) = GM
JK(K,L,IC) = CR
520 CONTINUE
530 MK K,L,IC) = NDV
WRITE(10,535) NDV, GAMMA(K,L,IC), JK(K,L,IC)
535 FORMAT(IX,Mk = ,12,5X,Gaaaa : ,F7.3,SX,"Criterion Jk : ,
X -<33>S.dB- ,7X,-<33>4d@-/'48X,<33>A* ,F7.3)
VNORM =0.0
DO 550 J = 1 N
DV(J) = 0.8
DO 540 1=1, NDV
M = INDEX(I)
540 DV(J) = DV (J) + D(M)*R( (H-l) *N+JI/'A (H)
550 VNORM = VNORM + DV(J)*DV(J)
C
C NORMALIZE THE DISCRIMINANT VECTOR.
C
VNORM = SORT(VNORM)
AA (1) = 1.0
DO 575 I = 1 N
575 AA1+1) = DV(I) VNORM
COVF(l) = COVF(l) FTYP(4) + FTYP(S)
COVF (4) = JSYNC + FTYP (S+K) -T256 32
WRITE(18,600) COVF(1)
600 FORMAT( IX,"UF (features) File : ,S10)
CALL OPEN(3,COVF,3,IER)
WRITE BIHARY(3) AA
ENDFILE 3
IF(INDV .EQ. 0) GO TO 750
C
C WRITE OUT DISCRIMINANT VECTORS FROM DISCRIMINANT ANALYSIS.
C
COVF(4) = JSYNC + FTYP(7+K)^256 32
WRITE(10,625) COVF(1)
625 FORMAT( 1X,*DA (features) File : ",S10)
DO 650 1 = 1 MDV
DO 650 J = 1 N
M = (I-1)*N + J + 1
650 AA(M) = VD(J,I)
CALL OPEN ( 3 COVF ,3,1 ER )
WRITE BINARY(3) AA
ENDFILE 3
750 CONTINUE
1000 CONTINUE
2000 CONTINUE
C
C WRITE OUT THE S/'N RATIO TABLES.
C
PAUSE "<7>TURN-ON THE HP-IB PRINTING DEVICE FOR S-'N TABLES< 7>
CALL DATE(IDAY,IER)
DO 3000 K = 1 2
IPAGE = 0
DO 2900 IC = 1 NCHN
IPAGE = IPAGE + 1
IF(MOD(IPAGE-1,3).N£.8) GO TO 2060
TYPE <33>h<33>J<33>tp3s5D<33>Y<14>
TYPE -<33>Z<33>g
IF(K.EQ.l) WRITE(10,2025) IPAGE
IF(K.EQ.2) WRITE(10,2050) IPAGE
2025 FORMAT (/'/'/'/'.'9X, S/'N Ratios or Criterion J, Non-Toepl i tz ,
X 21X, Page -,12/')
2050 FORMAT {.////yiy,, "S/'N Ratios or Criterion J, Toeplitz."

217
File Listing Utility Progra*: DVEST
Page
x 25X,"Page -',12/-)
0
C HEAD INC
C
2868 J = ICHN(IC)
WRITE(16 4666)
WRITE(1812180) SUBJIN,SERIES.HUMBER,J,(CHID(I,J),1=1,2),
X JSYNC,ISHFT,MB,IDAY
2188 FORMAT OX,"Subjs",AI,A2,", Ser:",Al,*, Sess:-,A1,
X ", Chn s* ,11 ,IX,2A2,*, ",A1,*-LQCK (,13,*),,13, Sa.p-'Cl ,
X */",I2,*^",I2)
WRITE18,4000)
URITE10,22001 (I,1=1,HP)
2208 FORMATOX, Pk k=*,IS,8I7)
WRITE(18,2300) (MK(K,L,IC),L=1,NP)
2300 FORMATOX,* Mk ",15,817)
WRITE18,2408) (GAHMA(K,L,IC),L=1,HP)
2480 FORMATOX, Gaaaa *,9F7.3)
WRITE(18,4088)
WRITE10,2580) (JK(K,L,IC),L=1,NP)
2500 FORMAT(9X,*UF -fl *,9F7.3)
,12,
WRITE(18,4000)
IFdHDV .EQ. 9) GO TO 2880
WRITE(18,2600) (DM(1,K,L,IC), L=1 HP)
WRITE(18,2780) (DM(2,K,L IC), L=1 NP)
2688 FORMATOX,"DA -fl ",9F7.3)
2700 FORMAT(9X,DA -f2 ,9F7.3)
WRITE(10,4008)
2888 WRITE(10,5000)
2900 CONTINUE
TYPE *<33>h<33>fcp3s5dH<33>g"
3000 CONTIMUE
4888 FORMAT(9X,71(""))
5000 FORMAT()
C TYPE "<33>Y<14>"
C TYPE *<33>Z<33>A<33>*.p3sSdM<33>g"
IF(IRUTO .HE. 1) STOP
CALL OPEN(3,*FEATURES*,3,1ER)
DO 6800 IC = 1 NCHN
J = ICHN(IC)
DO 5550 X = 1 2
DO 5580 L = 1 NP
5508 B(L) = JK(K,L,IC)
CALL SORT(B,NP,INDEX)
5550 WRITE(3,5600) J ,K, (INDEX(I),1=1,NP),(B(I),1=1,NP)
5680 FORMAT(1X,11I2,9F6.2)
IF(INDV .EQ. 0) GO TO 6000
DO 5800 K = 1 2
DO 5700 L = 1 NP
5700 B(L) = DH(1,K,L,IC)
CALL SORT(B,NP,INDEX)
M = < + 2
5800 WRITE(3,5600) J, M, (INDEX(I), 1=1 NP), (B(I), 1=1,HP)
6080 CONTINUE
CALL CLOSE(3)
STOP
END

oooooooo
218
File Listing Utility
Program: SCATTERl
Page 1
SCATTER PLOT GENERATOR PROGRAM FOR VISUAL EVOKED RESPONSE t COGNITION
PROGRAM SEGMENT NUMBER 1 GENERATES THE PROJECTIONS ONTO FEATURE SPACE
REVISION : 0.8 REVISION DATE : OCT. 26 1981 UNIVERSITY OF FLORIDA
RLDR SCATTER SREAD FORT.LB
COMMONxSENT-' EEG(8,512), V(8,S12), SENTF(S), RSEQH44)
INTEGER SEHTF, RSEQ, RSEQF(3), SPECF <81 EXPNO, SERIES, FTYPI10)
IHTEGER EEG, V, XEEG(4896), YEEGI4096), SUBJIN 12J SENTN02)
INTEGER SN (4) MS(4,4), SSN14) NSENT (2) F(72,9,6,2>
INTEGER CHID(2,81, MSCLC4J, NSCLI4), SHIFT(2), ICHNI8), C0VF(6)
INTEGER REDRAW, SUBI2.2), SER(2), HUM(2) JSC2)
INTEGER HSC,VSC, FNO(9)
REAL AI21), DV 18,9,6) FEAT 19)
INTEGER FILE(4,2), CLASS(4)
EQUIVALENCE (XEEG(l),EEG(1,1)1,(YEEGd ),V(1,11)
EQUIVALENCE (EXPNO,SENTF(3)),(SENTF(4),SENTNO(l))
C CALL OPEN(4,DEBUG8",3,IER)
C
C INITIALIZE VARIABLES.
C
MANUAL = 0
NPASS = 2
FILE(1,1) = -BE"
FILE(2,1) = "SI"
FILE(3,1) = "GN"
FILE(4,1) = 0
FILE(1,2) = "TE"
FILE(2,2) = "ST"
FILE(3,2) = 0
FILE(4,2) = 0
CALL STAT("REDRAW*,RSEQ,IER)
IF(IER.EQ.l) GO TO 1
TYPE "<7>*ERR0R* REDRAW FLAG DOES HOT EXIST...WILL ASSUME REDRAW=8
RE9RAH-6
CALL 0PEN3,"REDRAW",3,IER)
WRITE(3,17) REDRAW
CALL CLOSE(3)
GO TO 2
1 CALL 0PENI3,"REDRAW",1,IER)
READ(3,16) REDRAW
CALL CLOSE(3)
2 CALL STATCINDV" ,RSEQ,IER)
IF(IER.EQ.l) GO TO 3
TYPE *ERROR* INDV FLAG DOES NOT EXIST...WILL ASSUME INDV=0"
IHBV = 0
CALL OPEN(3,*INDV",3,IER)
WRITE(3,17) INDV
GO TO 4
3 CALL 0PENI3,"INDV",1,IER)
REftB(3 16) INDV
4 IF(INDV.EQ.6) TYPE "<7>*WARNING* DISC ANALYSIS NOT ALLOWED IF INDV=0"
CALL CLOSE(3)
CALL STATCAUTO" ,RSEQ,IER)
IF(IER.EQ.l) GO TO 7
TYPE "<7>*ERRORe FLAG AUTO DOES NOT EXIST...WILL ASSUME AUTO=0"
IAUTO = 0
CALL OPEN(3,"AUTO*,3,IER)
WRITE(3,17) IAUTO
CALL CLOSE(3)
GO TO 18
7 CALL 0PEN(3,"AUTO",1,IER)
READ(3,16) IAUTO
CALL CLOSE(3)
IF(IAUTO .NE. 1) GO TO 18
TYPE "*-**-** AUTOMATIC MODE*****"
CALL STATCANSWERS" ,RSEQ, IER)
IF(IER.EQ.l) GO TO 8
TYPE "<7>*ERR0R* FILE 'ANSWERS' DOES NOT EXIST...WILL CREATE"
CALL OPEN(3,"ANSWERS",3,IER)
TYPE 'ENTER PARAMETER & SPECIFICATIONS TABLE FILENAME"
READ(11,23) SPECF(1)
TYPE "ENTER SUBJECT'S INITIALS"
READ(11,99) SUBJIN
TYPE "STIHULUS-LOCK(S) OR RESPONSE-LOCK(R)"
READ(11,99) JSYNC
TYPE "ENTER EXPERIMENTAL SESSION NUMBER"
READ(11,99) NUMBER
WRITE(3,29) SPECF(1)

ooooo non ooooo non non
219
File Listing Utility
Progra*: SCATTERl
Page 2
WRITE (3,190) SUBJIM
WRITE(3,100) JSYNC
WRITE 13,100) NUMBER
GO TO 9
3 CfiLL OPEN 13,"ANSWERS*,1,IER)
READ13,28)SPECF11)
READ(3,99)SUBJIN
READ13,99)JSYNC
REfiD13,99)NUMBER
REfiD13,16,END=9)KTYP
IFIINDV.EQ.0.AND.KTYP.GT.2) KTYP = KTYPs2
CfiLL CLOSE 13)
NPACS = 1
GO TO 10
9 MANUAL = 1
CALL CLOSE 13)
C READ IN
c
THE NAME OF THE
PARAMETER & SPECIFICATIONS TABLE FOR THIS RUN
10 DO
1200 KDT = 1 ,
NPASS
DO
12 I = 1 72
DO
12 J = 1 9
DO
12 IS = 1 6
DO
12 K = 1 2
12 F1I
,J,IS,K) = 8
WRITE(10,14) FILE 11
,KDT)
14 FORMAT 1IX,S6, SET-)
16 FORMAT ill)
17 FORMAT 1IX,11)
IF 1IflUTO .EQ. 1) GO TO 26
25 TYPE -ENTER PARAMETER i. SPECIFICATIONS TfiBLE FILENAME 1 SPEC )<7>"
READ 111,28) SPECF11)
26 WRITE 118,27) SPECF11)
27 FORMAT!IX,-SPEC TABLE : *,S15)
28 FORMAT1S15)
29 FORMATUX ,S15)
CfiLL STfiT1SPECF,RSEG,IER)
IF 1IER .EQ. 1) GO TO 50
SPECIFICATION FILE NOT FOUND...RETRY
WRITE 110,30) IER, SPECF11)
30 FORMAT 1IX,-ERROR* IER s ,13,2X,"SPECIFICATION FILE : ",S8,2X,N0T FOUN
PRUSE -SIGN ON TO ANOTHER USER AND TRANSFER FILE TO DP4
GO TO 25
TfiBLE AVAILABLE AND ASSIGNED TO UNIT 1.
SERIES s EXPERIMENT SERIES IE-EPISODIC, R-REPLICATION, ETC.)
FTYP : ID-DATA, C-COVARIANCE, U-MEAN '/ECTOR, V-DISC VECTOR, T-TOEPLIT23
CALL OPEN II.SPECF,1,IER)
READ(1,60) SERIES, FTYP
SER1KDT) = SERIES
FORMAT {.///'////*<& 1A1 IX) )
NTCH s NUMBER OF THE TIMING CHANNEL CHID : NAME(ID) FOR 8 CHANNELS.
READ!1,70) JCHN, NTCH, KCHIDII.J), 1=1,2), J=1,8)
70 FORMAT1//S12,42X,12,16A2)
NOS : OF SENTENCES NOT : OF TRIALS^SESSION
MCL : OF SENTENCE CLASSES MSCL : OF SENTENCESxCLASS
MCL s OF SESSION CLASSES NSCL : OF SENTENCES''CLASS
READ 11,88) NOS,NOT,NSTRT,MCL,(MSCL11),1 = 1,MCL) ,NCL,1NSCL11),I = 1,NCL) ,
X 1CLASS1I),1=1,MCL)
IF 11AUTO.EQ1 .OR. MCL.LE.2) GC TO 35
TYPE -<7>*********MULTI-CLASS EXPERIMENT*****-
TYPE * CLASSES s 1-TA, 2-FA, 3-TN, 4-FN *
TYPE i**********************************-
77 ACCEPT "ENTER 1ST CLASS TO PROCESS : -.CLASS 11)
ACCEPT *ENTER 2ND CLASS TO PROCESS : -,CLASS12)
IF! CLASS 11).EQ.CLASS(2) .OR. CLASS 11) .LE.0 .OR. CLASS11).CT.MCL
X .OR. CLASS 12) .LE.0 -OR. CLASS 12) .GT .MCL) GO TO 77
80 FORMATU20I4)
C
C IPOS s POLARITY OF RESPONSE PULSE 1+1 TRUE POSITIVE HIGH)
C
85 READ 11,80) I,I,1,1,1,1,IPOS
C
C NP s PARTITIONS N : DIMENSION WINDOW SHIFT FOR : S-LOCK, R-LOCK

ooo o o o o o o o o o no
220
rile Listing Utility
Progra: SCATTERl
Page 3
NCHN s OF CHANNELS TO PROCESS ICHN : CHANNEL NUMBER TO PROCESS
READ C1,30) NP, N,
FORMAT(2014)
FORMAT(IX,2014)
CALL CLOSE(1)
NSAM = NP N
SHIFT, HSC,
VSC, NCHN,
(ICHN(I1,1=1,NCHH)
SUBJECT'S INITIALS (3)
5 IF(IAUTO .EO. 1) GO TO 96
TYPE -EHTER : SUBJECT'S INI TIALS(3)"
READ(11,991 SUBJIN
16 WRITE (19,97) SUBJIN
>7 FORMAT (IX, "SUBJECT'S INITIALS : ,Al ,P2)
9 FORMAT(PI,A2)
80 FORMAT(1X,P1,A2)
SUB(KDT.l) = SUBJIN(l)
SUB(KBT,2) = SUBJIN(2)
SENTF(l) = FTYP(l) + SUBJIN(1)X256 32
SENTF(2) = SUBJIN(2)
DECIDE ON TYPE OF DISCRIMINANT VECTOR TO USE.
IFKDT.EQ.2 .OR. (IPUTO-HANUAL).E.1) GO TO 109
IFdNDV.EQ.0) GO TO 182
81 TYPE -DISCRIMINANT ANALYSIS(D) OR UF ALGOR ITHM(U)?*
READ(11,99) M
IF(M .EQ. "D ") GO TO 103
IF(M -NE. -U ') GO TO 101
102 TYPE "UNIVERSITY OF FLORIDA METHOD"
KTYP =' 0
GO TO 105
03 TYPE -DISCRIMINANT ANALYSIS
KTYP = 2
05 TYPE -USE AVERAGE(A! COVARIAHCE SOURCE OR TOEPLITZ(T)?
READ(11,99) M
IF(M .EQ. A ") GO TO 107
IF(M .NE. -T ) GO TO 105
TYPE -DISCRIMINANT VECTORS DERIVED FROM T0EPLIT2 COVARIANCES
KTYP = 2 + KTYP
GO TO 109
07 TYPE DISCRIMINANT VECTORS DERIVED FROM AVERAGE COVARIANCE MATRICES
KTYP = 1 + KTYP
DECIDE ON SYNCHRONY POINT.
109 IF(IAUTO .HE. 1) GO TO 116
CALL STAT(FEATURES,RSEQ,IER)
IF(IER.EQ.l) GO TO 10
TYPE <7>*ERR0R* COULD NOT LOCATE FILE 'FEATURES'*
GO TO 115
18 CALL OPEN(3,"FEATURES,1,IER)
11 READ(3,112,END=114) I,J,FNO,FEAT
112 FORMAT(1112,9F6.2)
IFd.NE.JCHN .OR. J .NE .KTYP) GO TO 111
LI = FNOU)
113
114
US
L2 = FNO(2)
FI = FEAT(LI)
F2 = FEATL2)
CALL CLOSE(3)
WRITE(10,113) JCHN, KTYP, LI, FI, L2, F2
FORMAT(IX,CHANNEL :,12,3X,METHOD CODE s,12,
IX,2(FEATURE :,12,3X,S^N RATIO :*,F6.2,5X))
GO TO 116
CALL CLOSE(3)
TYPE ^AUTOMATIC ERROR* CHANNEL-'METHOD NOT FOUND IN FILE
TYPE CHANNEL : ,JCHM," METHOD CODE s ",KTYP
ACCEPT -1ST FEATURE NUMBER s -,LI
1ST FEATURE S/N RATIO : ,F1
2ND FEATURE NUMBER s ,L2
"2ND FEATURE S'N RATIO :
ACCEPT
ACCEPT
ACCEPT
116
IF(1AUTO
.EQ. 1) GO
TO

118
117
TYPE STIMULUS-LOCK(S)
OR
RESPONSE
READ(11,99) JSYNC
118
JS(KDT) =
JSYNC
IF(JSYNC
.EQ. -R )
GO
TO
120
IF(JSYNC
.NE. S )
GO
TO
117
FEATURES
STIMULUS LOCK.

221
File Listing Utility
ISHFT = SHIFT(1)
TYPE "STIMULUSLOCK
GO TO 125
128 ISHFT = SHIFT 21
TYPE RESPONSE-LOCK
C
C DECIDE IF ACROSS SESSIONS.
C
Cl25 ACCEPT "DO YOU WISH TO CALCULATE COVARIANCES RCROSS SESSIONS? : ",IRNS
C IF(IRHS .EQ. 01 GO TO 175
125 CONTINUE
GO TO 175
C
C ACROSS SESSIONS....PRE-DETERMINED ORDER AND SETUP
C
130 TYPE "*PRE-STORED ACROSS SESSION SETUP*"
STOP
C
C STANDARD UITHIN SINGLE SESSION SETUP.
C
175 IF(KDT.EQ.1.AND.IRUTO .EQ. 1) GO TO 176
TYPE "ENTER SESSION NUMBER"
READ(11,99) NUMBER
176 WRITE(10 ,177) NUMBER
177 FORMATdX,"EXPERIMENTAL SESSION HUMBER : *,A1)
HUM(KDT) = NUMBER
NS = 1
SN(1) = NUMBER ~
DO 180 1=1, NCL
180 MS(1,1) = NSCL(I)
SSN(l) = NSTRT
* WRITE(10,185) NUMBER, NSTRT
WRITE(18,198) NOS, MCL, (MSCL(I), 1=1,MCL)
WRITE(10,195) NOT, NCL, (NSCLCI), 1=1,HCL)
185 FORMATdX,"SESSION NUMBER : ",A2,SX,"START INC SENTENCE NUMBER : ",I3)
190 F0RMAT(1X,* SENT : ",I4,5X,"* CLASSES : ,I2,5X,* SENT^CL : *,413)
195 FORMATdX," TRIALS : ",I4,5X,"* CLASSES .- 12 ,SX, TRIALS'CL : ",4I3)
C
C SETUP D.V. FILENAME.
C
200 IF(KDT.EQ.2) GO TO 240
COVFd) = FTYP (5) + (SENTF(l)-SENTF (13x256*256) 32
COVF(2) = SENTF(2)
COVF(3) = SERIES + NUMBER^256 32
COVF(6) = 0
C
C FOR EACH OF TWO POSSIBLE TYPES.
C
COVF(4) = JSYNC FTYP(S+KTYP1^256 32
COVF(5) = 12336
WRITE (10 ,229) COVFd)
220 FORMATdX,"D.V. FILE -,S10)
BO 235 IC = 1 NCHN
DO 235 L = 1 HP
COVF (5) = (ICHN( 10+48) *256 + (48+L)
CALL OPEN(3,COVF,1,IER)
READ BINARY(3) A
CALL CLOSE(3)
DO 230 I = 1 N
230 DV(I,L,IC) = A(I+1)
235 CONTINUE
C TYPE "DISC VECTORS FOR EA PARTITION"
C DO 236 IC = 1 NCHN
C DO 236 L = 1 NP
C 236 WRITE(10,237) L,(DV(I,L,IC),1 = 1,N)
C 237 FORMATdX, 12,2X.10F7.3)
C
C FOR EACH OF THE TWO CLASSES.
C
240 IF( REDRAW.EQ.0 ) GO TO 245
DO 242 1 = 1 ,2
242 NSENT(I) = NSCL(I)
GO TO 1200
245 DO 1000 KCLAS =1,2
K = CLASS(KCLAS)
SENTNO(l) = 12336
SEMTN0I2) = 12337
NSE = 0
MX = 0
DO 250 I = 1 K
MX = MX + MSCL(I)
Progra*: SCATTERl
Page 4
WINDOW W.R.T. SYNC POINT ",ISHFT
WINDOW W.R.T. SYNC POINT : ",ISHFT
250

oooooooooo o o n oo o o o o
222
255
file Listing Utility
UN = MX MSCL(K) + 1
WRITE(6,255) K
FORMAT(IX,"CLASS i ,11)
Progra*: SCATTERl
Page 5
ACROSS SESSIONS
HSENT = 0
DO 750 LS = 1 NS
EXPNO = SERIES + SN(LSI'256 32
WRITE(10,270) SENTF(l)
270 FORMAT(IX,-SENTENCE FILE : -,S10)
RSEQF(1) = SERIES +83-32
RSEQF(2) = 69*256 + 81
RSEQF(3) = SN(LSI 32
WRITE(18,2801 RSEQFII1
288 FORMAT(IX,"RANDOM FILE : ,S181
M = MS(LS,K)
MSENT = MSENT + M
NSTRT = SSN(LS)
CALL OPEN(3,RSEQF,1,IER)
READ(3,388) (RSEQ(I), 1=1, NOT)
CALL CLOSE(3)
308 FORMAT(1914)
FOR EACH SENTENCE IN THE SESSION
DO 750 IS = 1 M
NSE = NSE + 1
CALL SREAD(NSTRT,NOT,MX,MN,NCHN,ICHN,NSAM,JSYNC,ISHFT,NTCH,1POS,INSF,IER
DO 758 IC = 1 NCHN
DO 680 L = 1 NP
ACCU =0.8
DO 500 I = 1 N
ACCU = ACCU + DV(I,L,IC)*V(IC,I+(L-1)*N)
CONTINUE
F(NSE,L,IC,KCL AS) = 1FIX(ACCU + 0.500001)
WRITE(4,601) SENTF(l), F(NSE,2,IC,KCLAS),(V(IC,I),1=11,28),
F(NSE,7,IC,KCLAS),(V(IC,I),1=61,70)
FORMAT(IX,S10,111671IX,1116)
508
600
601
EHD OF CHANNELS.
END OF SENTENCES.
END OF SESSIONS.
750
CONTINUE
NEXT CLASS.
NSENT(KCLAS) = NSE
WRITE(18,988) NSE
980 FORMAT(IX,"+NUMBER OF SENTENCES PROCESSED s *,I3)
1080 CONTINUE
CALL OPEN(3.FILE(1, KDT),3,IER)
WRITE BINARY3) F
EHDFILE 3
1200 CONTINUE
CALL 0PEN(3,-PARAMETERS-,3,IER)
WRITE BINARY(3) JCHN,IAUTO,MANUAL,NCHN.LI,L2,N,NP,HSC,VSC,KTYP,SERIES,
X NUMBER,JSYNC.SUBJIH,SUB,SER,HUM,CHID,JS,ISHFT,FILE,NSENT,ICHN,F1,F2 ,
X FEAT, FNO, FTYP, DV
EHDFILE 3
CALL CHAIH("SCATTER2-SV",IER)
EHD
L

o o o ono oooooooo
223
File Listing Utility
Program: SCATTER2
Page 1
SCATTER PLOT GENERATOR PROGRAM FOR VISUAL EVOKED RESPONSE L COGNITION
PROGRAM SEGMENT NUMBER 2 GENERATES THE SCATTER DIAGRAM t CLASSIFIER
REVISION : 0.0 REVISION DATE : OCT. 26 1981 UNIVERSITY OF FLORIDA
RLDR SCATTER SDRQU LDRAU FORT.LB
INTEGER SPECFI8), EXPNO, SERIES, FTYPI10)
INTEGER SUBJIN(2), PEN(2), FILEIDI22)
INTEGER NSENT12), ISYMBC2), F(?2,9,6,2), PET(21
INTEGER CHID (2,3) SHIFT(2), ICHNI8), TP1, TT
INTEGER REDRAW, 0RDERI361), SUB(2,2), SER(2), NUMC2), JSI2)
INTEGER OKI,0K2,011,012,0J1,0J2,OPE,HSC,VSC, HSC1, VSC1, FH0I9)
REAL A(21I, TANG361), C00RD(2,2), FEATC9)
INTEGER FILEI4,2I, CENTER(S), PTS(72,2,2,2), PEI2), TE, TS
IDEG(X) = MOD(188+IFIXI 0.5 X 57.29577951 ),188)
INITIALIZE VARIABLES.
TYPE "<33>*lnlM<33>g"
CALL STATI"PARAMETERS,FILEIB,IER)
IFIIER.EQ.l) GO TO 1
TYPE<7>*FATAL ERROR* FILE 'PARAMETERS' NOT POUND...RE-RUN SCATTER1.SV"
STOP
CALL OPEN(3,PARAMETERS",1,IER)
READ BINARY(3) JCHN,IAUTO.MANUAL,NCHN,LI,L2,N,NP,NSC,VSC,KTYP.SERIES,
X NUMBER,JSYNC.SUBJIH,SUB,SER,NUM,CHID,JS,ISHFT.FILE,NSENT,ICHN,F1,F2,
X FEAT,FNO,FTYP
CALL CLOSE 13)
CDR = 4.363323E-03
ISYMB(l) = 21536
ISYMBI2) = 17952
CENTER(1) = 9248
CENTER(2) = 16416
CENTER(3) = 10784
CENTER(4) = 22560
CENTER(5) = 29256
CALL STATI"SCATPARMS",RSEQ,IER)
IFIIER.EQ.l) GO TO 5
TYPE"< 7> ERROR* COULD NOT LOCATE FILE SCATPARMS...WILL CREATE"
TYPE "J-LOOP PARAMETERS s 1,11,3 L-LOOP PARAMETERS : 1,361,7-
JNIN = 1
JMAX = 11
JINT = 3
LMIN = 1
LMAX = 361
LINT = 7
CALL OPEN 13,"SCATPARMS",3,IER)
WRITE(3,91)JMIN,JMAX,JINT,LMIN,LMAX,LIHT
CALL CLOSE 13)
GO TO 6
; CALL 0PENI3,"SCATPARMS",1,IER)
READ(3,98)JMIN,JMAX,JINT,LHIN,LMAX,LINT
CALL CLOSE(3)
> DO 11 1=2, 360, 2
ORDER!I) = 1/2
11 ORDER!1+1) = -ORDER II)
ORDER!1) = 0
IF(IAUTO .EQ. 1) GO TO 26
TYPE "ENTER SYMBOL TO USE FOR CLASS 1 IN THE SCATTER PLOT"
READ 111,99) ISYMB(l)
TYPE ENTER SYMBOL TO USE FOR CLASS 2 IN THE SCATTER PLOT-
READ (11,99) ISYMB(2)
6 WRITE!10,27) ISYMB
7 FORMAT IIX,"SCATTER PLOT SYMBOLS : I",A1,",*,A1,")")
HSC1 = 8.5 HSC
VSC1 = 0.5 VSC
0 FORMAT(2814)
1 FORMAT(IX,2014)
9 FORMAT l Al)
NSAM = NP N
WE NOW HAVE THE DESIRED POINTS FOR EACH PARTITION/CHN COMBINATION.
ICN = JCHN
TYPE "<33>h<33>J
1500 IF 11AUTO .EQ. 1) GO TO 1505
ACCEPT "<33>h<33>JCHANNEL NUMBER OR ZERO TO STOP : "ICN
1505 IC = 99
DO 1510 1=1, NCHN

224
Tile Listing Utility Progra*: SCPTTER2 Page 2
IF( ICN .EQ. ICHN(I) ) IC = I
1510 CONTINUE
IF(IC.GT.NCHN.OR.IC.LE.0) GO TO 5008
IF(IAUTO .EQ. 1) GO TO 1685
1600 ACCEPT "1ST FEATURE TO PLOT OR ZERO TO CHANGE CHANNELS : *,L1
IF(L1.LE.0.OR.L1.GT.NP) GO TO 1500
ACCEPT 2ND FEATURE TO PLOT OR ZERO TO CHANCE 1ST FEATURE : ,L2
IFCL2.LE.0.OR.L2.EQ.L1.0R.L2.GT.NP) GOTO 1608
1685 WRITE(10,1610) ICN, LI, L2
1610 FORMATI1X,PROCESSING CHANNEL : *,I2,5X,*FERTURES : l,11,*,",11,*)* 1
IC1 = 8
IC2 = 0
DO 1758 KDT =1,2
CALL OPEN(3,FILE(1,NAX0KDT-IAUTO+MANUAL,1)1,1 ,IER)
READ BINARY(31 F
CALL CLOSE(3)
DO 1728 K = 1 2
NPT = NSENT(K)
DO 1720 1=1, NPT
IX = F(I,L1,IC,K)
IY = Fd,L2,IC,K)
IF(IABS(IX) .GT. IC1) IC1 = IAES(IX)
IFCIABS(IY) .GT. IC21 IC2 = IABS(IY)
PTSd ,1,K,KDT) = F d ,L 1 IC ,K)
PTSI,2,K,KDT1 = F(I,L2,IC,K)
1720 CONTINUE
1750 CONTINUE
1755 FORMAT( X-MAX:,15,3X,"SCALE:*,F5.2,SX,"Y-MAXs,15,3X,"SCALE:,F5.2)
SCI = (HSC1-10.*HSC^VSC)'IC1
SC2 = (VSC1-18.1/1C2
URITE10,17551 IC1, SCI, IC2, SC2
J1 = 0
J2 = 0
K1 = 0
K2 = 8
11 = 0
12 = 0
1768 KDT = 1
IFdAUTO.EQ.il GO TO 1764
TYPE *<33>*dEFINETUNE(F) OR DESIGN(Dl OR TEST(T1 SET?*
READ(11,991 M
KDT = 1
IF (M .EQ. *T *1 KDT = 2
IF(M.EQ.*F 1 ACCEPT "ENTER LOCN(J-LOOP! t, ANGLE (L-L00P1 PARAMETERS(6)
X ,JMIN, JMAX, JINT, LMIN. LHAX, LINT
IF(M .HE. *D .AND. M.NE.'T .AND. M.NE.'F "1 CO TO 1508
1764 WRITE(10,17651 FILE(1,KDT)
1765 FORMAT(IX,"<33>-*dA",S6,* SET*,*<33>*dF")
DO 2008 K = 1 2
HPT = NSENTK1
AC1 = 8
AC2 = 0
DO 1980 1=1, NPT
AX = PTSd ,1 ,K,KDT)*SC1 MIN0(HSCi+188,360)
AY = PTS(I,2,K,KDT)*SC2 + VSC1
IX = AX
IY = AY
CALL SDRAW(ISYMB(K),IX+S-S*K,IY+7-7*K)
AC1 = AC1 + AX/NPT
AC2 = AC2 AY^NPT
1900 CONTINUE
COORDd ,K)=AC1
COORD(2,K)=AC2
2000 CONTINUE
IF(KDT-EQ.21 GO TO 3000
CALL SDRAW(CENTER ill ,IFIX(COORD(1,11-3) ,IFIX(COORD(2,11-5)1
CALL SDRAW(CENTER(2),IFIX(COORD(1,2)-3),IFIX(COORD(2,21-5)1
CALL LDRAWd IFIX (COORDd ,1)1 IFIX (COORD (2,11 1 ,
X IFIX(COORD(1,2)1, IFIX(COORD(2,2)I 1
SLB = (COORD(2,2)-COORD(2,1)1/(COORD(1,2)-COORD(1,1)1
BB = COORD(2,1)SLB*COQRD(1,1)
THETA = ATAN(-1.SLB)
ITH = IDEG( RTAN(SLB) 1
DO 2100 J = 1 361
2100 TANGCJ) = TAN( THETA + ORDER(J)*CDR 1
WRITE(10,2200) SLB, BB, ITH
2200 FORMAT(* BI-SECTOR LINE Y = *,F6.2,"X *,F6.2,4X,*ANGLE:*,14)
BC1 = 0.5=(COORD(1,1)+COORD(1,2)1
BC2 = 0.5*(COORD(2,1)+COORD(2,2)1
WRITE(10,2210) BC1, BC2
2210 FORMAT (" MID-POINT COORDINATES C,F6.2," *,F6.2,* )*)

non nn ooo
225
File Listing Utility Program: SC0TTER2 Page 3
PEd) = NSENT(l)
PE(2) = NSENT(2)
TH = NSENT(1) + NSENT(2)
DO 2800 J = JNIN ,JMOX, JINT
BC1 = 0.5*(COQRD(1,1)+COORD(1,2)) + ORBER(J)
BC2 = SLB*BC1 + BB
WRITE(18,22161 BC1, BC2
C IF(J.Ea.l) WRITE!10,2213) BC1, BC2
CALL SDRAW(CENTER(3),IFIX(BCl-3),IFIX(BC2-S>)
DO 2500 L = L1IN LMAX, LINT
PERTURBOTE BNGLE(SLOPE) OF THE PERPEHDICULBR BI-SECTOR.
SL = TflNGCL)
BL BC2 SL*BC1
TYPE "SLOPE OF PERPENDICULAR BISECTOR : ,SL
TYPE "Y-INTERCEPT : *,BL
JC2 = NIN8 (VSC-20 ,IFIX BL) 1
KC2 = 0X8(20,IFIX(SL*(NIN0(HSC+360,720)-10.)*BL))
JC1 = (JC2-BL)/SL
KC1 = (KC2BL) r'SL
CALCULOTE P.E.
X
X
X
X
2250
2275
X
C
DO 2250 K = 1 2
HPT = NSENT(K)
PET(K) = 0
PEN(K) = 0
DO 2250 1=1, NPT
OX = PTSd ,1 ,K,KDT)*SC1 + NIH0(HSC1+180,360)
OY = PTSd ,2,K,KDT) *SC2 + VSC1
AT = QX*SL + BL
IF ( (K.EQ.l) .OND. (SL.LE.8.0ND.0Y.LE.0T) .OR.
PEN(1) = PEN(1) + 1
IF( (K.EQ.2) .OND. (SL.LE.8-OND-OY.GE.AT) .OR.
PEN(2) = PEN(2) + 1
IF(IOUTO-HQNUOL.EQ.1) CO TO 2250
OX = PTSII,1,K,2)*SC1 + HIN0(HSC1+180,360)
OY = PTS(I,2,K,2)*SC2 + VSC1
OT = OXeSL + BL
IF( (K.EQ.l) .AND. (SL.LE.0-OND.OY.LE.OT) .OR.
PET1) = PET(1) 1
IF( (K.EQ.2) .OND. (SL.LE.0-AND.OY.GE.OT) .OR.
PET(2) = PET(2) 1
GO TO 2250
CONTINUE
TS = PEd) + PE (2)
TE = PEN(1) + PEN(2)
TT = PET1) + PET(2)
IF( TE.GE.TS ) GO TO 2300
SLOPE = SL
ITHE = IDEGTHETQ ORDER(L)*CDR)
B0 = BL
WRITE(10,2275) J, L, SL, BL, ITHE, TE, TT
FORMAT(" J:",13,2X, L:",I3,4X,Y = ",F6.2,"X
5X,"PE(D):",I3,3X,"PE(T):",I3)
TYPE "J: ",J," L: ",L," PED : ",TE, PET : "
(SL.GE.0.AND.OY.GE.OT) )
(SL.GE.8.AND.AY.LE.AT) )
(SL.GE.8.OND.OY.GE.AT) )
(SL .GE .0 .AND .AY .LE .AT) )
+ ",F6.2,4X,"ANGLE:",14,
,TT
K1 = KC1
K2 = KC2
J1 = JC1
J2 = JC2
11 = BC1
12 = BC2
PE(1) = PENd)
PE(2) = PEN(2)
COLL LDROWd ,J1 ,J2,K1 ,K2)
C IF(TT.GT.TN) GO TO 2500
GO TO 2310
2388 IF(TE.GT.TS.OR.TT.GE.TN) GO TO 2500
ITH = IDEG( THETA + ORDER(L)*CDR )
WRITE(10,2450) J, L, SL, BL, ITH, TE, TT
TH = TT
OSL = SL
OB0 = BL
OPE = TE
OKI = KC1
0K2 = KC2
Oil = BC1
012 = BC2
0J1 = JC1
0J2 = JC2
2310

non
226
File Listing Utility
Progra: SCATTER2
Page 4
2450 FORMAT t OJs,13,2X,"OL:*,13,4X,*Y = ",F6.2,"X + ,F6.2,4X,"ANGLE:*,14,
X 5X,"PE(B):",I3,3X,"PE(T):",13)
C TYPE *OJ:",J," OL :,L OPED : ",TE, OPET: ,TT
CALL LDRAU(7,0J1,0J2,0K1,GK2)
IF(TE.EQ.0.AND.TH.£Q.0) CO TO 2900
2580 CONTINUE
2800 CONTINUE
C TYPE "X-AXIS FOR PTS (XI,350) AND (X2,1S) s ",JC1,JC2
2900 TYPE "<33>*dA"
IF(IAUTO .EQ. 1) GO TO 3900
TYPE "OPTIMUM(LOOK-AHEAD) PE (DESIGN.TEST) : *,OPE,TH
PAUSE "<33>*dEDESIGN COMPLETE...KILL ERASE AND RE-DRAW"
TYPE "DRAM THE OPTIMUM CLASSIFIER?"
READ(11,99) MOPT
3000 IF(KDT.NE.1) GO TO 3009
TYPE *<33>fcp5D<33>Y<14>"
WRITE(10,3005)
3005 FORMAT(IX,*<33>Z*2 <33>A<33>A")
TYPE "<33>tp3sSdF<33>g
3809 IF(KTYP.EQ.l) TYPE "<33>*dckl4,3S0oS<33>*lNUF METHOD (AVG COV).*
IF(KTYP.EQ.2) TYPE "<33>*dck14,3S0oS<33>*1NUF METHOD (TOEPLITZ)."
3010
X
3100
IF(KTYP.EQ.3) TYPE "<33>*dck14,350oS<33>*alNDISCRIMINANT ANALYSIS"
IF(KTYP.EQ.4) TYPE *<33>*dck14,350oS<33>*mlNDISC ANAL.(TOEPLITZ) "
WRITE(10,3010) SLOPE, B0, ITHE
FORMAT( <33>*dckl82,350oS<33>*lMY =",F7.2,"X +",F8.2,4X,
ANGLE:,14,"<33>*dlT">
IF(MOPT.NE."Y ") GO TO 3108
CALL SDRAW(CENTER(5),011-3,012-5)
CALL SDRAW(CENTER(5),0Jl-3,0J2-S)
CALL SDRAW(CENTER(5),0Kl-3,0K2-5)
CALL LDRAW(7,0J1,0J2,OKI,0K2)
CALL LDRAW(1,10,10,710,10)
CALL LDRAW(1,710,10,710,350)
CALL LDRAW(1,710,350,10,350)
CALL LDRAW(1,10,350,10,10)
CALL SDRAW(CENTER(3),11-3,12-5)
CALL SDRAW(CENTER(4),Jl-3,J2-5)
CALL SDRAW(CENTER(4),K1-3,K2-S)
CALL LDRAW(1,J1,J2,K1,K2)
CALCULATE P.E.
DO 3588 K = 1 2
NPT = NSENT(K)
PE (K) = 0
DO 3508 1=1, NPT
AX = PTS(I ,1 ,K,KBTJ*SC1 + MIN0(HSC1+180,360)
AY = PTSCl,2,K,KDT)*SC2 + VSC1
IX = AX
IY = AY
IF( KDT.EQ. 1) CALL SDRAW(ISYMB(K),IX+S-5*K,IY+7-7*K)
AT = AXtSLOPE B0
IF((K.EW.l).AND.(SLOPE.LE.0.AND.AY.LE.AT)-OR.(SLOPE.GE.8.AND.AY.CE.AT))
X PE(1) = PE(1) + 1
IF((K.EQ.2)-AND.(SLOPE.LE.0.AND.AY.GE.AT)-OR.(SLOPE.GE.0.AND.AY.LE.AT))
X PE(2) = PE(2) + 1
3500 CONTINUE
TYPE *< 33> *dc14.180S *
TE = PE (1) + PE (2)
TS NSENT(1) + NSENT(2)
WRITE(10,3680) FILE Cl,KDT),(SUB(KDT,I),1 = 1,2).SER(KDT),NUM(KDT),ICN,
X CCHIDCI,ICN),1=1,2),JS(KDT),ISHFT,L1,L2
TYPE "<33>*dS67,180"
WRITE!18,3610) TE,TS,PE
3600 FORMAT(IX,S6," SET, SUBJ:*,A1,A2,*, SER:",A1,", SESSION:*,A1,
X ", CHN:",I1,2A2,", ",A1,-L0CK, SHIFT13,", FEAT(*,11,",*,11,*))
3610 FORMAT(IX,", PE=",12,'/,12,(",12,*-T,",12,-F)<33>*dlT")
TYPE "< 33> &p5D<33>Lp5u0C< 33>g"
IF(IAUTO.EQ.1) IAUTO = 1 MANUAL
IF(IAUTO .NE. 1)GO TO 1760
CALL 0PEN(3,"CLASSIFIER",3,IER)
M = FTYPtS+KTYP)
WRITE(3,4008) SUBJIN,SERIES,NUMBER,ICN,JSYNC,M,ISHFT,
X LI ,L2,FI,F2,SLOPE,B8,ITHE
4008 FORMAT(IX,A1,A2,IX,Al,IX,A1,12,IX,Al,IX,A1,313,4F10.4,15)
CALL CLOSE(3)
TYPE "<33>*dA<33>g"
5800 STOP
END

Sec tion 3C
CPVER SUPPORT MODULES
so f tw-are

ono non non o oo non non ooo ooo o ooo non
228
File Listing Utility Progran: SREAB
Page 1
SUBROUTIHE SREAD(1ST,NOT,HX,HN,HC,ICH,NS, JS,ISH,HTCH,IP,INSF,IER)
COHHON/SENT/ EEG(8,S12), V(8,512), SENTF(5), RSE8144)
INTEGER EEG,V,RSE8,SENTF,ICH(8),SYNCH(4),SENTN0(2),HDIR(7),0DIR(7)
EQUIVALENCE (SENTF(4),SENTNO(1))
READ SENTENCE WITHIN CLASS BOUNDARY.
NDIR(l) = DP"
NDIR(2) = -4<03>-
9 DO 28 I = 1ST NOT
IF( RSEQ(I1.GE.MM .AND. RSEB(I).LE.X GO TO 75
¡0 CONTINUE
OUT OF SENTENCES WITHIN PRESCRIBED CLASS BOUNDARY.
TYPE <7>*ERR0R* SENTENCES REQUESTED IS GREATER THAN AVAILABLE.
TYPE DEFAULT ACTION TAKEN...ILL RE-USE EXISTING SENTENCES*"
IER = 99
1ST = 1
CO TO 10
RETURN
FOUND A SENTENCE WITHIN THE CLASS...CONVERT SENT NO TO ASCII.
5 1ST =1+1
SENTNO (2) = (HOD(I ,100)/-10 481*256 HOD (I 181+48
SENTNO(l) = (48+1/1080)*256 + (HOD(I,1000)/100+48)
CALL GDIR(ODIR,IER)
18 CALL STAT (SENTF ,EEG, IER)
IF( IER.£8.1 ) GO TO 100
SEARCH IN DIRECTORY DPI
CALL DIR(NDIR,IER)
CALL STAT(SENTF,EEG,IER)
IF( IER.EO.l ) GO TO 108
NDIR(2) = 1< 00>"
CALL DIR(NDIR,IER)
CALL STAT(SENTF,EEG,IER)
IF(IER.EQ.l) GO TO 188
SENTENCE FILE NOT FOUND.
TYPE <7> +ERROR IN SUBROUTINE SREAD STHT NO 80 IER :*,IER
WRITE(18,90) SENTF(1)
8 FORHAT(IX,*ERROR* SENTENCE FILE: *,S18,SX,"NOT FOUND")
PAUSE
READ SENTENCE FILE FROH UNIT 3.
80 CALL 0PEN3,SENTF,1,IER)
CALL RDBLK(3,8,EEG,16,IER)
CALL CLOSE(3)
CALL DIR(ODIR,IE)
IF( IER.EG.1 ) 60 TO 125
ERROR IN READING SENTENCE FILE.
WRITE(10,118) IER, SENTF(1J
110 FORHAT(lX,*<7>*I/0 ERROR* IER: *,13,5X,READING SENTENCE FILE: *,S18)
GO TO 210
NO TIHING/NO RESPONSE REJECTION SOFTWARE.
125 ISP = 45
NTP = 0
140 NTP = NTP 1
DO 150 J = ISP 511
IDIF = EEG(NTCH,J+l) EEG(NTCH,J)
IF( IABSCIDIF).GT.180 ) GO TO 175
158 CONTINUE
TIHIHG PULSE HISSING.
TYPE <7>*ERR0R* TTHING PULSE HISSING...SEARCH NEXT SENTENCE*
GO TO 10
COUNT THE TIHINC PULSES.
175 ISP = J + 20
SYNCH(NTP) = J

229
File Listing Utility Progra: SREAD Page 2
IF C NTP.LT.3 ) SO TO 140
C
C ALL TIMING PULSES ACCOUNTED FOR...SERACH FOR RESPONSE PULSE.
C
190 DO 200 J = ISP 511
ID IF = EEG NTCH, J+l) EEG(HTCH, J)
IF IABSHDIF) .GT.200 1 GO TO 225
200 CONTINUE
C
C SUBJECT DID NOT RESPOND.
C
URITE110,205) SENTF(11
205 FORMAT(IX,"SUBJECT DID NOT ANSWER SENTEHCE: ,S10)
IF( JS.EQ."S ) GO TO 250
210 TYPE "THIS TRIAL SENTENCE DELETED...SEARCH NEXT SENTENCE-
GO TO 10
C
C DECIDE IF RESPONSE IS IN CLASS 1(TRUE) OR 2(FALSE' BASED ON POLARITY.
C
225 IF( (IP*IDIF) .LT. 0 ) GO TO 235
URITE(10,230) SENTF(11
230
FORMAT(IX,"SENTENCE : ",S10,SX,"SUBJECT'S
GO TO 250
RESPONSE
IN
CLASS
1")
235
WRITE 10,240) SENTF(11
240
FORMATdX,"SENTENCE : ,S10 ,SX "SUBJECT S
RESPONSE
IN
CLASS
2")
C SYNCHRONIZATION SOFTWARE.
C
250 SYNCH(4) = J
INSF = 0
IWS = SYNCH(4) + ISH
IF( JS.EQ.-S ) IWS = SYNCH(3) ISH
IF(SYNCH(31 .GT. IWS) INSF = 1
IAVL = 512 IWS
IF( IAVL.GE.NS 1 GO TO 300
C
C REQUIRED SAMPLES EXCEED AVAILABLE.
C
WRITE(10,270) SENTF(1), NS, IAVL
270 FORMAT(IX,"FILE: ",S10.SX,"REQ. PTSs*,13,IX,"> AVAILABLE PTS:",I3)
GO TO 210
C
C STRIP OFF REQUIRED NUMBER OF SAMPLES.
C
300 DO 400 K = 1 NC
DO 400 J = 1 NS
V(K,J) = EEG( ICH(K), IWS J 1 )
400 CONTINUE
IER = 1
RETURN
EHD

230
File Listing Utility Progra: FICEN
Page
SUBROUTINE EIGEN(0,R,N,V)
DIMENSION All) ,R(1)
C MATRIX IS LINEARLY STORED UPPER TRIANGULAR COLUMNWISE
S RANGE=1.0E-6
IF(HV-l) 10,25,10
i ie=-N
DO 20 J=1 ,N
IQ=IQ+N
DO 20 1=1,N
IJ=IQ+I
R(1J)=9.0
IFII-J) 20,15,20
15 R11J)=1.0
29 CONTINUE
C COMPUTE INITIAL AND FINAL NORMS IANORM AND ANORMX1
25 ANORH=0.9
DO 35 1 = 1 ,N
DO 35 J=1,N
IFII-J) 30,35,30
30 IA=I+IJ*J-J)/2
ANORM=ANORM+A(I A)*011A)
35 CONTINUE
IF IANORM) 165,165,40
40 AN0RM=1 ,414-S0RT IANORM)
ANRHX=ANORM*RANGE-'FLOAT INI
C INITIALIZE INDICATORS AND COMPUTE TRESHOLD THP
IND=9
THR=ANORH
45 THR=THR^FLOATIN)
50 L=1
55 M=L+1
C COMPUTE SIN AND COS
60 MQ=(M*M-M)>'2
LQ=(L4L-L1/2
LM=L+MQ
62 IFIABSIAILM))-THR) 130,65,65
65 IND=1
LL=L+L0
MM=M+MQ
X=0,5*IAILL)-A IMM))
68 Y=AILM)^SQRTIA l LH) *A ILM > +X*X)
IF IX) 70,75,75
70 Y=-Y
75 SIHX=Y/'S0RTI2.*t 1 .+SQRTI1,-Y*Y) ) ) )
SINX2=SINX*SINX
78 C0SX=SGRTI1.-SIHX2)
C0SX2=C0SX*C0SX
SINCS=SINX*COSX
C ROTATE L AND M COLUMNS
ILQ=N*IL-1)
IMQ=N*fH-l)
DO 125 1=1,N
I0=II*I-I)^2
IF II-L) 80,115,80
80 IF II-M) 85,115,90
85 IM=l+MO
GO TO 95
90 IM=M-tIQ
95 IFII-U 100,105,105
100 IL=I+LQ
GO TO 110
105 IL=L+IQ
110 X=AUL)*COSX-AIIM)*SINX
AtIM)=AIIL)*SINX+AUM)*COSX
AIIL)=X
115 IFIMV1)128,125,120
120 ILR=ILQ+I
IMR=IMQ+I
X=RIILR)*COSX-RIIMR)*SINX
R IIMR)=R IILR)eSINX+R11MR)4COSX
RIILR)=X
125 CONTINUE
X=2.*AILM)*SINCS
Y=AILL)*COSX2+AIMM)*SINX2-X
X=AlLL)*SINX2+AIMM)*C0SX2+X
PILM)=IAILL)-AIMM))*SINCS+AILM)*IC0SX2-SINX2)
A ILL)=Y
AIMM)=X
C TEST FOR COMPLETON
C
C TEST FOR M = LAST COLUMN


231
File Listing Utility Program FICEN
Page 2
138 IFCH-N) 135,148,135
135 M=M+l
CO TO 60
C TEST FOR L=SECOND FROM LOST COLUMN
140 IFlL-(N-l)) 145,150,145
145 L=L+1
GO TO 55
158 IF(IND-l) 160,155,168
155 IND=0
GO TO 50
C COMPARE TRESHOLD WITH FINAL NORM
160 IF(THR-ANRMX) 165,165,45
C SORT EIGENVALUES AND EIGENVECTORS
165 IQ=-N
DO 185 1=1,N
IQ=IQ+N
LL=I+CI*I-I1^2
je=N*u-2j
DO 185 J=I N
JQ=JQ+N
MM=J*(J*J-J)^2
IF(A(LL)-A(MM)) 170,185,185
170 X=A(LU
A(LL)=A(MM)
A CMM)=X
IF(MV11 175,185,175
175 DO 180 K=1,N
ILR=IQ+K
IMR=JQ+K
X=R(ILR)
R tILRJ =R(IMR)
180 R(IMR)=X
185 CONTINUE
RETURN
END

232
511
512
513
514
File Listing Utility Prograa: IHVERSE
SUBROUTINE RMI (fi,K)
DIMENSION 0(10.10) ,OX(10
KS=K-l
DO 511 1=1,KS
fiX (I) =0 .
DO 511 J=1,KS
RXd)=fiXd)+fid ,J)*A(J,K)
Cc=0
DO 512 1=1,KS
CC=CC+fi(I,K)*fiX(I)
fi(K,K)=l./(DOr,K)-CC)
DO 513 1=1,KS
fid,K)=-fiXdi*fi(K,K)
fi (K, I) =fi (I ,K)
DO 514 1=1,KS
DO 514 J=1,KS
Ad ,J)=fl(I ,J)+fl(K,K)*fiX(I)*fiX(J)
CONTINUE
RETURN
END
Page

233
file Listing Utility Progra: FEAT Page 1
SUBROUTIHE FEAT(CM,DV,OV,VMO,VMT,NDV,H)
C INPUT CM OS FREIGHTED COV MOT. OUTPUT IS DISCRIMINANT VEC. DV(I,J)
REOL CM(18,18),DV(10,2),OV(30,2)
REAL DM(18),VM0(18) ,VMT(10) ,B(10) ,S(5,5)
C COMP. COV. INV. CM(I,J) t VECTOR MEAN DIFF. DM(I)=VHO-VMT
CM(1,1)=1.^CHC1,1)
DO 11 I=2,N
11 CALL RMI(CM,I)
DO 12 1=1,N
12 DM(I)=7M0(I)VMT(I)
C TYPE "COV-1 COMPUTED*
C COMP. FISRT DISC. VEC.
DO 21 1 = 1 ,N
DV(I,1)=8.
DO 21 J=1,N
21 DVU ,1)=DV(I,1)+CM(I ,J)*DM(J)
dti i=i,n
22 VL=VL+DV(I,1)*DV(I,1)
VL=S8RT(VL)
ONHO=1 .7VL
DO 23 1=1,N
23 DV(1,1)=DV(1,1)7VL
C TYPE "1ST COLL TO VECROT"
CALL VECROT (CM,DV,0V,1,N)
C TYPE "BOCK FROM VECROT"
S(1,I)=0.
DO 301 1=1,N
301 S(1,1)=S(1,1)+DV(1,1)*0V11,1)
S 1 ,1J = 1 .-'SU ,1)
K=1
400 IF(K.EQ.HDV) GO TO 501
C THE LOOP STARTS HERE
K=tC + l
KS=K1
DO 42 1=1,N
B(I)=8.
DO 41 J=1,KS
41 B(I)=B(I)+DVCI,J)*S(J,1)
B(I)=B(I)^OHHO
42 B(I)=PMCI)-B(I)
DO 44 1 = 1,N
DV(I,K)=0.
DO 44 J=1,N
44 DVCI,K)=DV(I,K)+CM VL=0.
DO 47 1=1,N
47 VL=VL+DV(I,K)*DV(I,K)
VL=S8RT(VL)
DO 49 1=1,N
49 DV1I,K)=DV(I,K)7VL
C TYPE "2ND CALL TO VECROT"
COLL VECROT(CM,DV,OV,K,N)
C TYPE "BOCK FROM VECROT"
DO 61 1 = 1 ,K
S(I,K)=0.
DO 61 J=1,N
61 S1I ,K)=S(I ,K)+DV(J,I)*0VCJ,(O
DO 62 1=1,K
62 S (K, 1) =S ( I ,K)
C TYPE "COLL RMI*
COLL RMI(S,K)
GO TO 400
501 CONTINUE
RETURN
END

234
File Listing Utility Progra: VECROT
SUBROUTINE VECROTtCH,BV,flV,K,N)
INDE! of disc. vec. n is the dimension
REAL curie,18),DV(10,S),RV(10,5)
DO 31 1 = 1 ,M
RV(I,K)=0.
DO 31 J=1,N
RV(I,K)=CH(I,J)*DV(J,K)+RV(I,K)
RETURH
END
Page

235
File Listing Utility Prograa: LDRAU
C DRAW A LINE FROM (IX1.IY1) TO C TYPE LT. LT MUST BE I TO 11 S DESCRIBED IN THE
C H-P REFERENCE MANUAL PC. 3-3.
SUBROUTINE LBRAW(LT,1X1,IY1,1X2,1Y2)
WRITE(18,29 LT, 1X1, IY1, 1X2, IY2
20 FORMAT(IX,"<33>*-,I2,B<33>*pa",414,-Z<33>A")
RETURN
END
Page

File Listing Utility
Program: SDRQW
C DRAW A SYMBOL OH tIX,IY) USING GRAPHICS TEXT MODE.
C H-P REFERENCE MANUAL
SUBROUTINE SDRPW(ISYHB,IX,IY)
WRITE(10,101 IX,IY,ISYHB
18 FORMAT(IX,*<33>*dck,214,"oS*,A1,<33>*dT<33>A*)
RETURN
END

237
File Listing Utility Program: ADSAM
Page 1
***** NOVA 4 MODEL 4338-fl ANALQG/DIGITAL CONVERTER SAMPLER (12 BITS)*
*************** ****************************** **************************
***** REVISION 0-0 REVISION DATE s 01 MAR 1981 A A ARROYO **
***********************************************************************
*****
*****
*****
*****
*****
*****
**
CODE THE FOLLOWING FORTRAN IV SOURCE STATEMENT IN YOUR PROGRAM*
CALL ADSAM ( CLOCK,ICHS,ICHE,IARRY,NSTRT,NPTS )
WHERE :
**
**
**
**
*****
*****
*****
*****
*****
*****
CLOCK = C0-NONE, 1-DISABLE, 2-INT, 3-EXT1 **
ICHS = DESIRED CHANNEL START ( 0 31 ) **
ICHE = DESIRED CHANNEL END ( 0 31 ) **
IARRY = OUTPUT ARRAY OF DIGITIZED SAMPLES **
NSTRT STARTING ARRAY INDEX ( 1 NPTS ) **
NPTS = NUMBER OF SAMPLES TAKEN **
*****
**
***********************************************************************
TITL ADSAM
-ENT ADSAM
-EXTD -CPYL, .FRET
-NREL
***** SET UP USER STACK FOR DESIRED DUMMY ARGUMENTS
CL0CK=-167
ICHS=CLQCK+1
ICHE=ICHS*1
IARRY=ICHE+1
NSTRT=IARRY+1
MPTS=NSTRT+1
FS=NPTSCLOCK*1
***** ESTABLISH THE PROPER FORTRAN IV LINK
ADSAM:
LOOP:
FS
JSR
8.CPYL
LDA
8,ADHRSK
MSKO
8
INTDS
y
DISABLE INTERRUPT SYSTEH
NIOC
BDCV
y
CLEAR BDC DEVICE
LDfl
0,IBRRY,3
5
LOAD STARTING ADDRESS OF ARRAY
ADC
1,1
y
GENERATE A -1 IN SCI
ODD
8,1
y
ADDRESS IS ONE LESS
LOB
8,0NSTRT,3
y
LOAD STARTING INDEX
ADD
0,1
5
THIS IS THE NEW ADDRESS
STB
1,IBRRY,3
9
STORE IT IN THE STACK
LOB
8,PICHE,3
f
LOAD DESIRED FINAL CHANNEL HUHBER
MOVS
8,1
5
HOVE CHN TO BITS 0-7 OF AC1
HOVZR
1,1
5
SHIFT RIGHT (BITS 1-8)
MOVZR
1,1
;
SHIFT RIGHT (BITS 2-9)
LDB
e,eicHS,3
y
LOAD DESIRED INITIAL CHN NO
BOD
8,1
5
ADD CHN IN BITS 11-15
LOB
8,8CL0CK,3
;
LOAD IN AC8 HODE SELECT BITS (8-2)
HOVZR
8,8
5
HOVE BIT 15 TO CARRY
HOVR
8,0
5
CARRY TO BIT 8, BIT 14 TO CARRY
HOVR
0,0
y
CLOCK IN BITS 0 1
HOVR
0,0
5
CLOCK IN BITS 1 2
BOO
0,1

y
ADD NODE SELECT BITS TO AC1
DOBC
1,BBCV
5
ISSUE THE SELECT COHHBMD TO THE BDCV
LDfl
1,0NPTS,3
5
LOAD HUHBER OF SAMPLES IH AC1
MEG
1,1
y
CHANCE TO TWO'S COHPLEHENT
NIOS
BDCV
y
START A CONVERSION
SKPDN
BDCV
5
SKIP NSW IF BDCV DONE
JHP
.-1
5
NO...DEVICE STILL BUSY
DIGS
8 ,BDCV
y
SAMPLE INTO BC8 t START ANOTHER
HOVZL
8,0,SHC
5
IS HUHBER NEGATIVE?
HOVZR
8,8,SKP
y
POS SHIFT ONCE
HOVOR
0,0,SKP
y
NEG SHIFT ONCE
HOVZR
8,8, SKP
y
POS SHIFT TWICE
HOVOR
8,8,SKP
;
NEG SHIFT TWICE
HOVZR
8,8,SKP

y
POS SHIFT 3 TIHES
HOVOR
0,8,SKP
5
NEG SHIFT 3 TIHES
HOVZR
0,8,SKP
9
POS SHIFT 4 TIHES
HOVOR
0,0
y
HEG SHIFT 4 TIHES
STB
8,0IBRRY,3
y
STORE DIGITIZED SAMPLE IH BUFFER
ISZ
IBRRY,3
y
INCREMENT BUFFER ADDRESS
INC
1,1,SZR
y
INCREMENT SAMPLE COUNT
JHP
LOOP
y
CONTINUE SAMPLING
SUBO
8,8

238
Tile Listing Utility
Progra*: ADSAM
Page
; MSKO
IN TEH
0
; ENABLE
INTERRUPT SYSTEM
JSR
0.FRET
; RETURN
TO MAIN PROGRAM
ADMASK: 086280
END

239
File Listing Utility Progra: FTYPE
Page 1
TITL
FTYPE
ENT
FTYPE
EXTD
.NREL
.CPYL
.NOME:
. + 1*2
TTYH:
.TXT
TTI
¡URITE TEXT STRING TO TTO DEVICE
;SUBROUTINE WTTO
¡NORMAL RELOCATABLE CODE
1
FTYPE:
JSR
0.CPYL
LDA
.SYSTH
.GCIN
0,.HAME
JMP
OK
LDA
0,TTYN+2
MOV
0,0,SNR
JMP
OK
LDA
0,AINS1
STA
0,INS1
LDA
0,AINS2
STA
0,INS2
OK:
INTDS
LDA
0,-167,3
STA
0 MSG
HSG:0
JMP
UTTO
AINS1:
SKPBZ
TTOl
AIHS2:
LOAS
0,TT01
UTTO:
STA
0 AC0
STB
1 AC 1
STB
2 ,AC2
SUBO
0,0
LDA
2, MSG
LDA
1,MRSK
ULOOP:
LDA
0,0,2
MOVS
0,0
BLOOP:
MOVC
8,0,SNC
MOVS
0,0
AND
0,1,SNR
JMP
RTRN
INS1 :
SKPBZ
TTO
JMP
.-1
INS2:
BOAS
0, TTO
MOV
0,0,SZC
JMP
BLOOP
INC
2,2
JMP
ULOOP
RTRN:
LDA
0 AC0
LDA
1 AC1
LDA
INTEN
2 AC2
JSR
0.FRET
AC9:
0
AC 1 :
0
RC2:
0
MASK:
000377
.END
¡SAVE THE CONTENTS OF AC0
;SfiVE THE CONTENTS OF BC1
¡SAVE THE CONTEHTS OF AC2
;CLEAR OC0 AND THE CARRY FLAG
;LOAD THE BYTE MASK INTO AC1
;LOAD THE NEXT UORD OF THE TEXT STRING
¡PROCESS 1ST HALF OF UORD,
¡ ELSE SWAP HALVES
¡CHECK FOR NULL TERMINATOR
¡NULL TERMINATOR ENCOUNTERED, RETURN
¡CHECK IF TTO IS READY
¡TTO NOT READY
¡OUTPUT BYTE TO TTO
¡TEST FOR 2ND BYTE OF UORD
¡FIRST BYTE OF UORD, CONTINUE WITH 2ND
¡INCREMENT TEXT UORD ADDRESS
¡PROCESS NEXT SEQUENTIAL UORD OF TEXT
¡RESTORE AC0
¡RESTORE RC1
¡RESTORE AC2
¡SAVE AREA FOR AC0
¡SAVE AREA FOR HC1
¡SAVE AREA FOR AC2
¡LEFT BYTE MASK (BITS 0-7)

240
PULSE:
File Listing Utility Prograa: PULSE
-TITL PULSE
ENT PULSE
.EXTD .CPYL, .FRET
NREL
VRLUE=-167
1
JSR 0.CPYL
IN TBS
sto e.fica
SUB2L 8,0
B08 9,BQCV
LBfl 8,eVf)LUE,3
DOCS 0,DOCV
LBfl 0,RC8
INTEN
JSR
0
.END
Page 1
AC0
@.FRET

241
File Listing Utility Programs RTTY
Page 1
TITL
RTTY
ENT
RTTY
.EXTD
HREL
1
JSR
.CPYL, .
RTTY:
0.CPYL
STA
0,AC0
STA
1 ACl
STA
2,AC2
MOVL
0,8
STA
0,CARRY
LDA
SYSTH
.COIN
0, .HAHE
JHP
USER1
LDA
0 jTTYH+2
nov
0,0,S2R
JHP
USER2
USER1:
DIA
0 ,TT I
STA
0,0-167,:
JHP
RET
USER2:
DIA
0,TTI1
STA
0,0-167,:
RET:
LDA
0, CARRY
HOVR
0,0
LDA
0 AC0
LDA
1 ACl
LDA
2, AC2
JSR
0.FRET
.NAME:
. + 1*2
TTYN :
.TXT
TTI
RC0:
6
AC1 :
0
AC2:
0
CARRY:
e
END

242
CLRTTY:
OC0:
AC1 :
AC2:
CARRY:
File Listing Utility Progran: CLRTTY
TITL CLRTTY
CUT CLRTTY
EXTD .CPYL, .FRET
HREL
0
JSR @.CPYL
STA 0,AC9
STA 1,AC1
STA 2,ACE
HOVL 0,0
STA 0,CARRY
SYSTM
.CCHAR
JMP .+1
LDA 0,CARRY
MOVR 0,0
LDA 0,AC0
LDA 1,AC1
LDA 2,AC2
JSR 0.FRET
0
0
0
0
.END
Page

243
File Listing Utility
Program: N4PI0
Page 1
***** DUAL CHANNEL FORTRAN ROUTINE USED TO DISPLAY DATA ON A SCOPE *
***** REVISION 0.0 REVISION DATE : 03 MAR 1981 A A ARROYO*
***********************************************************************
CODE THE FOLLOWING FORTRAN IV STATEMENT IN YOUR SOURCE PROGRAM*
;****
;*****
;*****
;****
;*****
;**+**
J1
CALL DSPLY C CLOCK, SCOPE, INPUT
WHERE :
NSTRT
NPTS
IHCRX, ERR )*
*
CLOCK
SCOPE
INPUT
NSTRT
NPTS
IHCRX
ERR
C0-NONE, 1-DISABLE, 2-1NT, 3-EXTI *
C0-GENERATE Z-PULSES, 1-NO Z-PULSE3 *
THE INPUT ARRAY OF INTEGER DATA *
THE STORTING INDEX FOR 1ST PT DISPLAYED*
THE NUMBER OF POINTS TO BE PLOTTED *
THE X-COORDINOTE SPACING BETWEEN POINTS*
10-NORMAL RETURN, 1-ERROR RETURN! *
*****
*****
*****
*
*****
;***********************************************************************
.TITL
ENT
DSPLY
DSPLY
EXTD .CPYL, .FRET
NREL
***** SET UP USER PARAMETER STOCK
CLOCK=-167
SCOPE=CLOCK+1
IPRRY=SCOPE+l
NSTRT=IPRR Y+l
NPTS=NSTRT+1
INCRX=NPTS+1
ERR=INCRX+1
XAXIS=ERR+1
FS=XAXISCLOCK+1
***** ESTABLISH FORTRAN LINK
NAME:
. + 1*2
¡ BYTE POINTER TO CONCOLE NAME
TTYN:
TXT
TTO
¡ CONCOLE NAME
CINS1:
SKPBZ
TTOl
; USER NO 2
CINS2:
DOAS
8,TT01
¡ USER NO 2
CINS3:
DIP
0,TTI1
¡ USER NO 2
CINS5:
NIOC
TTI1
¡ CLEAR TTY DEVICE
WTTO:
STA
0 ,AC0
¡SAVE THE CONTENTS OF AC0
STA
1 PCI
¡SAVE THE CONTENTS OF PCI
STA
2 AC2
¡SAVE THE CONTENTS OF AC2
SUBO
0,0
¡CLEAR AC0 AND THE CARRY FLAG
LDA
2,0,3
¡LOAD THE PRGUMENT ADDRESS IN AC2
LDP
1,MASK
¡LOAD THE BYTE MASK INTO PCI
WLOOP:
LDA
0,0,2
¡LOAD THE NEXT WOPD OF THE TEXT STRING
BLOOP:
MOVC
0,0,SNC
¡PROCESS 1ST HALF OF WORD,
MOVS
0,0
! ELSE SWAP HALVES
AND
0,1,SNR
¡CHECK FOR NULL TERMINATOR
JMP
RTRN
¡NULL TERMINATOR ENCOUNTERED, RETURN
TINSl:
SKPBZ TTO
¡CHECK IF TTO IS READY
JMP
.-1
¡TTO NOT READY
TINS2:
RTRN:
AC0 ;
AC1 :
OC2:
MASK :
WTT:
5
BOOS 0.TTO ¡OUTPUT BYTE TO TTO
MOV 0,0,SZC ¡TEST FOR 2ND BYTE OF WORD
JMP BLOOP ¡FIRST BYTE OF WORD, CONTINUE WITH 2ND
INC 2,2 ¡INCREMENT TEXT WORD ADDRESS
JMP WLOOP ¡PROCESS NEXT SEQUENTIAL WORD OF TEXT
LDA 0,AC0 ¡RESTORE AC8
LDO 1,PC1 ¡RESTORE AC1
LDA 2,AC2 ¡RESTORE AC2
JMP 1,3 ¡RETURN TO CALLER
0 ¡SAVE AREA FOR AC0
0 ¡SAVE AREA FOR AC1
0 ¡SAVE OREO FOR AC2
800377 ¡LEFT BYTE MASK (BITS 0-7)
WTTO ¡ ADDRESS OF WTTO ROUTINE
FS
DSPLY: JSR
9 .CPYL
SUBO
0,0
STA
0,0ERR
LDA
0, .NAME
SYSTM
.GCOUT
JMP
TTYOK
¡ ESTABLISHES USER STOCK
¡ CLEAR AC0
¡ NORMAL RETURN
¡ BYTE PTR TO COHCOLE NAME
¡ COLL SYSTEM
¡ FIND CONCOLE NAME
¡ CONSOLE IS TTI/TTO

244
TTYOK:
OK:
TINS3:
PREP:
File Listing Utility
Program: H4PI0
Page 2
LDP
8,TTYN+2
SEE IF 3RB BYTE NON-ZERO
nov
0,0,SNR
NON-ZERO <==> TTI1/-TT01
JMP
TTYOK
CONCOLE IS TTI^TTO
ldb
9,CINS1
CHANGE 1ST INST
STB
0,TINS1
CHANGE IT
LDB
0.CINS2
;
CHANGE 2NB INST
STP
0,TINS2
CHPNGE IT
LDB
8.CINS3
CHANGE 3RD INST
STB
0 TIHS3

CHPNGE IT
STB
0,TINS4
CHANGE IT
LDA
0,CIMS5
STB
8 ,TINS5
CHANGE IT
HIOC
BBCV
CLEAR BBCV DEVICE
LBB
8,@CL0CK,3
LOAD CLOCK MODE SEL BITS (0-2)
MOV*
0,9,SNR
;
IS CLOCK SYNC ENABLED?
JMP
OK
CLOCK SYNC IS ENABLED
LBB
1,flINSl
DISABLE DBC Y BUSY TEST
STB
1,INS1
1ST TEST IN BGN LOOP
LBB
1,BINS2
STB
1,INS2
LBB
1.BINS3
STB
1,INS3
LBB
1,BINS4
STB
1 ,1HS4
LBB
1,BINS5
STB
1 ,INSS
LDP
1,BINS6
STB
1 ,INS6
LDP
1,PIHS7
STB
1,INS7
LDP
1,PIHS8
STB
1,INS8
LBB
1,BINS9
STB
1,INS9
MOVZR
0,0
SHIFT RIGHT
HOVR
0,e

SHIFT RIGHT
MOVR
0,e
SHIFT RIGHT
MOVR
0,0
SHIFT RIGHT
LBB
2,8SC0PE,3
LOAD SCOPE FLAG INTO BC2
LBB
1,SMOBE
SELECT SCOPE MODE
MOV
2,2,SZR
CHECK SCOPE FLPG
LBB
1,NSMOD
NON-SCOPE MODE
BBB
0,1
THIS IS NEW MODE COMMAND
SKPBZ
BBCV
SEE IF DEVICE IS BUSY
JMP
.-1
STILL BUSY
STB
1,SELXY
SBVE MODE WORD FOR LBTER ISSUE
PDC
1,1
GENERATE A -1 IN BC1
LDP
0,IBRRY,3
PUT IN BC8 ADDRESS OF INPUT ARRAY
BBD
0,1
PUT IN AC1 ADDRESS OF INPUT ARRAY -
LBB
0.0NSTRT ,3
PUT IN BC8 THE STORTING INDEX
BBB
0,1
OFFSET STORTING BDDRESS BY STARTING
STR
1,IBRRY,3
STORE STORTING ADDRESS IN STRCK
LDP
8,0NPTS,3
; LOAD THE NO OF PTS IN BC0
Nee
0,0
BC0 ==> NPTS
STB
0,NPTS,3
STORE IN STOCK
LBB
8,@INCRX ,3
; LOAD X-AXIS INCREMENT IN AC8
MOVZL
0,0
; SHIFT LEFT ONCE
MOVZL
0,0
5 SHIFT LEFT TWICE
MOVZL
0,0
; SHIFT LEFT THREE TIMES
MOVZL
0,0
; SHIFT LEFT A FOURTH TIHE
STB
8,IHCRX,3
5
STORE INCREMENT IN STACK
DIBC
8 ,TTI
GET STOP CHBR
STB
0,STOP
STORE IT
MOV
3,2
; SAVE REG 3
JSR
0UTT
; DISPLAY MESSAGE
MS6
J BDDRESS OF MSG
MOV
2,3
; RESTORE BC3
LDP
2,BBTR
5
LORD BUFFER BDDRESS
STB
2,23
STORE IN SELFINCR LOCH
SUBO
0,0
CLEAR RC8
MOVOR
8,1
GEHERBTE 100088 IN AC1
STB
1 ,023
STORE IN BUFFER 1ST X VALUE
STB
0,023
;
STORE IN I FER 1ST Y VALUE
STB
1,XBXIS,3
STORE X-RXrc IN STBCK
LDP
2,NPTS,3
LOAD -NPTS IN BC2
LDP
0,INCRX ,3
LOAD INCREMENT
PDD
0,1
ADD INCREMENT
STB
1,023
STORE IN BUFFER
STB
1.XflXIS,3
STORE IN STACK
LBB
0,0IBRRY,3
5
LOAD SAMPLE VALUE

245
File Listing Utility
Progra: N4PI0
Page 3
MOVZL
0.0
MOV2L
0,0
MOVZL
0,0
MOVZL
0,6
STA
0.023
ISZ
IRRY,3
INC
2,2 ,SZR
JMP
PREP
LDA
2.DAMSK
INTDS
DOBS
2, CPU
AGN:
NIOC
DACV
LDP
2,DATA
STA
2,23
LDA
1 ,NPTS,3
MOVZL
1,1
LDA
0,SELXY
DOA
8,DACV
LOOP:
LDA
0,023
INS1 :
DOCS
0,DACV
INS2
INC
1,1,SZR
INS3
JMP
LOOP
INS4
JMP
TINS4
INSS
JMP
.1
INS6
JMP
.+1
INS7
JMP
.1
INS8
JMP
. + 1
INS9
JMP
. + 1
TINS4:
DIAC
0 ,TTI
LDA
2,STOP
SUB
0,2,SNR
JMP
AGN
TINS5:
NIOC
TTI
RTH:
SUBO
2,2
DOBS
2, CPU
JSR
l? .FRET
AINS1:
SUBZR
2,2
AINS2:
SKPBZ
DACV
AINS3:
JMP
.+5
AINS4:
DOCS
8,DACV
AINS5:
INC
1,1,SZR
AINS6:
JMP
.-6
AINS7:
JMP
.+3
AINS8:
INC
2,2,SZR
RINS9:
JMP
.-7
DAHSK:
203
SELXY:
0
-
SMODE:
010000

NSMOD:
014000
STOP:
101
MSK:
177400
MSG:
.TXT
<1S><12>
DATA:
.+0
.BLK
2802
.END
SHIFT LEFT
SHIFT LEFT
SHIFT LEFT
SHIFT LEFT
STORE IH BUFFER
5 INCREMENT SAMPLE ADDRESS
5 IHCREMEHT COUNT
; COHTIHUE PREPARATION
CLEAR ADCV
LOAD BUFFER ADDRESS
STORE IT IN SELF IHCR LOCN
LOAD HPTS IN AC I
DOUBLE THE HUMBER OF POINTS
LOAD MODE WORD IH AC0
SETUP DACV DEVICE
f++++
LOAD NEXT VALUE IH AC0
OUTPUT NEXT X-AXIS VALUE
; INCREMENT THE COUNT
; CONTINUE LOOP
TIME TO QUIT?
LOAD STOP CHARACTER IN AC1
CHECK FOR STOP
NO..-DISPLAY AGAIN
CLEAR TTY DEVICE
CLEAR AC2
REMOVE TTI MASK
RETURN TO CALLER
SAVE AREA FOR MODE WORD
SELECT PIO MODE, ALT CHANNELS, DACX 1ST
5 PIO MODE, NON SCOPE, ALT CHNS, DACX 1ST
; ASCII (101) <==> 'A'
; RIGHT CHAR MASK
STRIKE ANY 'KEY'<15><12>*
; ADDRESS OF BUFFER -1
; 1026 DATA WORDS

246
File Listing Utility
Progra*: N4DCH
Page 1
***** DUAL CHANNEL FORTRAN ROUTINE USED TO DISPLAY DATA ON A SCOPE *
***********************************************************************
***** REVISION 0.0 REVISION DATE ; 03 MAR 1981 A A ARROYO*
***********************************************************************
***** CODE THE FOLLOWING FORTRAN IV STATEMENT IH YOUR SOURCE PROGRAM*
***** *
CALL DSPLY I CLOCK, SCOPE, INPUT, NSTRT, NPTS, INCRX, ERROR 1 *
*
*
C9-N0NE, 1-DISABLE, 2-INT, 3-EXTI *
C0-SCOPE MODE, 1-NON-SCOPE MODE 1 *
THE INPUT ARRAY OF INTEGER DATA *
THE STARTING INDEX FOR 1ST PT DISPLAYED*
THE HUMBER OF POINTS TO BE PLOTTED *
THE X-COORDINATE SPACING BETWEEN POINTS*
10-RETURN, 1-DEVICE IN USECERROR13 *
*
********************************4**************************************
.TITL DSPLY
.ENT DSPLY
;*****
CALL DSPLY
I CLOCK,
-****
WHERE :
CLOCK
SCOPE
INPUT
NSTRT
NPTS
;*****
INCRX
ERROR
*****
.EXTD .CPYL, .FRET, .UIEX, .SHSK
. HREL
***** SET UP USER PARAMETER STOCK
CLOCK*-167
SCOPE=CLOCK+l
IARRY=SCOPE+l
NSTRT=IARRY+1
NPTS=NSTRT*1
INCRX=NPTS+1
ERROR=INCRX+l
XAXIS=ERROR+l
FS=X0XIS-CLOCK+1
***** TTY OUTPUT ROUTINE
UTTO :
STP
9,0C8
SAVE OC0
STO
1 ,RC1
SAVE PCI
STA
2,AC2
SAVE 0C2
SUBO
0,0
CLEAR AC9 & CARRY
LDA
2,0,3
LOAD ARC ADDRESS IN AC2
LDA
1 .MASK
WLOOP:
LDA
0,0,2
5
LOAD NEXT WORD
BLOOP:
MOVC
0,8,SNC
1ST HALF
MOVS
0,0
SWAP
AND
0,1,SNR
CHECK FOR HULL
JMP
RTRH
INS 1 :
SKPBZ
TTO
JMP
.-1
INS2:
DOAS
0 TTO
MOV
0,0,SZC
JMP
BLOOP
INC
2,2
JMP
WLOOP
RTRNs
LDA
0, AC0
LDA
1 AC1
LDA
2 AC2
JMP
1,3
MASK:
377
SCBIT:
0
SCOPE MODE BIT
NSBIT :
1B4
NON-SCOPE MODE BIT (4)
I NTH:
150000
INT CLOCK, DCH MODE
EXTM :
178000
EXT CLOCK, DCH MODE
OCTIV:
0
DPDCT:
USDCT
USDCTs
DI SAVE
800203
IHPND
DISOVE:
3LK
10
RTOS 8 EYTE COMPATIBILITY AREA
DIDEF :
STO
3 ,USP
SUB
0,0
CLEAR AC0
STA
0,ACTIV
CLEAR ACTIVE FLOG
LDA
0,DCODE
LOAD DEV CODE IN OC0
SUBZR
2,2
GENERATE 180000 IH 0C2
LDA
1 jBODCT
PUT ADDR OF D-A DCT TABLE
ODD
2,1
SET DCH BIT IN AC1
INC2L
2,2
5
PLACE +2 IN AC2

247
File Listing Utility Program: N4DCH Page 2
.SYSTM
. 1DEF
JMP
0,3
ERROR RETURN...DEV CODE IN
USE
JMP
1,3
5
NORMRL RETURN

5
DACV INTERRUPT HANDLER
IH AND:
STA
0 < ftC0
SAVE AC0
STA
1 AC1
SAVE AC1
STA
2, AC2
SAVE RC2
HOVL
0,8

SAVE CARRY
STA
0,CARRY
BIT 15 IS CftRRY BIT
SKPBZ
DACV
IS DONE BIT ZERO?
JHP
TEST
NO ..WE ARE DONE
DIAC
0,DACV
GET STATUS WORD & CLEAR
JNP
RETRN
SONE OTHER INTERRUPT
TEST:
DIAC
8,DACV
GET STATUS WORD S. CLEAR
LDA
1 LCMSK
LOAD LATE CONV HRSK WORD
AND
0,1 ,SNR
IS LATE CONV BIT ZERO?
JHP
RETRN
9
YES...RETURN
JSR
QlmTT
PRINT DATA LATE ERROR
ERHSG
ERROR HESSAGE
RETRN:
LDft
0,CARRY
RESTORE CARRY
HOVR
0 ,0
LDA
0,ftC0
RESTORE RC0
LDA
1 ,AC1
RESTORE AC1
LDA
INTEN
UIEX
2, AC2
5
RESTORE AC2
ERMSG:
.TXT
DATA LATE<15><12>*
LCMSK:
200
LATE CONVERSION NASK
C0:
0
AC1:
0
flC2 :
8
CARRY:
0
!naHE:
. + 1*2
BYTE POINTER FOR CONSOLE NANE
TTYN:
.TXT
*TTO
AINS1 :
SKPBZ
TTOl
AINS2:
BOAS
0 ,TTO1
AINS3:
DIA
0 TT11
2ND USER
UTT:
UTTO
ADDRESS OF UTTO ROUTINE
DCODE:
DACV
5
DACV DEVICE CODE
9
FS
DSPLY:
JSR
0.CPYL
ESTABLISHES USER STACK
SUBO
0,0
CLEAR AC0
STA
0,0ERROR,3
SET NORHAL RETURH
LDA
0, .NANE
LOAD DEV NANE BYTE PTR
.SYSTN
CALL SYSTEN
GCOUT
FIND CONSOLE NftHE
JHP
OK
SONETHING URONG... IGNORE
LDA
0.TTYH+2
SEE IF THIRD BYTE NON-ZERO
NOV
0,0,SNR
NON-ZERO <==> TTIl'TTOl
JNP
OK
CONSOLE TTi/TTO
LDA
0.AINS1
5
1ST INST TO CHANCE
STA
0,INS1
CHANGE IT
LDA
0,AINS2
2ND INST
STA
0.INS2
CHANGE IT
LDA
0.AINS3
3RD INST
ST ft
0.INS3A
CHftNGE IT ONCE
STfi
0,1NS3B
CHANGE IT TWICE
OK:
NIOC
DACV
CLEAR DACV
STR
3, RC3
SAVE CONTENTS OF AC3
JSR
DIDEF
DEFINE DACV DEVICE AS USER
DEVICE
JHP
IHUSE
DEVICE ALREADY IH SYSTEN
LDft
3,AC3
RESTORE AC3
ADC
1,1
GENERATE A -1 IN AC1
LDA
8,IARRY,3
PUT IN AC8 ADDRESS OF INPUT
ARRAY
ODD
0,1
PUT IN AC1 ADDRESS OF INPUT
QRRRY -
LDA
0,@NSTRT,3
PUT IN RC0 THE STARTING INDEX
RDD
0,1
OFFSET STARTING ADDRESS BY
STARTING
STA
1 ,1ARRY,3
STORE STARTING ADDRESS IN STACK
LDA
0,@CL0CK,3
LOAD CLOCK BITS IN AC0
ADCZL
1,1
GENERATE -2 IN AC1
LDft
2, IHTH
LOAD INT CLOCK NODE
ADD
1,0,SZR
ASSUME EXT CLOCK IF NOT 2
LDA
2,EXTN
EXTERNAL CLOCK
LDA
8,0SCOPE,3
LOAD SCOPE BIT FLAG
LDA
1 ,SCBIT
5
LOAD SCOPE MODE BIT
1
INDEX

248
File
Listing Utility
Progra: N4DCH
MOV
0,8,SZR
; SKIP IF SCOPE MODE
LDA
1,NSBIT
; NON-SCOPE BIT SET
ADD
t,2
; ADD SCOPE BIT TO AC2
STA
2.SELXY
; STORE MODE WORD
***** INITIALIZE THE BEAH ON THE CENTER LEFT AREA OF THE SCREEN
LDA
2,DATA
: LOAD ADDRESS OF BUFFER
STA
2,23
; STORE
ADDRESS IN SELF-INCR
LOCH
SUBO
0,0
; CLEAR
ACS
MOVOR
0,1
; GENERATE 100088 IN AC1
STA
1,XAXIS,3
; STORE
CURRENT VALUE ON THE
USER STACK
STA
1,8,2
; STORE
1ST X VALUE ON THE
BUFFER
SUBC
1.1
; CLEAR
RC1
STA
8,823
; STORE
1ST Y VALUE IN THE
BUFFER
***** SHIFT THE DATA TO THE LEFT 4 PLACES FILL UP OUTPUT BUFFER.
LOOP:
;****
INS3A:
ACN:
INS3B:
RTNs
LDA
2,0NPTS,3
NEG
2,2
STA
2,NPTS,3
LDA
1,8INCRX,3
MOVZL
1,1
MOVZL
1,1
MOVZL
1,1
MOVZL
1 ,1
LDA
0,XAXIS,3
ADD
1,0
STA
0,023
STA
0,XAXIS,3
LDA
0,@IARRY,3
MOVZL
0,8
MOVZL
0,0
MOVZL
0,0
MOVZL
0,0
STB
0,023
ISZ
IARRY,3
INC
2,2,SZR
JMP
LOOP
START
DISPLAY
DIA
0, TTI
STB
0,STOP
STA
3, AC3
JSR
MSG
0WTT
LDA
3 AC3
LDA
0,DCODE
LDA
.SYSTM
.STMRP
1.DATA
JMP
INUSE
STA
1,DCHADR
LDA
3,AC3
LDA
0,HSKTTI
DOBS
0,CPU
LDA
1,NPTS,3
MOVZL
1,1
SKPBZ
DACV
JMP
.-1
LDA
0.SELXY
DOA
0,DACV
LDA
2,DCHADR
DOB
2,DACV
DOCS
I,DACV
SKPBZ
DACV
JMP
.-1
DIA
8 ,TTI
LDA
2,STOP
SUB
0,2,SNR
JMP
.SYSTM
.GCHAR
AGN
JMP
. + 1
JSR
DICLR
LDA
3 AC3
STB
3, USP
SUBO
2,2
DOBS
2, CPU
JSR
0.FRET
j LOAD THE NO OF PTS IN AC2
; AC2 = -HPTS
; STORE -NPTS IN STACK
; LOAD X-AXIS INCREMENT IN AC1
; SHIFT LEFT ONCE
} SHIFT LEFT TWICE
5 SHIFT LEFT THREE TIMES
! SHIFT LEFT A FOURTH TIME
; LOAD XAXIS VALUE IN ACS
; ADD INCREMENT
J STORE IN THE BUFFER
5 STORE NEXT X IN STACK
5 LOAD 1ST ARRAY VALUE
; SHIFT LEFT 1ST TIME
j SHIFT LEFT 2ND TIME
; SHIFT LEFT 3RD TIME
; SHIFT LEFT 4TH TIME
; STORE Y VALUE IN BUFFER
; INCREMENT ARGUMENT ADDRESS
; INCREMENT COUNT
; CONTINUE ARRAY LOOP
; ESTABLISH STOP CHAR
5 STORE STOP CHAR
; SAVE REG 3
; DISPLAY MESSAGE
; ADDRESS OF MSG
; RESTORE AC3
; LOAD DEVICE CODE
; LOAD BUFFER ADDRESS
; CALL SYSTEM
; GET DCH MAP FOR DACV
; DEVICE IN USE
j STORE DCH ADDRESS
J RESTORE AC3
5 LOAD TTI MASK
j MASK OUT TTY DEVICE
; LOAD NO OF PTS IN AC1
; DOUBLE THE NUMBER OF POINTS
5 IS BUSY FLAG RESET? f=8)
; NO...DEVICE IS BUSY
; SELECT CONVERTER MODE
; SETUP D^A CONVERTER
; GET DCH ADDRESS
; SET UP DCH ADDRESS
; GIVE WORD COUNT t. START
; IS DACV BUSY?
; YES...CHECK AGAIN
; TIME TO QUIT?
; LOAD STOP CHARACTER IN AC2
; CHECK FOR STOP
; NO...DISPLAY AGAIN
; CALL SYSTEM
; CLEAR TTY INPUT BUFFER
; DON'T CARE IF ERROR
; REMOVE USER DEVICE FROM SYSTEM
; RESTORE AC3
; RESTORE USER LOCH 16
- n foi? or?
REMOVE INTERRUPT MASK
; RETURN TO CALLER

249
File Listing Utility
Prograa: N4DCH
Page 4
IHUSE:
JSR
*UTT
DEVICE IN USE
USEMSG
DEVICE IN USE MESSAGE
LDP
3,BC3
RESTORE BC3
SUB2L
0,0
GENERATE +1 IN SC8
STB
0,0ERROR,3
SET ERROR RETURN
JHP
RTH
RETURN TO PIN PROGRAM
USEMSG:
.TXT
<1SX12>*ERR0R*
DEVICE IH USE < 15X 12>
DICLR:
STB
3,USP
CLEAR USER DEVICE
LDB
8,BCODE
LOAD DEVICE COLE
.SYSTM
CALL SYSTEM
. IRMV
;
REMOVE USER DEVICE
JhP
0,3
ERROR RETURN
JMP
0,3
:
NORMAL RETURN
MSKTTI :
3
AC3:
0
SAVE AREA FOR AC3
STOP:
0
STOP CHARACTER
SELXY:
150000

ALTERNATE MODE, DCH, DBCX 1ST
MSK:
177480
f
RIGHT CHAR MASK
MSG :
.TXT
X1SX12> STRIKE
PNV 'KEY'
< 15X 12>4
BCHBDR: 8
DOT: .+1
. BLK
.END
2882

250
File Listing Utility
Progra: DEV3D
Page 1
***********1***********************************************************
***** dual CHANNEL DEVELCO 3-D displrv driver routine. FORTRRN IV *
***********************************************************************
***** REVISION 0.0 REVISION DflTE : 06 MAR 1981 fi O RRROYO*
***********************************************************************
***** CODE THE FOLLOMINC FORTRAN IV STATEMENT IN YOUR SOURCE PROGRAM*
;*** *
***** CALL DEV3D ( CLOCK, INPUT, NSTRT, NPTS, ERROR1 *
***** *
***** WHERE : *
*****
*****
*****
*****
*****
CLOCK = C0-NONE, 1-DISABLE, 2-INT, 3-EXT3 *
INPUT = THE INPUT ARRAY OF INTEGER DATA *
NSTRT = THE STARTING INDEX FOR 1ST PT DISPLAYED*
NPTS = THE NUMBER OF POINTS TO BE DISPLAYED *
ERROR = [0-FUNCTION COMPLETED, 1-DEVICE IN USE1*
*****
***********************************************************************
TITL DEV3D
.ENT DEV3D
.EXTD .CPYL, .FRET, .UIEX, .SHSK
.NREL
***** SET UP USER PARAMETER STACK
CLOCK=-167
IARRY=CLOCK+l
NSTRT=IARRY+1
NPTS=NSTRT+1
ERROR=HPTS+l
FS=ERRORCLOCK*1
.
;
;*****
TTY OUTPUT ROUTINE
WTTO:
STA
0, AC0
SAVE AC8
STA
1 ,AC1
SAVE AC1
STA
2 ,AC2
SAVE RC2
SUBO
0,0
CLEAR AC0 i CARRY
LDA
2,0,3
LOAD ARG ADDRESS IN AC2
LDA
1,KRSK
LOAD CHARACTER MASK
LOOP :
LDA
0,0,2
LOAD NEXT WORD
BLOOP:
MOVC
0,0,SNC
1ST HALF
MOVS
0,0
SWAP
AND*
0,1,SNR
CHECK FOR NULL
JMP
RTRN
YES...RETURN
INSl :
SKPBZ
TTO
IS TTO BUSY?
JMP
.-1
YES...CHECK AGAIN
INS2:
DORS
8, TTO
PUT CHARACTER IN SCREEN
MOV
0,0,SZC
CHECK FOR 2ND CHAR
JMP
BLOOP
YES...NEXT BYTE
INC
2,2
INCREMENT WORD COUNT
JMP
ULOOP
NEXT VORD
RTRNs
LDA
0 AC0
;
RESTORE QC0
LDA
1 AC1
RESTORE AC1
LDA
2, AC2
I
RESTORE AC2
JMP
1 ,3
RETURN TO CALLER (PC+1)
MASK:
377
;
RIGHT CHAR MASK
NSBIT:
1B4
NON-SCOPE MODE BIT 1*4)
INTM:
154600
¡
IHT CLOCK, DCH MODE
EXTM:
174080
EXT CLOCK, DCH MODE
flCTIV:
0
DEVICE IS ACTIVE FLAG
DADCT:
USDCT
D^A DEVICE DCT TABLE
USDCTs
DISAVE
1ST WORD : 8 BYTE RTOS SAVE AREA
INTMSK:
000293

DACV DEVICE SERVICE INTERRUPT MASK
INTSER:
I HAND
ADDRESS OF INTERRUPT HANDLER
DISAVE:
-ELK
10
5
RTOS 8 BYTE COMPATIBILITY AREA
DIDEF:
STA
3,USP
STORE RETURN ADDRESS IN LOCN 16
SUB
0,8

CLEAR AC0
STA
0,ACT IV
CLEAR ACTIVE FLAG
LDA
0,BCOD£
>
LOAD DEV CODE IN AC8
SUBZR
2,2
GENERATE 100000 IN AC2
LDA
1,DADCT
PUT ADDR OF D-A DCT TABLE
ADD
2,1
SET DCH BIT IN QC1
INCZL
2,2
PLACE +2 IN AC2
SYSTM
CALL SYSTEM
. IDEF
;
IDENTIFY USER DEVICE
JMP
0,3
ERROR RETURN...DEV CODE IN USE
JMP
1,3
5
NORMAL RETURN

251
HAND:
TESTs
RETRNi
ERHSG:
LCHSK:
0C8:
ACl:
AC2:
CARRY:
!nME:
TTYH:
AINS1:
AIHS2:
WTT:
DCODE:
DEV3D:
OK:
nOOEU:
>
;****
,
File Listing Utility
Program: DEV3D
Page 2
DACV INTERRUPT HANDLER
STB
0,OC8
SAVE OC0
STA
1 ,AC1
SAVE AC 1
STB
2,0C2
SAVE 0C2
hovl
0,0
SAVE CARRY
STA
0,CBRRY
BIT 15 IS CARRY BIT
SKPDZ
DACV
IS DONE BIT ZERO?
JHP
TEST
NO...HE ORE DONE
DIAC
0,DBCV
GET STATUS WORD & CLEAR
JHP
RETRH
SOHE OTHER INTERRUPT
EIQC
0,DOCV
GET STATUS WORD t CLEAR
LDA
1,LCHSK
LOAD LOTE CONV HOSK WORD
BHD
8,1,SNR
IS LATE CONV BIT ZERO?
JHP
RETRN
YES...RETURN
JSR
PUTT
PRINT DATA LATE ERROR
ERHSG
ERROR HESSAGE
LDB
0, CARRY
RESTORE CARRY
MOVR
0,0
LDB
0,OC0
9
RESTORE AC0
LDA
1 ,0C1
RESTORE AC1
LDA
2 AC2
RESTORE 0C2
INTEH
ENABLE INTERRUPT SYSTEH
.UIEX
RETURN TO USER ENVIRONMENT
TXT
DOTO LOTE<15><12> *
1B8
LATE CONVERSION HOSK
0
SAVE AREA FOR AC8
0
SAVE AREA FOR AC1
0
SAVE AREA FOR AC2
e
5
SAVE OREO FOR CARRY BIT
.+ 1*2
BYTE POINTER FOR CONSOLE NAME
.TXT
**TTO
SKPBZ
TTOl
2ND TTY INSTRUCTION CHANGE
DOAS
8,TT01
2ND TTY INSTRUCTION CHANGE
UTTO
ADDRESS OF WTTO ROUTINE
DBCV
5
DACV DEVICE CODE
FS
JSR
0.CPYL
ESTABLISHES USER STOCK
SUBO
8,0
CLEAR AC0
STA
0,@ERROR,3
SET ERROR RETURN TO 0
LDA
8,.H0HE
;
LOAD DEV NOME BYTE PTR
.SYSTH
CALL SYSTEH
.GCOUT
FIND CONSOLE NOME
JHP
OK
SOMETHING WRONG ...IGNORE
LDB
0,TTYN+2
SEE IF THIRD BYTE NON-ZERO
nov
0,0,SNR
NON-ZERO <==> TTI1ZTT01
JMP
OK
CONSOLE TTI'-TTO
LDA
0,AINS1
1ST INST TO CHANGE
STB
0,INS1
CHANGE IT
LDB
0.OINS2
2ND IHST
STB
0,INS2
CHANGE IT
NIOC
DACV
CLEAR DACV
STB
3 AC3
SAVE CONTENTS OF 0C3
JSR
DIDEF
5
DEFINE DACV DEVICE OS USER DEVICE
JHP
INUSE
DEVICE ALREADY IN SYSTEH
LDB
3, AC3
RESTORE 0C3
ADC
1,1
GENERATE 0 -I IN OC1
LDA
0,IBRRY,3
PUT IN AC0 ADDRESS OF INPUT ARRAY
BDD
0,1
PUT IN AC1 ADDRESS OF INPUT ARRAY -
LDA
0,@NSTRT,3
PUT IN OC0 THE STORTING INDEX
ODD
0,1
OFFSET STORTING ADDRESS BY STORTING
STA
1,IBRRY,3
STORE STORTING ADDRESS IN STOCK
LDA
8,0CLOCK,3
LOAD CLOCK BITS IN 0C8
ODCZL
1,1
GENERATE -2 IN OC1
LDA
2.INTH
LOAD INT CLOCK NODE
ADD
1 ,8,SZR
ASSUME EXT CLOCK IF NOT 2
LDA
2.EXTM
EXTERNAL CLOCK
STA
2,SELXY
5
STORE MODE WORD
INITIALIZE THE BEOH ON
THE CENTER LEFT AREA OF THE SCREEN
LDA
2,DATA
LOAD ADDRESS OF BUFFER
STA
2,23
STORE ADDRESS IN SELF-INCR LOCH
SUBO
1,1
LOAD 0 IHTO 1ST X LOCH
STA
1,0,2
5
STORE 1ST X VALUE
SHIFT
THE DATA TO THE
LEFT 4 PLACES L FILL UP OUTPUT BUFFER.
I

252
File Listing Utility
Progra: DEV3D
Page 3
LOOP:
LDA
1,0NPTS,3
; LOAD THE NO OF PTS IN AC1
NEG
1 ,1
; AC1 = -NPTS
STA
1,NPTS,3
; STORE -NPTS IN STPCX
LDA
2,VALUE
; LOAD X VALUE IN AC2
LDA
8,81ARRY,3
; LOAD 1ST ARRAY VALUE
MOVZL
0,0
; SHIFT LEFT 1ST TIME
MOVZL
0,0
; SHIFT LEFT 2ND TIME
MOVZL
8,0
} SHIFT LEFT 3RD TIME
MOVZL
0,0
; SHIFT LEFT 4TH TIME
STA
0,023
; STORE Y VALUE IH BUFFER
STA
2,023
; STORE NEXT X VALUE
ISZ
IARRY,3
; INCREMENT ARGUMENT ADDRESS
INC
1,1,SZR
; INCREMENT COUNT
JHP
LOOP
; CONTINUE ARRAY LOOP
LDA
2,23
; LOAD LAST ADDRESS IN AC2
STA
1,-1,2
; STORE 0 IN LAST X LOCN
STA
1,0,2
; STORE 0 IN LAST Y LOCN
START DISPLAY
ASH :
RTH:
LDA
6,DCOD£
i
LOAD DEVICE CODE
LDA
1,DATA
;
LOAD BUFFER ADDRESS
.SYSTH
CALL SYSTEM
.STMPP
GET DCH MAP FOR DACV
JMP
INUSE

DEVICE IN USE
STA
1,DCHADR
;
STORE DCH ADDRESS
LDA
3.AC3
RESTORE AC3
LDA
1,NPTS,3
LOAD NO OF PTS IN PCI
MOVZL
1.1
;
DOUBLE NUMBER OF POINTS
ADCZL
2,2
GENERATE -2 IN AC2
ADD
2,1
-NPTS 2
SKPBZ
DflCV
IS BUSY FLAG RESET? (=0)
JMP
.-1
NO...DEVICE IS BUSY
LDA
0,SELXY
SELECT CONVERTER MODE
dor
0,DRCV
SETUP D/fi CONVERTER
LDA
2,DCHADR
GET DCH ADDRESS
DOB
2,DACV
SET UP DCH ADDRESS
DOCS
1,DACV
GIVE UORB COUNT K START
SKPBZ
DACV
IS DACV BUSY?
JhP
.-1
YES...CHECK AGAIH
JSR
DICLR
REMOVE USER DEVICE FROM SYSTEM
LDA
3, AC3
RESTORE AC3
STA
3 ,USP
RESTORE USER LOCN 16
JSR
0.FRET
5
RETURN TO CALLER
JSR
8UTT
DEVICE IN USE
USEMSG
DEVICE IN USE MESSRCE
LDA
3 AC3
RESTORE fiC3
SUBZL
2,2
GENERATE +1 IH AC2
STA
2,0ERROR,3
STORE ERROR RETURN
JMP
RTH
S
RETURN TO MAIN PROGRAM
.TXT
<1SX12>*ERR0R* DEVICE
IN USE<15><12>"
STP
3 ,USP
CLEAR USER DEVICE
LDA
0,DCODE
LOAD DEVICE CODE
SYSTM
CALL SYSTEM
. IRMV
5
REMOVE USER DEVICE
JMP
0,3
ERROR RETURN
JMP
0,3
5
NORMAL RETURN
IHUSE:
USEMSG:
DICLR:
AC3:
STOP:
SELXY:
VALUE:
DCHADR:
DATA:
e
e
154080
100008
0
. + 1
.BLK
END
; SAVE AREA FOR AC3
{STOP CHARACTER
; ALTERNATE MODE, DCH, DAC X 1ST
; -5 VOLT SIGHAL VALUE
2002

253
File Listing Utility Program: SCOPE
Page 1
***** SINGLE CHANHEL SCOPE DISPLAY ROUTINE.REQUIRES SWEEP GENERATION *
***********************************************************************
***** REVISION 8.0 REVISION DATE : 06 MAR 1981 A A ARROYO*
***********************************************************************
***** CODE THE FOLLOWING FORTRAN IV STATEMENT IH YOUR SOURCE PROGRAM*
***** *
CLOCK, SHODE, CHN, INPUT, NSTRT, NPTS, ERROR 1 *
(
*****
*****
*****
*****
*****
WHERE
*
CLOCK = 10NONE, 1-DISPBLE, 2-INT, 3-EXTJ *
SMODE = C0-Z PULSE AFTER EA DACY, 1-NO Z PULSE1*
CHN = C0- DAC X, 1- DACYI *
INPUT = THE INPUT ARRAY OF INTEGER DATA *
NSTRT = THE STARTING INDEX FOR 1ST PT DISPLAYED*
NPTS = THE NUMBER OF POINTS TO BE DISPLAYED *
ERROR = 10-FUNCTION COMPLETED, 1-DEVICE IN USEI*
*
***********************************************************************
*****
*****
*****
TITL SCOPE
-ENT SCOPE
-EXTD .CPYL, .FRET, .UIEX, .SHSK
.NREL
;
;***** SET UP USER PARAMETER STACK
CL0CK=-167
SMODE=CL0CK+1
CHN=SNODE+l
IARRY=CHN+1
NSTRT=IARRY+1
NPTS=NSTRT+1
ERROR=NPTS+l
FS=ERRORCLOCK+1
***** TTY OUTPUT ROUTINE
WTTO:
STA
0 AC0
SAVE AC0
STA
1 AC1
SAVE AC1
STP
2 AC2

SAVE AC2
SUBO
0 ,0
CLEAR RC0 8, CARRY
LDA
2,0,3
LOAD ARC ADDRESS IN AC2
LDA
1,MASK
LOAD CHARACTER MASK
yLOOP :
LDA
0,0,2
LOAD NEXT WORD
BLOOP:
MOVC
0,0,SNC
;
1ST HALF
MOVS
0,0
SWOP
PND
0,1 SNR
CHECK FOR NULL
JMP
RTRN
YES...RETURN
INS1 :
SKPBZ
TTO
IS TTO BUSY?
JMP
.-1
YES...CHECK AGAIN
INS2:
DOAS
0 ,TTO
PUT CHARACTER IN SCREEN
MOV
0,0,szc
CHECK FOR 2ND CHAR
JMP
BLOOP
YES...NEXT BYTE
INC
2,2
INCREMENT WORD COUNT
JMP
LOOP
NEXT WORD
RTRN:
LDA
0,AC0
5
RESTORE AC0
LDA
1 AC1
;
RESTORE AC1
LDA
2 AC2
RESTORE AC2
JMP
1,3
;
RETURN TO CALLER (PC+1J
HRSK :
377
5
RIGHT CHAR MASK
HSBITs
1B4
;
NON-SCOPE MODE BIT <4)
INTM:
140001
INT CLOCK, DCH MODE
EXTM:
160001
EXT CLOCK, DCH MODE
ACTIV:
0
DEVICE IS ACTIVE FLAG
DRDCT:
USDCT
D/A DEVICE DCT TABLE
USDCTs
DI SAVE
1ST WORD : 8 BYTE RTOS SAVE AREA
INTMSK:
008203
;
DACV DEVICE SERVICE INTERRUPT MASK
INTSER:
IHAND
ADDRESS OF INTERRUPT HANDLER
D1SRVE:
.BLK
18

RTOS 8 BYTE COMPATIBILITY AREA
DIDEr :
STA
3 ,USP
STORE RETURN ADDRESS IN LOCN 16
SUB
0,8
CLEAR AC0
STA
8,ACTIV
CLEAR ACTIVE FLAG
LDP
0,DCODE
;
LOAD DEV CODE IN AC0
SUBZR
2,2
GENERATE 100008 IN AC2
LDA
1 DPDCT
PUT ADDR OF D-A DCT TABLE
ADD
2,1
SET DCH BIT IN PCI
IHCZL
2,2

PLACE +2 IN AC2
SYSTM
5
CALL SYSTEM

254
File Listing Utility
Progra*: SCOPE
Page 2
. IDEF
IDENTIFY USER DEVICE
JMP
0,3
ERROR RETURN...DEV CODE IN USE
JMP
1 ,3
5
NORHAL RETURN
t
5
DACV INTERRUPT HANDLER
IHAND:
STA
0, AC0
SAVE AC0
STA
1 PCI
SAVE AC1
STA
2.AC2
SAVE AC2
HVL
0,0
SAVE CARRY
STO
0,CARRY
BIT IS IS CARRY BIT
SKPDZ
DACV
IS DONE BIT ZERO?
JMP
TEST
NO...WE ORE DONE
DIAC
0,DPCV
GET STATUS WORD t CLEAR
JMP
RETRN
SOME OTHER INTERRUPT
TEST:
DIAC
0,DACV
GET STATUS WORD 4 CLEAR
LDA
1,LCHSK

LOAD LATE CONV MASK WORD
AND*
0,1,SNR
9
IS LATE CONV BIT ZERO?
JMP
RETRN
YES. .RETURN
JSR
0UTT
5
PRINT DATA LATE ERROR
ERHSG
ERROR MESSAGE
RETRN:
LDA
0,CARRY
RESTORE CARRY
HOVR
0,0
LDA
0, AC0
RESTORE AC0
LDA
1 PCI
RESTORE AC1
LDA
2 AC2
RESTORE AC2
INTEH
ENABLE INTERRUPT SYSTEM
.UlEX
RETURN TO USER ENVIRONHENT
ERHSG:
TXT
DATA LATE<15><12>*
LCMSK:
IBS
LATE CONVERSION MASK
PC0:
0
SAVE PREP FOR PC0
ACl :
9
;
SAVE AREA FOR AC1
flC2:
9
SAVE AREA FOR AC2
CfiRPY:
e
5
SAVE AREA FOR CARRY BIT
!nPHE:
.4-1*2
BYTE POINTER FOR CONSOLE NOME
TTYN:
TXT
**TTO *
AINS1:
SKPBZ
TTOl
2ND TTY INSTRUCTION CHANGE
AINS2:
DOAS
9,TT01
2ND TTY INSTRUCTION CHANGE
AIMS3:
DIA
0,TT11
;
3RD TTY INSTRUCTION CHANGE
TT:
VTTO
ADDRESS OF UTTO ROUTINE
DCODE:
DACV
9
DACV DEVICE CODE
i
FS
SCOPE:
JSR
9.CPYL
ESTABLISHES USER STACK
SUBO
9,0
CLEAR PC0
STA
0,0ERROR,3
SET ERROR RETURN TO 0
LDA
8, .NAHE
LOAD DEV NOME BYTE PTR
.SYSTH
COLL SYSTEM
.GCOUT
FIND CONSOLE NOME
JHP
OK
SOMETHING WRONG...IGNORE
LDA
0 TTYN+2
SEE IF THIRD BYTE NON-ZERO
MOV
0,0,SNR
NONZERO <==> TTIl/TTOl
JHP
OK
CONSOLE TTI^TTO
LDA
0,AI NS1
1ST INST TO CHANCE
STA
0,1NS1
5
CHANGE IT
LDA
0 AINS2
2ND INST
STA
9,1NS2
CHPNGE IT
LDA
0 ,AINS3
3RD INST
STO
0,1HS3A

CHANGE IT ONCE
STA
0,INS3B
;
CHANGE IT TWICE
OK :
NIOC
DACV
CLEAR DACV
STA
3,0C3
SAVE CONTENTS OF AC3
JSR
DIDEF
DEFINE DACV DEVICE AS USER DEVICE
JHP
INUSE
DEVICE ALREADY IN SYSTEM
LDA
3, AC3
RESTORE PC3
ADC
1,1
;
GENERATE A -1 IN 0C1
LDA
0,IPRRY,3
;
PUT IN PC0 ADDRESS OF INPUT ARRAY
ADD
0,1
PUT IN ACl ADDRESS OF INPUT ARRAY -
LDA
0,@NSTRT,3
PUT IN OC0 THE STORTING INDEX
ADD
8,1
OFFSET STARTING ADDRESS BY STORTING
STA
1 IORRY ,3
;
STORE STPRTIMG 9DDRESS IN STRCK
LDA
0,0CLOCK,3
LOAD CLOCK BITS IN PCS
ADCZL
1,1
GENERATE -2 IN ACl
LDA
2.INTM
LOAD INT CLOCK MODE
ADD
1,0,SZR
ASSUME EXT CLOCK IF NOT 2
LDA
2.EXTN
EXTERNAL CLOCK
LDA
0,@SMOBE,3
LOAD SCOPE BIT FLAG
MOV
9,1 SHR
SKIP IF NON-SCOPE MODE
JMP
HODEW
5
MODE WORD IS FINISHED

255
HODEU:
I
jtHt
LOOP:
AGN:
RTH:
INS3A:
INS3B:
INUSE:
USEHSC:
DICLR:
File Listing Utility
Program: SCOPE Page 3
LDfl
1-NSBIT
NOH-
SCOPE BIT SET
ADD
1 ,2
ADD
SCOPE BIT TO AC2
LDfl
8,8CHN,3
LOAD
CHANNEL SELECT FLAG
MOV
0,1 ,SZR
SKIP
IF
DflC X
JHP
HODEU
MODE
WORD FINISHED
NEG
2,2
SUBTRACT 1 FROM AC2
COM
2,2
AC2
BIT 1 5 = 8
STfl
2.SELXY
J
STORE MODE WORD
INITIALIZE THE BEAM ON
THE CENTER LEFT AREA OF THE SCREEN
LDA
2,DATA
LOAD
ADDRESS OF BUFFER
STfl
2,23
5
STORE ADDRESS IN SELF-INCR LOCH
SHIFT
THE DATA TO THE
LEFT 4
PLACES i. FILL UP OUTPUT BUFFER.
LDA
2,0NPTS,3
LOAD THE NO OF PTS IN 0C2
NEG
2,2
AC2 = -NPTS
STA
2,NPTS,3
STORE -NPTS IN STACK
LDA
9,01ARRY,3

LOAD 1ST ARRAY VALUE
MOVZL
8,8
9
SHIFT LEFT 1ST TIME
HOVZL
8,8
SHIFT LEFT 2ND TIME
MOVZL
8,0
SHIFT LEFT 3RD TIME
MOVZL
0,0
SHIFT LEFT 4TH TIME
STA
0 ,023
STORE Y VALUE IH BUFFER
ISZ
IARRY,3
INCREMENT ARGUMENT ADDRESS
INC
2,2,SZR
INCREMENT COUNT
JHP
LOOP
5
CONTINUE ARRAY LOOP
START
DISPLAY
DIA
8, TTI
ESTABLISH STOP CHAR
STA
0,STOP
STORE STOP CHAR
STA
3, AC3
SAVE AC3
JSR
0UTT
DISPLAY MESSAGE
MSG
ADDRESS OF MESSAGE
LDA
3, AC3
RESTORE PC3
LDA
8,DCODE
LOAD DEVICE CODE
LDA
1.DATA
LOAD BUFFER ADDRESS
.SYSTH
CALL SYSTEM
.STHflP
GET DCH MAP FOR DACV
JMP
INUSE
DEVICE IN USE
STA
1,DCHfiDR
STORE DCH ADDRESS
LDA
3, AC3
RESTORE RC3
LDA
0.MSKTTI
LOAD TTI MASK
DOBS
0 ,CPU
MASK OUT TTI
LDfl
1,NPTS,3
LOAD NO OF PTS IN AC1
SKPBZ
DACV
IS BUSY FLAG RESET? (=0)
JMP
.-1
NO...DEVICE IS BUSY
LDA
9.SELXY
SELECT CONVERTER MODE
DOA
0,DACV
SETUP D-'A CONVERTER
LDA
2,DCHADR
GET DCH ADDRESS
DOB
2, DACV
SET UP DCH ADDRESS
DOCS
1,DACV
GIVE WORD COUNT fc START
SKPBZ
DACV
IS DACV BUSY?
JHP
.I
YES...CHECK AGAIN
DIA
8 ,TTI
5
TIME TO QUIT?
LDA
2,STOP
LOAD STOP CHAR IN AC2
SUB
0,2,SNR
CHECK FOR STOP
JHP
AGH
m
NO...CONTINUE
SYSTH
CALL SYSTEM
GCHAR
;
CLEAR INPUT BUFFER
JMP
. + 1
;
DONT CARE IF ERROR
JSR
DICLR
REMOVE USER DEVICE FROM SYSTEM
LDfl
3, AC3
RESTORE AC3
STA
3,USP
RESTORE USER LOCN 16
SUBO
2,2
;
CLEAR AC2
DOBS
2, CPU
CLEAR INTERRUPT MASK
JSR
0.FRET
5
RETURN TO CALLER
JSR
0WTT
;
DEVICE IN USE
USEMSG
;
DEVICE IN USE MESSAGE
LDfl
3, AC3
RESTORE AC3
SUBZL
2,2
;
GEHERBTE +1 IN AC2
STA
2,0ERROR,3
;
STORE ERROR RETURN
JHP
RTN
r
RETURN TO MAIN PROGRAM
.TXT
C15X12XERR0R DEVICE IH USE!<1SX12>*
STB
LDA
-SYSTH
3,USP
8,DCODE
; CLEAR USER DEVICE
5 LOAD DEVICE CODE
; CALL SYSTEM

256
MSKTTI:
9C3:
STOP:
SELXY:
MSG :
DCHADR:
DPT:
File Listing Utility
Progran: SCOPE
Page 4
IRttV
JHP 0,3
JMP 0,3
000003
0
0
140001
TXT *<15X12> STRIKE PHY
0
. + 1
. BLK
.END
; REMOVE USER DEVICE
; ERROR RETURN
¡ NORMAL RETURN
; TTY DEVICE MASK
; SAVE PREP FOR AC3
; STOP CHARACTER
; ALTERNATE MODE, DCH, DACY 1ST
KEY'<15><12>-<
2082

257
File Listing Utility Program: ADTEST
Page 1
INTEGER YC8,512),IBTCS12), IFILUS)
ACCEPT "ENTER CLOCK SOURCE : 0-NO SYNC, 1-DISABLE, 2-INT, 3-EXT ",ICLK
l ACCEPT "ENTER FIRST CHANNEL NUMBER : ",ICH1
ACCEPT "ENTER LAST CHANNEL NUMBER : ",ICH2
N = (ICH2-ICH1+1)
N = HIN8C32+N,H)
CALL ADSAMCICLK,ICH1 1,ICH2-1,Y,1,(N*512)1
DO 20 1=1,N
DO 10 J=1,512
10 IDTJ1 = Y(I+(J-n*N)
20 CALL DSPLY(2,8,IDT,1,512,8,IER)
ACCEPT "DO YOU WISH ANOTHER TEST? 1-YES, 0-NO ",IANS
IF1IANS.HE.0) GO TO 1
TYPE "ENTER FILENAME FOR DATA STORAGE : *
READ(11,38) IFIL1)
CALL F0PEH3.IFIU
CALL URBLK(3,0,Y,16,IER)
EHDFILE 3
30 FORMAT(SIS)
99 STOP
EHD

Section 3D
CPVER FILE DETAILS
so f tware

259
File Listing Utility
FILE : ESPEC
Page 1
*6flkla61LS*dAS6al2y27C8.dB,al2yS6C*Ld@tal3y2?C*6dB*,al3y56C*6d0SLf8E
*6f2kla019Lfl bass
*6f3kla045L~G#*dC**E$*dA**ddk250,1500*8. f4E
*tf4kla008Lis
Sif5kla044L~G**dC*a<1,1X21,320>E*dA**ddk250,1500*6 f6E
*6f6kla01 lLa fish.
*4f7k la056L~G**dCS*< 1,1X21 ,320>E**datlerD*M@AG**ddk250,150oS***dlC
*6f8klafl56L*deR-'G*ddk2S0,lS0O**3H**2a3b0 0 0 0 8 0 0 0D**dS*6f2E
EDCTUVATDM
NO RESPONSE
EYEBLINK!
WRONG!
06 1.9 1.0 1.0 1.0 1.0 1.0 1.0 1.0 7 750.0 08 F3 F4 C3 C4 ENG CZ EOG TIN
06 06 50
072 372
01
02
36
36
02
36
36
1
2
ESENTXXX
208 200
09 10
999
10
50
-70
150
720
250
360
1
01
06
04
03
82 01 07
07

260
File Listing Utility Program: EPISODIC Page 1
MY FIRST
NAME IS
SCOTT
MY LOST
HAME IS
DOLAN
MY FATHER'S
HOME IS
HEHRY
MY MOTHER'S
HAME IS
LEMOIN
MY MAJOR
IS
ENGINEERING
MY CLASS
IS
FRESHMAN
MY HAIR
IS
WAVY
MY HAIR
COLOR IS
BROUN
MY PREFERREDHAND IS
RIGHT
MY SEX
IS
MALE
I LIKE
TO PLAY
FOOTBALL
MY AGE
IS OVER
TEN
I RIDE
A
CAR
I'VE WORKED
AS A
LIFEGUARD
I WAS
BORN IN
ATLANTA
I WAS
BORN IN
GEORGIA
I LIVE
IN
DAYTONA
I LIVE
IN
FLORIDA
MY PAREHTS
LIVE IH
DAYTOHA
MY PAREHTS
LIVE IN
FLORIDA
MY FATHER
IS A
SALESMAN
MY MOTHER
IS A
HOUSEWIFE
MY EYES
ARE
GREEN
I GO
TO BED
LATE
MY ANCESTORSCAME FROM
IRELAND
MY BIGGEST
MEAL IS
DINNER
MY FAVORITE
FOOD IS
STEAK
MY WORST
FOOD IS
ASPARAGUS
I WANT
TO BE AN
ENGINEER
MY FAVORITE
COLOR IS
BLUE
MY SHOE
SIZE IS
ELEVEN
MY FAVORITE
MUSIC IS
ROCK
MY MIDDLE
HAME IS
EDUARD
MY FAVORITE
AUTHOR IS
POE
MY FAVORITE
ACTOR IS
REYNOLDS
MY RESIDENCES
CLOSE
MY FIRST
HAME IS
SCOTT
MY LAST
NAME IS
DOLAN
MY FATHER'S
NAME IS
HENRY
MY MOTHER'S
HAME IS
LEMOIN
MY MAJOR
IS
ENGINEERING
MY CLASS
IS
FRESHMAN
MY HAIR
IS
WAVY
MY HAIR
COLOR IS
BROUN
MY PREFERREDHAND IS
RIGHT
MY SEX
IS
MALE
I LIKE
TO PLAY
FOOTBALL
MY AGE
IS OVER
TEH
I RIDE
A
CAR
I'VE WORKED
AS A
LIFEGUARD
I WAS
BORN IN
ATLANTA
I WAS
BORN IH
GEORGIA
I LIVE
IN
DAYTONA
I LIVE
IN
FLORIDA
MY PAREHTS
LIVE IN
DAYTONA
MY PAREHTS
LIVE IN
FLORIDA
MY FATHER
IS A
SALESMAN
MY MOTHER
IS A
HOUSEWIFE
MY EYES
ARE
GREEN
I GO
TO BED
LATE
MY ANCESTORSCAME FROM
IRELAND
MY BIGGEST
MEAL IS
DINNER
MY FAVORITE
FOOD IS
STEAK
MY WORST
FOOD IS
ASPARAGUS
I WANT
TO BE AN
ENGINEER
MY FAVORITE
COLOR IS
BLUE
MY SHOE
SIZE IS
ELEVEN
MY FAVORITE
MUSIC IS
ROCK
MY MIDDLE
HAME IS
EDUARD
MY FAVORITE
AUTHOR IS
POE
MY FAVORITE
ACTOR IS
REYNOLDS
MY RESIDENCEIS
CLOSE

261
I
File Listing Utility
Program: RSENT
Page 1
0 ROBIN
IS
A BIRD.
ft SPARROW
IS
A BIRD.
a TROUT
IS
A FISH.
0 BASS
IS
A FISH.
A BEE
IS
AN INSECT.
AH ANT
IS
AN INSECT.
A PINE
IS
A TREE.
AN OAK
IS
A TREE.
A ROSE
IS
A FLOWER.
A DAISY
IS
A FLOWER.
A CARROT
IS
A VEGETABLE
A PEA
IS
A VEGETABLE
A HANKER
IS
A TOOL.
A SAW
IS
A TOOL.
A HOTEL
IS
A BUILDING.
A HOUSE
IS
A BUILDING.
A CAR
IS
A VEHICLE.
A TRUCK
IS
A VEHICLE.
A ROBIN
IS
AN ANIHAL.
A SPARROW
IS
AN ANIHAL.
A TROUT
IS
AN AN INAL.
A BASS
IS
AN ANINAL.
A BEE
IS
AN ANINAL.
AN ANT
IS
AN ANINAL.
A PINE
IS
A PLANT.
AN OAK
IS
A PLANT.
A ROSE
IS
A PLANT.
A DAISY
IS
A PLANT.
A CARROT
IS
A PLANT.
A PEA
IS
A PLANT.
A HANNER
IS
AN OBJECT.
A SAW
IS
AN OBJECT.
A HOTEL
IS
AN OBJECT.
A HOUSE
IS
AN OBJECT.
A CAR
IS
AN OBJECT.
A TRUCK
IS
AN OBJECT.
A PI HE
IS
A BIRD.
A HANKER
IS
A BIRD.
AN OAK
IS
A FISH.
A ROSE
IS
A FISH.
A SAW
IS
AN INSECT.
A HOTEL
IS
AN INSECT.
A ROBIN
IS
A TREE.
A HOUSE
IS
A TREE.
A SPARROW
IS
A FLOWER.
A CAR
IS
A FLOWER.
A TROUT
IS
A VEGETABLE
A TRUCK
IS
A VEGETABLE
A BASS
IS
A TOOL.
A DAISY
IS
A TOOL.
A BEE
IS
A BUILDING.
A CARROT
IS
A BUILDING.
AN ANT
IS
A VEHICLE.
A PEA
IS
A VEHICLE.
A DAISY
IS
AH ANIMAL.
A HOUSE
IS
AN ANINAL.
A CARROT
IS
AN ANINAL.
A CAR
IS
AN ANINAL.
A PEA
IS
AN ANINAL.
A TRUCK
IS
AN ANINAL.
A BASS
IS
A PLANT.
A HANKER
IS
A PLANT.
A BEE
IS
A PLANT.
A SAW
IS
A PLANT.
AN ANT
IS
A PLANT.
A HOTEL
IS
A PLANT.
A ROBIN
IS
AN OBJECT.
A PINE
IS
AN OBJECT.
A SPARROW
IS
AN OBJECT.
AN OAK
IS
AN OBJECT.
A TROUT
IS
AN OBJECT.
A ROSE
IS
AN OBJECT.
A PINE
IS NOT
A BIRD.
A HANKER
IS NOT
A BIRD.
AN OAK
IS NOT
A FISH.
A ROSE
IS NOT
A FISH.
R SAW
IS NOT
AN INSECT.
A HOTEL
IS NOT
AN INSECT.
A ROBIN
IS NOT
A TREE.
A HOUSE
IS NOT
A TREE.
A SPARROW
IS NOT
A FLOWER.
I

262
File Listing Utility Program: RSENT Page 2
n
CRR
IS
NOT
R FLOUER.
a
TROUT
IS
NOT
R VEGETRBLE
n
TRUCK
IS
NOT
P VEGETRBLE
n
BRSS
IS
NOT
R TOOL.
n
DRISY
IS
NOT
R TOOL.
n
BEE
IS
NOT
P BUILDING.
a
CPRROT
IS
NOT
P BUILDING.
ON RNT
IS
HOT
R VEHICLE.
n
PEP
IS
NOT
P VEHICLE.
R
DRISY
IS
NOT
PH PHIHPL.
a
HOUSE
IS
NOT
RN RNIHPL.
a
CPRROT
IS
NOT
PN PHIHPL.
a
CPR
IS
NOT
PN PHIHPL.
a
PER
IS
NOT
PN RNIHPL.
a
TRUCK
IS
NOT
RN PNIHRL.
a
BPSS
IS
NOT
P PLRNT.
a
HPHHER
IS
NOT
P PLRNT.
a
BEE
IS
NOT
P PLRNT.
a
SRU
IS
NOT
0 PLRNT.
PH PUT
IS
NOT
P PLPNT.
a
HOTEL
IS
HOT
R PLRNT.
a
ROBIN
IS
NOT
RN OBJECT.
a
PI HE
IS
NOT
PN OBJECT.
a
SPPRROU
IS
NOT
RN OBJECT.
PH ORK
IS
NOT
PN OBJECT.
a
TROUT
IS
HOT
RN OBJECT.
a
ROSE
IS
NOT
PN OBJECT.
a
ROBIN
IS
NOT
a BIRD.
a
SPPRROU
IS
NOT
P BIRD.
a
TROUT
IS
NOT
P FISH.
a
BBSS
IS
NOT
a FISH.
a
BEE
IS
NOT
RN INSECT.
PH PNT
IS
NOT
PN INSECT.
a
PINE
IS
NOT
a TREE.
AN ORK
IS
NOT
P TREE.
a
ROSE
IS
NOT
P FLOUER.
a
DRISY
IS
NOT
R FLOUER.
a
CPRROT
IS
NOT
P VEGETRBLE
a
PEP
IS
NOT
P VEGETRBLE
a
HRHHER
IS
NOT
R TOOL.
a
SRU
IS
NOT
a TOOL.
a
HOTEL
IS
NOT
R BUILDING.
a
HOUSE
IS
NOT
a BUILDING.
a
CPR
IS
NOT
a VEHICLE.
a
TRUCK
IS
NOT
P VEHICLE.
a
ROBIH
IS
NOT
PN PHIHPL.
a
SPPRROU
IS
NOT
RN PNIHRL.
a
TROUT
IS
NOT
PN RNIHPL.
a
BPSS
IS
NOT
RN PHIHPL.
a
BEE
IS
NOT
RN PNIHRL.
AH ANT
IS
NOT
RN RNIHPL.
a
PINE
IS
NOT
R PLPNT.
PM OPK
IS
NOT
R PLRNT.
A
ROSE
IS
HOT
R PLRNT.
A
DPISY
IS
NOT
P PLRNT.
A
CRRROT
IS
NOT
R PLPNT.
A
PEP
IS
NOT
R PLPNT.
A
HPHHER
IS
NOT
RN OBJECT.
A
SPU
IS
NOT
PN OBJECT.
A
HOTEL
IS
NOT
PH OBJECT.
R
HOUSE
IS
NOT
RN OBJECT.
A
CPR
IS
NOT
RN OBJECT.
A
TRUCK
IS
NOT
RN OBJECT.

woo
263
File Listings of : ZERO, ONE,
TYPE (ZERO,ONE,ANSWERS)
0
1
ESPEC
MOD
ANSWERS

264
File Listing Utility
File Attributes
Page 1
LIST/A/E RSPEC
RSPEC
ESPEC
ANSWERS
ONE
ZERO
SCATPARHS
PARAMETERS
R
LIST/A/E RSENT
RSENT
EPISODIC
CLASSIFIER
FEATURES
R
ESPEC ANSWERS ONE ZERO SCATPARNS
682 10/25/81 20:30
661 10/25/81 19:35
24 D 10/25/81 21:15
2 PD 07/29/81 11:48
2 P 07/29/81 11:48
25 D 10/17/81 10:04
2364 D 10/25/31 18:22
EPISODIC CLASSIFIER FEATURES
4922
2240 P
68 D
616 D
10/17/81 20:05
83/12/81 13:13
18/24/81 11:37
10/25/81 21:21
PARAMETERS
10/25/81
18/26/81
10/26/81
10/26/81
10/26/81
10/25/81
10/25/81
10/26/81
10/26/81
10/24/81
10/2S/81
I021160I
1020205]
C831S13]
I020704]
1020772]
[023517]
[040456]
C042313J
[002715]
[040515]
[025576]
LIST/A/E DP4:
DP4:DESIGN
15552
D
10/25/81
00:30
10/25/81
[010451]
DP4:TEST
R
15552
D
10/18/81
21:39
10/18/81
[031641]
LIST/A/E ,COVEST,SCATTERl
,SCATTER2,
DEMOEXP
,EEGDSPL,I
EPIN,ADTES'
DVEST.SV
29696
so
10/24/81
14:46
10/24/81
[030434]
COVEST.SV
35840
SD
10/23/81
11:19
10/23/81
[0202111
SCATTER1.SV
36352
SD
10/23/81
11 :21
10/23/81
[048007]
SCATTER2.SV
19456
SD
10/24/81
13:03
10/24/81
[040061]
DENOEXP.SV
38720
SD
10/23/81
09:43
10/23/81
[0408151
EECDSPL.SV
27136
SD
10/23/81
09:42
10/23/81
[020317]
EPIN.SV
9216
SPD
03/12/81
13:14
06/26/31
[0026161
ADTEST.SV
18432
SD
10/88/81
11:35
10/08/81
[0437051
LIST/A/E EPINPUT.SV
EPINPUT.SV
R
0:EPIN.SV
CD 9 CD CD CD CD

Section 3E
CPVER COMMAND
MODULES
so f tware

266
File Listing Utility
Program: CRENEUDSK.HC Page 1
INITVF BP4
MOVE^'V-'R/A DP4 SYS-.- BOOT-.- CLI-.- -SPEED-.- COLLECT.PIC CREHEUDSK-PIC START.MC
MOVE-'V/R-'R DP4 RSEQ-.- ESEQ-.- ESPEC-.- RSPEC-.- RSENT EPISODIC
MOVE^VxR/fl DP4 .SV
HOVE/V/R/A DP4 .MC

267
File Listing Utility
Progra*: START.HC
Page
DELETE AUTO REALTIME
XFER ZERO AUTO
XFER ZERO REALTIME
EPIN.SV
EXPBRIVER.SV
EEGDSPL.SV

268
File Listing Utility Program: COLLECT.MC
DELETE AUTO REALTIME
XFER ZERO AUTO
XFER ZERO REALTIME
EXPDRIVER.SV
EEGDSPL.SV
Page

269
File Listing Utility Program: VERDISPLflY.C
DELETE OUTO
XFER DP4F:2ER0 UTO
DP4F:EEGDSPL.SV
Page

270
Flle Listing Utility
Progra.: VERAVERRGE.C
I- MU < U
XFER DP4F :ZER0 OllTn
DP4F:VERRVERfiGE?sv
Page

271
Tile Listing Utility
Progra: SVERDSPL.HC
DELETE PUTO
XFER DP4F:ZER0 PUTO
DP4F:SVERDSPL.SV
Page

272
File Listing Utility
Program: SVERTYPE.HC
DELETE RUTO
XFER DP4F:ZER0 RUTO
DP4F:SVERTYPE.SV
Page

273
File Listing Utility
Progra*: COVBRIfiNCE.HC
DELETE INDV OUTO
XFER ZERO AUTO
XFER ONE INDV
COVEST.SV
Page

274
File Listing Utility
Progra: COVRRIRHCES.MC Page
DELETE IHDV RUTO
XFER ZERO RUTO
XFER ONE INDV
COVEST.SV

275
File Listing Utility Progra*: FEATURES.NC
DELETE AUTO INDV
XFER ZERO AUTO
XFER ONE INDV
DVEST.SV
Page

276
File Listing Utility
Program: CLASSIFY.HC
DELETE REDRAW
XFER ZERO REDRAW
SCATTERl.SV
Page 1

277
rile Listing Utility Progra: PROCESS.MC
delete puto indv redraw answers
XFER ZERO REDRAW
XFER ONE AUTO
XFER ONE INDV
COVEST.SV
DVEST.SV
SCATTERl.SV
Page

278
File Listing Utility Progra; DESIGN.MC
DELETE BUTO INDV REDRAW
XFER ZERO REDRAW
XFER ONE AUTO
XFER ZERO INDV
COVEST.SV
DVEST.SV
SCATTER.SV
Page

279
File Listing Utility
Progra: RESCATTER.HC
DELETE REDRAW
XFER ONE REDRAW
SCATTER1.SV
Page

280
File Listing Utility Program: ONLIHEDEMO.MC
DELETE REBLTIME BUTO IHDV REDRBU
XFER ONE BUTO
XFER ZERO INDV
XFER ZERO REDRBU
XFER ZERO REBLTIME
DEHOEXP.SV
COVEST.SV
DVEST.SV
SCBTTER1.SV
DELETE REBLTIME BUTO
XFER ONE REBLTIME
XFER ZERO BUTO
DEMOEXP.SV
Page

BIOGRAPHICAL SKETCH
Amauri Antonio Arroyo was born on April 4, 1949, in Santurce,
Puerto Rico. He graduated from Santa Rosa High School in June, 1965.
He attended Centenary College from September, 1965, to May, 1966, and
Miami Dade Junior College from August, 1966, to June, 1967. After
graduation in September, 1967, he entered the University of Florida.
In June, 1970, he received the degree of Bachelor of Science in
Electrical Engineering. In June, 1973, he received the degree of
Master of Electrical Engineering. He has been a member of the faculty
of the Environmental Engineering Sciences, and the Computer and Infor
mation Sciences Departments at the University of Florida. He has
worked for the Northeast Regional Data Center at the University of
Florida, and is currently a Graduate Research Associate with the
Department of Electrical Engineering, University of Florida.
Amauri Antonio Arroyo is married to the former Marilyn S. Hewitt,
and they are both licensed ministers with the Church of God Teaching
New Testament Judaism, Cleveland, Tennessee.
281

I certify that I have read this study and that in my opinion it
conforms to acceptable standards of scholarly presentation and is fully
adequate, in scope and quality, as a dissertation for the degree of
Doctor of Philosophy.
Donald G. Childers, Chairman
Professor of Electrical Engineering
I certify that I have read this study and that in my opinion it
conforms to acceptable standards of scholarly presentation and is fully
adequate, in scope and quality, as a dissertation for the degree of
Doctor of Philosophy.
PLuJL
u/.
Nathan VT.
Professor
Perry, Jr.
of Psychology
I certify that I have read this study and that in my opinion it
conforms to acceptable standards of scholarly presentation and is fully
adequate, in scope and quality, as a dissertation for the degree of
Doctor of Philosophy.

I certify that I have read this study and that in my opinion it
conforms to acceptable standards of scholarly presentation and is fully
adequate, in scope and quality, as a dissertation for the degree of
Doctor of Philosophy.
Ralph GjjSelfridge
Professor of Mathematics
I certify that I have read this study and that in my opinion it
conforms to acceptable standards of scholarly presentation and is fully
adequate, in scope and quality, as a dissertation for the degree of
Doctor of Philosophy.
Lon W. Cbuch
Associate Professor
Engineering
Electrical
This dissertation was submitted to the Graduate Faculty of the College
Engineering and to the Graduate Council, and was accepted as partial
fulfillment of the requirements for the degree of Doctor of Philosophy.
December 1981
ILL/OL.
Dean, College of Engineering
Dean, Graduate School

UF
{UNIVERSITY of
FLORIDA
Tm Fumditiian for Tlte Gaior Nrttion
Internet Distribution Consent Agreement
In reference to the following dissertation:
AUTHOR: Arroyo, Amauri
TITLE: Implementation collection and processing of visual evoked responses
(CPVER) for cognitive studies / (record number: 316118)
PUBLICATION DATE: 1981
hive an as copyright holder for the aforementioned dissertation, hereby
I
grant specific and limited archive andistribution rights to the Board of Trustees of the University of Florida and its
agents. I authorize the University of Florida to digitize and distribute the dissertation described above for nonprofit,
educational purposes via the Internet or successive technologies.
This is a non-exclusive grant of permissions for specific off-line and on-line uses for an indefinite term. Off-line uses
shall be limited to those specifically allowed by "Fair Use" as prescribed by the terms of United States copyright
legislation (cf, Title 17, U.S. Code) as well as to the maintenance and preservation of a digital archive copy. Digitization
allows the University of Florida to generate image- and text-based versions as appropriate and to provide and enhance
access using search software.
This grant of permissions prohibits use of the digitized versions for commercial use or profit.
Signature of Copyright Holder '
Printed or Typed Name of Copyright Holder/Licensee
Personal
Date of Signature
information blurred



IMPLEMENTATION, COLLECTION, AND PROCESSING OF
VISUAL EVOKED RESPONSES (CPVER) FOR COGNITIVE STUDIES
BY
AMAURI ANTONIO ARROYO
A DISSERTATION PRESENTED TO THE GRADUATE COUNCIL
OF THE UNIVERSITY OF FLORIDA IN
PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1981


93


25
A practice session, using sentence presentations not used in the
experiment, was given to familiarize the subject with the task. The
visual stimulus was presented via a black and white TV monitor located
approximately 32 inches from the subject's eyes. The contrast and
brightness were adjusted to each subject's specifications for viewing
comfort. Each proposition was presented under computer control via
HP 2648A graphics terminal to which the TV monitor was connected.
The sentence, in the form of a proposition, was presented in three
segments to minimize eye movements, e.g.,
My name
is
Tony
The sequencing of the presentation of the sentence segments, with
respect to data acquisition, is presented in Table 2-1. The timing of
the segments and the subject's response were collected on one digitized
data channel. F3, Cz timing and the EOG were also monitored, via a
Grass Instruments polygraph, on-line during the experiments.
More than ten subjects have participated in various experiments
[17]. Experimental results and conclusions are also described by
Childers et al [11,12,17,19] and Fishier et al. [1].
2.4 Real-Time Stimulus Presentation
And EEG Data Collection
The EEG experiment driver software is a set of FORTRAN IV routines
implemented on a Data General NOVA 4 computer using NOVA FORTRAN, Revi
sion 5.52 and NOVA Assembler, Revision 6.6, running under the MAPPED


CHAPTER I
OVERVIEW OF CPVER
1.1 Introduction and General Objectives
The need for understanding the neural processes underlying human
perception and behavior has motivated the recent unification of
psychology, neurology, engineering and Computer Science into inter
disciplinary teams studying .electrical responses evoked from the human
brain. The experimental approach has been to measure the electrical
activity of localized populations of neurons in the brain during the
performance of specific perceptual or behavioral tasks. The activity
of neurons generates electric currents that are transmitted through
the skull, thereby causing minute voltage changes known as the electro
encephalogram (EEG). These neuronal responses can be recorded with
non-invasive disk electrodes taped to the scalp. The EEG reveals
little about sensory perception because of the absence of specific
correlation to sensory stimuli. The evoked potential technique attempts
to focus on the neuronal potential that is directly evoked to specific
sensory stimuli. This process supposedly recruits and synchronizes
numerous neurons so that the evoked response to a particular stimulus
exceeds the on-going background activity.
The availability of the evoked potential has helped to reveal
specific brain activity where information is handled simultaneously
in multichannel fashion; it can be used to distinguish organic
1


153