The CRL is based upon the EarObject structure (usually termed simply as an EarObject within this text), a schematic of which is shown in figure .
Figure : Schematic of an EarObject Data Structure The EarObject was designed to embody the basic data elements required by all the various processing stages in the simulation system. Each stage in the system, described by the Process Name character string, accepts an "input signal" and generates an "output signal". There is also a Module field which is used by the module management system employed when using the generic programming. This format varies only for the principal generation stages where either a signal is read, or a generation paradigm is used to produce a stimulus. In both these cases only the output signal is present (generated by the module process). The SignalData data structure, pointed to from the EarObject by the "input signal" and "output signal" fields, is described below.
The present state of the EarObject data structure reflects only the most basic elements, and figure only shows the fields under direct control by the user. There are other fields used by the connection management system, and there is also ample scope for new additions to the structure at a later date, e.g., the output requirements for each stage; whether or not to print data to the screen or process silently, etc.
EarObjects act as a convenient handle by which the data elements may be manipulated and/or accessed. The routines defined to facilitate the handling of the EarObject data elements are described in detail later. Each processing stage will uses its own EarObject, transferring and receiving signals from other EarObjects as required. The processing stages can, therefore, be connected in a "pipeline" fashion, with the output of one processes being "piped" to another. The flexibility of the CRL allows any pipeline configuration to be chosen. An example of an auditory periphery selection from the CRL is illustrated in figure . Not all of the modules available in the CRL are shown in the diagram.
Figure : Schematic of an Auditory Periphery Model. The dashed lines within the boxes serve as reminders that alternatives are available. Each of the titles represents a model group - a processing stage. These are not definitive, and can be either combined or decomposed as required, i.e. "Outer/Middle-Ear" can decompose to "Pinna, external meatus and middle-Ear". The "stimulus" and "Analysis" groups do not form a part of the auditory system as such, but the functions shown in the diagram are processed with the use of EarObjects, as are the other groups.
The horizontal positions in the diagram represent particular model/stimulus/analysis choices, and the arrows show the links between the respective EarObjects (remember, each process is represented by an EarObject). The blank (dashed) horizontal positions "null" links, crossing over module groups. Additional models can be readily incorporated into the CRL because of it's modular structure.
It is important to note that the above diagram represents only an example of how programs using the CRL may be structured. It is also possible to have different process stages, or connect EarObjects in parallel.