**U.S. DEPARTMENT OF TRANSPORTATION**

**NATIONAL HIGHWAY TRAFFIC SAFETY ADMINISTRATION**

**MATLAB DATA PROCESSING PROCEDURES**

**FOR**

**FMVSS No. 126**

**ELECTRONIC STABILITY CONTROL SYSTEMS**

**COMPLIANCE TESTING**

![](media/image1.jpeg){width="2.270138888888889in"
height="2.270138888888889in"}

**January 23, 2008**

Office of Vehicle Safety Compliance

NVS-221

1200 New Jersey Ave S.E.

Washington, DC 20590

Refer questions or comments to:

Mr. John Finneran (202) 366-0645

or

Mr. Phil Gorney (202) 366-0080

**NHTSA FMVSS No. 126, ESC COMPLIANCE TESTING**

**MATLAB DATA PROCESSING PROCEDURES**

**Index**

Page

1.  **FMVSS No. 126, ESC Compliance Test Data Processing Overview** . .
    . . . **3**

> **1.1 Programs, Functions and Routines -- "S7D" Program** . . . . . .
> . . . . . . . **3**

2.  **Data Processing** . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . **5**

**2.1 Assumptions: All Data** . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . **5**

**2.2 Procedures** . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . **6**

> ***2.2.1 Processing Static Files*** . . . . . . . . . . . . . . . . .
> . . . . . . . . . . . . . . . . . **6**
>
> ***2.2.2 Filtering and Offset Corrections*** . . . . . . . . . . . . .
> . . . . . . . . . . . . . **7**
>
> ***2.2.3 Sensor Offset Correction and Vehicle Information*** . . . . .
> . . . . . . **8**
>
> ***2.2.4 Data Analysis: Slowly Increasing Steer (SIS) Test Data*** . .
> . . . . . **9**
>
> ***2.2.5 Data Analysis: 0.7Hz Sine with Dwell (SWD) Test Data*** . . .
> . . . . **10**

3.  **MATLAB Specific Code Covering Yaw Rate Ratio and Lateral**

**Displacement Metrics** . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . **14**

**APPENDIX** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . **20**

**NHTSA FMVSS No. 126, ESC COMPLIANCE TESTING**

**MATLAB DATA PROCESSING PROCEDURES**

1.  **FMVSS No. 126, ESC Compliance Test Data Processing Overview**

This document contains information regarding NHTSA ESC Compliance Data
Processing. Provided are a list of programs, functions and routines used
by the "S7D" program. A list of mnemonics, a data processing flow chart
and compliance metric specific code are also provided.

The "S7D" program is a Graphical User Interface written in MATLAB's
programming language. It is a windows based program that facilitates all
of the necessary functions to process and analyze NHTSA ESC Compliance
data files. NHTSA ESC Compliance data files refer to data files
collected on the data acquisition system utilized by NHTSA's Office of
Vehicle Safety Compliance (OVSC) contracted test laboratories. These
files should contain the data from static tests, Slowly Increasing Steer
Maneuver tests or NHTSA 0.7Hz Sine with Dwell tests. The program is able
to process data files stored in MATLAB numeric or structured data
formats (file extension "\*.mat") or files with extensions "\*.dx3". The
"S7D" program final outputs are stored in Excel spreadsheet format.
Those spreadsheets contain pertinent information for input conditions,
test procedures and ESC compliance pass/fail criteria.

**1.1 Programs, Functions and Routines -- "S7D" Program**

For the "S7D" program to operate correctly its directory must be on the
MATLAB search path. If you are unfamiliar with this operation please
type "help path" or "help addpath" at the MATLAB command prompt. For
example the command:

"addpath(\'D:\\ESCHandling\\[NHTSA_Compliance_Programs]{.underline}\',
\'-begin\');"

adds the path "D:\\ESCHandling\\NHTSA_Compliance_Programs" to the
beginning of MATLAB's search path. Once the parent directory is on the
search path, the program becomes operational by typing "S7D" at the
MATLAB command prompt. Adding the path will also make the "help"
documentation available regarding the programs, functions and routines
written by NHTSA. Some of the subroutines and functions have help
sections contained in them. The following list of programs, functions
and routines have brief descriptions and additional help and resources
listed.

BridgeSpikes_v2.m: Function allows user to bridge spikes in ride height
sensor data that are not removed with the spike filtering routine
"out_filt.m". For more information type "help out_filt.m" at the MATLAB
command prompt.

ButterFilter.m: Function used to filter raw data channels with Phaseless
Butterworth Filter. Routine allows user to specify cutoff frequency,
number of poles and data collection rate. For specifics type "help
ButterFilter.m" or "help butter.m" at the MATLAB command prompt.

GxMatLabLib: Dynamic library of files and routines used to load data
into MATLAB from files created by NHTSA's data acquisition system (file
extension "\*.dx3").

DXload.m: Routine uses library described above to open NHTSA data files.

S7D.fig: Graphical User Interface (GUI) layout. To change the layout,
preferences or default settings of the program: type "guide S7D" at the
MATLAB command prompt.

S7D.m: Graphical User Interface (GUI) main program. Program filters,
corrects and calculates metrics. To [RUN]{.underline} the program, type
"S7D" at the MATLAB command prompt. To edit the program, type "edit S7D"
at the MATLAB command prompt.

my_closereq.m: Routine used to prevent user from closing information
tables with out saving data first.

namedata.mat: User data file used to save user settings, variable
information, directory names and vehicle lists. To load the data file
type "load namedata.mat" at the MATLAB prompt

out_filt.m: Function used by "S7D" program to perform data outlier
rejection for ride height sensor data channels. More information can be
obtained by typing "help out_filt.m" at the MATLAB command prompt.

sis_out_s7d.m: Routine analyzes Slowly Increasing Steer Maneuver tests.
It produces a excel spreadsheet. The spreadsheet contains data reduction
statistics, maneuver checks and steering scalar information needed to
perform the NHTSA 0.7Hz Sine with Dwell maneuver.

uitable.m: Function is used to graphically present and store information
in user data tables. Function is available on the MATLAB Central File
Exchange. For more information type "help uitable.m" at the MATLAB
command prompt. Or visit the website at [The MathWorks - MATLAB
Central - File
Exchange](http://www.mathworks.com/matlabcentral/fileexchange/loadCategory.do?s_cid=pl_fileexchange).

varnames.m: Routine used to store, sort and remove variable information
as specified by the user of the "S7D" program.

**2.0** **Data Processing**

The following sections of Chapter 2 provide assumptions and procedures
used to run the data processing software program, "S7D", which is used
to process data for NHTSA ESC Compliance Testing.

**2.1 Assumptions: All Data**

1.  User has MATLAB Software Installed

2.  User has MATLAB version 7.0 or higher. Program has not been tested
    for backward compatibility.

3.  User has Installed NHTSA Compliance Program "S7D" and accompanying
    files.

4.  User has collected data. If necessary, convert channels to the
    proper units.

5.  User is employing the SAE coordinate system for vehicle dynamics.

    a.  Earth-fixed Axis System (X,Y,Z) -- This system is a right-hand
        orthogonal axis system fixed on earth. The trajectory of the
        vehicle is described with respect to this earth-fixed system.
        The X and Y-axis are in a horizontal plane and the Z-axis points
        downward.

    b.  Vehicle Axis System (x,y,z) -- This system is a right-hand
        orthogonal axis system fixed in a vehicle such that with the
        vehicle moving steadily in a straight line on a level road, the
        x-axis is substantially horizontal, points forward, and is in
        the longitudinal plane of symmetry. The y-axis points to the
        driver's right hand and the z-axis points downward. (see Figure
        1)

![](media/image2.png){width="2.6597222222222223in" height="1.05in"}

Figure 1 -- Vehicle Axis System -- Dynamic Measurement

6.  Has measured vehicle center of gravity. X-direction origin is from
    the center of the front axle, positive toward rear of vehicle.
    Y-direction origin is from the centerline of the vehicle, positive
    toward the right side of the vehicle. Z-direction origin is from the
    ground plane, positive from the ground up. (see Figure 2)

![](media/image3.png){width="3.35in"
height="1.5in"}![](media/image4.png){width="1.1395833333333334in"
height="1.979861111111111in"}

Figure 2 -- Center of Gravity

7.  Has measured the inertial sensor system location. (Origins are the
    same as vehicle center of gravity.)

8.  Has measured the distance between ride height sensors. Value should
    be in inches.

> (see Figure 3)

![](media/image5.png){width="2.15in" height="2.1597222222222223in"}

Figure 3 -- Distance Measured Between Height Sensors

9.  Data has a minimum of 1.25 seconds of data prior to testing event
    (Slowly Increasing Steer Test or 0.7Hz Sine With Dwell Test). Data
    is needed for proper dynamic zeroing.

10. There is at least 2.00 seconds of data following the completion of
    steer (cos) for 0.7Hz Sine With Dwell tests. Needed to calculate yaw
    rate ratio at 1.75 seconds after (cos).

11. User has collected the minimum number of variables as explained in
    Table 1.

12. Files converted and saved as MATLAB data files (file extension -
    \*.mat) need to be structured into numeric arrays as defined by
    MATLAB. Once converted save as MATLAB data file (file extension -
    \*.mat). Arrays must be one dimensional and double precision.

13. Each steering maneuver in a test series should be saved as an
    individual data file to prevent systems/program limits from being
    exceeded resulting in program error and/or malfunction.

14. User has Microsoft Excel installed.

**2.2 Procedures**

***2.2.1 Processing Static Files***

1.  Open MATLAB Software

2.  Type "S7D" at MATLAB command prompt. S7D should pop-up.

3.  Make sure the checkbox labeled "NHTSA Collected Data -- (ext.
    \*.dx3)" is checked if the file extension used is "\*.dx3" and NOT
    checked in the file extension used is "\*.mat".

4.  Push Button \[Select Static File\]. User will be prompted to select
    a static file from a list.

5.  A prompt will ask the user to enter the distance (inches) between
    the ride height sensors.

6.  Then user will be shown which variables have been selected for
    static offset correction. The user is given the option to add or
    remove variables from the list. See Table 2 for variables to offset
    for NHTSA Data. User must make selection.

7.  The user will then be prompted to cycle through plots of the
    variables chosen for offset correction. Press \[Return or Enter\] to
    cycle through plots.

8.  Next the user will be prompted to enter the beginning and ending
    count numbers over which the mean offset correction will be
    calculated. If possible, choose a section at least 200 counts long
    where data appears "normal". Defaults equal one for the beginning
    and the last data count is used as the default for the end count.

9.  Lastly the user will be given a message stating the static
    processing is complete and provide the test number and directory
    location to the user.

**Note:** If undefined variables are present in the data files
collected, the "S7D" program will find them and prompt the user to
define them. Variable information can be edited or deleted by pressing
the \[Edit Variable Information\] button. For each undefined "Raw Data
Name", if the variable is one to be processed, the user must enter a
user-created variable name in the "Defined Channels" column, enter a
"Filter Cutoff Frequency", enter a '1' in the "Filt. On/Off = 1/0"
column, and enter the name for the resultant processed variable in the
"Filtered Name" \[p."name"\]" column. See **Table 1** for appropriate
variables to be processed, filter cutoff frequencies, and processed
variable naming convention. For each undefined "Raw Data Name", if the
variable is NOT one to be processed, the user must only enter a
user-created variable name in the "Defined Channels" column, and enter a
'0' in the "Filt. On/Off = 1/0" column. To remove a variable from the
list, delete information in the columns labeled "Defined Channels" and
"Raw Data Name" then select the \[Ok\] button.

***2.2.2 Filtering and Offset Corrections***

1.  User has performed steps covered in section labeled [2.2.1
    Processing Static Files]{.underline}

2.  Press button labeled \[Select Files for Filtering\]. User will be
    given a message containing information regarding the static file
    used for offset correction.

3.  If the proper static file is selected press button labeled \[Yes\].
    \[No\] button terminates the process.

4.  Then the user will be prompted to select test files from a list.
    Select files and then press the button labeled \[Open\] to continue.

5.  The first test file selected will be loaded and the user will be
    shown data from the ride height sensors. Blue Trace = unfiltered
    data, Red = filtered data. Press \[Return or Enter\] key on keyboard
    to continue.

6.  User will then be prompted with a question about the how well the
    filtering fits the data. If the filtering does not look appropriate
    then select \[No\] and the outlier filter parameters will be
    iteratively increased. The data will be re-filtered with new
    parameters, and then data is displayed to the user again with the
    same question about filtered data. User can cycle as many times as
    needed through the data channel. If iteratively increasing the
    outlier filter parameters does not produce the desire result the
    user has the option to \[Bridge\]. \[Bridge\] will allow the user to
    manually remove spike by selecting data points for the beginning and
    end point of the bridge. A linear bridge will be drawn between data
    points selected. **Procedure for "Bridge":**

    a.  User will be shown a dot plot of the data trace for bridging.
        Then the user will be asked if there is a gap in the data they
        would like to bridge. Select \[Yes\] to bridge, select \[No\] to
        return to main program, select \[Restart\] to restart bridging
        process.

    b.  User selects \[Yes\]: Follow directions given at the top of the
        figure and zoom in on the area of the data to bridge, press
        \[Return or Enter\] key on keyboard to continue.

    c.  User is then given a cursor to select the beginning data point
        for the bridging. Using the left mouse button select the point
        then using the same cursor selects the end point by using the
        left mouse button.

    d.  The user will then be shown bridged data and asked if there is
        further bridging to be performed. If user is done bridging then
        select \[No\] and processing returns to the main program.

    e.  The user will then be shown the filtered data again after the
        bridging has been applied. Basically repeating step 6 with the
        bridging applied.

7.  If data looks appropriate then select \[Yes\] to repeat steps 6 and
    7 on the other ride height sensor. When the 2^nd^ ride height sensor
    data channel has been processed, a new file will be saved containing
    filtered and offset corrected data.

8.  The user is finished with the file, steps 5-7 will be repeated as
    the number of files selected in step 4 cycles through.

9.  Once all files have cycled through the user will be informed that
    filtering and offset corrections are complete on the files selected.

10. Proceed to section [2.2.3 Sensor Offset Correction and Vehicle
    Information]{.underline}

**Note:** This procedure will save filtered and unfiltered data in
structure format to the directory in which the files were accessed with
the prefix "p\_" attached to the front end of the file names selected
for processing.

***2.2.3 Sensor Offset Correction and Vehicle Information***

1.  If vehicle information has already been entered proceed to step 3.
    If information has not been entered proceed to Step 2.

2.  Before sensor offset correction can be completed the user must enter
    some vehicle information. To do so the user must push the button
    labeled \[Push To Edit Vehicle List\].

    a.  The user will then be queried to either enter a new vehicle
        "Yes" or view the list of registered vehicles \[View List\]. By
        selecting \[Yes\] a new line is added to the top of the list for
        new information to be entered. By selecting \[View List\] the
        user has the option to delete a vehicle or edit already
        registered information. To delete a vehicle and its information
        just delete the information in the fist column labeled 'Vehicle
        Description'.

    b.  User has selected \[Yes\] enter a vehicle description

    c.  Then enter the center of gravity location into the appropriate
        locations in columns 2-4. Values should be entered in units of
        inches.

    d.  Then enter the inertial sensing system location into the
        appropriate locations in columns 5-7. Values should be entered
        in units of inches.

    e.  Then push the button labeled \[OK\] to save vehicle information.

3.  Once vehicle information has been entered the user will be able to
    select the desired vehicle from the pop-up menu directly above the
    button labeled \[Push To Edit Vehicle List\]. The menu will display
    the message "Select Vehicle". Select the desired vehicle. Once the
    vehicle is selected the information associated with that vehicle
    will be displayed in the area below the above mentioned button and
    menu.

4.  User has performed steps covered in section 2.2.1 and 2.2.2.

5.  Begin sensor offset correcting data by selecting the button labeled
    \[Perform Sensor Offset Corr.\].

6.  If the user entered non-zero values for vertical offsets in steps
    2.c and 2.d they will be asked if processing should continue with
    those non-zero values. By selecting \[No\] the vertical offsets will
    temporarily be set to zero. By selecting \[Yes\] the program will
    perform corrections with the vertical offsets included.

7.  Then the user will be prompted to select test files from a list.
    Select desired files and then press the button labeled \[Open\] to
    continue. Desired files are those created in section 2.2.2 that have
    the prefix "p\_" attached to the front of the files.

8.  The program will now cycle though the selected files using the
    vehicle information to correct acceleration data for sensor offset
    from center of gravity. The box below the button labeled \[Perform
    Sensor Offset Corr.\] will display what file the program is
    currently processing.

9.  Once all files have been completed, the user will be informed that
    processing is complete.

10. Proceed to section [2.2.4-5 Data Analysis]{.underline}.

**Note:** This procedure will append the files selected. The structured
data within the files will be updated with the corrected data that is
created in this procedure.

***2.2.4 Data Analysis: Slowly Increasing Steer (SIS) Test Data***

1.  User has performed steps covered in sections 2.2.1 through 2.2.3 on
    the test data.

2.  From the "S7D" program push the button labeled \[Calculate SWA
    Scalars\] to perform data analysis of Slowly Increasing Steer Test
    Data.

3.  Then the user will be prompted to select test files from a list.
    Select desired SIS files and then press the button labeled \[Open\]
    to continue. Desired files are those created in section 2.2.2 that
    have the prefix "p\_" attached to the front of the files.

4.  The files selected will be cycled through the following steps.
    During the cycle the user will be shown a plot of steering wheel
    angle data and then asked if the highlighted zeroing range appears
    correct. If it appears correct select \[Yes\] and proceed to step 5.
    If \[No\] is selected, alternative zeroing options become available
    to the user. **Procedure for alternative "zeroing options":**

    a.  User will be given instructions to zoom in on the desired
        zeroing range and to select the appropriate beginning of steer
        data point. To do so select \[Ok\].

    b.  Zoom in on desired range by using figure tools. Then press the
        \[Return or Enter\] key on the keyboard to continue.

    c.  User will then be prompted to enter the data count number then
        select the \[Ok\] button.

    d.  Press the button labeled \[Ok\]. Figure will be updated with
        zeroing range based on information entered in step c. Proceed to
        step 5.

5.  More test data will be shown to the user to verify data is visually
    correct. To continue select \[Ok\].

6.  Then lateral acceleration versus time will be plotted with the best
    fit line drawn though the data. To continue select \[Ok\].

7.  Steps 4 through 6 will cycle though until the last file has been
    processed. Then the user will be queried to choose a location and
    filename for the Excel output spreadsheet. Enter desired information
    and location then select \[Save\].

8.  The user will then be informed that the output table has been saved
    and data analysis of SIS data is complete.

9.  Open the Spreadsheet view information and use steering scalar data
    to complete 0.7Hz Sine with Dwell Testing.

***2.2.5 Data Analysis: 0.7Hz Sine with Dwell (SWD) Test Data***

1.  User has performed steps covered in sections 2.2.1 through 2.2.3 on
    the test data.

2.  From the "S7D" program push the button labeled \[Calculate S7D
    Metrics\] to perform data analysis of SWD tests.

3.  Then the user will be prompted to select test files from a list.
    Select desired SWD files and then press the button labeled \[Open\]
    to continue. Desired files are those created in section 2.2.2 that
    have the prefix "p\_" attached to the front of the files.

4.  The files selected will be cycled through the proceeding steps.
    During the cycle on a per file basis the steering wheel angle and
    yaw rate data from that file will be plotted and displayed to the
    user. User should verify that data markers are visually correct (to
    the nearest data count).

5.  Press the \[Enter or Return\] key on the keyboard to continue.
    Lateral displacement data from the current file will be plotted.
    User should then visually verify event markers.

6.  Press the \[Enter or Return\] key on the keyboard to continue on to
    the next file and repeat step 4 or if processing is complete proceed
    on to step 7.

7.  Then the user will be queried to choose a location and filename for
    the Excel output spreadsheet. Enter desired information and location
    then select \[Save\].

8.  The user will then be informed that the output table has been saved
    and data analysis of SWD data is complete.

9.  Open the spreadsheet view information and assess Stability and
    Responsiveness Metrics stored in the spreadsheet.

**Note:** Button labeled \[Change Directory\] in the "S7D" program will
allow the user to set a default folder location in which the output
spreadsheet will be stored. The location is then displayed in the text
box to the right of the button. Each file selected is appended in this
procedure. The field "dx_calc" is added to the structure "p" in each
file. Field "dx_calc" is an array containing the lateral displacement
calculated from lateral acceleration with all corrections and zeroing
applied.

#  

**Table 1:** NHTSA "S7D" program default Channel Names, filter Cutoff
Frequency and Output Names. "Dt." is the data structure created when the
file created by the NHTSA ESC Compliance testing data acquisition system
is loaded into MATLAB (files with extension "\*.dx3" or "\*.mat").
Actual names used by the user's data acquisition system must be
correlated to the Raw Channel Names listed below with the "Dt." prefix.
Example \'Dt.AXCG\' = AXCG named by NHTSA data acquisition system.

**Note: Channels highlighted are needed to calculate NHTSA Stability and
Responsiveness Metrics and must be defined**.

  -------------------------- ------------------- ------------ ---------- ------------
  **Channel Description**    **Raw Channel       **Channel    **Cutoff   **Output
                             Name**              Units**      Freq.      Name**
                                                              (Hz)**     

  RAW DATA STRUCTURE         Dt                  \'\'         \'\'       rawdata.dt

  Uncorrected Long.          Dt.AXCG             g            \'6\'      p.ax_f
  Acceleration                                                           

  Uncorrected Lateral        Dt.AYCG             g            \'6\'      p.ay_f
  Acceleration                                                           

  Uncorrected Vertical       Dt.AZCG             g            \'6\'      p.az_f
  Acceleration                                                           

  Brake Light Indicator      Dt.BrkSw            volts        \'\'       \'\'

  Event Pt -- Marks Steering Dt.EventPts         count        \'\'       p.EventPt
  Event                                                                  

  Brake Pedal Force          Dt.FRCPDL           lbs          \'\'       \'\'

  Steering Controller Start  Dt.HWSTART          volts        \'\'       \'\'

  Left Front Brake Pressure  Dt.LFPRESS          psi          \'\'       \'\'

  Left Front Brake Pressure  Dt.LFPRS            psi          \'\'       \'\'

  Left Rear Brake Pressure   Dt.LRPRESS          psi          \'\'       \'\'

  Left Rear Brake Pressure   Dt.LRPRS            psi          \'\'       \'\'

  Lateral Velocity           Dt.LatSpd           mph          \'\'       \'\'

  Left Front Inner Wheel     Dt.LfWhLftIn        inches       \'\'       \'\'
  Lift Sensors                                                           

  Left Front Outer Wheel     Dt.LfWhLftOut       inches       \'\'       \'\'
  Lift Sensors                                                           

  Left Front Wheel Lift      Dt.LfWhLftTot       inches       \'\'       \'\'
  Calculation                                                            

  S400 Longitudinal Speed    Dt.LngSpd           mph          \'\'       \'\'

  S400 Longitudinal Speed    Dt.LongSpd          mph          \'\'       \'\'

  Left Rear Inner Wheel Lift Dt.LrWhLftIn        inches       \'\'       \'\'
  Sensors                                                                

  Left Rear Outer Wheel Lift Dt.LrWhLftOut       inches       \'\'       \'\'
  Sensors                                                                

  Left Rear Wheel Lift       Dt.LrWhLftTot       inches       \'\'       \'\'
  Calculation                                                            

  Left Ride Height           Dt.PZCHS1           inches       \'6\'      p.rh1

  Right Ride Height          Dt.PZCHS2           inches       \'6\'      p.rh2

  Right Front Brake Pressure Dt.RFPRESS          psi          \'\'       \'\'

  Right Front Brake Pressure Dt.RFPRS            psi          \'\'       \'\'

  Steering Controller Flag   Dt.RLFLAG           volts        \'\'       \'\'

  Roll Velocity              Dt.RLVELX           deg/sec      \'6\'      p.rvx_f

  Pitch Velocity             Dt.RLVELY           deg/sec      \'6\'      p.rvy_f

  Yaw Velocity               Dt.RLVELZ           deg/sec      \'6\'      p.rvz_f

  Right Rear Brake Pressure  Dt.RRPRESS          psi          \'\'       \'\'

  Right Rear Brake Pressure  Dt.RRPRS            psi          \'\'       \'\'

  Right Front Inner Wheel    Dt.RfWhLftIn        inches       \'\'       \'\'
  Lift Sensors                                                           

  Right Front Outer Wheel    Dt.RfWhLftOut       inches       \'\'       \'\'
  Lift Sensors                                                           

  Right Front Wheel Lift     Dt.RfWhLftTot       inches       \'\'       \'\'
  Calculation                                                            

  Right Rear Inner Wheel     Dt.RrWhLftIn        inches       \'\'       \'\'
  Lift Sensors                                                           

  Right Rear Outer Wheel     Dt.RrWhLftOut       inches       \'\'       \'\'
  Lift Sensors                                                           

  Right Rear Wheel Lift      Dt.RrWhLftTot       inches       \'\'       \'\'
  Calculation                                                            

  Doppler Speed              Dt.SPDCHS           mph          \'2\'      p.spd

  Steering Angle             Dt.THETAENC         degrees      \'10\'     p.swaf

  Steering Torque            Dt.Torque           foot-lbs     \'\'       \'\'

  GPS Trigger                Dt.Trigger          volts        \'\'       \'\'

  GPS Trigger                Dt.Trigger2         volts        \'\'       \'\'

  VGPS Distance Pulse        Dt.VGPS_DistPulse   volts        \'\'       \'\'

  VGPS Speed                 Dt.VGPS_Spd         mph          \'\'       \'\'

  Time Increment             Dt.XIncr            seconds      \'\'       \'\'

  Yaw Acceleration           Dt.YAWACCEL         deg/sec\^2   \'\'       \'\'

  Time Channel\'             Dt.time0            seconds      \'10\'     p.time
  -------------------------- ------------------- ------------ ---------- ------------

**Table 2:** NHTSA 0.7Hz Sine with Dwell Data Processing Flow Chart.

  ---------------- ---------- ----------- --------------- --------------- ----------- ----------- ------------- ---------- ------------- ---------
  **Data Channel** **1st      **2nd       **3rd Step**    **4th Step**    **5th       **6th       **7th Step**  **8th      **9th Step**  **10th
                   Step**     Step**                                      Step**      Step**                    Step**                   Step**

                   **Filter   **Static    **Calculate**   **Corrections   **Correct   **Dynamic   **Integrate   **Zero     **Integrate   **Zero
                   Cutoff     Corrected                   and Filtering** for Roll    Zero        To Obtain**   ^(4)^**    To Obtain**   ^(4)^**
                   Freq.      Offset                                      Angle**     ^(3)^**                                            
                   (Hz)**     ^(1)^**                                                                                                    

  **Longitudinal   6          YES         \--             Correct Sensor  \--         \--         \--           \--        \--           \--
  Acceleration**                                          Offset From                                                                    
                                                          C.G.                                                                           

  **Lateral        6          YES         \--             Correct Sensor  YES         YES         Lateral       Lateral    Lateral Disp. Lateral
  Acceleration**                                          Offset From                             Velocity      Velocity                 Disp.
                                                          C.G.                                                                           

  **Vertical       6          YES         \--             Correct Sensor  \--         \--         \--           \--        \--           \--
  Acceleration**                                          Offset From                                                                    
                                                          C.G.                                                                           

  **Roll Rate**    6          YES         Roll            \--             \--         \--         \--           \--        \--           \--
                                          Acceleration                                                                                   

  **Pitch Rate**   6          YES         Pitch           \--             \--         \--         \--           \--        \--           \--
                                          Acceleration                                                                                   

  **Yaw Rate**     6          YES         Yaw             \--             \--         YES         \--           \--        \--           \--
                                          Acceleration                                                                                   

  **Steering       10         YES         Steering Rate   Apply 100ms RAF \--         YES         \--           \--        \--           \--
  Angle**                                                 To Steering                                                                    
                                                          Rate **^(2)^**                                                                 

  **Speed**        2          \--         \--             \--             \--         \--         \--           \--        \--           \--

  **Left Front     10         YES         \--             \--             \--         \--         \--           \--        \--           \--
  Brake Pres.**                                                                                                                          

  **Left Rear      10         YES         \--             \--             \--         \--         \--           \--        \--           \--
  Brake Pres.**                                                                                                                          

  **Right Front    10         YES         \--             \--             \--         \--         \--           \--        \--           \--
  Brake Pres.**                                                                                                                          

  **Right Rear     10         YES         \--             \--             \--         \--         \--           \--        \--           \--
  Brake Pres.**                                                                                                                          

  **Time**         \--        \--         \--             \--             \--         \--         \--           \--        \--           \--

  **Left Side Ride 6          YES         Roll Angle      \--             \--         \--         \--           \--        \--           \--
  Height**                                                                                                                               

  **Right Side     6          YES                                                                                                        
  Ride Height**                                                                                                                          
  ---------------- ---------- ----------- --------------- --------------- ----------- ----------- ------------- ---------- ------------- ---------

1.  **Offset is corrected using mean value from a static calibration
    file.**

2.  **Running Average Filter (RAF)**

3.  **Dynamic Zeroing refers to a zeroing range of 1 second prior to the
    point steering rate reaches 75 deg/sec. \[Uses mean value\]**

4.  **Zeroing in this step should be performed at the point steering
    wheel angle first achieves 5 degrees. \[Uses point value\]**

**Table 3:** The Data processing flow chart shown below contains the
line numbers where S7D.m executes the desired operation.

<table>
<colgroup>
<col style="width: 12%" />
<col style="width: 8%" />
<col style="width: 8%" />
<col style="width: 9%" />
<col style="width: 13%" />
<col style="width: 8%" />
<col style="width: 8%" />
<col style="width: 8%" />
<col style="width: 8%" />
<col style="width: 8%" />
<col style="width: 8%" />
</colgroup>
<tbody>
<tr class="odd">
<td rowspan="2"><strong>Data Channel</strong></td>
<td><strong>1st Step</strong></td>
<td><strong>2nd Step</strong></td>
<td><strong>3rd Step</strong></td>
<td><strong>4th Step</strong></td>
<td><strong>5th Step</strong></td>
<td><strong>6th Step</strong></td>
<td><strong>7th Step</strong></td>
<td><strong>8th Step</strong></td>
<td><strong>9th Step</strong></td>
<td><strong>10th Step</strong></td>
</tr>
<tr class="even">
<td><strong>Filter Cutoff Freq. (Hz)</strong></td>
<td><strong>Static Corrected Offset</strong></td>
<td><strong>Calculate</strong></td>
<td><strong>Corrections and Filtering</strong></td>
<td><strong>Correct for Roll Angle</strong></td>
<td><strong>Dynamic Zero</strong></td>
<td><strong>Integrate To Obtain</strong></td>
<td><strong>Zero</strong></td>
<td><strong>Integrate To Obtain</strong></td>
<td><strong>Zero</strong></td>
</tr>
<tr class="odd">
<td><strong>Longitudinal Acceleration</strong></td>
<td>447</td>
<td>447</td>
<td>--</td>
<td>Sensor Offset From C.G. 691</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="even">
<td><strong>Lateral Acceleration</strong></td>
<td>447</td>
<td>447</td>
<td>--</td>
<td>Sensor Offset From C.G. 692</td>
<td>696</td>
<td>853</td>
<td>Lat. Vel. 1011</td>
<td>Lat. Vel. 1014</td>
<td>Lat. Disp. 1016</td>
<td>Lat. Disp. 1018</td>
</tr>
<tr class="odd">
<td><strong>Vertical Acceleration</strong></td>
<td>447,449</td>
<td>447</td>
<td>--</td>
<td><p>Sensor Offset From C.G. 693</p>
<p>Optional Correction</p></td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="even">
<td><strong>Roll Rate</strong></td>
<td>447</td>
<td>447</td>
<td><p>Roll Acc.</p>
<p>480</p></td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="odd">
<td><strong>Pitch Rate</strong></td>
<td>447</td>
<td>447</td>
<td><p>Pitch Acc.</p>
<p>486</p></td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="even">
<td><strong>Yaw Rate</strong></td>
<td>447</td>
<td>447</td>
<td>Yaw Acc. 492</td>
<td>--</td>
<td>--</td>
<td>852</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="odd">
<td><strong>Steering Angle</strong></td>
<td>410</td>
<td>447</td>
<td>Steering Rate 467</td>
<td>Filter Steering Rate 472</td>
<td>--</td>
<td>851</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="even">
<td><strong>Speed</strong></td>
<td>410</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="odd">
<td><strong>Left Front Brake Pres.</strong></td>
<td>410</td>
<td>447</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="even">
<td><strong>Left Rear Brake Pres.</strong></td>
<td>410</td>
<td>447</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="odd">
<td><strong>Right Front Brake Pres.</strong></td>
<td>410</td>
<td>447</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="even">
<td><strong>Right Rear Brake Pres.</strong></td>
<td>410</td>
<td>447</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="odd">
<td><strong>Time</strong></td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr class="even">
<td><strong>Left Side Ride Height</strong></td>
<td>447</td>
<td>447</td>
<td rowspan="2">Roll Angle 462</td>
<td rowspan="2">--</td>
<td rowspan="2">--</td>
<td rowspan="2">--</td>
<td rowspan="2">--</td>
<td rowspan="2">--</td>
<td rowspan="2">--</td>
<td rowspan="2">--</td>
</tr>
<tr class="odd">
<td><strong>Right Side Ride Height</strong></td>
<td>447</td>
<td>447</td>
</tr>
</tbody>
</table>

**3.0 MATLAB Specific Code Covering Yaw Rate Ratio and Lateral
Displacement Metrics**

Prior Procedures not shown in code below:

1.  Data Filtering -- all necessary channels.

2.  Static Offset Correction -- all necessary channels.

3.  Calculations -- Roll, Yaw and Pitch Acceleration, Roll Angle and
    Steering Rate.

4.  Corrections -- Correct sensor offset from C.G. and Filter Steering
    Rate.

5.  Lateral Accelerations correction for roll angle.

6.  How the file being processed is loaded into MATLAB.

[MATLAB CODE - SPECIFICS]{.underline}

\% Begin Search for 1st instance that steering rate reaches 75deg/sec

\% and is sustanined for atleast 175ms.

swar75 = 1; %Default swar75 count number

while abs(p.swrf(swar75+round(0.175/p.XIncr)))\<75 &&...

> swar75+round(0.175/p.XIncr)\<length(p.swaf)

swar75 = swar75+round(0.150/p.XIncr);

trackpt = swar75;

swar75 = find(abs(p.swrf(trackpt:end)) \>= 75);

swar75 = swar75(1)+trackpt-1;

end

\% If swar75 cannot be determined terminate process for current file

if isempty(swar75)

str{1} = \'COULD NOT DETERMINE TIME\';

str{2} = \'STEERING RATE IS AT 75 deg/sec\';

str{3} = \[\'Skipping File \',deblank(filename{:,i})\];

h = msgbox(char(str),\'Start Steering Error\');

uiwait(h);

clear p swar75 h

continue

end

\% Dynamic Zeroing

if swar75(1)\>1.0/p.XIncr+1

swaf = p.swaf - mean(p.swaf(swar75(1)-...

> round(1.0/p.XIncr):swar75(1)));

rvz_f = p.rvz_f - mean(p.rvz_f(swar75(1)-...

> round(1.0/p.XIncr):swar75(1)));

aycg = p.aycg - mean(p.aycg(swar75(1)-...

> round(1.0/p.XIncr):swar75(1)));

\% Maneuver Entrance Speed - 500ms Interval

> MES = mean(p.spd(swar75(1)-round(0.5/p.XIncr):swar75(1))); meanstart =
> swar75(1)-round(1.0/p.XIncr);

else

swaf = p.swaf - mean(p.swaf(1:swar75(1)));

rvz_f = p.rvz_f - mean(p.rvz_f(1:swar75(1)));

aycg = p.aycg - mean(p.aycg(1:swar75(1)));

MES = mean(p.spd(1:swar75(1))); % Maneuver Entrance Speed

meanstart = 1;

end

\% Refine search for beginning of steering input to nearest

\% point to 5degrees.

SWA5 = find((swaf(swar75(1):swar75(1)+round(0.4/p.XIncr)))...

> \*sign(swaf(swar75(1)+round(0.4/p.XIncr))) \>= 5);
>
> \% If SWA5 cannot be determined terminate process for current file

if isempty(SWA5)

str{1} = \'COULD NOT DETERMINE TIME\';

str{2} = \'THAT STEERING REACHES 5 DEGREES\';

str{3} = \[\'Skipping File \',deblank(filename{:,i})\];

h = msgbox(char(str),\'Start Steering Error \');

uiwait(h);

clear p swar75 str h

continue

end

\% Correct for count offset

SWA5 = SWA5(1) + swar75(1) - 1;

\% Begin 5 degree interpolation - linear fit

time5 = interp1(\[abs(swaf(SWA5-1))
abs(swaf(SWA5))\],\[p.time(SWA5-1)...

> p.time(SWA5)\],5);

\% EventPt is defined as time or count number closest to SWA passing

\% through 5 degrees.

EventPt = SWA5;

\% Time at 1.07s after Steer begin

time107 = time5+1.070;

\% Nearest Count number to time107

count107 = SWA5+round(1.070/p.XIncr);

\% Begin search for Completion on Steer (COS) event.

\% End of sine curve that overshoots zero.

\% When Steering rate drops below 45 deg/sec

cos45 = find(sign(p.swrf(SWA5))\*p.swrf(count107:count107+...

> round(1.15/p.XIncr)) \>= 45);

\% If cos45 cannot be determined terminate process for current file

if isempty(cos45)

str{1} = \'COULD NOT DETERMINE\';

str{2} = \'END OF STEERING INPUT\';

str{3} = \[\'Skipping File \',deblank(filename{:,i})\];

h = msgbox(char(str),\'Steering Error\');

uiwait(h);

clear ptcos cos45 count107 EventPt time5 SWA5 p swar75 str h

continue

end

\% Correct for count offset

cos45 = cos45(end)+count107-1;

\% Calculate mean SWA after cos45 event.

meanswa45 = mean(swaf(cos45:cos45+round(0.20/p.XIncr)))+...

> sign(swaf(count107))\*0.1; % 200ms interval

\% COS = time at 0degree for cases where the average SWA opposite the

\% SWA at count107 or time = 1.07s into maneuver.

if isequal(sign(meanswa45), sign(swaf(count107))) == 0

meanswa45 = 0;

end

\% Find completion of steer (cos) event.

cos = find(sign(swaf(count107))\*swaf(count107:cos45+...

> round(0.25/p.XIncr)) \<= sign(swaf(count107))\*meanswa45);

\% If cos cannot be determined an arbitrary time is chosen over which

\% to calculate mean swa so that a value can be determined for cos.

\% Then tell program user that an alternate method was chosen to

\% determine cos.

if isempty(cos)

swaendmean = mean(swaf(EventPt+round(2.00/p.XIncr):EventPt+...

> round(2.15/p.XIncr)));

cos = find(sign(swaf(count107))\*swaf(count107:EventPt+...

> round(2.3/p.XIncr)) \<=
>
> sign(swaf(count107))\*swaendmean+0.1);

str{1} = \'COULD NOT DETERMINE COS AT\';

str{2} = \[\'ZERO FOR FILE: \', char(deblank(filename{:,i}))\];

str{3} = \' \';

str{4} = \'USED MEAN SWA @ 2.05 to 2.3s\';

str{5} = \[\'MEAN SWA USED: \' , num2str(swaendmean)\];

str{6} = \'HIT ENTER TO CONTINUE\';

h = msgbox(char(str),\'Completion of Steer (COS) Error\');

uiwait(h);

clear str ptcos cos45 count107 EventPt time5 SWA5 p swar75...

> str h cos45 meanswa45

end

\% Correct for count offset

cos = cos(1) + count107 - 1;

\% Exact Time at COS event - Interpolated

timecos = interp1(\[(swaf(cos-1)) (swaf(cos))\],...

> \[p.time(cos-1) p.time(cos)\],meanswa45);

targetswa = 0;

\% while timecos is not a number or targetswa is less than 10degrees

\% expand interpolation incrementally to get a result.

while isnan(timecos) && abs(targetswa)\<10

timecos = interp1(\[(swaf(cos-2)) (swaf(cos+1))\],...

> \[p.time(cos-2) p.time(cos+1)\],targetswa);

targetswa = targetswa+0.05\*sign(swaf(cos));

end

\% If timecos could not be determined let user know and then continue

\% with next test

if isnan(timecos)

str = \[{\'COULD NOT DETERMINE\'};{\'END OF STEERING INPUT\'};\...

{\[\'Skipping File \',deblank(filename{:,i})\]}\];

h = msgbox(char(str),\'Steering Error\');

uiwait(h);

clear ptcos cos45 count107 EventPt time5 SWA5 p swar75\...

str h timecos cos targetswa meanswa45 cos45

continue

end

\% reset cos(count number) to within one data count of timecos if

\% initial interpolation of timecos resulted in an NaN.

if abs(targetswa) \> 0.025

cos = find(p.time \> timecos);

cos = cos(1);

end

\% Determine Steering Angles - based on count numbers

\% 1st Steering Peak

\[intswapeak intswapeak_ct\] = max(abs(swaf(SWA5:SWA5+...

> round(0.65/p.XIncr))));

intswapeak_ct = intswapeak_ct + SWA5 - 1; % count correction

\% 2nd Steering Input Average - Average is taken in the middle of

\% the Dwell

revswamean125equal = sign(swaf(count107))\*mean(swaf(SWA5+...

> round(1.196/p.XIncr):SWA5+round(1.446/p.XIncr)));

\% Determine SWA zero crossing in the middle of steering profile

mos = find(sign(swaf(EventPt))\*swaf(EventPt+...

> round(0.05/p.XIncr):count107) \<= 0);

mos = mos(1) + EventPt+round(0.05/p.XIncr) - 1;

mostime = interp1(\[swaf(mos-1) swaf(mos)\],...

> \[p.time(mos-1) p.time(mos)\],0);

\% Determine the times for YRR metrics and the nearest count numbers

\% to them.

timeyrr1 = timecos+1.00; % YRR 1.00s Time

timeyrr175 = timecos+1.75; % YRR 1.75s Time

\% Nearest count number at YRR1

countyrr1 = cos + round(1.00/p.XIncr);

\% Nearest count number at YRR175

countyrr175 = cos + round(1.75/p.XIncr);

\% In event that there was not enough data collected to determine YRR1

if countyrr1+2 \> length(p.rvz_f)

str = \[{\'File Length Is Too Short\'};{\'To Determine YRR1\'};\...

{\[\'Skipping Test \',deblank(filename{:,i})\]}\];

h = msgbox(char(str),\'Yaw Rate Ratio Error\');

uiwait(h);

continue

end

\% In event that there was not enough data collected to

\% determine YRR175

if countyrr175+2 \> length(p.rvz_f)

countyrr175 = length(p.rvz_f)-3;

timeyrr175 = p.time(countyrr175);

str{1} = \'File Length Is Too Short\';

str{2} = \'To Determine YRR175\';

h = msgbox(char(str),\'Yaw Rate Ratio Error\');

uiwait(h);

end

\% determine 2nd yaw peak

\% (1st local peak that results from the reversal steering input)

\% filter Rot. Accel about Z axis

raz = ButterFilter(p.raz,12,6,1/p.XIncr);

\% Search raz to find zero after the reversal steering input has begun

raz_zero = find(sign(rvz_f(cos-round(0.5/p.XIncr)))\*...

> raz(count107-round(0.2/p.XIncr):cos) \<= 0);

\% if raz_zero is empty set = to cos, 2^nd^ yaw peak could not be found

if isempty(raz_zero)

raz_zero = cos;

else

\% Correct for narrowing search domain

raz_zero = raz_zero(1) + count107 - round(0.2/p.XIncr) - 1;

end

%Determine Yaw 2^nd^ yaw peak

\[yp2 yp2_ct\] = max(sign(rvz_f(cos-round(0.5/p.XIncr)))\*...

> (rvz_f(count107-round(0.2/p.XIncr):raz_zero+...
>
> round(0.075/p.XIncr))));

yp2_ct = yp2_ct + count107-round(0.2/p.XIncr) - 1; %Offset correction

yp2 = sign(rvz_f(cos-round(0.5/p.XIncr)))\*yp2; %Sign Correction

> %Interpolate to determine YRR1 and YRR175

%YRR1

yr1 = interp1(\[p.time(countyrr1-2)
p.time(countyrr1+2)\],\[rvz_f(countyrr1-2)
rvz_f(countyrr1+2)\],timeyrr1); %Linear Interpolation Function

yrr1 = interp1(\[p.time(countyrr1-2)
p.time(countyrr1+2)\],\[rvz_f(countyrr1-2)
rvz_f(countyrr1+2)\],timeyrr1)/yp2\*100; %Linear Interpolation Function

%YRR175

> %yrr175 = interp1(p.time(1:length(rvz_f)),rvz_f,timeyrr175)/yp2\*100;
> %Linear Interpolation Function

yr175 = interp1(\[p.time(countyrr175-2)
p.time(countyrr175+2)\],\[rvz_f(countyrr175-2)
rvz_f(countyrr175+2)\],timeyrr175); %Linear Interpolation Function

yrr175 = interp1(\[p.time(countyrr175-2)
p.time(countyrr175+2)\],\[rvz_f(countyrr175-2)
rvz_f(countyrr175+2)\],timeyrr175)/yp2\*100; %Linear Interpolation
Function

\% Calculate lateral displacement from corrected lateral acceleration

\% Lateral Velocity

LatVelCalc_CD2 = cumtrapz(aycg\*32.17417)\*p.XIncr; %Feet Conversion

\% LatVelCalc_CD2 = cumtrapz(aycg/9.80665\*32.17417)\*XIncr; %Metric to

\% Feet Conversion

%Zero using interpolation time at 5 degrees

LatVelCalc_CD2 = LatVelCalc_CD2 - interp1(p.time(1:length(swaf)),...

> LatVelCalc_CD2,time5);

%Lateral Displacement

LatdispCalc_CD2 = cumtrapz(LatVelCalc_CD2)\*p.XIncr;

%Zero using interpolation time at 5 degrees

LatdispCalc_CD2 = LatdispCalc_CD2 - interp1(p.time(1:length(swaf)),...

> LatdispCalc_CD2,time5);

%Interpolate lateral displacement at time107

latdisp107 = interp1(p.time(1:length(swaf)),LatdispCalc_CD2,time107);

The code continues on from the line above, but is not displayed in this
document. At this point in the code plots are displayed to the user for
verification of program output. Then the program will store the output
spreadsheets in Excel format.

**APPENDIX**

**List of Abbreviations Used In Output Spreadsheets**

COS: Completion of Steering input for a SWD test.

Corr.: Correction.

Ct: Count.

Info.: Information

MES: Maneuver Entrance Speed -- 0.5 seconds average of speed about
SWA5Deg in Miles Per Hour.

MOS: Data count at which the steering wheel angle trace crosses zero
after the initial steering input for a SWD test, near the middle of the
steering input trace.

SIS: Slowly Increasing Steer test.

SWA5Deg: Data count for which steering wheel angle first achieves ± 5
degrees.

SWA: Steering Wheel Angle.

SWD: 0.7Hz Sine with Dwell test.

Time@5deg: Interpolated time that SWA5Deg occurs.

Time@COS: Interpolated time that COS occurs.

Time@MOS: Interpolated time that MOS occurs.

YRR1: Yaw Rate Ratio at 1.00 second after COS.

YRR175: Yaw Rate Ratio at 1.75 second after COS.

2nd Yaw Peak: 2nd Yaw Rate Peak in degrees per second.

Lat Disp (ft): Lateral Displacement in feet.

EventPt: Count that the SIS maneuver's steering wheel input begins

DOS: Direction of steering wheel input. Left or Right.

SPD: Speed.

AYcount_3: Nearest data count number to the point that lateral
acceleration achieves ±0.3 g during a SIS test

THETAENCF_3: Steering angle at 0.3g, value is interpolated for SIS data.

AYCG_CD2_3: Lateral acceleration at the data count labeled AYcount_3.

r_squared: Statistical R\^^2^ value.

ZeroBegin: Beginning count number used for dynamic zeroing of SIS data.

ZeroEnd: End count number used for dynamic zeroing of SIS data.