


                       Special RS232 commands on the FP35
                                 2005/02/14 -med

        The FP35 can do things via RS232 that can't be done from the 
        keyboard. The following list describes some of the more useful 
        commands available.

          Set Level:

        The source level can be set in 0.01dB increments from 0.01dB
        to the maximum possible level that the hardware can produce.
        The maximum level is dependent upon the configuration and 
        leveling. The absolute maximum possible source Spl setting 
        allowed is 120.00dB. Setting the source to 0dB turns it off.

          Set Frequency:

        The frequency can be set in 1Hz increments from 50Hz to 20KHz. 
        However, it should be noted that the microphones are only 
        calibrated from 100Hz to 8KHz. Also it should be noted that the 
        FP35 is designed for optimal operation between 200Hz and 8KHz. 
        The frequencies below 200Hz and above 8KHz are rolled off by the 
        hardware. The software compensates for the roll off, but the 
        available signal level will be less since it has to be boosted. 
        Leveling and compensation is centered around the 200Hz to 8KHz 
        range. Signals outside that range are provided with whatever 
        level they have after the correction has been applied to the 
        signal data. In addition, signals below 200Hz and above 8KHz may 
        not be as accurate. They are provided as is. The lowest possible 
        frequency is 50Hz. The Highest possible frequency is 20160Hz.

          Noise Reduction:

        Noise reduction can be set from 0 to 127. Care should be used 
        when setting large noise reduction values in pure tone because it 
        will cause the keyboard to become sluggish. 

        When in synchronous measurement (source on), Each doubling of the 
        noise reduction value adds an additional one bit of effective 
        signal resolution (6dB for each bit added). 

          2=6dB, 4=12db, 8=18db, 16=24db, 32=30db, 64=36db, 127=42db

        Note: adding noise reduction does not increase the signal 
        amplitude, it improves the ability of the FP35 to measure low 
        level signals by reducing non-synchronous noise and providing 
        additional effective bits to the A2D conversion through time 
        averaging. Thus setting the noise reduction to 16 makes the FP35 
        measurements seem like it has a 20bit A2D in software even though 
        the hardware is only 16bits. This can help to make signals with a 
        large dynamic range appear smoother on the portions that have 
        less amplitude (near the bottoms of curves). 





                                        1








          Impulse Rejection:

        Normally, except during leveling, Impulse rejection is set to 
        off. You can apply impulse rejection by setting the level of 
        rejection you wish to apply to the measurement. The maximum 
        rejection allowed is 24dB. Care should be used when applying 
        small signal rejection values since it can make the measurements 
        take much longer in a noisy environment. Normal signal rejection 
        should be in the range between 3dB and 12dB. 

        Care should be used when applying rejection to two channel 
        measurements. Rejection will occur for both channels if either 
        channel must reject a measurement. 

        Noise rejection is a bit complex in its operation. It is tied to 
        the prescalers and the noise reduction setting. Noise rejection 
        can only occur when noise reduction is on (set to 2 or higher). 

        After a prescale change occurs, the rejection counter is set to 
        zero. The next measurement made then becomes the reference level 
        for the signal rejection. If the rms level next measurement made 
        is equal to or greater than the previous rms level plus the noise 
        rejection level set, the measurement will be discarded. The 
        number of sequentially rejected measurements allowed is 
        determined by the Noise Rejection setting divided by two. Thus if 
        noise rejection is set to 4, the Impulse rejection limit is set 
        to 2. Meaning that after two successive measurement rejections, 
        the last measured signal rms will become the new impulse 
        rejection reference level. Immediately after an input prescale 
        change, the next measurement will become the new impulse 
        rejection reference level and the impulse rejection count is set 
        back to zero. Each valid (non-rejected) signal becomes the new 
        reference level and clears the impulse rejection count. 

        Impulse Rejection uses the overall rms of the last valid measured 
        signal. In a two channel measurement, it works on both channels 
        at the same time. Either channel can reject the measurement for 
        both channels. Impulse rejection works on the assumption that an 
        impulse will be a rms signal level that is above the previously 
        measured signal. A negative rms value below the reference level 
        is treated as a valid signal and will become the new impulse 
        reference level. If the input prescale (input gain) is changed, 
        the next measurement made will become the new impulse rejection 
        reference level. 













                                        2








          Raw Signal:

        Normally the measured data from the FP35 is processed and 
        presented as dB values. Via RS232 it is possible to get the last 
        raw (time domain) measurement made. This is the output from the 
        A2D converter. You can either get the last measurement made, or 
        request a new measurement to be made. You can ask for the 
        measurement information from either channel. If a specific 
        measurement is made, you can set the number of samples to be 
        collected in the measurement (1024 max, 16 min).  

        You can ask for either the raw measured data directly from the 
        A2D converter, or you can ask for the time averaged data 
        (determined by the noise reduction and impulse rejection 
        settings). 

          Signal Information:

        You can also ask for the specifics of the measurement conditions 
        of the last measurement made. 

         SampleRate       = samplerate of signal
         CaptureSize      = number of capture samples
         SourceSamples    = number of samples in source
         RampSamples      = source ramp up/down samples
         CouplerSkew      = source to coupler mic sample delay
         ProbeSkew        = source to probe mic sample delay
         InA.PrescaleGain = InputA (coupler mic) prescale gain
         InB.PrescaleGain = InputB (probe mic) prescale gain
         OutL.RmsOffset   = Lchan (speaker) single tone to rms offset
         OutR.RmsOffset   = Rchan (Tcoil) single tone to rms offset
         OutL.MaxLevel    = Lchan (speaker) max possible output level
         OutR.MaxLevel    = Rchan (Tcoil) max possible output level
         InA.GainIndex    = InputA (coupler mic) prescale gain index *
         InB.GainIndex    = InputB (probe mic) prescale gain index *
        * GainIndex was added to the list with V2.12 software

        It should be noted that there is a difference between the two 
        input channels of the FP35. The Coupler mic (Input A) is 
        calibrated based on a flat response coupler microphone. The probe 
        mic (Input B) assumes that a probe mic is normally used with 
        input B and has a hardware based 1st order probe filter. The FP35 
        software compensates for the probe filter so that if a probe 
        microphone is not found on the input, the measurements made on 
        input B will be flat. However, this is only true of the data 
        presented as dBspl. Raw (time domain) measurement data is not 
        compensated. The same is true of input A, the hardware errors of 
        the FP35 are not corrected in the raw measured data. If you wish 
        to correct the raw measured data from the FP35, you will need to 
        read the calibration information from the FP35 to provide your 
        own compensation.






                                        3








          Calibration Information:

        The hardware calibration information in the FP35 can be read via 
        the RS232. The following information is provided. The information 
        is used by the FP35 to correct the measured data to compensate 
        for the errors in the hardware. This allows the FP35 to be far 
        more accurate than would otherwise be possible.

        FP35 hardware calibration information 
         CalibrationFrequency = hardware calibration frequencies
         MicFlatError         = input transducer error
         InputFlatError       = overall flatness error for a channel
         InputSpeechError     = hardware speech filter errors
         InputRumbleError     = rumble filter errors
         InputPrescaleGain    = Input gain stage prescale gain values
         RealPrescaleGain     = Complete prescale gain values list

        In addition, the following calibration information can be read 
        from the input transducer (if available). The FP35 microphones 
        are calibrated at the factory and the calibration information is 
        stored in the microphone so that microphones for the FP35 can be 
        interchangeable without worrying about calibration. 

        FP35 microphone calibration information
         MicCalFreqs          = cal frequencies of input transducer 
         FryeMicCalData       = input transducer calibration data

        Note: Since the FP35 is calibrated to a reference standard, it is 
        possible to know the exact electrical signal levels at the 
        microphone input of the FP35 even if a Frye microphone is not 
        used. To use another device instead of a Frye microphone, you 
        must connect a 90.9K resistor to the +8V power source (provided 
        on the microphone connector). If the input is low impedance DC 
        coupled, you may not need to do this. The purpose is to center 
        the idle input signal near ground. Internally there is a 90.9K 
        resistor to -8V.

        The Frye standard for the microphone input is 30mVrms = 110dB at 
        1KHz. If a microphone ID device is not found at the microphone 
        connector, the FP35 will set the microphone input to a flat 
        calibration level based on the 30mVrms reference. In other words, 
        if you unplug the Frye microphone and inject a 30mVrms signal 
        into to microphone input, the FP35 will show an RMS reading of 
        110dB spl. 

        It should be noted that the FP35 only reads the microphone 
        identification at the opening (logo) screen. If you unplug the 
        microphone while in another screen (such as the coupler 
        measurement screen), the FP35 will continue to operate as if the 
        microphone it found at the opening screen was still attached.







                                        4








        Usage of calibration information:

        Each channel has the following calibration information.

         CalibrationFrequency  
         InputFlatError
         InputSpeechError
         InputRumbleError
         MicFlatError 

        The CalibrationFrequency array contains the list of frequencies 
        that the hardware was calibrated at. The four calibration data 
        arrays refer to the CalibrationFrequency array. The first value 
        in the CalibrationFrequency array contains the number of 
        frequencies in the array. 

        The InputFlatError array contains the overall flatness error of 
        the input in dBspl*100. This array is added to the signal data 
        after it is converted to dBspl. Note: The InputFlatError for 
        Input B includes the corrections for the probe filter to make the 
        input appear flat. The Probe filter is a 6db per octave gain 
        referenced to 200Hz. The first position of the array contains the 
        overall system correction to achieve the 110dB = 30mVrms at 1KHz 
        reference. The remaining positions are the additional corrections 
        needed for the individual frequencies.

        The InputSpeechError array contains the corrections from an 
        idealized speech filter. The speech filter is a 6db per octave 
        low pass filter referenced to 900Hz. This array is added to the 
        signal data after it is converted to dBspl when the speech filter 
        has been turned on. It is used to correct any minor errors in the 
        speech filter. The first position of this array is always zero. 
        The remaining positions are the individual corrections for each 
        calibrated frequency.

        The InputRumbleError array contains the corrections for the 
        input rumble filter. The rumble filter is a 6db per octave high 
        pass filter referenced to 200Hz. This array is added to the 
        signal data after it is converted to dBspl when the rumble filter 
        has been turned on. It is used to correct the errors resulting 
        from the rumble filter being on. The Rumble filter is on any time 
        the input prescale gain is set to 24dB or higher (GainIndex = 16 
        or higher). The first position of this array is always zero. The 
        remaining positions are the individual corrections for each 
        calibrated frequency.












                                        5








        The MicFlatError is the actual input transducer error table that 
        the FP35 uses for the input. This array is added to the signal 
        data after it is converted to dBspl. It is used to correct the 
        microphone errors at each of the measured frequencies.

        If the microphone error list came from the calibration data 
        stored in the microphone, it will be the same as this list. If 
        the microphone was calibrated on the FP35 with the custom 
        calibration procedure, the list will be generated by the FP35. 
        The first position of this array contains the overall sensitivity 
        of the microphone referenced to 110dBspl at 1KHz. 
        The remaining positions are the individual corrections for each 
        calibrated frequency.

        Note: Only the probe mic input can be calibrated at the 
        individual frequencies on the FP35. The coupler mic calibration 
        list will either be zero if it is uncalibrated, or it will 
        contain the calibration values read from the microphone. Only the 
        overall sensitivity of the coupler microphone can be calibrated 
        on the FP35.
          
        There are two types of prescale gain arrays in the FP35. 

         InputPrescaleGain = hardware prescale gain stage values

        There are coarse prescale gain stages in the FP35 that can change 
        the gain in 12dB, 24dB, and 20dB steps. The InputPrescaleGain 
        array contains the actual gain values for these gain stages. 
        Normally you will not need to reference this array. It is used 
        for testing purposes at the factory. 

         RealPrescaleGain  = Complete prescale gain values list
         (Available in FP35 software V2.12 and above)

        When converting raw data to real values, you will also need to 
        include the Prescale gain setting that was used with the 
        measurement. RS232 command 109 provides this information along 
        with some other important signal measurement information. The 
        prescale gain value read should be added to each of the data 
        values to correct the value for the measurement gain used. 

        The RealPrescaleGain array is used internally to correct the 
        measured data for the gain that was used on the input. The FP35 
        prescales in 1.5dB steps this array contains the calibrated value 
        for each step. The selected gain is the index * 1.5dB. The actual 
        gain is the value found in the table at that index. The GainIndex 
        value (from command 109) is used by the software to select the 
        actual prescale gain value from the list. 

        If the index is 16 or higher, it indicates that the 24dB gain 
        stage (and it's rumble filter) is on. If the rumble filter is on, 
        you should add the rumble filter corrections at each frequency.
        If the rumble filter is off, do not add the rumble corrections.




                                        6








          Printer Label Graphics:

        The FP35 allows you to place a graphic image on the label (such 
        as a company label). The image can be saved in the EErom so that 
        it will always be present on the label. A program is provided 
        with the RS232 Technical Support Information which allows you to 
        upload a properly formatted Windows BMP file to the FP35 printer 
        label.

        An area that is 160 pixels wide by 32 pixels high is available 
        below the normal text in the printed label to provide the label. 
        You can place the bitmap anyplace on the label and make it larger 
        or smaller. The maximum size is 160x160 which fills the entire 
        label area. If any part of the label bitmap overlaps the label 
        text, the bitmap graphic will replace the underlying portion of 
        the text. 

        The Fonix programs expect a Windows BMP file format for the 
        bitmap file. The program then converts the file to the FP35 
        format and sends it to the FP35. 

        The BMP bitmap can be built with the Windows Paint program, or 
        other graphics programs that support a black and white 
        (monochrome) BMP file. For the FP35 bitmap, you must set the 
        Image attributes to; 160 pixels width, 32 pixels Height, Units in 
        Pixels, Color in Black and White (Monochrome). Draw or import the 
        desired graphic image to be placed on the printer label, then 
        save the image as a monochrome BMP file.

        Loading a Printer Bitmap:

        You can use the FLABEL.EXE program to send a label and or label 
        bitmap to the FP35. The program is self-explanatory.

        Alternately you can send a bitmap to the FP35 printer label using 
        the FBAT program. The format is slightly different than the other 
        FBAT commands in order to manage the image requirements. The 
        command is given as shown below. The com port parameter is 
        optional. FBAT will default to COM1. If you are using COM2, you 
        should specify 
         -C2 in the command.

        Example:

         FBAT32 [-Cn] 96 2 0 160 0 TEST.BMP
                   |  |  | |  |  |  |
             com port |  | |  |  |  |
              bitmap cmd | |  |  |  |
                monochrome |  |  |  | 
                         Xpos |  |  |
                            Ypos |  |
                         Dest=Label |
                           Bitmap file 




                                        7








        Once the bitmap image has been sent to the FP35, you can use the 
        Label store command to save the bitmap image to the FP35's 
        permanent memory.

         FBAT32 [-C] 89 1 4


        The FLABEL program makes it easier by providing a button to 
        click. Normally it is recommended to use the FLABEL program 
        unless you need to automatically load different labels to the 
        FP35, in which case the FBAT program will be more useful.



          Screen Capture:

        The FP35 allows you to retrieve the current screen image. This is 
        useful for publication of information presented on an FP35 
        screen. A program (FCAPTURE.EXE) is provided with the RS232 
        Technical Support Information which allows you to capture a FP35 
        screen image to a Windows BMP file.


        You can find the programs mentioned on the Frye Electronics web 
        site at http://www.frye.com

        <eof>






























                                        8





