Vehicle Road Test Simulation
A thesis submitted to the
Division of Research and Advanced Studies
of the University of Cincinnati
in partial fulfillment of the
requirements for the degree of
Master of Science
in the Department of Mechanical, Industrial and Nuclear Engineering
of the College of Engineering
2005
by
Udayan N. Godbole
Committee Chair: Dr. Randall J. Allemang
Abstract
There has been considerable interest among researchers in being able to recreate desired
time or frequency domain responses on a vehicle using a Road Simulator. Accurate
simulation of road tests facilitates an in depth study of a test vehicle’s dynamic response
characteristics and paves the way for future research studying non-linear system
responses.
Currently available commercial software can successfully simulate most collocated and
some non-collocated input-output configurations, but there is no means of modifying the
system modeling techniques used. Future research would aim to develop complex system
models that would either enhance the capabilities of the existing linear system models
that are in use or completely replace them. This research provides a Matlab based
research platform by way of a Road Simulator software interface, which performs most
of the functions that a commercial Road Simulator would, and provides complete access
to the system development process for custom modifications required by future
researchers. The capabilities of the developed simulator are examined through tests
conducted on a vehicle chassis, and the groundwork for future research, particularly
involving non-linear systems, is laid out.
Acknowledgement
I would like to thank my research advisor, Dr. Randall J. Allemang for his constant and
timely support throughout the duration of this research. The successful completion of this
work would not have been possible without his considerable involvement in the same.
His vast experience in the field of Structural Dynamics has been extremely useful to me
throughout my academic life at the SDRL.
I thank Dr. David L. Brown and Dr. Allyn W. Phillips for serving on my thesis
committee, for their appraisal of my work, and also for their support and encouragement.
To all my colleagues at the SDRL, particularly Ray Martell and Mike Spottswood, I
express my gratitude for the valuable discussions and constructive inputs towards my
thesis research. I also greatly appreciate Dave Breheim’s help with the timely setup and
maintenance of the test rig used for the research and Larry Schartman’s assistance with
system maintenance issues.
Amit, Aniruddha, Matin and Rohit have been very supportive throughout my effort, and I
cannot thank them enough for it.
Last, but not the least, I am grateful to my family for being there for me throughout my
life, and I owe my success to their blessings and support.
Table of Contents 1 INTRODUCTION ...................................................................................................... 6
1.1 Overview of the MTS 320 Road Simulator ........................................................ 7 1.1.1 Actuators ..................................................................................................... 7 1.1.2 Hydraulic Pump .......................................................................................... 8 1.1.3 320 Road Simulator Controller................................................................... 8
1.2 Benefits of using a Road Simulator .................................................................... 9 1.2.1 Instrumentation ........................................................................................... 9 1.2.2 Repeatability ............................................................................................... 9 1.2.3 Safety aspects............................................................................................ 10 1.2.4 Deterministic Testing................................................................................ 10 1.2.5 Flexibility.................................................................................................. 10
1.3 Disadvantages of using a Road Simulator ........................................................ 11 1.3.1 Effects of Vehicle Dynamics ................................................................... 11 1.3.2 Tire-Road surface contact ......................................................................... 11 1.3.3 Input Axes................................................................................................. 11
1.4 Research Goals.................................................................................................. 12
2 BACKGROUND INFORMATION ......................................................................... 13
2.1 Simulation Process Overview........................................................................... 16 2.2 RPC III File Format .......................................................................................... 21
2.2.1 Header ....................................................................................................... 21 2.2.2 Data ........................................................................................................... 21
3 THEORY .................................................................................................................. 22
3.1 Generating White Noise Drive File .................................................................. 22 3.1.1 White Noise Parameters............................................................................ 22
3.2 Developing System Matrices ............................................................................ 23 3.2.1 Data Processing......................................................................................... 24
3.2.1.1 Block Size ............................................................................................. 24 3.2.1.2 Window functions................................................................................. 24 3.2.1.3 Cyclic Signal Averaging ....................................................................... 26
3.2.2 FRF Estimation Algorithms...................................................................... 34 3.2.3 Ordinary Coherence Function................................................................... 38 3.2.4 Multiple Coherence Function ................................................................... 38 3.2.5 Inverse System Model............................................................................... 40
3.3 Desired Responses ............................................................................................ 42 3.3.1 Time Domain ............................................................................................ 42 3.3.2 Frequency Domain.................................................................................... 42
3.4 Convolution with Overlap Adding.................................................................... 42 3.4.1 Estimate Inverse FRF................................................................................ 42 3.4.2 Convolution with overlap adding.............................................................. 43
4 TEST SETUP............................................................................................................ 54
4.1 Wheel Input with Collocated Output ................................................................ 55
1
4.2 Wheel Input with Non-collocated Output......................................................... 56
5 RESULTS ................................................................................................................. 57
5.1 Collocated ......................................................................................................... 57 5.1.1 Time Domain Desired Response .............................................................. 57 5.1.2 Frequency Domain Desired Response ...................................................... 64
5.2 Non-collocated.................................................................................................. 73 5.2.1 Time Domain Desired Response .............................................................. 73
6 CONCLUSIONS AND FUTURE WORK ............................................................... 79
6.1 Conclusions....................................................................................................... 79 6.2 Future Work ...................................................................................................... 80
Appendix A RPC III FILE FORMAT........................................................................................... 83
A.1 Header ............................................................................................................... 83 A.2 Data ................................................................................................................... 85
B MATLAB FUNCTIONS .......................................................................................... 87
B.1 fnHlin: Calculates FRF, Coherence, Power Spectra......................................... 87 B.2 convOver: Convolution with Overlap Addition ............................................... 92 B.3 bandpass : Bandpass filter................................................................................. 93
C WHITE NOISE GENERATOR GUI........................................................................ 94
C.1 DRV File Creator.............................................................................................. 94 C.2 DRV File Creator Options ................................................................................ 94
C.2.1 Header Data .............................................................................................. 94 C.2.2 Channel Data............................................................................................. 95
D ROAD SIMULATOR GUI....................................................................................... 97
D.1 Project ............................................................................................................... 97 D.1.1 New Project: Create a New Project .......................................................... 97 D.1.2 Open Project: Open Existing Project ........................................................ 97 D.1.3 Save Project: Save Current Project ........................................................... 97
D.2 Develop System Model..................................................................................... 98 D.2.1 White Noise Generator ............................................................................. 98 D.2.2 System Model ........................................................................................... 98 D.2.3 Display System Model.............................................................................. 98
D.3 Desired Response.............................................................................................. 99 D.3.1 Select Desired Response ........................................................................... 99 D.3.2 Plot Desired Response .............................................................................. 99
D.4 Generate Drive File......................................................................................... 100 D.4.1 Calculate Drive ....................................................................................... 100 D.4.2 Write Drive File ...................................................................................... 100
D.5 View Results ................................................................................................... 101 D.5.1 Time Domain .......................................................................................... 101
2
D.5.2 Frequency Domain.................................................................................. 101 D.5.3 Plot Error................................................................................................. 101 D.5.4 Plot Trend................................................................................................ 101 D.5.5 Document Results ................................................................................... 101
3
Table of Figures
Figure 1 : MTS 320 Road Simulator ........................................................................... 7 Figure 2 : Simulation Process Overview................................................................... 16 Figure 3 : Flowchart – Generating System Matrices................................................. 19 Figure 4 : Flowchart – Iteratively Generating Drive Files ........................................ 20 Figure 5 : Hanning Window and its effect ................................................................ 25 Figure 6 : Flowchart - Cyclic Averaging Process ..................................................... 27 Figure 7 : Raw Time Domain Data ........................................................................... 28 Figure 8 : Windowed Time Data – No Overlap ........................................................ 29 Figure 9 : Cyclic Averaged Time Signal................................................................... 30 Figure 10 : Frequency Domain Signal after Cyclic and Asynchronous Averaging .... 30 Figure 11 : Raw Time Domain Data ........................................................................... 31 Figure 12 : Windowed Time Data – 50% Overlap of Time Signal between averages 32 Figure 13 : Cyclic Averaged Time Signal................................................................... 33 Figure 14 : Frequency Domain Signal after Cyclic and Asynchronous Averaging .... 33 Figure 15 : No Input Noise FRF Model: H1(ω) Algorithm......................................... 34 Figure 16 : Plot of H1(ω) FRF Estimate ...................................................................... 37 Figure 17 : Plot of Multiple Coherence....................................................................... 39 Figure 18 : Plot of Inverse System Model................................................................... 41 Figure 19 : Flowchart - Modifying System Matrix for Convolution........................... 44 Figure 20 : Flowchart - Convolution with Overlap Adding ........................................ 45 Figure 21 : Impulse Responses obtained from System FRFs...................................... 46 Figure 22 : Impulse Responses with Half Frame Circular Shift and Zero Padding .... 46 Figure 23 : Modified FRFs .......................................................................................... 47 Figure 24 : Desired Responses – single frame of data ................................................ 47 Figure 25 : Desired Responses – single frame with zero padding .............................. 48 Figure 26 : Desired Responses – Frequency Domain ................................................. 48 Figure 27 : Estimated Input Signals – Frequency Domain.......................................... 49 Figure 28 : Estimated Input Signals – Time Domain .................................................. 49 Figure 29 : Convolution Results for 5 Data Frames for Channel 1............................. 50 Figure 30 : Convolution Results for 5 Data Frames for Channel 2............................. 50 Figure 31 : Convolution Results for 5 Data Frames for Channel 3............................. 51 Figure 32 : Convolution Results for 5 Data Frames for Channel 4............................. 51 Figure 33 : Convolution Results.................................................................................. 52 Figure 34 : Calculated Input Signals after Overlap Addition of Convolved Time
Signals shown for all 4 Channels.............................................................. 52 Figure 35 : Input Signals after Ignoring First and Last Half Frames .......................... 53 Figure 36 : Accelerometer location for Collocated Configuration.............................. 55 Figure 37 : Accelerometer location for Non-Collocated Configuration ..................... 56 Figure 38 : Variation of Standard Deviation of Error with subsequent Iterations ...... 59 Figure 39 : Measured Response – Collocated Configuration: Initial Estimate ........... 60 Figure 40 : Measured Response – Collocated Configuration: Iteration 5 ................... 61 Figure 41 : Collocated – Initial Error .......................................................................... 62
4
Figure 42 : Collocated – Final error ............................................................................ 63 Figure 43 : Desired Power Spectral Profile................................................................. 65 Figure 44 : Random Signal with Unit Amplitude ....................................................... 66 Figure 45 : Modified Desired Response Spectra......................................................... 67 Figure 46 : Variation of Standard Deviation of Error with subsequent Iterations ...... 68 Figure 47 : Measured Response – Collocated Configuration: Initial Estimate ........... 69 Figure 48 : Measured Response – Collocated Configuration: Iteration 5 ................... 70 Figure 49 : Collocated – Initial Error .......................................................................... 71 Figure 50 : Collocated – Final Error............................................................................ 72 Figure 51 : Variation of Standard Deviation of Error with subsequent Iterations ...... 74 Figure 52 : Measured Response – Non-Collocated Configuration: Initial Estimate... 75 Figure 53 : Measured Response – Non-Collocated Configuration: Iteration 5........... 76 Figure 54 : Non-collocated – Initial Error................................................................... 77 Figure 55 : Non-collocated – Final Error .................................................................... 78 Figure 56 : Four Channel Time Data........................................................................... 85 Figure 57 : Four Channel Demultiplexed Time Data.................................................. 86 Figure 58 : White Noise Generator GUI ..................................................................... 96 Figure 59 : Road Simulator GUI ............................................................................... 102
5
1 Introduction
There has been considerable interest among researchers in the simulation of vehicle road
tests on a road simulator. Knowing the responses measured on the vehicle during an
actual road test, it is desirable to recreate the same responses on the vehicle using the
road simulator. It is also useful to have the capability of creating custom drive signals to
be input to the simulator that would generate the desired time domain or frequency
domain responses at predetermined locations on the vehicle. Road test simulation has
potential advantages over actual road tests which will be discussed later. The Non-linear
Dynamics Test Facility, a part of the University of Cincinnati’s Structural Dynamics
Research Laboratory (UC-SDRL), has the MTS 320 Road Simulator, which is capable of
simulating road tests on vehicles, and was used for this particular research.
6
1.1 Overview of the MTS 320 Road Simulator
The MTS 320 Road simulator is shown below.
Figure 1 : MTS 320 Road Simulator
The simulator essentially consists of the following components:
• Actuators
• Hydraulic Pump
• 320 Road Simulator Controller
1.1.1 Actuators
There are four hydraulic actuators, one for each wheel of the vehicle. The hydraulic
actuators can impart motion to the vehicle tires in the vertical direction, similar to road
inputs to the vehicle, and have a maximum stroke of ±3 inches from the mean position.
7
The displacements correspond to voltage signals between ±10 volts. Controlling the
voltage signals controls the position of the actuator in time, and can be used to generate
various drive signals to the vehicle. The drive signal is digitized into 216 data levels (16
bit ADC). The actuators cannot simulate very low frequencies, below 2 Hz, due to the
limited stroke of the wheel pan and piston assembly. On the higher side, the maximum
allowable frequency is around 80 Hz. This is limited by the natural frequency of the
actuator and the oil column in the actuator.
1.1.2 Hydraulic Pump
The MTS 506 Hydraulic Power Supply controls the actuators. The specifications for the
power supply in the UC-SDRL facility are as follows:
Model Number 506.52C
Supply Rating 460 V, 60 Hz, 3 Phase
Working Pressure 3000 psi, 207 bar
Flow 55 gpm, 209 lpm
1.1.3 320 Road Simulator Controller
It consists of the MTS 498.22 Test Processor and the MTS 497.05 Hydraulic Control
Unit. The test rig is defined as the four hydraulic actuators with the test vehicle mounted
on it. The Test Processor handles the actual control of this rig, the digitizing of the drive
signals, communications between the controller and the test rig, and the data acquisition
system. The Hydraulic Control handles the hydraulic lines and flow valves. A software
user interface (Flex Test II) provided with the controller enables control of the test rig
using a commercially available PC.
8
1.2 Benefits of using a Road Simulator
The aim of conducting a vehicle road test is to understand the dynamic behavior of the
vehicle, and to study and characterize its vibration response to road inputs, during actual
operating conditions. With this aim in mind, simulating road tests offers certain
advantages over conducting actual road tests and they are as follows:
1.2.1 Instrumentation
During an actual road test, only a limited amount of instrumentation of the vehicle may
be possible due to constraints imposed by available measurement locations and the
portability of the data acquisition system used. The larger the number of response
sensors, the larger the data acquisition channels required, and consequently, the bulkier
the data acquisition system. These limitations can be overcome in a laboratory test, where
a more comprehensive setup can be used, as the data acquisition system does not have to
be portable. Also, more response measurement locations may be available, thus enabling
collection of spatial response data across non-linearities to better characterize the system.
1.2.2 Repeatability
Each test on a test track will differ from the previous one, due to changes in the test
conditions, namely changes in vehicle driving speeds, road surface conditions, road track
and driver errors. These can be eliminated in a laboratory setup, where the difference
between two tests using the same input drive signals can be negligible, and the test is
practically repeatable.
9
1.2.3 Safety aspects
Certain tests may involve risks of failure of vehicle components. It would be undesirable
to have a test driver perform such tests, and a road simulator would be well utilized in
such cases.
1.2.4 Deterministic Testing
Certain modes of vibration may be of particular interest to the test engineer, and it may
be possible to excite that particular mode using suitable drive signals on the simulator.
This would particularly find applications in the troubleshooting of problems caused by
excessive vibration, or in the study of the suspension system characteristics at specific
frequencies.
1.2.5 Flexibility
The inputs to the vehicle can be changed at will, which can enable testing of the vehicle
by uniformly increasing or decreasing the input amplitudes of the drive signal, or by
varying individual channels (tire inputs) while keeping the others the same, and other
desired variations. This is obviously not possible on a test track, and thus simulation
offers more flexibility as regards the inputs that can be given to the vehicle.
10
1.3 Disadvantages of using a Road Simulator
Simulation on such a test rig has certain limitations which need to be understood while
interpreting the results obtained for a simulated test. They are as follows:
1.3.1 Effects of Vehicle Dynamics
Since the vehicle has no driving velocity on the test rig, any effects that the vehicle drive
speed has on its dynamic behavior are not simulated, for example the conditions of
sudden acceleration or braking may not be accurately represented. The engine and the
wheels are idle, and the inputs to the vehicle due to their operation (namely engine
vibrations and tire rotations) are not simulated.
1.3.2 Tire-Road surface contact
The tires are assumed to be in contact with the road at all times. This assumption would
normally be true on a highway drive. However, there may be times during the actual road
test where the tire may momentarily loose contact with the road. The tires are tied down
to the actuators, so the loss of contact case is never simulated.
1.3.3 Input Axes
The inputs to the vehicle on a road simulator are always vertical. Other angles are not
possible, so oblique inputs to the vehicle cannot be simulated.
Despite these limitations, the road simulator can be considered to be sufficiently accurate
for the purpose of simulating various highway driving conditions and for many dynamic
simulation goals.
11
1.4 Research Goals
To summarize, the research goals may be stated as follows:
• To understand the current road test simulation techniques used
• To develop a Matlab based interface capable of handling the complete simulation
process
• To identify possible modifications to the system development process to enable
simulation of non-collocated and non-linear systems
• To be better able to generate and analyze input signals for non-linear testing
12
2 Background Information
Although commercially available software packages (example RPC III [4] by MTS
Systems Corporation, SIMTEST [5] by Simulation Techniques Inc.) are currently able to
achieve a road test simulation with a high degree of accuracy, these packages are “black
box” models, which give the engineer a general idea of their inner workings, but are
rarely configurable for advanced applications. Most software packages assume a linear
system model and achieve the desired response through successive iterations of the drive
signal. It is quite obvious that as most practical systems have varying degrees of non-
linearities, this approach would have practical limitations as to the variety of
configurations that it can successfully simulate. With advances in non-linear modeling
techniques [10-12], it may be possible to develop complex system models, thereby
enabling the simulation of complicated configurations while reducing the number of
iterations required to reach a satisfactory result. This would require access to the system
development process and modifications would have to be made to it for handling the
additional system dynamics. The goal of this thesis is to provide the researcher with a
clear understanding of the currently used method, evaluate its validity for some practical
configurations, review its limitations and provide a well documented platform to build
further research work on.
Simulation essentially means recreating desired responses at predetermined locations on
the vehicle. These locations may be either collocated or non-collocated with respect to
the input locations. Collocated systems can be conveniently modeled by the prevalent
method of using a linear estimate of the system, and successive iterations of the drive file
are needed to achieve the desired response. However, as the configuration used becomes
13
a non-collocated one, this approach may not yield the desired results, chiefly due to the
effects of the increased system dynamics on the measured response. As the path between
the response measurement location and the input location gets more complicated, the
accuracy of the simulation correspondingly decreases. There may be a point beyond
which the additional system dynamics play such a big role in the response measurement
that any practical simulation based on linear system estimates becomes impossible.
Future research work would try to develop a more robust method to characterize the
complex system dynamics involved, thus making it possible to simulate far more
complicated configurations than those currently possible. The Non-linear Input Feedback
of the Outputs (NIFO) [11] technique is one of the suggested approaches for handling
non-linear system identification and characterization.
The standard configurations used have four response locations corresponding to four
inputs to the vehicle at the wheels. The input locations are thus, fixed. For the collocated
case, the response locations are near the inputs (e.g. the axles), whereas for the non-
collocated case, the response locations may be elsewhere on the vehicle (e.g. the chassis
frame).
To estimate the drive signals required at the input locations corresponding to a particular
known response, an estimate of the system’s dynamic characteristics is first required. The
goal here is to determine a frequency domain relationship, between input drive signals (in
the form of input voltage levels) and the output acceleration response (measured by the
accelerometers), over the frequency band of interest. The estimate of the system’s
dynamic characteristics takes the form of the Frequency Response Function (FRF) [2],
which is a linear estimate of the system. The drive signals required to generate a specific
14
response can be estimated using a convolution of the known (desired) response signals
with the inverse system model, and transforming the calculated drive signals back into
the time domain.
Commercially available software [4-5] was studied to get a clear understanding of the
current industrial practices in simulating road tests, and for the sake of consistency, a
similar approach was used while developing the Road Simulator software.
15
2.1 Simulation Process Overview
A schematic diagram of the control algorithm is shown below [5], [13]
Desired Response
Xd
System Model Measured Response +
Differential Drive Error -
H-1 Xa
k Gain
Test Rig and Control Hardware
+
+ Fn
Previous Drive
Fn+1
New Drive
where: Xd = Desired Response Xa = Measured Response H-1 = System Model k = Gain Fn = Previous Drive Fn+1 = New (Corrected) Drive
Figure 2 : Simulation Process Overview
16
The procedure for simulation of desired responses can be outlined as follows:
• Determine the system matrices using a white noise excitation over the frequency
range of interest. As a linear system matrix is to be derived, a low level excitation
is employed.
• Measure system response to the white noise excitation, at the desired response
locations, either collocated or non-collocated with respect to the inputs.
• Generate system matrices based on the known input voltages (Drive) and
measured output accelerations (Response). These system matrices are linear
estimates of the system.
• Using the desired response at the measurement locations and the generated system
matrices, calculate the drive signal required. This is the initial estimate of the
drive signal.
• Measure the system response to the initial drive signal estimate. For a purely
linear system, the measured response should exactly match the desired response.
However, as most practical systems have varying degrees of nonlinearities, this is
almost never true, and the desired response can only be obtained through
successive iterations of the drive signal.
• Compare measured response with the desired response. The difference is the
error, which needs to be reduced iteratively. Calculate the differential drive
required to minimize the error, and add this to the initial estimate of the drive, to
obtain a modified/corrected drive signal.
• Measure the system response to this modified drive signal.
17
• Repeat until the error lies within acceptable limits. The acceptable error may be a
specified allowable maximum error over the entire measurement time for the time
domain, or over the frequency range of interest for the frequency domain.
• Write out the final drive signal to file. This file contains the input signals required
to be given to the system, in order to get the desired response. Input signals are in
the form of time base input voltage levels that are to be fed to the hydraulic
actuators of the MTS 320 Road Simulator. Since this file can be played out any
number of times, it can serve as a repeatable input to the system.
18
Flowchart: Generating System Matrices
Generate White Noise Drive File
Send to MTS 320 Road Simulator
Measure Response to Drive Signal
Calculate a linear Frequency Response Function relating the
following two data sets:
Input: Generated White noise Drive (Voltages)
Output: Measured Response
(Acceleration)
Are System Matrices Satisfactory?
No Yes
Store System Matrices for later use
Figure 3 : Flowchart – Generating System Matrices
19
Flowchart: Iteratively Generating Drive Files
x1NNx N-1
x1N oioi [X] [H] [F] =
Select Desired Response
Calculate Initial Drive based on Desired Response and Calculated Frequency Response Function using the following formula:
Where: [H]-1 = Inverse System FRF X = Desired Response F = Required Drive No = Outputs Ni = Inputs
Send to MTS 320 Road Simulator
Calculate the Differential
Drive required to correct the error and add it to the Initial Estimate
to get the corrected Drive
signal
Measure Response to Drive Signal
Compare Measured Response with Desiredresponse and Calculate
Error
Is Error within acceptable
limits? No Yes
Write out Final Drive File
Figure 4 : Flowchart – Iteratively Generating Drive Files
20
2.2 RPC III File Format
RPC is an acronym for Remote Parameter Control. For a detailed look at the header and
data content of an RPC III file, refer to the Appendix A. This format is needed in order to
send the data in the proper form to the MTS Flex Test II software which then drives the
actuators.
A standard RPC III Format file consists of the following two parts:
• Header
• Data
2.2.1 Header
The header part contains ASCII format keyword-value pairs, which specify details about
the data, namely its type, the length of data, the number of channels, the time interval
between consecutive data points, the scaling and all other information pertaining to
correct interpretation of the stored data values.
2.2.2 Data
RPC III places the data in time history files in groups, and it divides the groups into
frames. Frame sizes can range from 256 to 16384 data points, while group sizes can
range from 2048 to 16384 data points. This grouping is referred to as demultiplexed
blocks. The data stored is generally in the little Endian binary format, which means that
the low-order byte of the number is stored in the memory at the lowest address.
21
3 Theory
3.1 Generating White Noise Drive File
White noise is a signal having a frequency spectrum that is continuous and uniform over
the entire frequency range. A band limited white noise signal has a continuous and
uniform frequency spectrum over the specified frequency band. For a detailed
mathematical understanding of white noise, refer [14].
A white noise signal can be generated by using a random number generator, and applying
a bandpass filter to the generated signal that specifies the allowable frequency content of
the signal, and filters out the rest.
3.1.1 White Noise Parameters
For the MTS 320 Road simulator, the input drive file contains a series of voltage levels
that drive the hydraulic actuators. While generating white noise, the Matlab ‘randn’
function is used to generate a white noise signal. A ‘bandpass’ filter, [Appendix B.3] is
applied to it, which allows all frequencies lying within the specified frequency band, and
filters out the rest. The signal is then scaled to the specified amplitude, and the
corresponding voltage levels are stored in an RPC III .DRV file. Typical parameters for a
white noise signal would be:
Parameter Units Sample Value Allowable Values
Amplitude inch 0.1 0-3 inch
Lower Frequency Hz 0 ≥ 0 Hz
Upper Frequency Hz 60 ≤ 80 Hz
Offset inch 0 0-3 inch
22
3.2 Developing System Matrices
The system is characterized by the Frequency Response Function (FRF). The inverse of
the FRF serves as the inverse system model used for the simulation. The FRF is a
frequency by frequency relationship between the output response and the input force. For
the current simulation process, the FRF relates the measured acceleration response to the
input voltage signal, in the frequency domain. The data stored by the data acquisition
system is raw time domain data. This data has to be processed before performing a
Fourier transform to convert it to the frequency domain. This is a necessary step, and
failure to do so would result in substantial errors in the estimate of the FRF. The Fast
Fourier Transform (FFT) is used for the time-frequency conversion of the data. Certain
requirements have to be satisfied by the time domain data in order to obtain valid results
after using the FFT. They are as follows:
• The time signal should be a totally observed transient, with respect to the time
period of observation OR
• The signal must be composed only of harmonics of the time period of observation
Bias errors (leakage) will result in the frequency domain, if one of these conditions is not
achieved. A complete description of the bias errors and ways to minimize them can be
found in many texts [1-2]. The following data processing techniques try to minimize
leakage errors in the frequency domain estimates by assuring that the input and output
time histories satisfy at least one of the above conditions.
23
3.2.1 Data Processing
3.2.1.1 Block Size
The block size [1] determines the number of spectral lines in the baseband measurement.
Increasing the block size gives a finer frequency resolution, consequently resulting in a
reduction of the errors during the Fourier transformation of data to the frequency domain.
However, a larger number of spectral lines increases both the observation time and the
signal processing time and a compromise has to be reached. Generally, for road
simulation, 512 to 1024 lines should provide sufficient accuracy without compromising
the speed of calculations.
3.2.1.2 Window functions
Weighting functions [1], or windows, are commonly used with time data, to ensure that
the time signal appears as a totally observed transient before being processed by the FFT.
Although the use of windows generally gives good results, there may be other methods of
ensuring the observability of the signal, which may lead to superior results, and these
should be looked into first.
24
The popular Hanning window and its effect on raw time domain random data is shown
below.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
0.2
0.4
0.6
0.8
1Hanning Window
Am
plitu
de
Time (s)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.1
-0.05
0
0.05
0.1Raw Time Data
Am
plitu
de
Time (s)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.1
-0.05
0
0.05
0.1
Time (s)
Windowed Time Data
Am
plitu
de
Figure 5 : Hanning Window and its effect
25
3.2.1.3 Cyclic Signal Averaging
Cyclic signal averaging [1], [9], and [14] is a special case of linear averaging, with the
added constraint that the digitization is coherent between averages. The exact time
between each average is used to enhance the signal averaging process. The cyclic
averaging process acts as a comb filter, with the teeth spaced at frequency increments that
are integer multiples of the ∆f = 1/T relationship. Thus it enhances the frequencies that
are integer multiples of ∆f and averages out the others. The cyclic averaged signal is
better suited for the FFT operation and yields good results.
26
The following flowchart should clarify the cyclic averaging process
aver ata
Figure 10
Asynchronous averaging of the Cyclic aged blocks to get final averaged time d
Transform to frequency domain by employing the FFT
algorithm
Figure 7
Figure 10
Figure 9
Figure 8
No Yes
Select next block, with or
without overlap, of
length (Nc*bs)
Any more data blocks?
Perform Nc cyclic averages to get one Cyclic averaged block
of time T
Apply Hanning Window to the block
Select first block of data of length (Nc*bs)
Number of Cyclic Averages (Nc)
Block Size (bs)
Raw Time Domain data
Figure 6 : Flowchart - Cyclic Averaging Process
27
The following series of figures represents the cyclic averaging process, with frequency
domain asynchronous averaging.
Parameter Value
White Noise Signal Amplitude 0.1 units
White Noise Signal Frequency Range 5-204.8 Hz
Sampling Frequency (Fs) 512 Hz
Block Size (bs) 512
Number of Cyclic Averages (Nc) 5
Percentage Overlap of Time signal 0 %
Number of Asynchronous Averages (Na) 2
Raw Time Data
0 1 2 3 4 5 6 7 8 9 10-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1Raw Time Data
Time (s)
Am
plitu
de
Figure 7 : Raw Time Domain Data
28
Windowed Time Data (no overlap between data sets)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.1
0
0.1Raw Time Data
Am
plitu
de
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.1
0
0.1Windowed Time Data with 0% Overlap between Records
Am
plitu
de
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-0.1
0
0.1
Am
plitu
de
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9-0.1
0
0.1
Am
plitu
de
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9-0.1
0
0.1
Am
plitu
de
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9-0.1
0
0.1
Am
plitu
de
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9-0.1
0
0.1
Am
plitu
de
Time (s)
5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10-0.1
0
0.1Raw Time Data
Am
plitu
de
5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10-0.1
0
0.1Windowed Time Data with 0% Overlap between Records
Am
plitu
de
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9-0.1
0
0.1
Am
plitu
de
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9-0.1
0
0.1
Am
plitu
de
7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9-0.1
0
0.1
Am
plitu
de
8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9-0.1
0
0.1
Am
plitu
de
9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10-0.1
0
0.1
Am
plitu
de
Time (s)
Figure 8 : Windowed Time Data – No Overlap
29
Cyclic Averaged Time Data – 2 blocks, each of T = 1 second time duration
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-0.03
-0.02
-0.01
0
0.01
0.02
0.03Time Domain : Cyclic Averaged Data Set # 1
Am
plitu
de
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-0.025
-0.02
-0.015
-0.01
-0.005
0
0.005
0.01
0.015
0.02
0.025Time Domain : Cyclic Averaged Data Set # 2
Am
plitu
de
Time (s)
Figure 9 : Cyclic Averaged Time Signal
Frequency Domain data after Cyclic Averaging and Asynchronous Averaging
-300 -200 -100 0 100 200 30010-8
10-6
10-4
10-2
100
102Frequency Domain: Cyclic Averaged Data Set # 1
Am
plitu
de
-300 -200 -100 0 100 200 30010-8
10-6
10-4
10-2
100
102Frequency Domain: Cyclic Averaged Data Set # 2
Am
plitu
de
-300 -200 -100 0 100 200 30010-10
10-8
10-6
10-4
10-2
100Data After 2 Asynchronous Averages
Am
plitu
de
Frequency (Hz)
Figure 10 : Frequency Domain Signal after Cyclic and Asynchronous Averaging
30
The following series of figures represents the cyclic averaging process followed by
asynchronous averaging of a raw time signal for the following parameters
Parameter Value
White Noise Signal Amplitude 0.1 units
White Noise Signal Frequency Range 5-204.8 Hz
Sampling Frequency (Fs) 512 Hz
Block Size (bs) 512
Number of Cyclic Averages (Nc) 5
Percentage Overlap of Time signal 50 %
Number of Asynchronous Averages (Na) 2
Raw Time Data
0 1 2 3 4 5 6 7-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1Raw Time Data
Time (s)
Am
plitu
de
Figure 11 : Raw Time Domain Data
31
Windowed Time Data (50% overlap)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.1
0
0.1Raw Time Data
Am
plitu
de
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.1
0
0.1Windowed Time Data with 50% Overlap between Records
Am
plitu
de
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-0.1
0
0.1
Am
plitu
de
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9-0.1
0
0.1
Am
plitu
de
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9-0.1
0
0.1
Am
plitu
de
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9-0.1
0
0.1
Am
plitu
de
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9-0.1
0
0.1
Am
plitu
de
Time (s)
2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5-0.1
0
0.1Raw Time Data
Am
plitu
de
2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5-0.1
0
0.1Windowed Time Data with 50% Overlap between Records
Am
plitu
de
2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4-0.1
0
0.1
Am
plitu
de
3.6 3.7 3.8 3.9 4 4.1 4.2 4.3 4.4-0.1
0
0.1
Am
plitu
de
4.6 4.7 4.8 4.9 5 5.1 5.2 5.3 5.4-0.1
0
0.1
Am
plitu
de
5.6 5.7 5.8 5.9 6 6.1 6.2 6.3 6.4-0.1
0
0.1
Am
plitu
de
6.6 6.7 6.8 6.9 7 7.1 7.2 7.3 7.4 7.5-0.1
0
0.1
Am
plitu
de
Time (s)
Figure 12 : Windowed Time Data – 50% Overlap of Time Signal between
averages
32
Cyclic Averaged Time Signal – 2 blocks, each of T = 1 second time duration
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-0.03
-0.02
-0.01
0
0.01
0.02
0.03Time Domain : Cyclic Averaged Data Set # 1
Am
plitu
de
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-0.025
-0.02
-0.015
-0.01
-0.005
0
0.005
0.01
0.015
0.02
0.025Time Domain : Cyclic Averaged Data Set # 2
Am
plitu
de
Time (s)
Figure 13 : Cyclic Averaged Time Signal
Frequency Domain data after Cyclic Averaging and Asynchronous Averaging
-300 -200 -100 0 100 200 30010-8
10-6
10-4
10-2
100
102Frequency Domain: Cyclic Averaged Data Set # 1
Am
plitu
de
-300 -200 -100 0 100 200 30010-8
10-6
10-4
10-2
100
102Frequency Domain: Cyclic Averaged Data Set # 2
Am
plitu
de
-300 -200 -100 0 100 200 30010-8
10-6
10-4
10-2
100Data After 2 Asynchronous Averages
Am
plitu
de
Frequency (Hz)
Figure 14 : Frequency Domain Signal after Cyclic and Asynchronous Averaging
33
3.2.2 FRF Estimation Algorithms
Frequency response functions [1,2,8] can be estimated by using various models which
assume the location of noise in the measurement and try to minimize it. The H1 algorithm
assumes that all the noise exists at the output, and that there is no input noise. The H2
algorithm assumes that all the noise is on the input signal, with no noise on the output
signal. In the case considered here, the drive signals are completely known, and therefore
it is safe to assume that there is no noise on the inputs. Any noise would have to be
present on the measured outputs, and hence the H1 algorithm is preferred here.
No Input Noise (H1(ω)) Model [8]
F
H V
N X
F = Noise Free Input Spectrum V = Noise Free Output Spectrum N = Output Noise Spectrum X = Output Spectrum H = System Matrix
Figure 15 : No Input Noise FRF Model: H1(ω) Algorithm
34
The assumptions made while deriving this system model are as follows:
• There is no input noise
• Output noise does not correlate with the system input
The response can be written as follows:
{ } [ ] { } { } 11 )()()()( ××× += NoNiNN NFHXio
ωωωω
Post multiplying both sides by : { }HF )(ω
[ ] [ ] [ ] [ ] NiNoNFNiNiFFNiNoNiNoXF GGHG ×××× += )()()()( ωωωω
where the Power Spectra are as follows:
• [ ] NiNoXFG ×)(ω : Cross Power Spectrum of the Input F and the Output X
• [ ] NiNiFFG ×)(ω : Auto Power Spectrum of the Input F
• [ ] NiNoNFG ×)(ω : Cross Power Spectrum of the Input F and the Noise N
There exists no correlation between the noise N and the input F, so [ ])(ωNFG equals zero.
The equation therefore reduces to:
[ ] [ ] [ ] NiNiFFNiNoNiNoXF GHG ××× = )()()( ωωω
Or
[ ] [ ] NiNiFFNiNoXFNiNo
GGH ×−
××
∧
=
1
1 )()()( ωωω
This is the mathematical form of the [H1(ω)] FRF estimate
Normally, the existence of the matrix inverse [ ] 1)( −ωFFG would be a cause for concern,
when the input forces are obtained through measurement. Any correlation of the input
forces would cause the input power spectral matrix to be singular, and its inverse would
35
not exist. However, in the simulation algorithm, the input force spectrum consists of
generated input voltages and not measured input forces. Since the input voltage signals
have been generated in such a way that they are independent of each other, the question
of their correlation and the subsequent singularity of the power spectral matrix does not
arise. The [ can be calculated by simply inverting the diagonal elements. This
would generally hold if a sufficient number of averages are carried out. The off-diagonal
terms then reduce to several orders of magnitude as compared to the diagonal terms, and
may be ignored. This is currently not being done in the developed code. The off-diagonal
terms are being used in the simulation.
] 1)( −ωFFG
The FRF is calculated over the frequency range between the specified lower and upper
frequency limits, and while inverting the matrix, only this frequency range of interest is
used. Although the calculated FRFs are currently being used, it may be desirable to use
some kind of smoothing of the FRFs before performing the inversion. Also note that the
FRFs may not always be plotted to the same scale, and the diagonal elements are
generally prominent.
36
A sample FRF for a 4 input 4 output case is shown here
10 20 30 40 50 60
101
Output: 1 Input: 1
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60100
101
Output: 1 Input: 2
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-1
100
101
Output: 1 Input: 3
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-1
100
101
Output: 1 Input: 4
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
100
101
Output: 2 Input: 1
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
101
Output: 2 Input: 2
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-1
100
101
Output: 2 Input: 3
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 6010-1
100
101
Output: 2 Input: 4
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-1
100
101
Output: 3 Input: 1
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-1
100
101
Output: 3 Input: 2
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
101
Output: 3 Input: 3
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
100
101
Output: 3 Input: 4
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-1
100
101
Output: 4 Input: 1
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
100
101
Output: 4 Input: 2
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-1
100
101
Output: 4 Input: 3
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
101
Output: 4 Input: 4
Frequency (Hz)
Am
plitu
de
System Matrix (H)
Figure 16 : Plot of H1(ω) FRF Estimate
37
3.2.3 Ordinary Coherence Function
Ordinary coherence function [8] is defined as the measure of the linear relationship
between two signals with the presence of other signals. Considering the ith output and the
jth input:
),(),(),( 2
2
iiGjjGjiG
XXFF
XFij =γ
If the value of coherence is one, the signals are completely related. Ordinary coherence
functions are generally used only for a single input single output configuration, due to the
obvious fact that for a multiple input configuration, the ordinary coherence, by definition,
would be less than unity. The multiple coherence function is used in that case to
determine the linear nature of the response relating to all measured inputs.
3.2.4 Multiple Coherence Function
Multiple coherence function [8] describes the linear relationship between one output
signal and all known input signals. It is defined as the ratio between the following two
power spectra:
• Cross power spectra between the output and all known inputs
• Auto power spectrum of the output
Considering the ith output and the jth input:
ii
ji
iXX
Ni
jFXij
FX G
GH∑== 12γ
(Where, the Hij term is determined by the H1 algorithm derived before).
If the multiple coherence value is unity, then the response is entirely due to all the input
forces to the system. If the multiple coherence value drops below unity, it means that the
38
response is not entirely due to the system input forces, and additional unmeasured sources
of excitation may be present, or the system response may be non-linear.
The Plot of the Multiple Coherence is shown below.
5 10 15 20 25 30 35 40 45 50 55 600
0.2
0.4
0.6
0.8
Output: 1
Frequency (Hz)
Am
plitu
de
5 10 15 20 25 30 35 40 45 50 55 600
0.2
0.4
0.6
0.8
Output: 2
Frequency (Hz)
Am
plitu
de
5 10 15 20 25 30 35 40 45 50 55 600
0.2
0.4
0.6
0.8
Output: 3
Frequency (Hz)
Am
plitu
de
5 10 15 20 25 30 35 40 45 50 55 600
0.2
0.4
0.6
0.8
Output: 4
Frequency (Hz)
Am
plitu
de
Multiple Coherence
Figure 17 : Plot of Multiple Coherence
39
3.2.5 Inverse System Model
The inverse of the FRF matrix serves as the Inverse System Model. The FRF is a linear
estimate of the system; hence it underestimates the response caused by an input force. For
a linear system, increasing the input signal amplitude would result in an increase in the
output signal amplitude which is a constant factor times the input signal level. The output
to input relation thus follows a straight line relationship and is therefore linear. For a non
linear system, this is not true. The output signal amplitude would increase by a factor
which is dependant on the input signal amplitude. For example, assuming a cubic
relationship between the output and input signals, increasing the input amplitude by a
factor k would cause the output amplitude to increase by a factor of k3. For a linear
system, however, the output would be k times the input. Assuming a linear system model
for a non linear system would mean that the calculated input signal estimated to cause a
desired response would be 1/k times, instead of 1/k3 times, the desired response. It is
clear that this would cause an error in the estimate of the required input signals, with the
estimated input signal being a lot higher that the one actually required for a particular
response signal. Similarly, the inverse of the FRF results in an overestimate of the input
signal required to get a particular desired response. The estimated input signals have to be
multiplied by a scaling factor between 0 and 1 to determine the actual signal that should
be applied to the actuator to get the desired response. It is advisable to look at the
calculated estimate of the input signal amplitude before sending it out to the system as a
precautionary measure.
40
The plot of the Inverse System Model is shown below
10 20 30 40 50 60
10-1
Output: 1 Input: 1
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-2
10-1
Output: 1 Input: 2
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-2
10-1
Output: 1 Input: 3
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 6010-3
10-2
10-1
Output: 1 Input: 4
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-2
10-1
Output: 2 Input: 1
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-1
Output: 2 Input: 2
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-3
10-2
10-1
Output: 2 Input: 3
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-3
10-2
10-1
Output: 2 Input: 4
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-3
10-2
10-1
Output: 3 Input: 1
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 6010-3
10-2
10-1
Output: 3 Input: 2
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-1
Output: 3 Input: 3
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
Output: 3 Input: 4
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-3
10-2
10-1
Output: 4 Input: 1
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 6010-3
10-2
10-1
Output: 4 Input: 2
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-2
10-1
Output: 4 Input: 3
Frequency (Hz)
Am
plitu
de
10 20 30 40 50 60
10-1
Output: 4 Input: 4
Frequency (Hz)
Am
plitu
de
Inverse System Matrix (invH)
Figure 18 : Plot of Inverse System Model
41
3.3 Desired Responses
3.3.1 Time Domain
Time domain desired responses are in the form of acceleration values at various times,
for each measurement location. The responses may be those measured during an actual
road test performed on the vehicle.
3.3.2 Frequency Domain
Frequency domain desired responses are in the form of output auto power spectra. They
may be power spectra measured during an actual road test or custom generated by the test
engineer, by describing the desired profile of the spectra in the frequency domain.
3.4 Convolution with Overlap Adding
The procedure used for estimating the forces required to obtain a desired response is a
convolution of the inverse system model and the desired response, with overlap adding
[4]. The procedure is explained as follows. It can be divided into two stages:
3.4.1 Estimate Inverse FRF
• Invert the element to time domain
• Perform a half frame circular shift
• Add a frame of zeros at the end (zero pad)
• Transform back to frequency domain
42
3.4.2 Convolution with overlap adding
• Take first frame of desired response time history for all channels and add a frame
of zeros to it
• Fourier transform it to the frequency domain
• {F(ω)} = [H(ω)]-1*{X(ω)} gives 2 frames of Force data
• Invert the calculated force to time domain. If the original time signal was from 0
to T, the calculated signal will be from –T/2 to 3T/2
• Repeat for next time frame of desired response. This will yield a force signal for
the time T/2 to 5T/2, which overlaps the previously calculated signal in the region
T/2 to 3T/2, and has to be added to it in that region
• Continue till the desired response time history is exhausted.
The above procedure is performed by the ‘convOver’ [B.2] Matlab function. For details
refer to the Appendix. The following flowcharts and figures explain the procedure.
43
Preparing System Matrices for Convolution
Figure 23
Figure 22
Figure 21
Store Modified System Matrix (FRF) [H(ω)]
Perform FFT to obtain modified FRFs for each
element
Add a Frame of Zeros at the end (Zero Padding)
Perform a Half Frame Circular
Shift
Perform Inverse FFT to obtain time domain
Impulse Responses for each element
System Matrix (FRF)
Figure 19 : Flowchart - Modifying System Matrix for Convolution
44
Convolution with Overlap Adding
Figure 34
Figure 27
Figure 26
Figure 35
Yes
Figure 28
Figure 25
Figure 24
Perform time Overlap Addition of Drive Signals
Write out Drive Signals
Any more Frames?
No
Inverse FFT to Time domain to get 2 Frames of Time Data (-T/2 to 3T/2)
{F(ω)} = [H(ω)]-1*{X(ω)}gives 2 Frames of Drive
Signal Data in Frequency Domain
Perform FFT to get Frequency Domain Data
{X(ω)}
Add a Frame of Zeros at the end (Zero Padding)
Select first Data Frame for all Channels (0 to T)
Select Desired Response
Figure 20 : Flowchart - Convolution with Overlap Adding
45
Original Impulse Responses
0 1 2 3 4 5-0.05
0
0.05Output: 1 Input: 1
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 1 Input: 2
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 1 Input: 3
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 1 Input: 4
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 2 Input: 1
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 2 Input: 2
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 2 Input: 3
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 2 Input: 4
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 3 Input: 1
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 3 Input: 2
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 3 Input: 3
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 3 Input: 4
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 4 Input: 1
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 4 Input: 2
Time (s)
Am
plitu
de
0 1 2 3 4 5-0.05
0
0.05Output: 4 Input: 3
Time (s)A
mpl
itude
0 1 2 3 4 5-0.05
0
0.05Output: 4 Input: 4
Time (s)
Am
plitu
de
Impulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response FunctionImpulse Response Function
Figure 21 : Impulse Responses obtained from System FRFs
Impulse Responses with half frame circular shifting and zero padding
0 2 4 6 8 10-0.05
0
0.05Output: 1 Input: 1
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 1 Input: 2
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 1 Input: 3
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 1 Input: 4
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 2 Input: 1
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 2 Input: 2
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 2 Input: 3
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 2 Input: 4
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 3 Input: 1
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 3 Input: 2
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 3 Input: 3
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 3 Input: 4
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 4 Input: 1
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 4 Input: 2
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 4 Input: 3
Time (s)
Am
plitu
de
0 2 4 6 8 10-0.05
0
0.05Output: 4 Input: 4
Time (s)
Am
plitu
de
Impulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero PaddingImpulse Response Function With Half Circular Shift and Zero Padding
Figure 22 : Impulse Responses with Half Frame Circular Shift and Zero Padding
46
FRFs obtained after FFT operation on modified impulse responses
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 1 Input: 1
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 1 Input: 2
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 1 Input: 3
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 1 Input: 4
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 2 Input: 1
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 2 Input: 2
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 2 Input: 3
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 2 Input: 4
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 3 Input: 1
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 3 Input: 2
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 3 Input: 3
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 3 Input: 4
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 4 Input: 1
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 4 Input: 2
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 4 Input: 3
Frequency (Hz)
Am
plitu
de
-60 -40 -20 0 20 40 6010-2
10-1
100Output: 4 Input: 4
Frequency (Hz)
Am
plitu
de
Modified Frequency Response FunctionModified Frequency Response FunctionModified Frequency Response FunctionModified Frequency Response Function
Figure 23 : Modified FRFs
Single frame of Desired Response signals
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-3
-2
-1
0
1
2
3Output: 1
Time (s)
Am
plitu
de
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-3
-2
-1
0
1
2
3Output: 2
Time (s)
Am
plitu
de
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-3
-2
-1
0
1
2
3Output: 3
Time (s)
Am
plitu
de
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-3
-2
-1
0
1
2
3Output: 4
Time (s)
Am
plitu
de
Desired Response - Single FrameDesired Response - Single FrameDesired Response - Single FrameDesired Response - Single Frame
Figure 24 : Desired Responses – single frame of data
47
Single Frame of Desired Response with Zero Padding
0 1 2 3 4 5 6 7 8 9 10-3
-2
-1
0
1
2
3Output: 1
Time (s)
Am
plitu
de
0 1 2 3 4 5 6 7 8 9 10-3
-2
-1
0
1
2
3Output: 2
Time (s)
Am
plitu
de
0 1 2 3 4 5 6 7 8 9 10-3
-2
-1
0
1
2
3Output: 3
Time (s)
Am
plitu
de
0 1 2 3 4 5 6 7 8 9 10-3
-2
-1
0
1
2
3Output: 4
Time (s)
Am
plitu
de
Desired Response With Zero PaddingDesired Response With Zero PaddingDesired Response With Zero PaddingDesired Response With Zero Padding
Figure 25 : Desired Responses – single frame with zero padding
Desired Response in Frequency Domain
5 10 15 20 25 30 35 40 45 50 55
100
101
Channel 1
Frequency
Am
plitu
de
5 10 15 20 25 30 35 40 45 50 55
10-1
100
101
Channel 2
Frequency
Am
plitu
de
5 10 15 20 25 30 35 40 45 50 55
10-1
100
101
Channel 3
Frequency
Am
plitu
de
5 10 15 20 25 30 35 40 45 50 55
10-1
100
101
Channel 4
Frequency
Am
plitu
de
Desired Response - Frequency Domain
Figure 26 : Desired Responses – Frequency Domain
48
Estimated Input Signal in Frequency Domain
5 10 15 20 25 30 35 40 45 50 55
10-10
100Channel 1
Frequency
Am
plitu
de
5 10 15 20 25 30 35 40 45 50 55
10-10
100Channel 2
Frequency
Am
plitu
de
5 10 15 20 25 30 35 40 45 50 55
10-10
100Channel 3
Frequency
Am
plitu
de
5 10 15 20 25 30 35 40 45 50 55
10-10
100Channel 4
Frequency
Am
plitu
de
Estimated Input signal -Frequency Domain
Figure 27 : Estimated Input Signals – Frequency Domain
Estimated Input Signals – Time Domain
-2 -1 0 1 2 3 4 5 6 7-0.1
-0.05
0
0.05
0.1Channel 1
Time
Am
plitu
de
-2 -1 0 1 2 3 4 5 6 7-0.1
-0.05
0
0.05
0.1Channel 2
Time
Am
plitu
de
-2 -1 0 1 2 3 4 5 6 7-0.1
-0.05
0
0.05
0.1Channel 3
Time
Am
plitu
de
-2 -1 0 1 2 3 4 5 6 7-0.1
-0.05
0
0.05
0.1Channel 4
Time
Am
plitu
de
Estimated Input Signals -Time Domain
Figure 28 : Estimated Input Signals – Time Domain
49
Thus each frame of the Desired Response signal yields two frames of Input signals as
shown below. Each subsequent calculated Input signal is added with the previous signal,
taking into consideration the overlap in the time domain, to obtain the final Input signal.
The process is shown for five frames (one frame = 1024 points) of 4-channel data.
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 1
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 2
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 3
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 4
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 5
Convolution - Channel 1
Figure 29 : Convolution Results for 5 Data Frames for Channel 1
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 1
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 2
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 3
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 4
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 5
Convolution - Channel 2
Figure 30 : Convolution Results for 5 Data Frames for Channel 2
50
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 1
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
deFrame 2
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 3
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 4
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 5
Convolution - Channel 3
Figure 31 : Convolution Results for 5 Data Frames for Channel 3
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 1
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 2
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 3
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 4
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Frame 5
Convolution - Channel 4
Figure 32 : Convolution Results for 5 Data Frames for Channel 4
51
The same signals are shown below, for 12 frames of 4 channel data, with the overlap
between successively calculated signals clearly visible.
0 10 20 30 40 50 60-0.1
-0.05
0
0.05
0.1Channel 1
Time
Am
plitu
de
0 10 20 30 40 50 60-0.1
-0.05
0
0.05
0.1Channel 2
Time
Am
plitu
de
0 10 20 30 40 50 60-0.1
-0.05
0
0.05
0.1Channel 3
Time
Am
plitu
de
0 10 20 30 40 50 60-0.1
-0.05
0
0.05
0.1Channel 4
Time
Am
plitu
deConvolution Results
Figure 33 : Convolution Results
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Channel 1
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Channel 2
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Channel 3
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Channel 4
Time Signal After Overlap AdditionTime Signal After Overlap AdditionTime Signal After Overlap AdditionTime Signal After Overlap Addition
Figure 34 : Calculated Input Signals after Overlap Addition of Convolved Time
Signals shown for all 4 Channels
52
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Channel 1
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Channel 2
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Channel 3
0 5 10 15 20 25-0.1
-0.05
0
0.05
0.1
Time (s)
Am
plitu
de
Channel 4
Final Time SignalFinal Time SignalFinal Time SignalFinal Time Signal
Figure 35 : Input Signals after Ignoring First and Last Half Frames
(Note: Since the Desired response Signal goes from 0 to 60 seconds, only the input signal
corresponding to that time period is required, and the rest can be ignored.)
53
4 Test Setup
For all the tests conducted, four response measurements were made, corresponding to the
four inputs to the vehicle at the wheels. The accelerometers used were PCB Model 308
B02. Specifications of the accelerometer are as follows:
Type: High Sensitivity ICP Accelerometer
Parameter Value
Mass 65 g
Sensitivity 1V/g
Frequency Range 2.5 – 3000 Hz
Connector Type Side 10-32 Connector
Seal Type Hermetically Sealed
Mounting Type 10-32 mount
54
4.1 Wheel Input with Collocated Output
The output locations are collocated with respect to the inputs. The accelerometers
measuring the acceleration response are located on the wheel axles. The following image
shows the collocated sensor location for the right rear wheel. The dot indicates the
location of the sensor, oriented vertically. Since the input signal is applied at the wheel
patch, the sensor is technically non-collocated with respect to the input. The axle/spindle
is where motion is normally measured in operation, and hence the location of the
response sensor on the axle/spindle is as close to the collocated configuration as
practically possible, and was used.
Figure 36 : Accelerometer location for Collocated Configuration
55
4.2 Wheel Input with Non-collocated Output
The output locations are not collocated with respect to the inputs in this example. The
accelerometers measuring the acceleration response are located on the vehicle
body/chassis, oriented vertically. In this case, the additional dynamics of the suspension
system and the non collocated configuration are expected to play a part in the systems
response to the input force. The coherence may not be very good for such a case, and it
may not be possible to simulate such configurations using existing methods. The
following image shows the Non-collocated measurement location for the right rear wheel.
The dot indicates the location of the accelerometer.
Figure 37 : Accelerometer location for Non-Collocated Configuration
56
5 Results
5.1 Collocated
5.1.1 Time Domain Desired Response
The time domain desired response may be obtained in different ways. They are as
follows:
• Time domain acceleration response measured during an actual road test
performed on the vehicle
• Acceleration response measured for user generated drive signals, created by using
the time history generator (.DRV File Creator)
For some cases, the easiest way to obtain a desired response may be to put accelerometers
at the chosen measurement locations and to actually drive the vehicle on a test track,
while measuring the response. The measured acceleration would serve as the desired
response signal. However, if it is not practicable to locate sensors on a vehicle during an
actual road test, the user may generate response measurements to custom drive signals
and treat them as the desired response signals. The .DRV File Creator GUI enables the
creation of a wide variety of drive signals for each of the four input channels. The test
vehicles response to these drive signals can then be used as the desired response signal
for the simulation.
Since actual test data were not available for the vehicle being tested (the vehicle is not
operational), the desired responses used for the simulation were response signals
measured for the vehicle in response to randomly generated drive signals for each of the
four wheels.
57
Desired Response Parameters:
For the configuration with outputs collocated with respect to the inputs, the following
parameters were used to generate the drive signals:
Parameter Value
Amplitude (in) 0.1 (for each channel)
Frequency Range (Hz) 5 – 50
Time (s) 60
Signal Type Random (band limited between 5-50 Hz)
The parameters were chosen so as to be representative of an actual road test, where the
vehicle would be driven on a highway. The road surface irregularities on a highway
would not generally be more than 0.1 inch, and for a vehicle doing around 60 mph, the
maximum frequency of the input signal would not generally exceed 50 Hz. Time
response of one minute (60 s) was chosen to reduce the test time required for each
iteration, thus enabling a wider variety of tests to be carried out.
The simulation converges, and is stopped after 5 iterations. The results for the standard
deviation of the error signal are tabulated for the iterations, along with plots for the
measured responses and calculated errors for the initial and final drive signals.
Iteration Channel 1 Channel 2 Channel 3 Channel 4 Initial Estimate 0.1567 0.1366 0.1454 0.1492
1 0.0894 0.0895 0.0813 0.0845 2 0.0612 0.0557 0.0525 0.0562 3 0.0427 0.0391 0.0371 0.0386 4 0.0352 0.0337 0.0298 0.0313 5 0.0304 0.0299 0.0254 0.0262
58
0 1 2 3 4 50
0.05
0.1
0.15
0.2Channel 1
0 1 2 3 4 50
0.05
0.1
0.15
0.2Channel 2
0 1 2 3 4 50
0.05
0.1
0.15
0.2Channel 3
0 1 2 3 4 5 0
0.05
0.1
0.15
0.2
Am
plitu
de --
------
>
Iteration Number -------->
Channel 4
Standard Deviation of the Error
Figure 38 : Variation of Standard Deviation of Error with subsequent Iterations
59
Response Measured for Initial Estimate of Drive Signal
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 1
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 2
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 3
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 4
Time (s) -------->
Am
plitu
des
(V) -
------
->
MeasuredDesired
MeasuredDesired
MeasuredDesired
MeasuredDesired
Desired vs Measured Responses - Initial Estimate
Figure 39 : Measured Response – Collocated Configuration: Initial Estimate
60
Response Measured for Final Estimate of Drive Signal
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 1
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 2
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 3
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 4
Time (s) -------->
Am
plitu
des
(V) -
------
->
MeasuredDesired
MeasuredDesired
MeasuredDesired
MeasuredDesired
Measured vs Desired Responses - Iteration 5
Figure 40 : Measured Response – Collocated Configuration: Iteration 5
61
Error between Measured Response and Desired Response
Initial Drive
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 1
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 2
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 3
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 4
Am
plitu
des
(V) -
------
->
Time (s) -------->
Error - Initial Estimate
Figure 41 : Collocated – Initial Error
62
Error between Measured Response and Desired Response
Final Drive
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 1
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 2
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 3
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 4
Time (s) -------->
Am
plitu
des
(V) -
------
->
Error - Iteration 5
Figure 42 : Collocated – Final error
63
5.1.2 Frequency Domain Desired Response
Time domain desired response may not always be readily available. However, the desired
response may be available in the form of frequency domain power spectra, and it may be
required that these particular power spectra need to be recreated at the measurement
locations. Alternately, the test engineer may want to obtain certain predefined power
spectral profiles at the measurement locations, and may want to define these desired
spectra as the desired responses. The Road Simulator GUI enables such an input, where
the user can draw the desired power spectral profiles in the frequency domain. The
required profile is then convolved with a band limited random signal of unit amplitude,
over the desired test time period, to obtain the acceleration response signals for the
measurement locations, so that this desired response in the time domain has the required
profile in the frequency domain. This generated signal is subsequently used for
simulation.
Desired Response Parameters:
The following parameters were used while generating the desired response signals in the
frequency domain:
Parameter Value
Maximum Power Spectral Amplitude 104 (for each channel)
Frequency Range (Hz) 10 – 50
Time (s) 60
Signal Type Desired Power Spectra
64
The desired power spectral profiles for the four channels are as shown below. These are
convolved with random signals with unit amplitudes, to obtain the modified desired
responses, against which the simulation is carried out.
10 15 20 25 30 35 40 45 50102
103
104
105Channel 1
10 15 20 25 30 35 40 45 50102
103
104
105Channel 2
10 15 20 25 30 35 40 45 50102
103
104
105Channel 3
10 15 20 25 30 35 40 45 50102
103
104
105Channel 4
Frequency (w) -------->
Am
plitu
des
------
-->
Desired Power Spectra
Figure 43 : Desired Power Spectral Profile
65
The following figure shows the random signal with unit amplitude
0 10 20 30 40 50 60-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Am
plitu
de --
------
>
Time (s) -------->
Random Signal with Unit Amplitude
Figure 44 : Random Signal with Unit Amplitude
66
Convolution of the desired frequency spectra with the random signal gives the modified
desired power spectra as shown. The targeted frequency range is between 10 and 50 Hz.
Although there seems to be some difference between the desired profile and the actual
profile, it is expected that with a larger number of averages, the two profiles will match to
a large extent.
5 10 15 20 25 30 35 40 45 50 55
100
Channel : 1
Am
plitu
de --
------
> 5 10 15 20 25 30 35 40 45 50 55
100
Channel : 2
5 10 15 20 25 30 35 40 45 50 55
100
Channel : 3
5 10 15 20 25 30 35 40 45 50 55
100
Channel : 4
Frequency (Hz) -------->
Simulation ResponseDesired Response
Simulation ResponseDesired Response
Simulation ResponseDesired Response
Simulation ResponseDesired Response
Response used for Simulation compared with Actual Desired Response
Figure 45 : Modified Desired Response Spectra
67
The simulation converges, and is stopped after 5 iterations. The results for the standard
deviation of the error signal are tabulated for the iterations, along with plots for the
measured responses and calculated errors for the initial and final drive signals.
Iteration Channel 1 Channel 2 Channel 3 Channel 4 Initial Estimate 0.3451 0.2592 0.3557 0.3271
1 0.2019 0.1541 0.1909 0.2226 2 0.1466 0.1187 0.1459 0.1547 3 0.1050 0.0867 0.1059 0.1094 4 0.0972 0.0841 0.0867 0.1116 5 0.0842 0.0813 0.0952 0.0935
0 1 2 3 4 50
0.1
0.2
0.3
0.4Channel 1
0 1 2 3 4 50
0.1
0.2
0.3
0.4Channel 2
0 1 2 3 4 50
0.1
0.2
0.3
0.4Channel 3
0 1 2 3 4 50
0.1
0.2
0.3
0.4Channel 4
Iteration Number -------->
Am
plitu
de --
------
>
Standard Deviation of the Error
Figure 46 : Variation of Standard Deviation of Error with subsequent Iterations
68
Response Measured for Initial Estimate of Drive Signal
5 10 15 20 25 30 35 40 45 50 55
105Channel : 1
Am
plitu
de --
------
>
Measured ResponseDesired Response
5 10 15 20 25 30 35 40 45 50 55
105Channel : 2
Measured ResponseDesired Response
5 10 15 20 25 30 35 40 45 50 55
105Channel : 3
Measured ResponseDesired Response
5 10 15 20 25 30 35 40 45 50 55
105Channel : 4
Frequency (Hz) -------->
Measured ResponseDesired Response
Measured vs Desired Response - Initial Estimate
Figure 47 : Measured Response – Collocated Configuration: Initial Estimate
69
Response Measured for Final Estimate of Drive Signal
5 10 15 20 25 30 35 40 45 50 55
105Channel : 1
Am
plitu
de --
------
>
Measured ResponseDesired Response
5 10 15 20 25 30 35 40 45 50 55
105Channel : 2
Measured ResponseDesired Response
5 10 15 20 25 30 35 40 45 50 55
105Channel : 3
Measured ResponseDesired Response
5 10 15 20 25 30 35 40 45 50 55
105Channel : 4
Frequency (Hz) -------->
Measured ResponseDesired Response
Measured vs Desired Response - Iteration 5
Figure 48 : Measured Response – Collocated Configuration: Iteration 5
70
Error between Measured Response and Desired Response (shown in time domain for
better visualization)
Initial Drive
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 1
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 2
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 3
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 4
Time (s) -------->
Am
plitu
des
------
-->
Error - Initial Estimate
Figure 49 : Collocated – Initial Error
71
Error between Measured Response and Desired Response
Final Drive
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 1
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 2
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 3
0 10 20 30 40 50 60-1
-0.5
0
0.5
1Error - Channel : 4
Time (s) -------->
Am
plitu
des
(V) -
------
->
Error - Iteration 5
Figure 50 : Collocated – Final Error
72
5.2 Non-collocated
5.2.1 Time Domain Desired Response
The considerations while defining the desired time domain response for the non-
collocated configuration are similar to those for the collocated configuration.
Desired Response Parameters:
For the configuration with outputs non-collocated with respect to the inputs, the
following parameters were used in generating the desired time domain responses:
Parameter Value
Amplitude (in) 0.1 (for each channel)
Frequency Range (Hz) 10 – 40
Time (s) 60
Signal Type Random (band limited between 10-40 Hz)
The error between the desired and measured response converges, and the simulation is
stopped after 5 iterations. It is expected that the rate of convergence is slower for the non-
collocated configuration, and more iterations may need to be performed to obtain
satisfactory results.
Iteration Channel 1 Channel 2 Channel 3 Channel 4 Initial Estimate 0.2721 0.2985 0.1446 0.1287
1 0.1952 0.2227 0.1102 0.0912 2 0.1694 0.1954 0.0980 0.0775 3 0.1573 0.1843 0.0928 0.0713 4 0.1524 0.1779 0.0898 0.0681 5 0.1534 0.1772 0.0893 0.0676
73
0 1 2 3 4 5
0.2
0.25
0.3
0.35Channel 1
0 1 2 3 4 5
0.2
0.25
0.3
0.35Channel 2
0 1 2 3 4 50.08
0.1
0.12
0.14
0.16Channel 3
0 1 2 3 4 50.06
0.08
0.1
0.12
0.14
0.16
Iteration Number -------->
Am
plitu
de --
------
>
Channel 4
Standard Deviation of the Error
Figure 51 : Variation of Standard Deviation of Error with subsequent Iterations
74
Response Measured for Initial Estimate of the Drive Signal
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 1
MeasuredDesired
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 2
MeasuredDesired
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 3
MeasuredDesired
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 4
MeasuredDesired
Figure 52 : Measured Response – Non-Collocated Configuration: Initial Estimate
75
Response Measured for Final Estimate of the Drive Signal
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 1
MeasuredDesired
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 2
MeasuredDesired
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 3
MeasuredDesired
0 10 20 30 40 50 60-1
-0.5
0
0.5
1x 104 Response - Channel : 4
MeasuredDesired
Figure 53 : Measured Response – Non-Collocated Configuration: Iteration 5
76
Error between Measured Response and Desired Response
Initial Drive
0 10 20 30 40 50 60-2
-1
0
1
2Error - Channel : 1
0 10 20 30 40 50 60-2
-1
0
1
2Error - Channel : 2
0 10 20 30 40 50 60-2
-1
0
1
2Error - Channel : 3
0 10 20 30 40 50 60-2
-1
0
1
2Error - Channel : 4
Figure 54 : Non-collocated – Initial Error
77
Error between Measured Response and Desired Response
Final Drive
0 10 20 30 40 50 60
-2
-1
0
1
2
Error - Channel : 1
0 10 20 30 40 50 60
-2
-1
0
1
2
Error - Channel : 2
0 10 20 30 40 50 60
-2
-1
0
1
2
Error - Channel : 3
0 10 20 30 40 50 60
-2
-1
0
1
2
Error - Channel : 4
Figure 55 : Non-collocated – Final Error
78
6 Conclusions and Future Work
6.1 Conclusions
It is seen from the results that the simulation algorithm works well for the collocated
case, where the response measurements are made on the vehicle wheel axles. The
measured response rapidly converges to the desired response, and after around 5
iterations, the simulation may be stopped as satisfactory results are obtained. For the non-
collocated configuration, the simulation does converge, but not as rapidly as the previous
case, and a larger number of iterations may be necessary to arrive at a satisfactory result.
As the path between the input and output locations becomes progressively complex, the
number of iterations required rises significantly, and there may be a point beyond which
using the current simulation algorithm becomes unfeasible. An advanced system
modeling technique would be needed to replace the existing linear model, to achieve the
same results with a fewer number of iterations. To summarize the results, the following
conclusions can be drawn:
• The current system works well for the collocated configuration.
• Non collocated configurations require a larger number of iterations to converge
satisfactorily.
• Highly non-collocated or non-linear inputs cannot be simulated.
Using the same algorithm for the non-collocated configuration gives a slower
convergence of the desired and measured responses, and a substantially larger number of
iterations would be required to obtain satisfactory results. The linear estimate of the
system does not take into account the additional system dynamics that come into play for
the non-collocated case, namely the suspension system, and the longer path between the
79
input and the output due to the non-collocated location. As the path between the input
location and the measurement location increases, the number of iterations required to
achieve an accurate solution increases, and there may be a point beyond which the
current algorithm cannot simulate the desired response.
6.2 Future Work
Future research will try to address these issues by developing complex system models
that take into account the additional system dynamics involved along with non-linearities
thus enhancing the capabilities of the simulation techniques currently used.
The Non-linear Input Feedback of the Outputs (NIFO) technique was developed by
Adams and Allemang [10-12] to characterize a general non-linear system. The possibility
of using the NIFO technique to identify and characterize system nonlinearities and the
ability to develop a non-linear system model needs to be researched further. The NIFO
technique is able to identify the non-linearities in the system, but the parameters
characterizing them depend on the type of non-linear model chosen [12]. Tests
conducted indicate that in the non-linear case, different models may be used to describe
the same system and the actual results obtained are highly dependent on the choice of
non-linear model. Of the available models, choosing the one that best describes the
system being analyzed, therefore, becomes a key issue.
80
References
1 Allemang, R.J , Vibrations: Experimental Modal Analysis, University of
Cincinnati, Structural Dynamics Research Lab, 1999,
2 Phillips, Allyn W., Allemang, R.J., An overview of MIMO-FRF
excitation/averaging/processing techniques, 2002
3 MTS Systems Corporation Training Manual, RPC III Operation, v 4.2,
1997
4 MTS Systems Corporation Software Manual : RPC III, v 4.2, Vol. 1, 1996
5 Simulation Techniques: SIMTEST User Guide, v 4.0, 2000
6 Matlab Reference Guide: Creating Graphical User Interfaces, v 6, 2000
7 Matlab Reference Guide: Using Matlab Graphics, v 6, 2002
8 He, Jimin, Fu, Zhi-Fang, Modal Analysis, Butterworth-Heinemann, 2001
9 Phillips, Allyn W., Zucker, Andrew T., Allemang, R.J., Frequency
resolution effects on FRF estimation: Cyclic Averaging vs. Large block
size, Proceedings of the IMAC XVII, Vol. 2, 1999
10 Adams D.E., A spatial approach to nonlinear vibration analysis, 2000
11 Adams, D.E., Allemang, R.J., A new derivation of the Frequency Response
Function Matrix for Vibrating Non-linear Systems, 1999
12 Martel, R., Spottswood, M., Godbole, U., Allemang, R.J., Dahling, T,
Application of a Non-linear Feedback method for determining local
system damage, 2005
13 Zak, Stanislaw, H., Systems and Control, Oxford University Press, 2003
81
14 Taylor, Fred, Mellott, Jon, Hands on Digital Signal Processing, McGraw-
Hill, 1998
15 Kuo, Hui-Hsiung, White Noise Distribution Theory, CRC Press, 1996
82
Appendix A RPC III File Format
The RPC III File Format [3] consists of an ASCII header followed by binary data.
A.1 Header
Keyword Description Possible Values BYPASS_FILTER Turns A/D Filtering ON or
OFF Options: 0 : Uses the filter 1: Does not use the filter
CHANNELS Number of channels in the file
Range of Channels is 1 to 128
DATA_TYPE Type of Data contained in the file
Types: SHORT_INTEGER FLOATING_POINT
DATE Date and Time the file was created
NTFS Date and Time Example : 22-Feb-2000 10:20:11 dd-mmm-yyyy hh:mm:ss
DELTA_T Time interval between consecutive points
Real Number Example: 4.882812E-03 Format : E8.6
DESC.CHAN_n ASCII Description of the specified channel. Repeated for each channel in the file
Maximum number of characters allowed is 96 for RPC III File
FILE_TYPE Type of Data File TIME_HISTORY FORMAT Format in which Data is
stored BINARY_IEEE_LITTLE_END BINARY_IEEE_BIG_END BINARY ASCII
FRAMES Number of frames of data per channel. 1 frame = 5 seconds of data
Range 2 to any integer that is a power of 2, maximum 8192
HALF_FRAMES Specifies whether a half frame is present at the beginning and end of the data, to facilitate mathematical processing
Options 0 : No Half frame added 1: Half Frames added
INT_FULL_SCALE Maximum 16 bit integer value of the data
Default : 32752 ( 216-16)
LOWER_LIMIT.CHAN_n Lower limit for Channel n Any Valid number MAP.CHAN_n Physical Channel to
which logical channel is mapped
Any valid physical channel number
NUM_HEADER_BLOCKS Numbes of 512 character blocks used by the header information
Upto 256 blocks
NUM_PARAMS Total number of parameters Maximum = 1024 (256*4) OPERATION Name of Program that
created file RPC III Software Program or operation
PARENT_k File from which this file Any valid NTFS filename
83
was created PART.CHAN_n First channel assigned to
partition n Any valid integer. Default : 1
PART.NCHAN_n Number of consecutive channels assigned to partition n
Default :Value in keyword CHANNELS
PARTITIONS The number of groups of channels wanted
Range : 1 to 128 partitions Default : 1
PTS_PER_FRAME Number of points per frame of stored data. Must be a power of 2
Options: 256, 512, 1024, 2048 PTS_PER_FRAME ≤ PTS_PER_GROUP
PTS_PER_GROUP Total number of data points in the group
Integer sum of all points
REPEATS Number of times the frame is identically repeated in the file
Typically 1 repeat
SCALE.CHAN_n Value used to multiply the binary 16-bit converter value to find the Engineering Units scale value
Example 10V/32752.0
TIME_TYPE Type of time history 1 DRIVE 2 RESPONSE 3 MULT_DRIVE 4 MULT_RESP 5 CONFIG_DRIVE 6 CONFIG_RESP 7 PEAK_PICK
UNITS.CHAN_n ASCII description of the Engineering Units associated with the channel
Any valid unit. Example “INCH” Maximum 96 characters allowed for RPC III File
UPPER_LIMIT.CHAN_n Upper limit value defined for channel n
Any valid number
84
A.2 Data
Consider 4 channels of data, each channel having 4 frames, i.e. 20 seconds of data. The
data for the four channels is as shown below.
0 2 4 6 8 10 12 14 16 18 20-0.1
-0.05
0
0.05
0.1
Am
p (in
)
Time Data : Channel 1
0 2 4 6 8 10 12 14 16 18 20-0.1
-0.05
0
0.05
0.1
Am
p (in
)
Time Data : Channel 2
0 2 4 6 8 10 12 14 16 18 20-0.1
-0.05
0
0.05
0.1
Am
p (in
)
Time Data : Channel 3
0 2 4 6 8 10 12 14 16 18 20-0.1
-0.05
0
0.05
0.1Time Data : Channel 4
Am
p (in
)
Time (s) -------->
Figure 56 : Four Channel Time Data
Assuming that the points per group are 2048 (corresponding to the first 10 seconds of
data, sampled at 204.8 Hz), the data is stored in demultiplexed blocks as shown below.
The first group of 2048 points of Channel 1 is stored, followed by the first group of 2048
points of the second channel and so on through Channel 4. Then the next group of points
for Channel 1 is stored, followed by the second group of points for the second channel
85
and so on through Channel 4, till all the data groups are exhausted. The resulting data
arrangement is as shown below.
0 10 20 30 40 50 60 70 80
-0.1
-0.05
0
0.05
0.1
0.15
Am
p (in
)
Time (s) -------->
Demultiplexed data
Channel 2 Channel 3 Channel 4Channel 1 Channel 4Channel 1 Channel 2 Channel 3
Figure 57 : Four Channel Demultiplexed Time Data
86
B Matlab Functions
B.1 fnHlin: Calculates FRF, Coherence, Power Spectra
% Function fnHlin determines the Linear FRF Matrix with Hanning Window and cyclic averaging % Syntax : [h,c,mc,w,GFF,GXX,GFX,GXF,Fmax] = fnHlin(Ft,Xt,bs,Nc,overlap,window (1 = Hanning),Estimator type (1 = H1 , 2 = H2)) function [h1,c1,mc1,w,GFF1,GXX1,GFX1,GXF1,Fmax] = fnHlin(Ft,Xt,bs,Nc,ov,win,type,lf,hf) try % Number of Inputs ni = size(Ft); ni = ni(1); % Number of Outputs no = size(Xt); no = no(1); % Block Size bs = fix(bs); % Number of Data Blocks Ncycblk = 1; cnt2 = 1; cnt3 = 1; while cnt3 < length(Ft)-(Nc*bs) cnt2 = cnt2 + (1-ov/100)*(Nc*bs); cnt3 = cnt2 + Nc*bs-1; Ncycblk = Ncycblk + 1; end shft = fix((1-ov/100)*(bs)); % Sampling Frequency Fs = 204.8; % dt dt = 1/Fs; % Fmax Fmax = 1/(2*dt); % Omega om = linspace(0,Fmax,bs/2); % om = Fmax*(0:(bs/2)-1)/(bs); % Window if win == 1 windcyc = hann(Nc*bs).'; else windcyc = ones(1,Nc*bs); end % Cyclic Averaging of Data Xcyc = zeros(no,Nc*bs); Fcyc = zeros(ni,Nc*bs); Xavg = zeros(no,Ncycblk*bs); Favg = zeros(ni,Ncycblk*bs);
87
hhhh = waitbar(0,'Cyclic Averaging Response Data.....'); for ii = 1:no indx1 = 1; indx3 = 1; for jj = 1:Ncycblk indx2 = 1; Xcyc(ii,:) = windcyc.*Xt(ii,indx1:indx1+Nc*bs-1); indx1 = indx1 + shft; Xtemp = zeros(1,bs); for kk = 1:Nc Xtemp(1,:) = Xtemp(1,:) + Xcyc(ii,indx2:indx2+bs-1); indx2 = indx2 + bs; end Xavg(ii,indx3:indx3+bs-1) = Xtemp./Nc; indx3 = indx3 + bs; end waitbar(ii/no,hhhh); end close(hhhh) hhhh = waitbar(0,'Cyclic Averaging Force Data.....'); for ii = 1:ni indx1 = 1; indx3 = 1; for jj = 1:Ncycblk indx2 = 1; Fcyc(ii,:) = windcyc.*Ft(ii,indx1:indx1+Nc*bs-1); indx1 = indx1 + shft ; Ftemp = zeros(1,bs); for kk = 1:Nc Ftemp(1,:) = Ftemp(1,:) + Fcyc(ii,indx2:indx2+bs-1); indx2 = indx2 + bs; end Favg(ii,indx3:indx3+bs-1) = Ftemp./Nc; indx3 = indx3 + bs; end waitbar(ii/ni,hhhh); end close(hhhh) clear indx1 indx2 indx3 Ftemp Xtemp Fcyc Xcyc windcyc GFF = zeros(ni,ni,bs); GXX = zeros(no,no,bs); GXF = zeros(no,ni,bs); GFX = zeros(ni,no,bs); H1 = zeros(no,ni,bs); H2 = zeros(no,ni,bs); % Computing Power Spectra for FRF Calculation indx = 1;
88
hhhh = waitbar(0,'Calculating Power Spectra.....'); for asyncavg = 1:Ncycblk % Input Auto Power Spectrum for ii = 1:ni F1 = fft(Favg(ii,indx:indx+bs-1)); for jj = 1:ni F2 = fft(Favg(jj,indx:indx+bs-1)); gff = F1.*conj(F2)/(bs); for kk = 1:bs GFF(ii,jj,kk) = GFF(ii,jj,kk) + gff(1,kk); end nd e end % Cross Power Spectrum GXF for ii = 1:no X = fft(Xavg(ii,indx:indx+bs-1)); for jj = 1:ni F = fft(Favg(jj,indx:indx+bs-1)); gxf = X.*conj(F)/(bs); for kk = 1:bs GXF(ii,jj,kk) = GXF(ii,jj,kk) + gxf(1,kk); end end end % Cross Power Spectrum GFX for ii = 1:no X = fft(Xavg(ii,indx:indx+bs-1)); for jj = 1:ni F = fft(Favg(jj,indx:indx+bs-1)); gfx = F.*conj(X)/(bs); for kk = 1:bs GFX(jj,ii,kk) = GFX(jj,ii,kk) + gfx(1,kk); nd e end end % Output Auto Power Spectrum for ii = 1:no X1 = fft(Xavg(ii,indx:indx+bs-1)); for jj = 1:no X2 = fft(Xavg(jj,indx:indx+bs-1)); gxx = X1.*conj(X2)/(bs); for kk = 1:bs GXX(ii,jj,kk) = GXX(ii,jj,kk) + gxx(1,kk); end nd e end indx = indx + bs; waitbar(asyncavg/Ncycblk,hhhh); end
89
GFF = GFF./Ncycblk; GXX = GXX./Ncycblk; GFX = GFX./Ncycblk; GXF = GXF./Ncycblk; close(hhhh) % H1 H2 Algorithms hhhh = waitbar(0,'Calculating FRF.....'); for kk = 1:bs Gff = GFF(:,:,kk); Gxf = GXF(:,:,kk); Gfx = GFX(:,:,kk); Gxx = GXX(:,:,kk); if type == 1 h1 = Gxf*pinv(Gff); H1(:,:,kk) = h1; else h2 = Gxx*pinv(Gfx); H2(:,:,kk) = h2; end waitbar(kk/bs,hhhh) end close(hhhh) hhhh = waitbar(0,'Calculating Ordinary Coherence.....'); for kk = 1:bs for ii = 1:ni for jj = 1:no Gff = GFF(ii,ii,kk); Gxf = GXF(jj,ii,kk); Gfx = GFX(ii,jj,kk); Gxx = GXX(jj,jj,kk); coh(jj,ii,kk) = (Gxf*Gfx)/(Gff*Gxx); end end waitbar(kk/bs,hhhh) end close(hhhh) hhhh = waitbar(0,'Calculating Multiple Coherence.....'); for kk = 1:bs for jj = 1:no mat = horzcat(GXX(jj,jj,kk),GXF(jj,:,kk)); mat2 = horzcat(GFX(:,jj,kk),GFF(:,:,kk)); nmat = vertcat(mat,mat2); mcoh(jj,:,kk) = 1 - abs(det(nmat))/(GXX(jj,jj,kk) * abs(det(GFF(:,:,kk)))); end waitbar(kk/bs,hhhh)
90
end close(hhhh) if type == 1 h = H1; else h = H2; end c = coh; w = om; mc = mcoh; ll = fix((lf*bs/2)/Fmax); hl = fix((hf*bs/2)/Fmax); h1 = zeros(no,ni,bs); c1 = zeros(no,ni,bs); mc1 = zeros(no,1,bs); GFF1 = zeros(ni,ni,bs); GXX1 = zeros(no,no,bs); GXF1 = zeros(no,ni,bs); GFX1 = zeros(ni,no,bs); for kk = ll:hl h1(:,:,kk) = h(:,:,kk); c1(:,:,kk) = c(:,:,kk); mc1(:,:,kk) = mc(:,:,kk); GFF1(:,:,kk) = GFF(:,:,kk); GXX1(:,:,kk) = GXX(:,:,kk); GXF1(:,:,kk) = GXF(:,:,kk); GFX1(:,:,kk) = GFX(:,:,kk); end for kk = bs-hl:bs-ll h1(:,:,kk) = h(:,:,kk); c1(:,:,kk) = c(:,:,kk); mc1(:,:,kk) = mc(:,:,kk); GFF1(:,:,kk) = GFF(:,:,kk); GXX1(:,:,kk) = GXX(:,:,kk); GXF1(:,:,kk) = GXF(:,:,kk); GFX1(:,:,kk) = GFX(:,:,kk); end msgbox('System Matrices Calculated!') catch msgbox('Error Calculating System Matrices! Try again by Varying Parameters') end
91
B.2 convOver: Convolution with Overlap Addition
Performs convolution with overlap addition of inverse system model with desired
responses, to get time domain desired force signals
% Syntax: F = convOver(invH(system model), dr (desired response)) function F = convOver(invH,dr) s = size(invH); ni = s(1); no = s(2); bs = s(3); for jj = 1:no for ii = 1:ni tinvH(jj,ii,:) = real(ifft(invH(jj,ii,:))); dum = [squeeze(tinvH(jj,ii,bs/2+1:bs)).' , squeeze(tinvH(jj,ii,1:bs/2)).',zeros(1,bs)]; convH(jj,ii,:) = fft(dum); end end pos = 1; tF = zeros(ni,length(dr)+ bs); for ii = 1:length(dr)/(bs) for jj = 1:no fx(jj,:) = fft([dr(jj,pos:pos+bs-1),zeros(1,bs)]); end for kk = 1:2*bs prod(:,kk) = convH(:,:,kk)*fx(:,kk); end for pp = 1:ni tprod(pp,:) = real(ifft(prod(pp,:))); end tF(:,pos:pos+2*bs-1) = tF(:,pos:pos+2*bs-1) + tprod; pos = pos + bs; end F = tF(:,bs/2+1:length(tF)-bs/2);
92
B.3 bandpass : Bandpass filter
Acts as a bandpass filter to filter out unwanted frequency content from a pure random
white noise signal
% Function: bandpass % Syntax: filtered_wht = bandpass(original_wht, Sampling Frequency, Lower Frequency, Higher frequency); function f = bandpass(x,sfreq,lfreq,hfreq) % Butterworth Filter % Filtering out frequencies above specified higher frequency [b,a] = butter(4,ufreq/(freq/2)); f = filter(b,a,wht); % Filtering out frequencies below specified lower frequency if lfreq ~= 0 [d,c] = butter(4,lfreq/(freq/2),'high'); wht = filter(d,c,wht); end
93
C White Noise Generator GUI
C.1 DRV File Creator
The DRV File creator GUI [6] enables the creation of RPC III Format .DRV files which
can be input to the MTS 320 Road Simulator through the Flex Test II software interface.
The RPC III format .DRV file essentially contains a header section, which contains
information about the different drive channels, the scaling, the maximum and minimum
limits, the units of the data, and other identifying information, followed by the data
section which contains the voltage signals stored in a binary format. The DRV file
generator uses user inputs to generate the drive signals, and can thus be used to create a
variety of input excitations. These are explained below:
C.2 DRV File Creator Options
C.2.1 Header Data
In this section, the following information for the drive file is given:
Format: It defines the format that the current drive file is to be stored in. Currently,
Binary IEEE Big Endian, or Binary formats can be used.
File Type: This determines the type of file being created. Since the data stored is time
domain drive or response data, the file type is Time History.
Frames: This determines the number of frames of data. The stored data is divided into
frames of data, with each frame corresponding to 5 seconds of time data. A file can have
a maximum of 8192 frames.
Sampling Frequency: Specifies the Sampling Frequency in Hz.
Bypass A/D Filter: Options Yes/No. Yes bypasses the filter, while No uses the filter.
94
C.2.2 Channel Data
Checkbox: Checked – Select Channel, Unchecked – Ignore channel
Signal: Signal Type – Sine, Square, White Noise (band limited random), Non-Linear
(stepped band limited random)
Amplitude: Signal Amplitude in Inches
Offset: Offset position of Actuator from the Mean position, in Inches
Single Frequency: Selectable for Sine/Square wave signals, value in Hz
Frequency Range: Selectable for White Noise/Non-Linear signals, values in Hz
95
Figure 58 : White Noise Generator GUI
96
D Road Simulator GUI
The Road Simulator GUI [6] performs the complete simulation of the road test. The
Simulator menus are divided into 3 parts based on function.
• The first menu is the Project menu, in which the user can create a new project,
open an existing project for review of continuation, and save the current project.
• The second menu is the System Model Development menu, which handles the
calculation of the FRF and the system matrices, namely the different power
spectra and the coherences, and displays the same.
• The third menu is the Generate Drive File menu, which handles the choice of
desired responses, and calculates the drive signal required to obtain that desired
response, and also plots the errors between the measured and calculated
responses.
The Road Simulator menus and their functions are detailed below:
D.1 Project
D.1.1 New Project: Create a New Project
This menu creates a new .mat file containing project information, namely the project title
and description, the location of the project file, the number of inputs, the number of
outputs, and the sampling frequency used for data collection.
D.1.2 Open Project: Open Existing Project
This menu opens an existing .mat project file for continuing a previously saved project.
D.1.3 Save Project: Save Current Project
This menu saves all current project data to the specified file.
97
D.2 Develop System Model
D.2.1 White Noise Generator
• Launch White Noise Generator: Launches the .DRV File Creator GUI
• Display Created Drive File: Displays File created by the .DRV File Creator
D.2.2 System Model
• Calculate H: Calculates the system FRF, the inverse FRF, the coherence functions
and the input and output auto and cross power spectra
• Recalculate H: Recalculates the system matrices for different parameters, namely
block size and number of averages.
D.2.3 Display System Model
• Plot H: Plots System FRF as a function of frequency
• Plot invH: Plots Inverse System FRF as a function of frequency
• Plot Ordinary Coherence: Plots Ordinary Coherence functions
• Plot Multiple Coherence: Plots Multiple Coherence Functions
• Plot GFF: Plots Input Auto Power Spectra
• Plot GXX: Plots Output Auto Power Spectra
• Plot GXF: Plots Cross Power Spectra between inputs F and outputs X
• Plot GFX: Plots Cross Power Spectra between inputs F and outputs X
98
D.3 Desired Response
D.3.1 Select Desired Response
• Time Domain:
From File: Select Time Domain Desired Response from File
User Defined: User Defined Time Domain Desired Response
• Frequency Domain:
From File: Select Frequency Domain Desired Response from File
User Defined: User Defined Frequency Domain Desired Response
D.3.2 Plot Desired Response
• Plots the Desired Response, either in Time domain or Frequency domain,
depending on the type of analysis
99
D.4 Generate Drive File
D.4.1 Calculate Drive
• Calculates drive signals required to generate the desired response signals
D.4.2 Write Drive File
• This menu writes out an RPC III .drv file containing the drive signals required for
the simulation of desired response.
100
D.5 View Results
D.5.1 Time Domain
• Plots measured response versus desired response in the time domain
D.5.2 Frequency Domain
• Plots measured response versus desired response in the frequency domain.
D.5.3 Plot Error
• Plots the Error between Measured Response and Desired Response for each
Iteration
D.5.4 Plot Trend
• Plots the Trend in Maximum value of the Standard Deviation of the Error, as a
function of the Iteration number
D.5.5 Document Results
• Documents the Standard Deviation of the Error for each Iteration in a .txt File for
future retrieval
101
Figure 59 : Road Simulator GUI
102
Top Related