

                             Curve Frame Description      2005/07/01 -med 

        When the instrument performs a measurement test, it generates a
        "curve frame." A curve frame is an array of integers that 
        contains the results of the measurement along with all the 
        relevant settings which may have affected the measurement.

        This document describes curve frame format and types. Format 1 is 
        used to carry an 80 data point curve frame.  Format 0 is used for 
        64 data points with 16 distortion values.  Format 2 is a 16 point 
        curve. Format 3 is a 32 point curve. Formats 2 and 3 are normally 
        used with audiometric frequencies.

        Each curve frame starts with two words of flags, 16 bits each, 
        which describes the curve frame format and measurement 
        conditions. The flags are followed by additional information 
        describing the curve frame data. The flags and measurement 
        description are referred to as the curve frame header. The curve 
        frame header is followed by the data points described by the 
        header information.

                        Example Curve Frame Header Format
        Name                 position  notes
        -----------------------------------------------------------------
        flag word 0             0      16 bits of flags 
        flag word 1             1      16 bits of flags 
        time stamp word 0       2      time stamp low word (optional)
        time stamp word 1       3      time stamp high word (optional)
        source amplitude        4      in dB * 100, ma/M * 100, or mV RMS
        highest value           5      in dB * 100 (eg. 9750 = 97.5 dB)
        overall RMS (composite) 6      in dB * 100 (eg. 9835 = 98.35 dB)
        noise reduction         7(lo)  # of averages, 0 is no averaging
                                7(hi)  <reserved>
        measured data points    8      the number of data points will 
                                .      vary with the measurement settings
                
        Time stamps are optional. If the instrument is not capable of 
        generating a time stamp, the time stamp value of when the curve 
        was measured will be zero.

        The values contained in source amplitude, highest value, and 
        overall RMS are dependent upon the curve frame format and type. 
        See the individual curve frame format and type descriptions below 
        for details. Only the low byte of the noise reduction value is 
        used. The high byte is reserved for future use (you should not 
        rely on the value in the high byte).

        Note: currently format 0 and 1 curve frames are 88 words long, 
        other formats may contain other lengths as data points are added 
        or removed. Also, the flags bits in the header may carry multiple 
        definitions depending on the curve frame type. The Curve Frame 
        Format and Curve Frame Type bits in the header are used to 
        identify the format of the rest of the curve frame information.



                                        1


                     Standard Curve Format (0,1) Flag Tables

        The Curve Frame Format and Curve Frame Type bits are used to 
        identify the information contained in the rest of the curve 
        frame. When determining how to process a curve frame, you should 
        first look at the Curve Frame Format and Curve Frame Type bits.

        The following information describes the specific definition of 
        each of the flags. Only specific flags are valid in various 
        measurement modes. The flag association tables show the 
        relationship of the flags and the modes in which they are valid. 
        In the bit position table an 'x/o' indicates that the flag may be 
        either '1' or '0'. In bit# n:nn the first "n" refers to the 16bit 
        position, the ":nn" refers to the 32 bit position.

        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0    0     - CFSRC0 - Source Type              ........ .......x
         1    3:19  - CFSRC1 - Source Type            * ........ ....o...  
         1    4:20  - CFSRC2 - Source Type            * ........ ...o....
         1    6:22  - CFSRC3 - Source Type            * ........ .o......

        These bits specify the source type (how it was presented). 
            22  20  19   0  dword bit
           1:6 1:4 1:3 0:0  word:bit
         0: 0   0   0   0 - Simple Pure Tone 
         1: 0   0   0   1 - Composite Noise
         2: 0   0   1   0 - Fast Pure Tone with Warble  
         3: 0   0   1   1 - <reserved>  (warble composite?)
         4: 0   1   0   0 - <reserved>
         5: 0   1   0   1 - Composite Chirp
         6: 0   1   1   0 - <reserved>  
         7: 0   1   1   1 - <reserved>  
         8: 1   0   0   0 - Pure Tone Burst/Pulse 
         9: 1   0   0   1 - Digital Speech  (see curve sub-info; filter)
        10: 1   0   1   0 - <reserved>  (warble burst tone?)
        11: 1   0   1   1 - Distortion Chirp
        12: 1   1   0   0 - <reserved>  
        13: 1   1   0   1 - Digital Speech - ICRA spectrum (obsolete)
        14: 1   1   1   0 - <reserved>  
        15: 1   1   1   1 - Unknown Source
         
        Note: In previous documentation, bit 0:0 was declared as 
        indicating pure or composite source. Bit 1:3 was declared as 
        indicating warble or unwarbled, and Bit 1:6 was reserved. As of 
        July 24, 1996, the bits are declared as being combined with 
        additional bits from the second flag word to define the source 
        type. For now the bit flags will maintain their position for 
        compatibility, but this may go away in the future as newer source 
        type definitions are needed. As of May 21,1998 bit 1:4 was added 
        to the source type definition to provide for additional types.
        If Source is off or invalid, these bits are user defined.
        Separate Digital Speech ICRA is obsolete. See sub-info filter.


                                        2


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0     1    - CFHD_2  - Distortion Type         ........ ......x.
         0     2    - CFHD_3  - Distortion Type         ........ .....x..

        These bits specify the type of distortion for the distortion data 
        points in the Format 0 curve frame.

        Distortion Type:
            2 1
         0: 0 0 - Distortion was not measured.
         1: 0 1 - Curve frame contains 2nd distortion values.
         2: 1 0 - Curve frame contains 3rd distortion values.
         3: 1 1 - Curve frame contains Total distortion values.

        These flags are only valid when distortion values are provided in 
        the format 0 curve frame. If distortion was not measured, the 
        values in the curve frame are not valid. If a distortion value is 
        less then zero, it means that it is not valid. 

        In 6500 software prior to v2.60 these flags should be ignored 
        if the source is off or equal to or greater than 90 dB, in both 
        cases the curve frame contained no valid distortion information. 
        Later version correctly indicate this situation by setting the 
        distortion flag bits to zero.


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0    3     - CFCOR0  - Correction Type 0       ........ ....x...
         1    0:16  - CFCOR1  - Correction Type 1       ........ .......o
         1    7:23  - CFCOR2  - Correction Type 2       ........ o.......

        These bits identify what kind of correction has been applied to 
        the curve data. 

        Correction type definition:
            23  16   3  dword bit
           1:7 1:0 0:3  word:bit
         0: 0   0   0 - None
         1: 0   0   1 - Insitu
         2: 0   1   0 - OES
         3: 0   1   1 - <reserved>
         4: 1   0   0 - CIC
         5: 1   0   1 - <reserved>
         6: 1   1   0 - <reserved>
         7: 1   1   1 - <reserved>

        Note: The type of insitu correction is not identified in the 
        curve frame. That information must be obtained separately from 
        the instrument.



                                        3


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0     4    - CFREFM  - Reference mic used      ........ ...x....

        When this bit is set, the reference mic was enabled when the
        measurement was taken. 


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0     5    - CFSMTH  - Smoothing on            ........ ..x.....

        When this bit is set, the values in the curve frame have been
        smoothed.  Smoothing is an average of each measurement and the
        measurements on each side of it. The type of smoothing is not 
        identified in the curve frame.


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0     6    - CFENV0  - Measurement Environment ........ .x......
         0     7    - CFENV1  - Measurement Environment ........ x.......

        These bits define the environment that was used when measuring 
        the curve.

         Measurement Environment:
            7 6  
         0: 0 0 - Chamber (coupler)          
         1: 0 1 - Telecoil / Volts RMS
         2: 1 0 - Sound Field (real ear)
         3: 1 1 - Earphone

        Chamber assumes an accoustic chamber enviornment is used.
        Source Field assumes an accoustic sound field speaker is used.
        Earphone assumes an accoustic earphone is used.

        Telecoil assumes a magnetic coil or other voltage/current specfic 
        device is used. The source may be in milliamps per meter or in 
        Volts RMS. Unfortunately we have no bits left to specify if it is 
        field strength or voltage. It is up to the calling program to 
        remember what it is. In addition, if the source is set to 1 
        (0.01), it is assumed that a TMFS device is being used (see 
        ANSI documents). 

        Normally the telecoil or volts RMS source will be set to 
        unleveled as it is tied to a specific voltage/current output.






                                        4


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0     8    - CFFLT0  - Filtering               .......x ........
         0     9    - CFFLT1  - Filtering               ......x. ........

        These bits indicate if the data was filtered during measurement. 
        Bit 8 indicates if the data was filtered, and bit 9 indicates if 
        the source was filtered.
         
         9 8
         ---
         0 0  no filtering
         0 1  data filtered
         1 0  source filtered
         1 1  data and source filtered

        These bits do not indicate the specific type of filtering being 
        used. That will need to be determined by other means either by 
        context of use, or by requesting the information separately from 
        the instrument. Currently the context of use is as shown below, 
        but keep in mind that this could change in the future as newer 
        filtering methods come into use. 

            9 8
         0: 0 0  Unfiltered Values, no filtering (Unweighted/Flat).
         1: 0 1  Input data filtered 
                  FP40: Software frequency domain filtering used (DFT).
                  Others: Wideband Input filtering (shaping) enabled.
         2: 1 0  Source Filter on - wideband source filtering was used.
         3: 1 1  Source and input data filtered.

        Note: Use bits 14 and 15 to determine if values are gain or spl.
        It is possible for a curve to be measured as Weighted Gain and 
        the curve data to be presented as SPL rather than Gain. The data 
        filtering bits should only be used to identify what type of 
        filtering was done on the data by the measurement system before 
        it was stored in the curve frame.


















                                        5


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0     10   - CFFMT0  - Curve Frame Format      .....x.. ........
         0     11   - CFFMT1  - Curve Frame Format      ....x... ........
         0     12   - CFFMT2  - Curve Frame Format      ...x.... ........
         
        These three bits are used to identify the format of the rest of 
        the curve frame (including all other bit flags in this header). 

        Curve Frame Format:
           12 11 10
         0: 0  0  0 - 64 data points plus 16 distortion (100Hz res.)
         1: 0  0  1 - 80 data points (100Hz resolution)
         2: 0  1  0 - 16 data points (audiogram/measurement) *
         3: 0  1  1 - 32 data points (audiogram/measurement) *
         4: 1  0  0 - <reserved>
         5: 1  0  1 - <reserved>
         6: 1  1  0 - <reserved>
         7: 1  1  1 - Expanded Format (future use)

        See the descriptions of the curve frame types below for more 
        detailed information about the individual curve frame types. 
        *See Audiometric curve formats 2,3 for audiometric curve frames.

        flag                    functional               bit position
        word  bit#  - label   - description            76543210 76543210
        ----------------------------------------------------------------
         0     13   - CFCLEV  - Source Leveled         ..x..... ........

        When this flag is set the source was leveled, when it is clear
        the source is not fully leveled. The type of leveling (full or 
        partial) is not identified in the curve frame.


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0     14   - CFGAIN  - Gain Curve              .x...... ........

        This flag indicates whether the curve data is to be displayed as 
        Gain or Spl values.
         
          0 - SPL (Power) Values (absolute amplitude)
          1 - Gain Values (amplitude minus source)        

        Note: The curve frame documents between 1994 and 2004 incorrectly
        had the description for bits 14 and 15 of word zero swapped. 
        This document corrects the error. All Fonix equipment follows 
        the definition provided in this document. The problem was only a 
        documentation error in the previous Curve.txt files.





                                        6


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0     15   - CFREF0  - Curve Reference         x....... ........
         1    5:21  - CFREF1  - Curve Reference         ........ ..o.....

        These bits identify the reference used for the curve values. 

         Curve Reference:
           21 15
         0: 0  0 - Measured curve data
         1: 0  1 - Computed/Difference curve data
         2: 1  0 - Average curve data
         3: 1  1 - Predicted curve data

        Note: with difference curves, header values like source, output 
        rms, gain and so on should not be trusted since they may not 
        accurately reflect the information presented. Curve frames may 
        also have the curve frame modified bit set if the data was 
        modified after it was generated. 

        Bit 5:21 is not used on the 6500 because the 6500 cannot use it. 
        The value in this bit should not be relied upon with the 6500 as 
        it was not always valid. It should be forced to zero when used 
        with 6500 instruments.


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1    1:17  - CF1X    - <reserved>              ........ ......o.

        This bit is reserved for future use. An obsolete definition used 
        this bit to indicate the ear the curve frame applies to (0 for 
        left, 1 for right). The value in this bit should not be relied 
        upon as it was not always valid, and this bit will be used for 
        other purposes in the future. 


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1    2:18  - CFMOD   - Curve frame modified    ........ .....o..

        When this bit is set the curve frame has been modified since it
        was measured or calculated.










                                        7


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1    8:24  - CFCTI0  - Curve Type Identifier   .......o ........
         1    9:25  - CFCTI1  - Curve Type Identifier   ......o. ........
         1   10:26  - CFCTI2  - Curve Type Identifier   .....o.. ........
         1   11:27  - CFCTI3  - Curve Type Identifier   ....o... ........

        The Curve Type Identifier specifies what type of curve is stored 
        in the curve frame. These flags are user defined if the Curve 
        Frame Type is User defined. The curve frame type definitions may 
        change with different curve frame formats.

        Defined curve types:                    
          0 - Response Curve                     3 - <reserved>
          1 - Real Ear Unaided Response          5 - Leveling Curve
          2 - Real Ear Aided Response            6 - <reserved>
          4 - Real Ear Insertion Response        7 - Battery Curve
          8 - Target Curve                      12 - <reserved> 
          9 - Audiogram Curve (see format 2)    13 - <reserved>
         10 - <reserved>                        14 - <reserved>
         11 - <reserved>                        15 - <reserved>


        Notes: generally, the Curve Frame Format will tell you the size 
        and format of the curve frame. The Curve Frame Type will tell you 
        how to read the curve frame. Each curve frame format has it's own 
        associated curve frame type. You should read the curve frame 
        format first to determine what the format of the curve is, then 
        check the curve frame type to determine how to read the curve 
        frame. 

        As an example, Curve frame formats 2 and 3 (16 and 32 data 
        points) are used by audiometric curves, whereas formats 0 and 1 
        use 80 data points). The flag formats of these curves are 
        different. In addition, the details of how to interpret the flags 
        in these curve formats is dependent on specific curve frame type. 

        Currently we are trying to retain the curve frame type 
        information the same across the formats to retain backwards 
        compatibility. However, don't rely on this. When we run out of 
        type descriptions we will have to reuse them, You should only 
        rely on the curve frame type definitions that are described for 
        the specific curve frame format.

        Note: Early instruments (6500/FP40) do not identify the unaided 
        curve type. It is always treated as Custom Unaided. If the source 
        is not provided in the curve frame (off or invalid), it is 
        probably an average unaided curve. You can alternately check the 
        data values in the curve frame to see if they are the expected 
        average data values.





                                        8


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1   12:28  - CFCST0  - Curve Sub-info          ...o.... ........
         1   13:29  - CFCST1  - Curve Sub-info          ..o..... ........
         1   14:30  - CFCST2  - Curve Sub-info          .o...... ........
         1   15:31  - CFCST3  - Curve Sub-info          o....... ........

        The Curve Sub-info provides additional information about the 
        Curve type. The information in the Curve Sub-info is dependent 
        upon the Curve Type Identifier. As an example, for target curves 
        these bits define the formula used to convert from audiogram 
        format. Response curves include Generic, Unaided, Aided, and 
        Insertion response curves.

        Target Curve Values are:   Response Curve Values are:
            0 -- NAL-R             (includes Aided, Unaided, Insertion) 
            1 -- POGO                0 -- Unknown Filter
            2 -- BERGER              1 -- No/Flat Filter (flat weighting)
            3 -- 1/3 gain            2 -- ANSI Filtering (Fonix method)
            4 -- 1/2 gain            3 -- ICRA Filtering
            5 -- 2/3 gain            4 -- UWO Child LTASS Filter
            6 -- DSL Linear          5 -- Cox&Moore Adult LTASS Filter 
            7 -- DSL WDRC            6 -- ANSI-92 (ideal)
            8 -- NAL-NL1          7-15 -- <reserved>   
         9-13 -- <undefined>       
           14 -- Other (Unknown)     
           15 -- Direct              

        Target conversion types 9-13 are currently undefined. The target 
        conversion type bits are only valid for Target Curve frames 
        (curve type 8). Other curve frame types (such as audiograms) may 
        apply other definitions to these bits. On some instruments, in 
        some modes, the Target Curve may be a 16 data point curve. 

        Early instruments (6500/FP40) do not support the Response Curve 
        filtering values. With these instruments you can usually 
        determine the filtering by looking at the Weighting and source 
        type flags. They will not however indicate the LTASS filtering. 
        You can only determine that by context of use (DSL mode was 
        selected). Also, newer formats use the filter flags to identify 
        ICRA filtering rather than the now obsolete special digital 
        speech source type. This allows the filters to be applied and 
        identified with source types available.

        Early FP35 instruments prior to V2.21 identified whether the 
        curve contained average data in it or not using the Sub-Info. 
        Given that it was a waste of precious bits that were needed for 
        the filter identification, the average data indication was moved 
        to the CFREFn bits which were themselves redefined to pick up the 
        additional information. In most cases this will be backwards 
        compatible to old code, but FP35 specific code may encounter 
        slight problems due to the changes.



                                        9


            Standard Response Curve Format Flag Summary (by position)
                   Format 0,1   Curve Frame Types 0,1,2,4,8,10   

        flag                    functional                bit position
        word  bit# - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0   *0    - CFSRC0  - Src Typ 0 (see below)   ........ .......x
         0    1    - CFHD_2  - \00=nodist 01=2nd       ........ ......x.
         0    2    - CFHD_3  - /10=3rd    11=total     ........ .....x..
         0  !!3    - CFCOR0  - -0=std  1=Insitu        ........ ....x...
         0    4    - CFREFM  - -0=no ref 1=Refmic used ........ ...x....
         0    5    - CFSMTH  - -0=no smooth 1=Smth on  ........ ..x.....
         0    6    - CFENV0  - \00=chmbr  01=abs/tcoil ........ .x......
         0    7    - CFENV1  - /10=sndfld 11=phone     ........ x.......
         0    8    - CFFLT0  - \00=no flt  01=data flt .......x ........
         0    9    - CFFLT1  - /10=src flt 11=both flt ......x. ........
         0   10    - CFFMT0  - \000=64pt 001=80pt      .....x.. ........
         0   11    - CFFMT1  - |002=16pt 003=32pt      ....x... ........
         0   12    - CFFMT2  - / 4-6=n/a 007=Expand    ...x.... ........
         0   13    - CFCLEV  - -0=unlevel, 1=Level     ..x..... ........
         0   14    - CFGAIN  - 0=spl 1=gain            .x...... ........
         0   15    - CFREF0  - Crv Ref 0  (see above)  x....... ........

        flag                    functional                bit position
        word  bit# - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1    0:16 - CFCOR1  - 0=std  1=OES correction ........ .......o
         1!!  1:17 - ------  - <reserved>              ........ ......o.
         1    2:18 - CFMOD   - 0=raw  1=Curve modified ........ .....o..
         1!  *3:19 - CFSRC1  - Src Type 1 (see below)  ........ ....o...
         1!   4:20 - CFSRC2    Src Type 2 (see below)  ........ ...o....
         1!   5:21 - CFREF1  - Crv Ref 1 (see above)   ........ ..o.....
         1   *6:22 - CFSRC3  - Src Type 3 (see below)  ........ .o......
         1    7:23 - CFCOR2  - 0=std  1=CIC correction ........ o.......
         1    8:24 - CFCTI0  - Curve Type Identifier   .......o ........
         1    9:25 - CFCTI1  - Curve Type Identifier   ......o. ........
         1   10:26 - CFCTI2  - Curve Type Identifier   .....o.. ........
         1   11:27 - CFCTI3  - Curve Type Identifier   ....o... ........
         1   12:28 - CFTYP0  - Curve Sub-Info          ...o.... ........
         1   13:29 - CFTYP1  - Curve Sub-Info          ..o..... ........
         1   14:30 - CFTYP2  - Curve Sub-Info          .o...... ........
         1   15:31 - CFTYP3  - Curve Sub-Info          o....... ........
        -----------------------------------------------------------------
        wrd:bit = Source Type description             
         22  20  19   0              22  20  19   0  dword bit  
        1:6 1:4 1:3 0:0             1:6 1:4 1:3 0:0  word:bit 
         0   0   0   0=pure tone,    0   0   0   1=Composite noise,   
         0   0   1   0=warble pt,    0   0   1   1=<reserved>,
         1   0   0   0=pt burst,     1   0   0   1=Dig spch,
         1   0   1   0=<reserved>,   1   0   1   1=<reserved>,
         0   1   0   0=<reserved>,   0   1   0   1=Composite chirp,   
         0   1   1   0=<reserved>,   0   1   1   1=<reserved>,
         1   1   0   0=<reserved>,   1   1   0   1=ICRA Dig spch, (obs)
         1   1   1   0=<reserved>,   1   1   1   1=<reserved>


                                       10


             Standard Response Curve Format Flag Summary (by action)
                   Format 0,1  Curve Frame Types 0,1,2,4,8,10   

        flag                    functional                bit position
        word  bit# - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0   *0    - CFSRC0  - Src Type 0 (see above)  ........ .......x
         1!  *3:19 - CFSRC1  - Src Type 1 (see above)  ........ ....o...
         1!   4:20 - CFSRC2    Src Type 2 (see above)  ........ ...o....
         1   *6:22 - CFSRC3  - Src Type 3 (see above)  ........ .o......

         0    1    - CFHD_2  - \00=nodist 01=2nd       ........ ......x.
         0    2    - CFHD_3  - /10=3rd    11=total     ........ .....x..

         0    3    - CFCOR0  - 0=std  1=Insitu         ........ ....x...
         1    0:16 - CFCOR1  - 0=std  1=OES correction ........ .......o
         1    7:23 - CFCOR2  - 0=std  1=CIC correction ........ o.......

         0    4    - CFREFM  - -0=no ref 1=Refmic used ........ ...x....

         0    5    - CFSMTH  - -0=no smooth 1=Smth on  ........ ..x.....

         0    6    - CFENV0  - \00=chmbr  01=abs/tcoil ........ .x......
         0    7    - CFENV1  - /10=sndfld 11=phone     ........ x.......

         0    8    - CFFLT0  - \00=no flt  01=data flt .......x ........
         0    9    - CFFLT1  - /10=src flt 11=both flt ......x. ........

         0   10    - CFFMT0  - \000=64pt 001=80pt      .....x.. ........
         0   11    - CFFMT1  - |002=16pt 003=32pt      ....x... ........
         0   12    - CFFMT2  - /4-6=n/a  007=Expand    ...x.... ........

         0   13    - CFCLEV  - -0=unlevel, 1=Level     ..x..... ........

         0   14    - CFGAIN  - -0=spl 1=gain           .x...... ........

         0   15    - CFREF0  - \00=meas, 01=diff       x....... ........
         1!   5:21 - CFREF1  - /10=avg,  11=pred       ........ ..o.....


         1    2:18 - CFMOD   - 0=raw  1=Curve modified ........ .....o..

         1    8:24 - CFCTI0  - Curve Type Identifier   .......o ........
         1    9:25 - CFCTI1  - Curve Type Identifier   ......o. ........
         1   10:26 - CFCTI2  - Curve Type Identifier   .....o.. ........
         1   11:27 - CFCTI3  - Curve Type Identifier   ....o... ........

         1   12:28 - CFTYP0  - Curve Sub-Info          ...o.... ........
         1   13:29 - CFTYP1  - Curve Sub-Info          ..o..... ........
         1   14:30 - CFTYP2  - Curve Sub-Info          .o...... ........
         1   15:31 - CFTYP3  - Curve Sub-Info          o....... ........

         1!!  1:17 - ------  - <reserved>              ........ ......o.



                                       11


        !Note: Bits 3, and 5 of word 1 are used internally by the 6500 
        for other purposes. This should not cause a problem for programs 
        that communicate to the 6500, but it makes life difficult for the 
        6500 programmer who has to manage the bit flag conversions.

        * Existing bits 0 of word 0, and 3 and 6 of word 1 have been 
        merged into a Source Type definition. Bit 0:0 used to be the pure 
        tone/composite definition, and bit 1:3 was the warble bit. Bit 
        1:6 was reserved for future use and has now been used. 

        The SPL/Gain  bit was previously merged together with the 
        Difference bit to form the curve reference definition. The 
        Gain/spl bit has now been split back out to its own bit. 

        Bit 5 of word 1 (bit21) has been merged together with bit14 of 
        word 0 to create the new curve reference definition. This was 
        needed to define the additional Average and Predicted selections.

        !! Bit 1 of flag word 1 on the FP40 was used to hold ear 
        information (0=left, 1=right). The information was not always 
        valid, and should not be used as a reference. Use the Get Ear 
        command to determine which ear is being tested. 

        Note: with this definition we are completely out of bits due to 
        the reserved bits used by the 6500. The 6500 internal curve frame 
        will require a major rewrite if we need more bit flags.
        Currently we are trying to maintain reverse compatibility to the 
        old flag definitions so as to not break existing software, but 
        you should switch over to the new definitions as soon as possible 
        so that when we are forced into using the reserved definitions 
        your software won't break. Additionally, you should look at the 
        Curve Frame Type definition. If you do not recognize the curve 
        frame type, do not make assumptions. There will be additional 
        (different) curve frame types in the future. 

        Once the Curve flags are all used up, the Curve Frame Type will 
        be used to declare new curve frame types. The most likely 
        method used will be to expand the number of flag words in the 
        header. We will probably add two more words, although we may add 
        more than that if needed. Also, there will be newer larger curve 
        frames in the future, such as a raw measurement data curve frame.
        As of July 24,1996 the audiogram curve frame type has been made a 
        standard curve type and will be used in the future.

        The curve frame does not provide all relevant information about 
        the measurement conditions. Several bit flags only indicate that 
        the curve data has been adapted in some fashion, but does not 
        describe the method used (such as Smoothing and Insitu). If more 
        information is desired, the information must be separately 
        collected from the instrument. 

        Remember, only the _Curve Frame Format_ bits are common among all 
        curve frame types. The other bit flag definitions may change 
        depending upon the curve frame type and measurement conditions.


                                       12


                          Audiometric Curve Description
                                    Format 2

        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0   *0    - CFSRC0  - Src Type 0 (see below)  ........ .......x
         0    1    - CFSRC1  - Src Type 1 (see below)  ........ ......x.
         0    2    - CFSRC2  - Src Type 2 (see below)  ........ .....x..

        These bits specify the source type (how it was presented). 
         2   1   0             
        -----------------------
         0   0   0=Pure tone,    
         0   0   1=Warble tone, 
         0   1   0=<reserved>,    
         0   1   1=<reserved>,   
         1   0   0=Narrow Band Noise,      
         1   0   1=Speech Noise,   
         1   1   0=White Noise,   
         1   1   1=<reserved>,   


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0    3    - CFPRS0  - Presentation 0          ........ ....x...
         0    4    - CFPRS1  - Presentation 1          ........ ...x....
         0    5    - CFPRS2  - Presentation 3          ........ ..x.....

        These bits specify the presentation method used.
          5 4 3                   5 4 3     
          -----                   ----- 
          0 0 0 - Continuous      1 0 0 - <reserved>
          0 0 1 - Pulsed          1 0 1 - <reserved>
          0 1 0 - <reserved>      1 1 0 - <reserved>
          0 1 1 - <reserved>      1 1 1 - <reserved>


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0    6    - CFENV0  - \00=n/a    01=bone      ........ .x......
         0    7    - CFENV1  - /10=sndfld 11=phone     ........ x.......

        These bits specify the output transducer used.
          7 6
          ---
          0 0 - <reserved>
          0 1 - Bone
          1 0 - Sound field
          1 1 - Earphone




                                       13


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0     10   - CFFMT0  - Curve Frame Format      .....x.. ........
         0     11   - CFFMT1  - Curve Frame Format      ....x... ........
         0     12   - CFFMT2  - Curve Frame Format      ...x.... ........
         
        These three bits are used to identify the format of the rest of 
        the curve frame (including all other bit flags in this header). 

        Curve Frame Format:
           12 11 10
         0: 0  0  0 - 64 data points plus 16 distortion (100Hz res.)
         1: 0  0  1 - 80 data points (100Hz resolution)
         2: 0  1  0 - 16 data points (audiogram/measurement)
         3: 0  1  1 - 32 data points (audiogram/measurement)
         4: 1  0  0 - <reserved>
         5: 1  0  1 - <reserved>
         6: 1  1  0 - <reserved>
         7: 1  1  1 - Expanded Format (future use)

        See the descriptions of the curve frame types for more detailed 
        information about the individual curve frame types. 


        flag                    functional               bit position
        word  bit#  - label   - description            76543210 76543210
        ----------------------------------------------------------------
         0     13   - CFCLEV  - Source Leveled         ..x..... ........

        When this flag is set the source was leveled/calibrated, when it 
        is clear the source is not fully leveled/calibrated. The type of 
        leveling (full or partial) is not identified in the curve frame.























                                       14


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1    0:16  - CFMSK0  - \Masking 000=None       ........ .......o
         1    1:17  - CFMSK1  - |004=NBN 05=SpchNoise   ........ ......o.
         1    2:18  - CFMSK2  - /006=Wht Noise          ........ .....o..

        These bits specify the Masking used (if any). If this is a 32 
        data point curve frame, the masking values will be provided in 
        the last 16 data points which will match the first 16 measurement 
        data points.

         5  4  3                       5  4  3
        ---------                     ---------  
         0  0  0 - None                1  0  0 - Narrow Band Noise 
         0  0  1 - <reserved>          1  0  1 - Speech Noise  
         0  1  0 - <reserved>          1  1  0 - White Noise  
         0  1  1 - <reserved>          1  1  1 - <reserved>


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1    3:19  - CFMOD   - Curve frame modified    ........ ....o...

        When this bit is set the curve frame has been modified since it
        was measured or calculated.


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1    4:20  - CFMOD0  - \00=Meas,01=Diff        ........ ...o....
         1    5:21  - CFMOD1  - /10=Avg, 11=Pred        ........ ..o.....

        These bits indicate how the data was obtained. 
          20  21
         --------
           0   0  - Measured Data
           0   1  - Difference Data
           1   0  - Average Data
           1   1  - Predicted Data














                                       15


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1    6:22 - CFEAR0  - \Ear 0=Unknown(none),   ........ .o......
         1    7:23 - CFEAR1  - /1=Left,2=Right,3=n/a   ........ o.......

        This specifies the ear for which the measurement was made.


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1    8:24  - CFCTI0  - Curve Type Identifier   .......o ........
         1    9:25  - CFCTI1  - Curve Type Identifier   ......o. ........
         1   10:26  - CFCTI2  - Curve Type Identifier   .....o.. ........
         1   11:27  - CFCTI3  - Curve Type Identifier   ....o... ........

        The Curve Type Identifier specifies what type of curve is stored 
        in the curve frame. These flags are user defined if the Curve 
        Frame Type is User defined.

        Defined curve types:                    
          0 - Response Curve                     3 - <reserved>
          1 - <reserved>                         5 - <reserved>
          2 - <reserved>                         6 - <reserved>
          4 - <reserved>                         7 - <reserved>
          8 - Target Curve                      12 - <reserved> 
          9 - Audiogram Curve                   13 - <reserved>
         10 - <reserved>                        14 - <reserved>
         11 - <reserved>                        15 - <reserved>
                                                 
        Notes: generally, the Curve Frame Format will tell you the size 
        and format of the curve frame. The Curve Frame Type will tell you 
        how to read the curve frame. Each curve frame format has it's own 
        associated curve frame type. You should read the curve frame 
        format first to determine what the format of the curve is, then 
        check the curve frame type to determine how to read the curve 
        frame. 

        As an example, Curve frame format 2 (16 data points) is used by 
        audiogram curves and by response curves. The flag formats of 
        these two curves is different even though the data points are the 
        same. Use the curve frame type to determine how to read the 
        curves. 

        Currently we are trying to retain the curve frame type 
        information the same across the formats to retain backwards 
        compatibility. However, don't rely on this when we run out of 
        type descriptions we will have to reuse them, You should only 
        rely on the curve frame type definitions that are described for 
        the specific curve frame format.





                                       16


        flag                    functional                bit position
        word  bit#  - label   - description             76543210 76543210
        -----------------------------------------------------------------
         1   12:28  - CFCST0  - Curve Sub-info          ...o.... ........
         1   13:29  - CFCST1  - Curve Sub-info          ..o..... ........
         1   14:30  - CFCST2  - Curve Sub-info          .o...... ........
         1   15:31  - CFCST3  - Curve Sub-info          o....... ........

        The Curve Sub-info provides additional information about the 
        Curve type. The information in the Curve Sub-info is dependent 
        upon the Curve Type Identifier. 

        Audiogram Response Sub-info description (Type 0):
            0 = RECD Curve
            1 = MCRG Curve   <-- obsolete
            2 = REDD Curve
         3-15 = <reserved>

        Audiometric Target Curve Sub-info description (type 8):   
            0 -- NAL-R             
            1 -- POGO                
            2 -- BERGER              
            3 -- 1/3 gain            
            4 -- 1/2 gain            
            5 -- 2/3 gain            
            6 -- DSL Linear          
            7 -- DSL WDRC         
            8 -- NAL-NL1
         9-13 -- <undefined>       
           14 -- Other (Unknown)     
           15 -- Direct              

        Audiogram Curve Sub-info description (Type 9):
            0 = FREQ Curve (list of test frequencies)
            1 = HTL Curve       
            2 = MCL Curve       
            3 = UCL Curve       
         4-15 = <reserved>

        Target conversion types 9-13 are currently undefined. The target 
        conversion type bits are only valid for Target Curve frames 
        (curve type 8). Other curve frame types (such as audiograms) may 
        apply other definitions to these bits. Audiometric target curves 
        are a 16 data point curve using audiometric style curve flags. 












                                       17


                         Audiometric Curve Flag Summary
                                    Format 2

        flag                    functional                bit position
        word  bit# - label   - description             76543210 76543210
        -----------------------------------------------------------------
         0   *0    - CFSRC0  - Src Type 0 (see above)  ........ .......x
         0    1    - CFSRC1  - Src Type 1 (see above)  ........ ......x.
         0    2    - CFSRC2  - Src Type 2 (see above)  ........ .....x..

         0    3    - CFPRS0  - Prsnt 0\ 000=Continuous ........ ....x...
         0    4    - CFPRS1  - Prsnt 1| 001=Pulsed     ........ ...x....
         0    5    - CFPRS2  - Prsnt 3/                ........ ..x.....

         0    6    - CFENV0  - \00=n/a    01=bone      ........ .x......
         0    7    - CFENV1  - /10=sndfld 11=phone     ........ x.......

         0    8    - ------  - <reserved>              .......x ........
         0    9    - ------  - <reserved>              ......x. ........

         0   10    - CFFMT0  - \000=64pt 001=80pt      .....x.. ........
         0   11    - CFFMT1  - |002=16pt 003=32pt      ....x... ........
         0   12    - CFFMT2  - /3-6=n/a  007=User      ...x.... ........

         0   13    - CFCLEV  - -0=uncal, 1=Cal/Level   ..x..... ........

         0   14    - ------  - <reserved>              .x...... ........
         0   15    - ------  - <reserved>              x....... ........

         1    0:16 - CFMSK0  - \Masking 000=None       ........ .......o
         1    1:17 - CFMSK1  - |004=NBN 05=SpchNoise   ........ ......o.
         1    2:18 - CFMSK2  - /006=Wht Noise          ........ .....o..

         1    3:19 - CFMOD   - 1=data modified         ........ ....o...

         1    4:20 - CFREF0  - \00=meas, 01=diff       ........ ...o....
         1    5:21 - CFREF1  - /10=avg,  11=pred       ........ ..o.....

         1    6:22 - CFEAR0  - \Ear 0=Unknown,         ........ .o......
         1    7:23 - CFEAR1  - /1=Left,2=Right,3=n/a   ........ o.......

         1    8:24 - CFCTI0  - Curve Type Identifier   .......o ........
         1    9:25 - CFCTI1  - Curve Type Identifier   ......o. ........
         1   10:26 - CFCTI2  - Curve Type Identifier   .....o.. ........
         1   11:27 - CFCTI3  - Curve Type Identifier   ....o... ........

         1   12:28 - CFTYP0  - Curve Sub-Info          ...o.... ........
         1   13:29 - CFTYP1  - Curve Sub-Info          ..o..... ........
         1   14:30 - CFTYP2  - Curve Sub-Info          .o...... ........
         1   15:31 - CFTYP3  - Curve Sub-Info          o....... ........






                                       18


                                  Time Stamp

        Time stamps are optional. If the instrument is not capable of 
        generating a time stamp, the time stamp value of when the curve 
        was measured will be zero.

        The Time stamp is a 32 bit word that contains the date and time 
        that the curve was measured. 

                               Time Stamp Format

         ----------- high word --------- ---------- low word -----------
         F E D C B A 9 8 7 6 5 4 3 2 1 0 F E D C B A 9 8 7 6 5 4 3 2 1 0

         |---------| |-----| |-------| |-------------------------------|
            Year      Month     Day          Seconds in Day  H*M*S
           (0-63)     (1-12)   (1-31)              (0-86399)   
           0=1990     1=Jan                   00:00:00 to 23:59:59

        The seconds is a 17 bit field that consists of the second in the 
        day that the curve frame was measured (hours times minutes times 
        seconds). Zero seconds is midnight. Day, Month, and Year are 
        separate bit fields containing the date of measurement. If these 
        bit fields are zero, the measurement date is unknown.

        The year field starts with zero being the year 1990. Only 64 
        years are tracked. While 64 years should be enough time for this 
        curve frame type (it should go obsolete long before that time 
        runs out), there is a consideration to overflow the time into the 
        high byte of the noise reduction word (this is one of the reasons 
        why it has been marked as reserved for future use).

        It should be noted that while the time stamp does provide 
        resolution down to one second, on fast machines it is possible to 
        measure and transfer curves much faster than the one second 
        resolution (on future machines, it is possible that as many as 
        100 curves a second could be measured). This means that it is 
        possible to have multiple curve frames with the same time stamp. 
        This should be taken into account when considering using the time 
        stamp to identify individual curve frames. 

        Because of header limitations, there currently is no defined way 
        to individually identify curve frames with identical time stamps. 
        If this is a requirement, we recommend that you track the curves 
        yourself as you collect them. 











                                       19


                      Standard Response Curve Frame Formats 
                         Curve Frame Types 0,1,2,4,8,10   

        The information in these curve frame headers share common 
        descriptions. The first two words of the header are the 
        descriptor flag bits for the curve frame. 

        The second two words are the time stamp when available. If there 
        is no time stamp, the words are set to zero.

        The 5th word is the source amplitude at which the measurement was 
        made.  If there was no source (spectrum mode), the source 
        amplitude will be zero. Currently, there is no standard method of 
        dealing with the source amplitude if it is not a valid value 
        (such as with a difference curve). It may contain the original 
        source value measured, it may be zero, or it may be set to 8000H 
        (32768 decimal). If the curve was derived by a means other than 
        measurement (calculated), the source amplitude will not be valid. 
        the Difference bit in the header will be set if the curve is a 
        computed curve. It Telecoil is used, the source is in milliamps 
        per meter * 100. For Volts RMS it is in millivolts RMS.

        The 6th word is the highest measurement value in the curve frame 
        (referred to as the "peak value").  In the case of the Format 0 
        curve frame, this is only for the curve data, it does not include 
        the distortion data. The purpose of this value is to help the 
        programmer determine the proper scale when showing the 
        information on a graph. If the peak value word is set to 8000H 
        (32768 decimal), the curve does not contain valid data. 

        The 7th word is the overall RMS for the curve frame for composite 
        mode data. If a valid value is present for puretone, it will be 
        the HFA/SPA value.

        The low byte of the 8th word is the noise reduction used when the 
        data was measured. Normally this value is in powers of 2 
        (0,2,4,8,etc), but may have other values. If the value is zero, 
        then no noise reduction was performed on the measured data. A 
        value of 1 is the same as zero. The noise reduction value is 
        given in units (nr*1).  If Noise reduction is not applicable to 
        the curve frame, it will contain a value of 0.

        The high byte of the 8th word is reserved for future use. 
        Currently it is zero so as not to break existing code that relies 
        on the full word being present. However, future software should 
        not rely on the high byte being zero as it is reserved for 
        expansion of header information (we're running out of space 
        folks).

        The 9th through 88th words are the actual measured data points. 

        All amplitude, gain, and distortion values are given in integers 
        in the form of the real value times 100.  Thus 52.1dB would be 
        entered in the curve frame as 5210. 


                                       20


        Format 0 curve frame:

        The format 0 curve frame is typically used in the sound chamber 
        pure tone sweeps. It contains 64 SPL (amplitude or gain) values 
        and 16 distortion values. The SPL values are at all frequencies 
        from 200 to 8000 Hz except for 5700, 6100, 6200, 6400, 6600, 
        6800, 6900, 7000, 7200, 7300, 7400, 7600, 7700, 7800, and 7900 
        Hz.  If a frequency was not measured, it will contain 8000H 
        (32768 decimal). 

        The distortion values when reported are from 400 to 1900 Hz. In 
        older 6500 instruments, when distortion was not measured the 16 
        distortion values were undefined. In newer instruments, they are 
        set to 8000H (32768 decimal) when they are not valid. With the 
        exception of the 6500 instruments with software prior to V2.60, 
        the distortion mode flags in the header should be used to 
        determine if the distortion values contain valid data.

        Typically the Overall RMS header value in this curve frame format 
        does not contain valid data since normally curve frame format 0 
        is not used with puretone measurements.



        Format 1 curve frame:

        The format 1 curve frame is typically used for composite and 
        probe measurements. It contains 80 measurements covering the 
        range from 100 to 8000 Hz in 100 Hz increments. If a frequency 
        was not measured, it will contain 8000H (32768 decimal). 

        Note that the Overall RMS value in the header is only valid with 
        curves that were measured in composite mode and have not been 
        modified. If a curve has been modified since it was measured, the 
        Overall RMS value is no longer valid. (See the Curve modified 
        flag bit). If the overall RMS value is set to 8000H (32768 
        decimal) it was not measured. 

        The 100Hz value of a digital speech curve frame does not contain 
        the measured 100Hz value. It contains two additional pieces of 
        information packed into the word. The high byte contains the bias 
        tone source in dB. A 70dB bias tone source would be represented 
        as 70. The lower byte contains the bias tone frequency divided by 
        100. A bias tone frequency of 4000Hz would be represented as 40.












                                       21


        Format 2 curve frame:

        The format 2 curve frame is normally used for audiogram 
        measurement and response information. It contains 24 words, 16 of 
        which are data points.  The Curve Type flag bits will define 
        which curve type it is and how to read the header flag bits.

        Format 3 curve frame:

        The format 3 curve frame is normally used for audiogram 
        measurement and response information. It contains 40 words, 32 of 
        which are data points.  The Curve Type flag bits will define 
        which curve type it is and how to read the header flag bits.

        Note: as of this writing, the Format 3 curve frame is not used. 
        It is intended for use with audiometric measurements that include 
        masking information. 
        The audiogram curve frames (formats 2 and 3) will contain either 
        16 or 32 measurement points. These will either be SPL*100 values 
        or HL*100 values. If a value was not measured, the position will 
        be set to 8000H (32768 decimal).

        Positions cf23, cf24, cf39 and cf40 are currently undefined and 
        will contain 8000H (32768 decimal). These positions may contain 
        data in the future.

        Keep in mind that some instruments and modes do not measure all 
        the data points in the curve frame. The unmeasured points will 
        contain 8000H. This may cause data loss if a 6500 type 0 curve 
        frame is copied into the FP40 or FP35 and then read back out 
        since the FP40 and FP35 do not use all the data points in the 
        type 0 curve frame.

        Also be careful about transferring data in and out of 
        instruments. Options like smoothing can adversely affect the data 
        by applying additional smoothing to the measurements.

        Be careful about sending curves to an instrument. Make sure that 
        the instrument will understand the curve frame format and type 
        before you send it. Weird things can happen if you send a curve 
        frame to an instrument that does not understand the format or 
        type being sent.

        Note: Some older documentation referred to curve formats 0 and 1 
        as type 'B' and type 'A' or Type '0' and '1' respectively.











                                       22


                           Curve Frame Format 0

        Header:
        cf1: Curve flags 0            cf5: Source Amp dB*100
        cf2: Curve flags 1            cf6: Peak value
        cf3: Time stamp low word      cf7: HFA/SPA dB*100 !!
        cf4: Time stamp high word     cf8a: Noise reduction
                                      cf8b: <reserved>
        Measurement values:
        cf9:   200Hz amp/gain*100     cf41: 3400Hz amp/gain*100
        cf10:  300Hz amp/gain*100     cf42: 3500Hz amp/gain*100
        cf11:  400Hz amp/gain*100     cf43: 3600Hz amp/gain*100
        cf12:  500Hz amp/gain*100     cf44: 3700Hz amp/gain*100
        cf13:  600Hz amp/gain*100     cf45: 3800Hz amp/gain*100
        cf14:  700Hz amp/gain*100     cf46: 3900Hz amp/gain*100
        cf15:  800Hz amp/gain*100     cf47: 4000Hz amp/gain*100
        cf16:  900Hz amp/gain*100     cf48: 4100Hz amp/gain*100
        cf17: 1000Hz amp/gain*100     cf49: 4200Hz amp/gain*100
        cf18: 1100Hz amp/gain*100     cf50: 4300Hz amp/gain*100
        cf19: 1200Hz amp/gain*100     cf51: 4400Hz amp/gain*100
        cf20: 1300Hz amp/gain*100     cf52: 4500Hz amp/gain*100
        cf21: 1400Hz amp/gain*100     cf53: 4600Hz amp/gain*100
        cf22: 1500Hz amp/gain*100     cf54: 4700Hz amp/gain*100
        cf23: 1600Hz amp/gain*100     cf55: 4800Hz amp/gain*100
        cf24: 1700Hz amp/gain*100     cf56: 4900Hz amp/gain*100
        cf25: 1800Hz amp/gain*100     cf57: 5000Hz amp/gain*100
        cf26: 1900Hz amp/gain*100     cf58: 5100Hz amp/gain*100
        cf27: 2000Hz amp/gain*100     cf59: 5200Hz amp/gain*100
        cf28: 2100Hz amp/gain*100     cf60: 5300Hz amp/gain*100
        cf29: 2200Hz amp/gain*100     cf61: 5400Hz amp/gain*100
        cf30: 2300Hz amp/gain*100     cf62: 5500Hz amp/gain*100
        cf31: 2400Hz amp/gain*100     cf63: 5600Hz amp/gain*100
        cf32: 2500Hz amp/gain*100     cf64: 5800Hz amp/gain*100
        cf33: 2600Hz amp/gain*100     cf65: 5900Hz amp/gain*100
        cf34: 2700Hz amp/gain*100     cf66: 6000Hz amp/gain*100
        cf35: 2800Hz amp/gain*100     cf67: 6300Hz amp/gain*100
        cf36: 2900Hz amp/gain*100     cf68: 6500Hz amp/gain*100
        cf37: 3000Hz amp/gain*100     cf69: 6700Hz amp/gain*100
        cf38: 3100Hz amp/gain*100     cf70: 7100Hz amp/gain*100
        cf39: 3200Hz amp/gain*100     cf71: 7500Hz amp/gain*100
        cf40: 3300Hz amp/gain*100     cf72: 8000Hz amp/gain*100

        Distortion values:
        cf73:  400Hz dist*100         cf81: 1200Hz dist*100
        cf74:  500Hz dist*100         cf82: 1300Hz dist*100
        cf75:  600Hz dist*100         cf83: 1400Hz dist*100
        cf76:  700Hz dist*100         cf84: 1500Hz dist*100
        cf77:  800Hz dist*100         cf85: 1600Hz dist*100
        cf78:  900Hz dist*100         cf86: 1700Hz dist*100
        cf79: 1000Hz dist*100         cf87: 1800Hz dist*100
        cf80: 1100Hz dist*100         cf88: 1900Hz dist*100





                                       23


                           Curve Frame Format 1
        Header:
        cf1: Curve flags 0            cf5: Source Amp dB*100
        cf2: Curve flags 1            cf6: Peak value
        cf3: Time stamp low word      cf7: Overall RMS dB*100 !!
        cf4: Time stamp high word     cf8a: Noise reduction
                                      cf8b: <reserved>
        Measurement values:
        cf9:   100Hz amp/gain*100 !!  cf49: 4100Hz amp/gain*100
        cf10:  200Hz amp/gain*100     cf50: 4200Hz amp/gain*100
        cf11:  300Hz amp/gain*100     cf51: 4300Hz amp/gain*100
        cf12:  400Hz amp/gain*100     cf52: 4400Hz amp/gain*100
        cf13:  500Hz amp/gain*100     cf53: 4500Hz amp/gain*100
        cf14:  600Hz amp/gain*100     cf54: 4600Hz amp/gain*100
        cf15:  700Hz amp/gain*100     cf55: 4700Hz amp/gain*100
        cf16:  800Hz amp/gain*100     cf56: 4800Hz amp/gain*100
        cf17:  900Hz amp/gain*100     cf57: 4900Hz amp/gain*100
        cf18: 1000Hz amp/gain*100     cf58: 5000Hz amp/gain*100
        cf19: 1100Hz amp/gain*100     cf59: 5100Hz amp/gain*100
        cf20: 1200Hz amp/gain*100     cf60: 5200Hz amp/gain*100
        cf21: 1300Hz amp/gain*100     cf61: 5300Hz amp/gain*100
        cf22: 1400Hz amp/gain*100     cf62: 5400Hz amp/gain*100
        cf23: 1500Hz amp/gain*100     cf63: 5500Hz amp/gain*100
        cf24: 1600Hz amp/gain*100     cf64: 5600Hz amp/gain*100
        cf25: 1700Hz amp/gain*100     cf65: 5700Hz amp/gain*100
        cf26: 1800Hz amp/gain*100     cf66: 5800Hz amp/gain*100
        cf27: 1900Hz amp/gain*100     cf67: 5900Hz amp/gain*100
        cf28: 2000Hz amp/gain*100     cf68: 6000Hz amp/gain*100
        cf29: 2100Hz amp/gain*100     cf69: 6100Hz amp/gain*100
        cf30: 2200Hz amp/gain*100     cf70: 6200Hz amp/gain*100
        cf31: 2300Hz amp/gain*100     cf71: 6300Hz amp/gain*100
        cf32: 2400Hz amp/gain*100     cf72: 6400Hz amp/gain*100
        cf33: 2500Hz amp/gain*100     cf73: 6500Hz amp/gain*100
        cf34: 2600Hz amp/gain*100     cf74: 6600Hz amp/gain*100
        cf35: 2700Hz amp/gain*100     cf75: 6700Hz amp/gain*100
        cf36: 2800Hz amp/gain*100     cf76: 6800Hz amp/gain*100
        cf37: 2900Hz amp/gain*100     cf77: 6900Hz amp/gain*100
        cf38: 3000Hz amp/gain*100     cf78: 7000Hz amp/gain*100
        cf39: 3100Hz amp/gain*100     cf79: 7100Hz amp/gain*100
        cf40: 3200Hz amp/gain*100     cf80: 7200Hz amp/gain*100
        cf41: 3300Hz amp/gain*100     cf81: 7300Hz amp/gain*100
        cf42: 3400Hz amp/gain*100     cf82: 7400Hz amp/gain*100
        cf43: 3500Hz amp/gain*100     cf83: 7500Hz amp/gain*100
        cf44: 3600Hz amp/gain*100     cf84: 7600Hz amp/gain*100
        cf45: 3700Hz amp/gain*100     cf85: 7700Hz amp/gain*100
        cf46: 3800Hz amp/gain*100     cf86: 7800Hz amp/gain*100
        cf47: 3900Hz amp/gain*100     cf87: 7900Hz amp/gain*100
        cf48: 4000Hz amp/gain*100     cf88: 8000Hz amp/gain*100

        !! Overall RMS is valid only with composite mode curves.
           For pure tone curves this may contain the HFA/SPA value.
         The 100Hz value for Digital speech curve frames contains 
         the bias source in dB in the upper byte and the bias 
         frequency / 100 in the lower byte. 


                                       24


                         Curve Frame Formats 2 and 3

        Curve Frame Formats 2 and 3 are used with audiometric features. 
        Curve Frame Format 2 is 24 words long with 16 data points, and 
        Curve Frame Format 3 is 40 words long with 32 data points. The 
        extra words are used to hold additional information about the 
        data that was measured (normally masking).  

        Unmeasured curve points will contain 8000H (32768 decimal).

        The time stamp is optional. The time stamp will be zero if it is 
        not provided.

        The Peak value word will contain the peak value in the data.
        For format type 3 where masking information is included in the 
        second half of the data, the peak value is only related to the 
        first 16 data points, not the masking information.

        Header:
        cf1: Curve flags 0            cf5: Source Amp DB*100 !!
        cf2: Curve flags 1            cf6: Peak Value
        cf3: Time stamp low word      cf7: Average DB*100
        cf4: Time stamp high word     cf8a: Noise Reduction !!
                                      cf8b: Not Used <reserved> 
        Measurement values:
        cf9:   125Hz SPL/HL*100      *cf25:  125Hz SPL/HL*100  
        cf10:  250Hz SPL/HL*100      *cf26:  250Hz SPL/HL*100
        cf11:  500Hz SPL/HL*100      *cf27:  500Hz SPL/HL*100
        cf12:  750Hz SPL/HL*100      *cf28:  750Hz SPL/HL*100
        cf13: 1000Hz SPL/HL*100      *cf29: 1000Hz SPL/HL*100
        cf14: 1500Hz SPL/HL*100      *cf30: 1500Hz SPL/HL*100
        cf15: 2000Hz SPL/HL*100      *cf31: 2000Hz SPL/HL*100
        cf16: 3000Hz SPL/HL*100      *cf32: 3000Hz SPL/HL*100
        cf17: 4000Hz SPL/HL*100      *cf33: 4000Hz SPL/HL*100
        cf18: 6000Hz SPL/HL*100      *cf34: 6000Hz SPL/HL*100
        cf19: 8000Hz SPL/HL*100      *cf35: 8000Hz SPL/HL*100
        cf20:  10kHz SPL/HL*100      *cf36:  10kHz SPL/HL*100
        cf21:  12kHz SPL/HL*100      *cf37:  12kHz SPL/HL*100
        cf22:  16kHz SPL/HL*100      *cf38:  16kHz SPL/HL*100
        cf23: Not Used <reserved>    *cf39: Not Used <reserved>
        cf24: Not Used <reserved>    *cf40: Not Used <reserved>

        *note: cf25 through cf40 are only in Curve Frame type 3.
        Unmeasured points will contain the value 32768 ($8000 hex).
        For Audiograms Average is the average of 500Hz(cf11), 1KHz(cf13) 
        and 2KHz(cf15). 

        !! Source Amp and Noise reduction will only be present when the 
        information relates to measured values (such as RECD). HL values 
        represent the presented source, so the source amp has no meaning. 

        As of this writing, the Curve flag bits are not yet fully 
        defined. The other flags will be used in the future.



                                       25



        -med
        <eof>





















































                                       26
