Professional Documents
Culture Documents
A Thesis
Submitted to the Faculty
of
Purdue University
by
Timothy E. Freeman
May 2004
ii
ACKNOWLEDGEMENTS
I would like to acknowledge the financial support provided to me through the
National Consortium for Graduate Degrees for Minorities in Engineering and Science,
Inc. during my tenure as a graduate student at Purdue University. I also would like to
thank General Motors for sponsorship of this research. This research would not have
been possible without the advanced vehicle platform upon which this research is based.
Additionally, I would like to thank the following employees of General Motors for
providing vital information on the subject. The people below had a direct impact on the
completion of this research:
John Zinser
Gary Cummings
Mary Wolos
Angela Barbee-Hatter
Elizabeth Pilibosian
Ping Lee
Craig Lewitzke
Richard Smith
Mel Richards
James Vallance
In addition, I would like to thank Dr. D. E. Adams for serving on my advisory
committee, and for supplying testing and nonlinear analysis expertise. I also would like
to thank Dr. J. M. Starkey for serving on my examining committee on short notice. To
all these individuals, thank you for enabling me to complete my thesis.
Timothy E. Freeman
April 27, 2004
iii
TABLE OF CONTENTS
Page
LIST OF TABLES...............................................................................................................v
LIST OF FIGURES ........................................................................................................... vi
LIST OF SYMBOLS .......................................................................................................... x
ABSTRACT..................................................................................................................... xiv
CHAPTER 1: INTRODUCTION ........................................................................................1
1.1: Overview of Powertrain Mounting Systems.....................................................1
1.1.1: Simple Elastomeric Mounts...............................................................3
1.1.2: Hydraulic Engine Mounts..................................................................4
1.1.3: Semi-Active (Adaptive) Hydraulic Mounts.......................................7
1.1.4: Active Hydraulic Mounts...................................................................8
1.2: Design Conflicts ...............................................................................................8
1.3: Thesis Statement .............................................................................................12
CHAPTER 2: PRELIMINARY ANALYSIS ....................................................................14
2.1: Nonlinear Powertrain to Ground (SDOF).......................................................15
2.2: Nonlinear Powertrain-Body (2DOF) ..............................................................24
CHAPTER 3: 13DOF VEHICLE MODELING/SIMULATION......................................28
3.1: Thirteen Degree-Of-Freedom .........................................................................28
3.1.1: Model Description ...........................................................................28
3.1.2: Calibration .......................................................................................37
3.1.3: Linear Stiffness Effects....................................................................42
3.2: Nonlinear Model Description .........................................................................46
3.3 Curve Fit Models .............................................................................................51
iv
Page
3.3.1 Frequency Dependent Curve Fit Model............................................52
3.3.2 Piecewise Nonlinear Curve Fit Model ..............................................56
3.3.3 Curve Fit Model Comparison ...........................................................59
CHAPTER 4: 15DOF VEHICLE MODELING/SIMULATION USING HYDRAULIC
POWERTRAIN MOUNTS ...............................................................................................61
4.1: Hydromount Model Description.....................................................................61
4.2: Individual Element Effects .............................................................................64
4.3: Hydromount Model Verification ....................................................................70
4.4: Implementing Hydromount Model .................................................................71
4.5: Fifteen Degree-Of-Freedom ...........................................................................73
CHAPTER 5: EXPERIMENTAL IDENTIFICATION OF LINEAR VEHICLE
VIBRATION MODEL ......................................................................................................78
5.1 Overview of Automated Model Development Approach................................78
5.2 Eleven Degree-of-Freedom Vehicle Model with Rear Wheel Constraints .....79
5.3 Approach for Hybrid Analytical / Experimental Model Development ...........83
5.4 Results of Hybrid Model Development using Direct Parameter Estimation...91
5.5 Determine Degree of Nonlinearity in Vehicle .................................................98
CHAPTER 6: SUMMARY..............................................................................................102
CHAPTER 7: CONCLUSIONS ......................................................................................105
LIST OF REFERENCES.................................................................................................106
APPENDIX A..................................................................................................................108
A.1 one.m.............................................................................................................108
A.2 one_fof_model ..............................................................................................111
A.3 two.m.............................................................................................................112
A.4 two_fof_model_disp .....................................................................................115
A.5 ssr13_linear_stiffen.m...................................................................................116
A.6 animate.m......................................................................................................125
A.7 ssr13_NL.m...................................................................................................129
A.8 ssr13_linear_fithz.m......................................................................................139
v
Page
A.9 ssr13_linear_fitdel.m...................................................................................146
A.10 leastsquare.m...............................................................................................153
A.11 ssr_15DOF.m ..............................................................................................155
A.12 DPEssrfinala.m ...........................................................................................166
A.13 caldata.m .....................................................................................................169
A.14 integdata.m..................................................................................................170
A.15 hpx.m...........................................................................................................171
A.16 generatecoord.m..........................................................................................172
A.17 sweeptf.m ....................................................................................................174
vi
LIST OF TABLES
Table
Page
1.1:
1.2:
1.3:
3.1:
3.1:
3.1:
4.1:
5.1:
5.2:
6.1:
vii
LIST OF FIGURES
Figure
Page
1.1:
2.1:
2.2:
2.3:
2.4:
2.5:
2.6:
2.7:
2.8:
2.9:
2.10:
3.2:
3.3:
3.4:
3.5:
3.6:
viii
Figure
3.7:
Page
Calibrated 13DOF body transmissibility, upper--bounce DOFs
lowerRoll DOFs .................................................................................................38
3.8:
3.9:
3.23:
3.24:
3.25:
3.28:
ix
Figure
Page
3.30:
4.1:
4.2:
4.3:
4.4:
4.5:
4.6:
4.7:
4.8:
4.9:
4.10:
4.14:
4.15:
4.16:
4.17:
4.18:
5.1:
5.2:
Rear view photograph of half-car shaker testbed showing left and right rear
tire platform with lightly ratcheted restraining straps.. ..................................................80
5.3:
x
Figure
5.4:
Page
(a) Schematic of thirteen accelerometer measurement degree-of-freedom
locations in half-car vehicle electro-hydraulic shaker tests; and (b)
photograph of two accelerometer mounting locations on wheelpan and
powertrain vehicle testbed. .....................................................................................................89
5.5:
5.6:
5.7:
5.8:
5.9:
5.12:
xi
LIST OF SYMBOLS
mass
viscous damping
stiffness
f(t)
Fo
x(t)
X1
X2
Xb
time
&x&
acceleration
x&
velocity
Mp
powertrain mass
Cp
Kp
KNOM
[ ]A
adjoint of a matrix
xii
[ ] 1
inverse of a matrix
magnitude of a complex number
[]
matrix
{}
vector
sample time
general angle
frequency
sample time
xiii
ABSTRACT
Freeman, Timothy E., M.S.M.E., Purdue University, May, 2004. Reduction of Vehicle
Chassis Vibrations Using the Powertrain System as a Multi Degree-Of-Freedom
Dynamic Absorber. Major Professor: Dr. Douglas E. Adams, School of Mechanical
Engineering.
The goal of this project is to reduce vehicle chassis vibrations using the
powertrain system as a multi degree-of-freedom dynamic absorber. In order to achieve
this goal using typical linear mount design techniques, the overall mount stiffness would
need to be much larger than the nominal stiffness. On the contrary, increases in mount
stiffness result in poor vibration isolation characteristics. This design trade-off between
vibration isolation and energy absorption has traditionally been overcome using active
mounts, which use sensor feedback to tune mount stiffness and damping properties to
reduce vibrations in ride at the given operating condition. The present research aims to
develop an alternative, passive nonlinear mount design, which effectively overcomes this
design trade-off without the expense of an active mounting system. For example,
nonlinear hardening mounts automatically adjust their stiffness characteristics to provide
good energy absorption at higher amplitudes and higher frequencies as well as good
vibration isolation at lower amplitudes and lower frequencies. In this work, multi degreeof-freedom nonlinear models are developed for an advanced vehicle platform, the models
are studied using nonlinear vibration analysis and simulations are conducted to account
for frequency-dependent as well as amplitude dependent mount characteristics.
A 15 DOF model is developed as a tool that can be used to predict body
transmissibility response at two (or more) operating conditions such as idle and road
xiv
conditions. The model can be run at multiple conditions and can show the effect of the
current tuning of the hydraulic mount and suggest increases or decrease in amplitude
dependence in order to reduce body vibrations. In addition, a modified version of Direct
Parameter Estimation (DPE) is developed to construct accurate stiffness and damping
matrices. The mass, stiffness and damping matrices computed from DPE can be modified
and used in the 15 DOF model to speed up the 15 DOF model construction time. The
estimation of mass, stiffness and damping eliminate the need to calibrate the 15 DOF
model in order to match model modes to the vehicle modal tests.
CHAPTER 1: INTRODUCTION
potential aid in reducing vehicle vibrations. Mounts that are carefully designed can
respond at the system level by coupling into the resonant frequencies of the vehicle
suspension, chassis and body to serve as a dynamic absorber to attenuate unwanted
vibration. Simultaneously, the mounts must also be designed to isolate the chassis and
body of the vehicle from the powertrain. Many different mounting configurations have
been developed to support the powertrain as the vehicle has progressed from a motor
carriage. Mounting systems must isolate unwanted frequencies from the vehicle chassis
and effectively support the powertrain.
2
Coupling effects between engine mounting systems and vehicle flexion modes are
apparent in todays light and powerful vehicles. Other work has analyzed the effects of
vehicle cradle flexibility on the powertrain dynamic response. Most dynamic models for
the engine mount systems have been based on isolation theory, and vibration of the
foundations has been neglected [2]. It is necessary to model engine mounting systems
with flexible foundations in order to capture these vibration coupled problems [2]. In this
previous research, it was found that the coupling effects were substantial for frequencies
lower than idle speed but negligible for frequencies higher than the idle speed. In
addition, this work showed that the mount solution would be improved if the foundation
flexibilities are taken into account.
There have been many different design methods developed for reducing unwanted
vibrations. A survey [3] provided basic working principles for designing powertrain
mounts. This survey suggests the primary function of an engine mount, in addition to
supporting the weight of the engine itself, is to isolate the unbalanced disturbance forces
from the main structure of the vehicle. The survey also suggests the mounting system
should have low stiffness and damping to prevent vibration transmission through the
mount. The mounting system must also prevent large displacements of the powertrain
during shock excitations, which may be induced through sudden stops or accelerations.
Therefore, the elastic stiffness must be high enough to prevent powertrain and/or engine
component damage. Consequently, the mounts should exhibit high damping around 10
Hz and reasonably low damping above 15 Hz to reduce idle vibration [4]. There are
several different types of powertrain mounts in use today. Different mount types are used
for different powertrain mounting systems. Due to performance and economical reasons,
each system design has specific advantages and disadvantages.
3
1.1.1: Simple Elastomeric Mounts
Simple elastomeric (rubber compound) mounts have been used since 1930 and are
considered the most conventional. Elastomeric mounts in general have high stiffness
characteristics with high frequencies and lower stiffness with low frequencies. This
general trend complicates the design process since most mount applications need the
mount to exhibit low stiffness for high frequencies to improve idle vibrations. If the
stiffness is tuned to isolate during idle, the stiffness value may be too low to prevent large
low frequency shake. Furthermore if the mount is tuned for road or lower frequency
oscillation the mount may be too stiff to isolate the powertrain from the vehicle.
Subsequently, a compromise between the two specifications must be implemented to
optimize mount performance.
Elastomeric mounts can isolate powertrain vibrations in all directions by allowing
different stiffness characteristics in different directions. Some researchers have improved
the directional capabilities through shape optimization methods. Shape optimization,
optimizes the mounts physical dimensions in order to optimize isolation for different
conditions and directions. Kim and Kim [5] have achieved this shape optimization with
parameter optimization.
Current research is focused on identifying materials with high internal damping or
amplitude dependent damping and stiffness.
engine mount specifications [6]. Table 2.1 from Lewitzke and Lee [7] describes different
rubber/plastic materials that are used for isolation purposes.
4
Table 1.1 Properties of possible powertrain mount materials [7].
Elastomer
Major properties
Applications
Natural Rubber
or Polyisoprene
(NR)
Synthetic
Isoprene (IR)
Styrenebutadiene (SBR)
Butyl or
Polyisobutylene
(IIR, CIIR)
Poly-butadiene
(BR)
Neoprene
Poly-urethane
Silicon (VMQ)
Many different
components have been added within hydraulic mounts to serve different purposes. The
simplest component of a hydraulic mount is a restricted orifice to channel fluid flow
between the chambers. The orifice decreases the stiffness of the mount to some degree.
The orifice decreases compression of the fluid and allows it to flow from the upper
section of the mount. The mount will be capable of larger displacements for the same
applied force. The main improvement over the simple elastomeric mounting system is
5
their nonlinear stiffness and damping characteristics. The mount will exhibit smaller or
larger stiffness characteristics depending on amplitude and frequency of excitation.
Furthermore, the size or diameter of the orifice dramatically affects the mount
performance. The size of the orifice is another parameter available for design. The
added parameter gives the mount design another method to achieve optimum mount
performance. However, the restricted orifice is not as versatile at achieving different
performance characteristics as other types of hydraulic mounts.
Another component incorporated in hydraulic mounts is an inertia track. The
inertia track is a channel of specific length used to transport fluid between the upper and
lower chambers. The fluid flow through the inertia track enables the mount to provide
additional damping.
dependence. The inertia track length and cross-sectional area are additional parameters
that can be changed in order to produce a desired response. Additionally, the use of a
decoupler incorporates amplitude dependence. A decoupler incorporates a small flexible
diaphragm between the upper and lower chambers. The decoupler allows the fluid to
remain in the upper chamber for small amplitude displacements. By forcing the fluid to
stay in the upper chamber the mount will provide less damping because of the lack of
fluid flow through the inertia track.
Figure 1.1 shows a schematic of a hydraulic mount, which is equipped with an
inertia track and a decoupler. The hydraulic mount is connected to the engine and chassis
through the mounting studs (1) and (2). The top element (3) made up of rubber material
supports the static engine weight. The upper chamber (4) and lower chamber (5) are
filled with the glycol fluid mixture of antifreeze and distilled water. A cyclic engine
motion causes oscillating fluid flow between the two chambers.
A fraction of the
displaced fluid is accommodated by the decoupler (6) motion and the remaining portion
is forced to flow through the inertia track (7). The decoupler is supported by a rubber
membrane in the center of the mount. The rubber membrane allows for small deflections
of the decoupler causing small deflections in the mount before fluid is forced through the
inertia track. The decoupler is typically produced from duro 70 rubber. The compliant
thin rubber bellows (10) comprising the lower chamber is produced from duro 51 rubber.
6
The air breather (11) enables the rubber bellows to move freely without any air
compression effect. The canister (12) contains the inside parts mentioned above [8].
powertrain mount. A hydraulic mount that uses all of these components possesses both
amplitude and frequency dependent characteristics. In addition, each component can be
adjusted to modulate stiffness and damping frequency dependence. The diameter of the
orifice, the length and cross-sectional area of the inertia track and the maximum
decoupler deflection are design tools to develop the best mount for the given application.
7
1.1.3: Semi-Active (Adaptive) Hydraulic Mounts
Standard hydraulic mounts are normally tuned in order to suit a specific
application. This process can be long and costly. Furthermore, this retuning involves a
compromise in performance throughout multiple frequency ranges [9].
Semi-active
mounts are implemented in order to overcome this compromise. The benefit of a semiactive control scheme is that it dissipates the vibration energy by changing the hydro
mounts damping properties using a low speed, low power actuator at a minimal cost [8].
The semi active mount controls the system properties of the mount in order to change the
performance. Damping is the controlled system parameter because it is implemented
most easily; however, low stiffness can also be achieved.
8
Subsequently, the damping increases proportionally to magnetic fields created by current
induced wire coils in proximity of the mount.
1.1.4: Active Hydraulic Mounts
In active control, an active energy source should be continuously supplied to
counteract the continuously generated target energy source [9]. The primary control
method implements closed loop control, which requires the use of more equipment than
previous systems. Active mounts require the use of sensor(s) and an actuator(s) in
addition to the standard hydraulic mount. The actuator must be controlled by another
source such as the ECM (electronic computer module) according to specific senor values.
Active mount components work simultaneously in order to suppress the transmission of
disturbance forces. A sensor is mounted on the frame/chassis side of the mount to
measure vibrations. From the sensor readings, a force equal in magnitude and 180
degrees out of phase is applied to counteract unwanted vibrations. This mounting system
is often costly to implement due to the number of parts. Furthermore, the increase in
parts also decreases the reliability of the system because of possible sensor failures.
throughout the vehicle due to engine dynamic imbalance forces, the powertrain mounts
should exhibit low stiffness. The low stiffness would most likely isolate the body from
the idle vibrations; however, excessively low stiffness can cause problems when the
vibrations are no longer of small amplitude at high frequency. For large amplitudes, the
powertrain must have adequate clearance; therefore, nonlinear structures or isolators are
9
needed.
10
11
Table 1.3 shows the optimum mount characteristics to satisfy idle and general
road vibration conditions. As indicated in the table, the stiffness and damping of the
mount should exhibit frequency dependence and nonlinearity.
materials must be able to withstand automotive operating conditions. The materials must
withstand heat from the powertrain, fuel, any oils and/or fluids and road substances such
as road salt. Many of these substances can be corrosive. A mounts ability to achieve the
desired characteristics is limited by material capabilities.
Table 1.3 Ideal powertrain mount characteristics.
Stiffness
Damping
Damping
Stiffness
Deflection
Frequency
w/r/t frequency
w/r/t displacement
Deflection
Frequency
Other Requirements
Mount material must withstand high
temperatures and aggressive
substances such as oils and fuels.
Damping
w/r/t displacement
Stiffness
w/r/t frequency
The powertrain is normally the only source of vibration during idle. Because the
engine exhibits vibration due to firing pulsations and/or imbalance forces, the vibration is
proportional to engine speed.
Current vehicles are packaged tightly to allow more usable space for the
occupant in the interior. The powertrain could possibly collide with other parts within
the engine compartment if the powertrain experiences large oscillations. Furthermore,
excessively large oscillations could cause the powertrain to hit the hood or other body
panels. Thus, road conditions require higher mount stiffness and/or damping to prevent
large oscillations.
12
Because low amplitude oscillations occur at higher frequencies and high
amplitudes occur at lower frequencies, stiffness and damping should roll off as a function
of frequency to provide the best idle isolation. Furthermore, the stiffness and damping
should be adequate to restrict motion for large amplitude displacements. In order for the
mount to exhibit both characteristics, the mount must have some degree of nonlinearity.
frequencies. Furthermore, severe road excitations that cause body resonance problems in
ride generally have larger amplitudes and occur at lower frequency than idle vibrations.
Consequently, hydro mounts should have low damping and stiffness characteristics at
low amplitudes and higher damping and stiffness at higher amplitudes in order to
simultaneously isolate the chassis from idle vibrations and absorb kinetic energy from the
chassis during ride.
The hypothesis of this work is that, because the powertrain mass is a significant
portion of a vehicles mass, it should be theoretically possible to use the powertrain as a
dynamic absorber by designing the nonlinear and frequency dependent mount
characteristics with ride vibrations in mind. The hardening nature of the nonlinear mount
is used to position powertrain resonant frequencies to coincide with problematic body
resonant frequencies in a tramp condition where the left front and right rear tires are
driven in phase. The hydro mount should allow the mount to perform well at idle and to
stiffen in order to place powertrain modes in optimal locations.
13
A suite of models is used to analyze the effects of amplitude and frequency
dependent mount properties. First, a single degree-of-freedom nonlinear powertrain
model to examine how hardening stiffness characteristics can be used to overcome tradeoffs in vibration isolation in idle and dynamic absorption is implemented. Second, a two
degree-of-freedom nonlinear chassis and powertrain model to examine the vibration
reduction possible when mounts have amplitude dependent stiffness properties is
employed. Next, a 13 degree-of-freedom model of the vehicle is used to examine linear
and nonlinear stiffness characteristics in the mount that are beneficial for reduction of
vibration in a vehicle in particular. Lastly a 15 degree-of-freedom model of the vehicle
including a hydro mount model is constructed to examine the effects of amplitude and
frequency dependent mount characteristics on vibration.
14
A piecewise nonlinear
system for this research is defined as a system that behaves linearly for a specific
amplitude of deflection.
15
The objective of using this suite of models was to progress toward an
understanding of the behavior of the full vehicle with hydro mounts. For example, the
thirteen degree-of-freedom model with cubic stiffness in the mounts is useful for
conducting proof-of-concept simulations; however, mounts with purely cubic stiffness do
not exist and should not be used because they lack frequency dependence. On the
contrary, hydro mounts are utilized by the sponsor in production vehicles; therefore, the
fifteen degree-of-freedom model with hydro mount nonlinear and frequency dependent
stiffness characteristics is useful for conducting more practical simulations of the vehicle
test bed.
Vehicle Platform
Chevy SSR
Simulations
Linear Analysis
13 DOF
15 DOF
Freq Dependent
(Hydraulic mount)
Nonlinear Analysis
13 DOF
Cubic Stiffness
Piecewise nonlinear
K(w) @ each Delta x
Piecewise nonlinear
K(Delta x) @ each w
13DOF
nominal
stiffness gain
16
ground simulates how imbalance and engine firing forces can transmit vibrations to the
chassis (ground plane) during engine idle. In this simplified model, the powertrain is
treated as a single degree-of-freedom (SDOF) model with one vertical forcing function.
This force includes firing pulsations and/or engine unbalance. Figure 2.2 shows the
configuration for this simulation. The component in Figure 2.2 represents the nonlinear
effect of the powertrain mounts. The force in the component is proportional to the cube
of the relative displacement between the powertrain and the base (ground).
f(t)
C
(2.1)
(2.2)
1 1
+ cos(2o t + 2o ) ,
2 2
(2.3)
17
cos3 (ot + o ) =
3
1
cos(o t + o ) + cos(3ot + 3o ) ,
4
4
(2.4)
(2.5)
By substituting these forms into the EOM, combining similar trigonometric terms and
ignoring higher frequency terms for the time being, the following equation can be found:
A cos (o ) + B sin (o ) Fo cos ( ot ) + B cos (o ) A sin (o ) sin ( o t ) = 0
.
3
where, A = KX 1 M o2 X 1 + X 13 and B = C o X 1
4
(2.6)
In order for the previous equation to be satisfied for all time, each trigonometric
coefficient must be equal to zero. Therefore, the following two equations must be
satisfied simultaneously:
A cos (o ) + B sin (o ) = Fo and
(2.7)
B cos (o ) A sin (o ) = 0 .
(2.8)
If Equation (2.7) is squared and added to the square of Equation (2.8), the following
result is obtained:
2
A2 + B 2 = Fo2
3
2
KX 1 M o2 X 1 + X 13 + [ C o X 1 ] = Fo2
4
(2.9)
It can be shown that the FRF function of this system is of the form:
X1
=
Fo
( K M o2 + NL ) + C 2o2
2
where NL =
3
X 12 .
4
(2.10)
18
order to prevent numerical leakage in the computation. Figure 2.5 shows the portion of
the time history that is used for the DFT.
x 10
-3
8
6
4
2
0
-2
-4
-6
-8
Time (s)
10
0.015
0.8
0.01
Displacement
Input Force
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
0.005
-0.005
-0.8
-1
20
40
60
80
100
Time (s)
Figure 2.4: Input Force (f(t)).
120
-0.01
20
40
60
80
100
120
time
Time
(s)
The magnitude of each nominally linear FRF was then determined by dividing the
displacement amplitude by the force amplitude. Although in Figure 2.6 it appears that
the analytical relation matches the numerical results perfectly, there are discrepancies
near resonance. Figure 2.7 shows a close up of the resonance region; it shows the effect
19
of neglecting higher order frequency terms to develop the FRF relationship. It can be
concluded that neglecting the higher frequency component in the response amplitude
prediction will predict slightly larger responses near resonance than the actual nonlinear
model will exhibit.
assumptions regarding the response because linear methods such as this are currently
practiced in the automotive industry by the majority of engineers. One of the objectives
Magnitude x/F
of this thesis was to draw attention to such analysis limitations due to nonlinearities.
Frequency (Hz)
Figure 2.6: SDOF Model Analytical-Numerical Comparison.
If the displacement response is assumed to be X(t)=X1cos(? ot+? o)+X2cos
(3? ot+3? o) and the same procedure is used without neglecting higher frequency terms,
the nonlinear component of the FRF relationship becomes:
3
3
3
NL = X 12 + X 22 + X 1 X 2 .
2
4
4
(2.11)
Using these higher frequency terms, the analytical prediction is more accurate as shown
in Figure 2.8 and 2.9.
Magnitude x/F
20
Magnitude Xo/FO
Frequency (Hz)
Figure 2.7: SDOF analytical-numerical comparison SDOF (Zoom in).
Frequency (Hz)
Figure 2.8: Higher frequency term effects on SDOF analytical results.
21
Magnitude Xo/FO
10
10
10
10
10
-1.05
-1.06
-1.07
-1.08
N umerical
Analytical (wot)
Analytical (wot +3wot)
-1.09
1. 7
1. 72
1. 74
1.76
1.78
Frequency (Hz)
Figure 2.9: Higher frequency term effects on SDOF analytical results (zoom in).
Figure 2.10 shows the FRF as the nonlinear term, *x3, is increased in size in the
model by changing between 1000 4000 and 6000. Similar effects are observed in
Figure 2.11, when the amplitude of the excitation is increased. Because the cubic term is
dependent on displacement, it has little effect on the response (at the excitation
frequency) for excitation frequencies away from resonance. Note that this research
focuses on the behavior of nonlinear models near their primary resonant frequencies and
does not consider other types of nonlinear resonance (subharmonic, superharmonic,
combination, internal, etc.). Nonlinearity in this powertrain model is observed to affect
the behavior of the powertrain near resonance where large relative displacements occur.
Magnitude X/Fo
22
Increasing nonlinear
coefficient
Frequency (Hz)
Magnitude X/Fo
Increasing Input
Amplitude
Frequency (Hz)
Figure 2.11: Input amplitude effect on SDOF transmissibility, () input amplitude 0.05,
(--) input amplitude 0.1, (----) input amplitude 0.3, (
) input amplitude 0.5.
23
In this simplified powertrain model, the resonance frequency of the mount is
observed to move toward higher frequencies as either the nonlinearity in the mount or the
amplitude of the excitation (and response) are increased. This type of nonlinear tuning of
the powertrain mount stiffness is desirable in the present application because it can
potentially be used to overcome the trade offs discussed in Chapter 1 regarding design of
mounts in idle and ride. For example, when the powertrain responds with small
amplitudes of displacement at idle, the effective resonant frequency of the powertrain
remains low resulting in good isolation of the engine unbalance and firing forces. When
the powertrain responds with relatively larger amplitudes of displacement in ride, the
effective resonant frequency increases resulting in less deflection across the mount
(longer life) and potentially better vibration energy absorption capabilities at higher
frequencies. This latter aspect of powertrain mount nonlinear resonant tuning is
examined using various models in the following sections.
24
2.2: Nonlinear Powertrain-Body (2DOF)
The following two DOF system shown in Figure 2.12 was analyzed numerically
with nonlinearities incorporated. The two DOFs represent the body and powertrain of
vehicle. The input used in this model was an input displacement (Xb(t)) at the spindle.
Powertrain (MP)
Powertrain
Mount
KP
CP
Sprung Mass(Ms)
Vehicle
Suspension
KS
CS
xP
xS,
(Body)
xb,
(wheel spindle)
Figure 2.12: Two degree-of-freedom system with nonlinear term.
To examine the effects of the nonlinear term on the dynamics of the system,
nominally linear transmissibility functions were calculated using numerical simulations.
The terms nominally linear are used in this thesis to refer to the ratio of the response
(amplitude/phase) to the excitation (amplitude/phase) at the excitation frequency. In
other words, nominally linear transmissibility functions contain information about only
primary resonances in nonlinear systems. The simulations of the system were conducted
with Simulink (MATLAB) using EOMs, Equations (2.12) and (2.13):
M S &&
xS + CS x&S + K S xS CP ( x&P x&S ) K P ( xP xS ) ( xP xS ) = X b sin ( o t ) ,
(2.12)
M P &&
xP + CP ( x&P x&S ) + K P ( xP xS ) + ( xP xS ) = 0 .
(2.13)
where,
KS=200 N/mm
KP=75 N/mm
CS=4 (N s)/mm
CP=1 (N s)/mm
MS=10 Kg
MP=1 Kg
25
The transmissibility plots in Figure 2.13 and 2.14 show the system behavior in the
presence of a cubic nonlinearity ((xP-xS)3 ). Note that the nonlinearity primarily affects
the transmissibility functions near the second resonant frequency because the forced
response characteristics near the first resonant frequency correspond to the in phase
motion of the powertrain and body inertias. This in phase motion does not exercise the
powertrain mount and, therefore, does not elicit nonlinear behavior in the model. At the
second resonant frequency, the powertrain and body inertias move out of phase resulting
in more nonlinear behavior as the mount is exercised more effectively. Figure 2.15
demonstrates why the nonlinear mount is effective at selectively transmitting vibration
(kinetic) energy from the body to the powertrain as the amplitude of the excitation
(response) increases. In this figure, the powertrain motion exhibits a desirable attribute
as the degree of nonlinearity in the dynamics increases. As the excitation amplitude
(degree of nonlinearity) increases, the frequency at which the powertrain is an effective
absorber increases as well. Because this frequency of high energy absorption of the
powertrain increases with amplitude, it can be concluded that good isolation at idle when
the response amplitudes are small can be achieved simultaneously with good dynamic
absorption when the response amplitudes are relatively larger.
This property of varying degrees of nonlinear body and powertrain interactions is
important when considering how the powertrain can be designed as dynamic absorber.
Moreover, it is desirable to have nonlinear interactions between the powertrain and body
when vibrations occur in ride near the second resonance because these vibrations result in
a harsher ride.
nonlinear interactions change as more degrees of freedom are added to the model. For
instance, the next section examines these nonlinear interactions between the powertrain
and body when the unsprung mass is included as well.
26
Frequency (Hz)
Figure 2.13: 2DOF X2/Xb Transmissibility Response () =5, (--) =10, (----) =30,
(
) =50.
Frequency (Hz)
Figure 2.14: 2DOF X1/Xb Transmissibility ()=5, (--) =10, (----)=30, (
)=50.
Transmissibility x2/x1
27
Frequency (Hz)
Figure 2.15: 2DOF X2/X1 Transmissibility ()=5, (--)=10, (----)=30, (
)=50.
28
29
Front
Rear
Middle
Figure 3.1: SSR side view.
z8,8x ,8y
Front Body
(Sprung)
b1
Cfs
z1
Middle Body
(Sprung)
Cft
z6,6
a
Kfs
Kem
Cfs
Ktm
z2
Ktb, Ctb
Ctm
Cft
Kbb
Kbb, Cbb
Mf, Ifx
a
Kfs
Mfs
Kft
zrf(t)
Mf, Ifx
Ktb, Ctb
Front
Wheel spindle
(Unsprung)
Mf, Ifx
z7,7
Tire Patch
Powertrain
Rear Body
(Sprung)
Krss,
Crss
z3
Crt
Mp
b2
Ipy Cem
Cem
z5,5
Ipx
d
Krs
Mrs
Krt
zlr(t)
Krs
z4
Crt
Krss, Crss
Mrs
Krt
zrr(t)
z
x
Rear
Wheel spindle
(Unsprung)
30
The model has 13 DOFs. Four of the DOFs describe the unsprung masses for the
wheels. Three main sections of the vehicle in the front, middle and rear are described
using six DOFs. Each of these three sections was permitted to roll and bounce. There
are bending and torsional stiffness elements between the sections. The last three DOFs
are used to describe powertrain bounce, pitch and roll movement. The powertrain is
supported by three simple lumped springs; two for engine support and an additional one
to support the rear of the transmission. The model uses proportional damping to describe
dissipation throughout the vehicle.
The vehicle model was constructed to provide a minimal but sufficient description
of the powertrain dynamics (ignoring lateral motions and twist). For example, it is
possible in the 13 DOF model to observe the front and rear sections of the body as they
each experience roll motions out of phase. This shape, normally referred to as torsion,
can be observed and documented. In addition, if each unsprung wheel mass has its own
DOF, then the model can describe wheel hop conditions (i.e., resonance of the spindle
relative to the vehicle chassis). This condition is of interest to vehicle dynamics groups
for performance aspects and could involve a design trade-off for ride performance.
In matrix form, the input-output equations of motion are
{R} = {z1
{F} = {C ft z&lf
z2
+ K ft zlf
z3
z4
z5 5
C ft z&rf + K ft z rf
z6
z7
z8
8 x
8 y }131
T
0 0 0 0 0 0 0 0 0}131
T
(3.1)
where the damping is assumed to be proportional to the mass and stiffness of the system:
[C ] = [ M ] + [ K ] .
31
0
0 Mrs
0
0
0
0
Mrs
0
0
0
0
0
0 Mf
0
0
0
0
0
[M]= 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Ifx
0
0
Mf
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Ifx
0
0
Mf
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 ,
0
0
0
0
0
0
0
0
Ifx 0
0
0
0
Mp 0
0
0
0 Ipx 0
0
0
0 Ipy
(3.2)
32
0
0
0
Kft + Kfs
0
Kft + Kfs
0
0
0
0
Krt + Krss + Krs
0
0
0
0
Krt + Krss + Krs
- Kfs
- Kfs
0
0
- aKfs
0
0
aKfs
[K]=
0
0
0
0
0
0
0
0
0
0
- (Krss + Krs)
- (Krss + Krs)
0
0
f(Krss + Krs)
- f(Krss + Krs)
0
0
0
0
0
0
0
0
0
0
0
0
- Kfs
a * Kfs
- Kfs
- a * Kfs
- Kbb
2 Kbb + Ktm
- Ktb
- Kbb
- Kem - Kem
- Ktm
Kem (-b1 - b2 )
Kem (-d - d)
Ktm (c - d)
33
0
- (Krss + Krs)
f (Krss + Krs)
- (Krss + Krs)
- f (Krss + Krs)
- Ktb
- Kbb
Ktb + Ktb
- Ktb
- Ktb
0
0
0
0
0
0
0
0
0
0
0
0
- 2 Kem
Kem (b1 - b2)
- 2 d Kem
.
- Ktm
0
Ktm (c - d)
0
0
0
0
0
0
0
0
0
2 Kem + Ktm
Kem * (b2 - b1)
2 Kem d - (c - d) * Ktm
(3.3)
34
Kft Front Tire Stiffness
Krt Rear Tire Stiffness
Kfs Front Suspension Stiffnesss
Krs Rear Suspension Stiffness
Kbb Body Bending Stiffness
Ktb Body Torsional Stiffness
Kem Powertrain Mount Stiffness
Ktm Transmission Mount Stiffness
Mfs Front UnSprung Mass(spindle)
Mrs Rear UnSprung Mass(spindle)
Mf Frame Mass(Body)
Mp Powertrain Mass
Ifx Frame Rotational Inertia
Ipx Powertrain Rotational Inertia
Ipy Powertrain Rotational Inertia
a Front Mass proportion
Middle Mass proportion
? Rear Mass proportion
The thirteen DOF model was programmed into MATLAB, which calculates 13
transmissibility equations based on a specified road input at the four tire patches. The
road excitation used in this research corresponds to the vehicle tramp excitation, in
which the left front and right rear tires are forced in phase and out of phase with the left
rear and right front tires. Because the model is linear, the law of superposition holds so
the response due to multiple inputs can be generated by adding the individual results for
each excitation applied separately. For example, the tramp excitation, which excites
torsional body modes in the vehicle, produces transmissibilities that are the sum of the
transmissibilities for the left front and right rear tires.
[T ] = ( [M ] 2 +
j [C ] + [K ] [ D ]
1
(3.4)
where,
35
Because the chassis and body of the vehicle do not have the three lumped masses
as assumed in the model, the values of the bending and torsional stiffness coefficients
(body stiffness) between the three sections must be adjusted such that the model modes
match modal results supplied by the sponsor. If the vehicle damping is assumed to be
small in the model, then the imaginary portion of the transmissibility tracks the relative
motion of the 13 DOFs at each frequency of excitation. Matlab code animate.m in
Appendix A animates the model mode shapes. The subsequent section uses animate.m to
calibrate the 13 DOF model.
It is necessary to develop a frequency range of interest. A frequency range of
interest defines an area to gauge improvements. Figures 3.3 through 3.5 are provided by
the sponsor. Since the vehicle is convertible there is data for top up and top down
conditions. Each plot displays two curves corresponding to either top up or top
down condition. These plots show that the primary frequency range of interest appears
to be 10 to 15 Hz with large vertical accelerations occurring there in the suspension and
steering hub.
Baseline Top Down
Baseline Top Up
Autopower
Spectrum dB(m2/s4)
Autopower Spectrum (dB ref 1(m2/s4)/Hz)
20.00
10.00
0.00
-10.00
-20.00
-30.00
-40.00
0
10
15
20
25
30
35
40
45
Frequency (Hz)
Frequency (Hz)
Figure 3.3: Sponsor supplied SSR vertical front suspension road test
50
36
Baseline Top Up
20.00
10.00
0.00
-10.00
-20.00
-30.00
-40.00
0
10
15
20
25
30
35
40
45
50
Frequency (Hz)
Frequency (Hz)
Figure 3.4: Sponsor supplied SSR vertical rear suspension road test.
Baseline Top Down
Baseline Top Up
GMUTS 6
Autopower
Spectrum dB(m2/s4)
Autopower Spectrum (dB ref 1(m2/s4)/Hz)
20.00
10.00
0.00
-10.00
-20.00
-30.00
-40.00
0
10
15
20
25
30
35
40
45
Frequency (Hz)
Frequency (Hz)
Figure 3.5: Sponsor supplied SSR vertical steering column road test.
50
37
3.1.2: Calibration
Each of the body stiffness parameter values were determined in an ad hoc manner
using a Matlab code for simulating the mode shapes. The mode shapes were displayed
by observing each displacement in a synchronous motion for a specified input
configuration and frequency. See below for full calibration procedure. Figure 3.6 shows
the modal plot of the results of the calibration analysis.
transmissibility functions for the 13 DOF model after the calibration procedure was
applied. Table 3.1 displays the modal vibration shapes at specific frequencies.
Calibration Procedure
1) Develop model with best estimate parameters.
2) Plot imaginary portion of FRF to produce a mode plot.
3) Determine mode shapes of each peak using animation script (animate.m)
4) Tune for torsional mode first.
5) Re-execute model with extreme (large) value of Kbb (Bending Stiffness).
6) Re-animate mode shapes.
7) Vary Ktb (Torsional Stiffness) to understand its effect.
8) Fine tune Ktb to place mode shapes in correct locations in the frequency spectrum.
9) Repeat steps 5-8 for bending mode. With Ktb extreme and vary Kbb.
10) Combine calibration factors.
11) Re-execute model
12) Verify mode shape locations with animations.
13) Repeat 7-11 if necessary
38
Roll and
Bounce
Powertrain
Roll &
Torsion
Suspension
Torsion
Suspension
Torsion
& Pitch
Powertrain Pitch
39
Table 3.1: 13 DOF Vehicle model mode shapes.
Frequency (Hz)
Shape
2.8
Roll
Bounce
8.4
Powertrain Roll
and Torsion
10
Powertrian Pitch,
Front suspension
and Bending
Screen Shot
40
Table 3.1: 13 DOF Vehicle model mode shapes. (continued).
Frequency (Hz)
Shape
13.8
Torsion
18.1
Powertrain Pitch
19.6
Front suspension
20.3
Bending
Screen Shot
41
Table 3.1: 13 DOF Vehicle model mode shapes. (continued).
Frequency (Hz)
Shape
28.3
Torsion
30.6
Bending
Screen Shot
42
3.1.3: Linear Stiffness Effects
In order to determine how the system will respond to changes in nominal engine
mount stiffness, the 13 DOF model was run several times with different engine mount
stiffness values. The intention of these changes in mount stiffness was to shift the three
resonances (bounce, pitch and roll) of the powertrain in frequency. Theoretically, the
powertrain could absorb energy from the body at each of the powertrains natural
frequencies, which are listed below for the chosen parameters
n1 p =
2 K em + K tm
/ 2 = 11 .8 Hz (Bounce)
Mp
n2 p =
K tm (c d ) + 2 K em d 2
/ 2 = 17 .3 Hz (Pitch) .
I py
n3 p =
K em b1 2 + b 2 2
/ 2 = 8.35 Hz (Roll)
I px
Bounce motion of Mp
43
transmissibility of the powertrain and each of the body modes as the engine mount
stiffness was also varied from a factor of 1 to 2.2 times KNOM, 390 N/mm.
44
prevalent peak. The middle section of the body (Figure 3.12) seemed to improve most
significantly from these linear changes, whereas the front section (Figure 3.11)
experienced some benefit. The rear section did not improve as much as the front and
middle sections. This variation toward the rear of the vehicle was anticipated because the
powertrain inertia is located in the front of the vehicle.
45
Reduction
Figure 3.11: Front body FRFs (upper-- bounce, lowerroll) with varied linear engine
mount factor (.)1.0*KNOM, (----)1.4*KNOM, (-.-.)1.8*KNOM (
)2.2*KNOM.
Reduction
Figure 3.12: Middle body FRFs (upper-- bounce, lowerroll) with varied linear engine
mount factor (.)1.0*KNOM, (----)1.4*KNOM, (-.-.)1.8*KNOM (
)2.2*KNOM.
46
Reduction
Amplification
Figure 3.13: Rear body FRFs (upper-- bounce, lowerroll) with varied linear engine
mount factor (.)1.0*KNOM, (----)1.4*KNOM, (-.-.)1.8*KNOM (
)2.2*KNOM.
47
step, t, is listed below for reference and the MATLAB code (SSR_NL.m) is provided in
Appendix A:
dy
= f (t , y )
dt
k
k
k
k
y n +1 = y n + 1 + 2 + 3 + 4 + O (t 5 )
6
3
3
6
where,
k1 = tf (t n , y n )
.
k
t
k 2 = tf t n + , y n + 1
2
2
k
t
k 3 = tf t n + , y n + 2
2
2
k 4 = tf (t n + t , y n + k 3 )
For
(3.5)
To verify that the numerical nonlinear code was operating correctly was set zero
in order to create Figure 3.14. When is set to zero, the cubic nonlinear term is removed
forcing the model to operate linearly. The transmissibilities in Figure 3.14 match Figure
3.7 previously developed using linear algebra.
)Rear.
48
nonlinear
linear
1500
1000
500
0
-500
-1000
-1500
-2000
-1
-0.5
0
0.5
Displacement [mm]
1.5
)Rear
49
Figure 3.17 through Figure 3.19 compare the response before and after the
nonlinear term is turned on ( 0 ). In the frequency range of interest, 10-15Hz, each of
the three sections has some form of reduction either with roll or bounce. The front
section achieves reduction for bounce. This reduction may be due to a shift in the
powertrain roll resonance. In addition, the front achieves reduction in the frequency
range above approximately 22 Hz.
The linear front body bounce in Figure 3.14 has a anti-resonance just below 10
Hz. But the nonlinear front bounce response has an anti-resonance just above 10Hz;
therefore, an obvious shift in the powertrain mounts stiffness. In addition, the powertrain
roll mode in the linear analysis was located around 8 Hz. However, the nonlinear
response shows that its resonance may have shifted up in frequency to 10 Hz.
Figure 3.17: Nonlinear Effect on front body (upperBounce, lower--Roll) (....) Linear,
(
) Nonlinear.
Similar to the front section of the body, the middle experiences an even greater
bounce mode reduction from 10-24 Hz. But the nonlinear middle roll does not have as
good of reduction. Instead, there are two upper resonances that shift down in frequency.
The lower frequency of the two experiences reduction and the higher resonance is
50
amplified. As shown in Figure 3.19, rear body bounce has a significant reduction in the
range of 10-18 with the use of nonlinearity. Furthermore, a body roll anti-resonance
shifts down in frequency from 14.5Hz to 12.5 Hz. Like all three sections of the body the
8.4 Hz powertrain roll mode resonance is no longer apparent in the nonlinear model.
Overall, the 13 DOF model with cubic nonlinear powertrain mount stiffness
produced similar results with the nominal stiffness changes seen in section 3.1.3. This
model suggests that body transmissibility reduction is capable using nonlinear mounts.
Nevertheless, it is not realistic to assume powertrain mounts are capable of cubic
nonlinearity. Consequently, in the next section a more physically realizable mount
stiffness characteristic is implemented within the 13 DOF model.
Figure 3.18: Nonlinear Effect on middle body (upperBounce, lower--Roll) (....) Linear,
(
) Nonlinear.
51
Figure 3.19: Nonlinear Effect on rear body (upperBounce, lower--Roll) (....) Linear,
(
) Nonlinear.
52
range between 2-25 Hz in 1 Hz intervals and was tested at 0.1 mm, 0.2 mm, 0.3 mm, 0.4
mm, 0.5mm, 1.0 mm and 2.0 mm deflection amplitudes, the first model has a total of 7
different frequency dependent curve fits.
The second model develops nonlinear stiffness curves at each specified
frequency. Because the mount data was taken in 1 Hz intervals at 7 different amplitudes,
the second model uses 24 different nonlinear stiffness curves at the 24 different
frequencies of excitation.
3.3.1 Frequency Dependent Curve Fit Model
The frequency dependent curve fit model is based on the linear 13 DOF model
analyzed in Section 3.1.
stiffness matrix. These changes are guided by the sponsor supplied mount data in Figure
3.20. Because the powertrain stiffness changes as a function of frequency, the model
stiffness matrix must be recalculated at each frequency. The MATLAB (ssr13_linear_13
Frequency (Hz)
Figure 3.20: Sponsor supplied SSR mount stiffness data
The frequency dependent curve fits were constructed using a fourth order leastsquares algorithm. In this algorithm, care was taken to ensure that the bias in the curve
was included as a constant offset. The numbers of points, n+1, in the measured data
53
provided by the sponsor for the mount were also supplemented as necessary at each
excitation amplitude to ensure a high quality curve fit. The polynomial coefficients were
numerically determined by solving Equation (3.6). A pseudo-inverse algorithm was used
to compute [W]+ and estimate the coefficients, {A}, as shown below:
biasi
bias
i +1
biasi + 2
M
biasi + n
[W ]{A} = {k }
+
A = [W ] {k }
i2
i3 i4
k i
1
k i +1
a1
i2+1 i3+1 i4+1
2
3
4
i+2 i+2 i+2
a 2 = k i + 2
a 3
M
a
k
2
3
4
i +n i+n i+n
4 51
i + n (n +1)1
(n +1)5
{}
(3.6)
As stated earlier, the model selected one of six frequency dependent curves. The
simulation algorithm selected the proper frequency curve based on the desired deflection
amplitude.
conditions the vehicle experiences, for instance, during idle or ride. For example, if the
vehicle dynamics during idle were of interest, the deflection amplitude curve
corresponding to 0.1 mm deflection was used. Figure 3.21 shows the transmissibility
response plots for each of the three sections in the bounce and roll DOFs during a
simulated idle (small amplitude level, 0.1 mm) condition.
transmissibility plots for a larger amplitude level, 1.0 mm, mount displacement. When
these curves in addition to others at 0.5 and 2.0 mm are compared as in Figure 3.23-3.24
for the front, middle and rear body sections, a significant reduction in the middle body
forced response for large mount deflections is observed (denoted by the hatched region)
as is a modest reduction in the front and rear bounce motions.
54
Figure 3.21: Transmissibility using frequency dependent stiffness (0.1 mm peak to peak
deflection amplitude).
Figure 3.22: Transmissibility using Frequency Dependent Stiffness (1.0 mm peak to peak
deflection amplitude).
55
Reduction
Reduction
56
Reduction
biasi +1
biasi + 2
M
bias
i+n
xi
xi2
xi3
xi +1
xi + 2
xi2+1
xi2+ 2
xi3+1
xi3+ 2
xi + n
xi3+ n
xi2+ n
[W ]{ A} = {k}
{ A } = [W ]+ {k}
ki
1
xi4
xi4+1
i +1
a1
4
xi + 2
a2 = k i + 2
a
M
3
xi4+ n ( n +1)5 a4 51 ki + n ( n +1)1
(3.7)
Because the data provided the sponsor was taken at specific amplitudes of
deflection (0.1, 0.2, 0.3, 0.4, 0.5, 1.0 and 2.0 mm) it was necessary to add additional data
57
points at 1.3 and 1.6 mm to produce realistic curve fits. Figures 3.26 and 3.27 display the
curve fits with and without the added data points at 10 Hz and 25 Hz respectively.
Without the extra data points at 1.3 mm and 1.6 mm the curve fit will have a large
overshot in this region. In addition, since the resulting 24 curve fits are spaced at 1 Hz
intervals, linear interpolation was necessary to provide a finer frequency resolution to
construct transmissibility functions without sharp discontinuities as the algorithm jumps
from one curve fit to another for different frequencies. Figure 3.28 shows the effect of
the interpolation. The results of the amplitude dependent curve fit model are extremely
close to the results from the frequency dependent curve fit model. The comparison and
58
[mm/mm]
k1
Mag. T +T
k4
10
10
-2
10
15
20
15
20
[mm/mm]
k1
Mag. T +T
k4
10
10
-2
10
Frequency [Hz]
59
3.3.3 Curve Fit Model Comparison
The transmissibilities for all DOFs in the two models were surprisingly similar.
Figures 3.29 and Figures 3.30 illustrate the correlation between the two models. The two
models only diverge near the vehicle suspension modes, for example, around 10 Hz. For
small amplitudes in Figure 3.29, the peaks are shifted slightly and the magnitude of the
peak is slightly different. Furthermore, Figure 3.30 displays the response due to large
displacement of 2 mm amplitude. In the neighborhood of 10 Hz, the two models diverge
slightly. The use of linear interpolation between the twenty five stiffness curves is the
most probable cause of the discrepancy between the models.
The previous two models required curve fits to develop mount stiffness
characteristics at each frequency and amplitude of analysis. The curve fits, although
fairly accurate, are a source of error in the analysis. In addition, curve fits are an extra
step in the model building process. Chapter 4 will introduce a model that will remove the
necessity for curve fits and allow the building and development of full vehicle models in
a quicker more accurate way.
Figure 3.29: Curve Fit Models Front Body Comparison (Small amplitude).
60
Figure 3.30: Curve fit Models Middle Body Comparison (Large amplitude).
61
62
X1
Cv, Kv
Pivot
X2
Cs, Ks
Ma
X3
Cd, Kd
travels from the upper chamber to the lower chamber through the inertia track. The fluid
travel supplies the mount with hydraulic stiffness and damping (hence the name, hydromount). In addition, Kd and Cd represent the mounts diaphragm stiffness and damping,
respectively.
The increase in fluid in the lower chamber forces the rubber lower
proportional to the motion of x2, a constraint equation must be used to constrain the
motion of the fluid mass. This constraint reduces the number of model DOFs to 3, the
powertrain displacement (x1), the base displacement (x0) and the a third related to the
motion of the fluid within the mount (x2). The lever arm allows the model to have
63
realistic values of fluid mass. Without the effective inertia, the lever arm incorporates, the
model could possibly use extremely unreasonable fluid mass values.
0
0
0
m
1
0
0
0
0
0
0
K s + K D
K s
K D
0 &x&o C s + C D
0 &x& C
1
s
+
0 &x& C
2
D
m &x&
a 3 0
K
s
K +K
s
V
K
s
0
K
V
K
V
0
s
C +C
s
V
C
s
0
D
C
V
C + CV
D
0
0 xo
0
0 x1 0
=
0 x2 0
+K
D
0
0 x3
0 x&o
0 x&1
+ ...
0 x& 2
0 x&3
(4.1)
To constrain the model, Equation (4.2) was enforced in the simulation model. To
implement the constraint, the mass, stiffness and damping matrices of the EOM were
replaced with their effective portions. Equation (4.3) is the resulting EOM. After
algebraic manipulation, the transmissibility relation Equation (4.4) can be developed.
X
o 1
X1 0
=
X 2 0
r + 1
X 3
0
0 X
o
1
0
X x = Ty Lever Arm Constraint .
0
1 1
0 r X 2
(4.2)
&&
&
X+C
X+K
X=F
eff
eff
eff
where, M =TT MT C =TTCT K =TT K
eff
eff
eff
M
)(
) (
)(
(4.3)
)(
) (
(4.4)
Although this model captures the mounts frequency dependence, the mounts
nonlinear or amplitude dependence is not described by this equations. Thus, this model
only describes the mount at a specific displacement across the mount. The seven elements
within the model must be altered in a piecewise linear fashion in order to accurately
depict a mounts performance at other amplitudes of displacement.
64
4.2: Individual Element Effects
The hydraulic mount model has seven independent elements. The combination of
the seven elements, provide many different mount characteristics.
To develop a
hydraulic mount, these parameters may be adjusted to develop the correct characteristic
for the application. The analytical transmissibility of the mount provides useful insight
into the effect of each element. By fully understanding the effect of each element, the
designer can better understand how the responses will change. Figure 4.2 shows the
effect of varying support stiffness, Ks.
Vary Ks
Magnitude x1/xo
3
125
650
1000
Increasing Ks
0
10
20
30
Frequency (Hz)
40
50
0
125
650
1000
-50
-100
-150
-200
10
20
30
Frequency (Hz)
40
50
Furthermore, if Ks is
increased adequately, the transmissibility will degenerate into a single peak. The large
65
single peak may cause powertrain motions that are too large and violate the boundary
constraints.
The volume stiffness of the mount has the opposite effect as Ks on the
transmissibility. Figure 4.3 shows the effect of Kv on transmissibility. As the value of
Kv increases, it is possible to split a large single peak into two lower peaks above and
below the original peak. Subsequently, the overall maximum transmissibility is much
lower. Because the peak created at higher frequency will amplify the response at higher
frequencies, caution is necessary to prevent adverse reactions in idle response. Recall
that this shift upward in frequency is a desirable characteristic in terms of energy
absorption by the powertrain.
Vary Kv
Magnitude x1/xo
3
200
600
900
10
20
30
Frequency (Hz)
40
50
0
200
600
900
-50
-100
-150
-200
10
20
30
Frequency (Hz)
40
50
66
Vary Kd
Magnitude x1/xo
3
5
60
200
10
20
30
Frequency (Hz)
40
50
0
5
60
200
-50
-100
-150
-200
10
20
30
Frequency (Hz)
40
50
67
Vary Cs
Magnitude x1/xo
2
0.1
0.6
1.5
1.5
1
0.5
0
10
20
30
Frequency (Hz)
40
50
0
0.1
0.6
1.5
-50
-100
-150
-200
10
20
30
Frequency (Hz)
40
50
2
0.05
0.2
1
1.5
1
0.5
0
10
20
30
Frequency (Hz)
40
50
0
0.05
0.2
1
-50
-100
-150
-200
10
20
30
Frequency (Hz)
40
50
68
The effect of Cd is to concentrate most of the relative movement at one resonant
frequency as Cd becomes large. If Cd is low, the transmissibility develops two resonant
peaks. A high value of Cd places energy in one frequency band instead of focusing the
energy into two smaller frequency bands. Consequently, when Cd is high, the maximum
relative displacement of the mount is much lower than if two peaks exist.
This effect
Vary Cd
Magnitude x1/xo
6
0.5
4
10
10
20
30
Frequency (Hz)
40
50
0
0.5
4
10
-50
-100
-150
-200
10
20
30
Frequency (Hz)
40
50
69
Vary Fluid mass (kg/100)
Magnitude x1/xo
4
1e-006
6e-006
1.2e-005
3
2
1
0
10
20
30
Frequency (Hz)
40
50
0
1e-006
6e-006
1.2e-005
-50
-100
-150
-200
10
20
30
Frequency (Hz)
40
50
3
60
80
100
10
20
30
Frequency (Hz)
40
50
0
60
80
100
-50
-100
-150
-200
10
20
30
Frequency (Hz)
40
50
70
In summary, each parameter uniquely affects the response.
The powertrain
performance can be tuned by adjusting and combining these elements. Table 4.1 displays
a synopsis of each elements effect.
Table 4.1: Summary of each elements effect on the hydraulic mount performance.
First Peak
Increase
Reduce
Magnify
Ks
Second Peak
Shift
Reduce
Magnify
up
Cs
Kv
Shift
x
x
down
up
Cv
Kd
up
up
Cd
Ma
down
down
down
up
Figure 4.10
and Figure 4.11 show the magnitude and phase, respectively, for specific element values.
2.5
Magnitude X1/Xo
2
NASTRAN
1.5
Anylitical
1
0.5
0
0
10
20
30
40
Frequency (Hz)
50
71
400
350
300
NASTRAN
250
Anylitical
200
150
100
50
0
0
10
20
30
40
50
Frequency (Hz)
72
K*, Test
K*, Model
1600
70
1400
60
50
1000
40
800
30
600
20
400
1200
Support Stiffness, Ks =
327.82
Support Damping, Cs =
0.5842
Volume Stiffness, Kv =
611.1029
Volume Damping, Cv =
0.0592
Diaphram Stiffness, Kd =
63.4383
Inertia Track Damping, Cd =
4.2497
Actual Mass, Ma* (Kg/1000) = 5.769E-06
Lever Arm Ratio =
100.00
* enter this into Nastran / MTDES
Effective Fluid Mass, Me (Kg) =
Frequency Range of Fit
Error (rms)
Cs,Ks
10
200
57.69
2-30 Hz
21.26
Cv,Kv
Me
Ma
Cd,Kd
0
0
10
20
30
40
50
Frequency
73
mass, could provide better insight. A shaker could be placed below the mount to simulate
displacement inputs. The acceleration of the powertrain side and, likewise, the body side of
the mount could be recorded using accelerometers.
constructed from the acceleration data above and below the mount. A test using a so-called
Schwerzler machine was utilized to carry out these steps; however, those results are not
discussed here.
The transmission mount does not have a significant frequency nor amplitude
dependent characteristic. The EOMs are similar to Equation (3.1) in Section 3.1 with the
exception of four added DOFs (z9, z10, z11 and z12. The DOFs z9 and z10 represent the motion
of the DOFs X2 and X3, respectively, in Figure 4.1. In addition, DOFs z11 and z12 also
represent the motion of the DOFs X2 and X3, respectively, in Figure 4.1. As explained in
section 4.1, the motions of the pair of DOFs are constrained. After the constraint was
applied, two of the extra DOFs were eliminated creating a 15 DOF model.
74
In this model, the powertrain stiffness is no longer a lumped element and the
powertrain mount damping is no longer simply proportional to the mass and stiffness of the
system elements. Consequently, the powertrain mount damping must not use proportional
damping or the ability of the hydraulic mount model will be offset. To allow the hydraulic
mount damping to remain a design parameter, the damping must be computed in a unique
way.
The damping is modeled using two components, a baseline matrix with the
proportional damping terms and a second matrix with the non-proportional hydraulic mount
damping terms.
z8,8x ,8y
b1
Hyd Mount
Transmission z5,5
Mount
Cfs
z1
Cft
z6,6
Ipx
d
Ipy
Mp
b2
a
Kfs
Mf, Ifx
a
Cfs
Ktm
z2
Ktb, Ctb
Ctm
Cft
Kbb
Kfs
Mfs
Kft
zrf(t)
e
Kbb, Cbb
Mf, Ifx
Ktb, Ctb
Mf, Ifx
z7,7
Krss,
Crss
z3
Crt
Hyd Mount
Krs
Mrs
Krt
zlr(t)
Krs
z4
Crt
Krss, Crss
Mrs
Krt
z
x
zrr(t)
In addition, this
resonance is composed of front and rear roll DOFs. Therefore, this resonance is most likely a
body torsional mode. Consequently, the 15 DOF model appears to correlate well with the
actual vehicle model.
75
Figure 4.15: Fifteen Degree-of-Freedom Powertrain FRFs (Top-Idle conditions, BottomRoad conditions).
76
Figure 4.15 shows the response of the three powertrain DOFs.
represents the transmissibility for large deflections (idle) and the lower plot represents the
transmissibility for larger deflections (road).
transmissibility responses of the three body sections. The dotted lines in each of the plots
represent the 15 DOF model with hydraulic mount parameters to mimic small amplitude
deflections. The solid line represents the same transmissibility predictions except uses the
hydraulic mount parameters that mimic the mounts performance during larger amplitude
deflections.
77
78
effectiveness of the method, synthesized frequency response results for the estimated model
are compared with measured results. It is shown that the model accurately represents the
vehicle vibration modes in the frequency range of interest from 0 to 15 Hz for vertical
79
excitations applied at the left front tire patch. This model could subsequently be used in the
hydro mount design analysis procedure in section 4.4.
80
Figure 5.1: Front isometric view photograph of half-car electro-hydraulic shaker testbed
showing left-front tire and shaker wheel pan, shaker pedestal and left-rear tire restraint.
Figure 5.2: Rear view photograph of half-car shaker testbed showing left and right-rear tire
platform with lightly ratcheted restraining straps.
81
In order to satisfy the algorithmic constraints resulting from the experimental
restraints in the electro-hydraulic shaker tests conducted in this research, the eleven DOF
model in Figure 5.3 is utilized. In this model, the rear spindles are taken to be fixed (i.e., the
rear tires are assumed to stay in compression with no dynamic deflections). The other
mechanical elements described in section 3.1.1 for those low-order models are retained in the
eleven DOF model including the front spindle vertical translational masses, powertrain
vertical translation and rotational (pitch about the y axis, roll about the x axis), and the
front/middle/rear body translational and rotational inertias. The matrix equation of motion
for the eleven DOF model is written as follows:
[M ]1111 {q&&(t )}111 + [C ]1111 {q& (t )}111 + [K ]1111 {q(t )}111 = { f (t )}111 ,
(5.1)
{q(t )}111
z (t ) z 2 (t ) z 5 (t ) 5 (t ) z 6 ( t ) 6 ( t )
= 1
,
z 7 ( t ) 7 ( t ) z8 ( t ) 8 x ( t ) 8 y ( t )
(5.2)
{ f (t )}111
= C ft z&lf (t ) + K ft z lf (t ) C ft z&rf (t ) + K ft z rf (t ) 0 0 0 0 0 0 0 0 0
(5.3)
where Cft and Kft are the damping and stiffness, respectively, of the front tires and zlf(t) and
zrf(t) are the left and right front tire patch excitation displacements. Note that the force in
Equation (5.3) only represents that portion of the tire force due to the vertical tire patch
motion. The spindle motions also determine a portion of the external force but these terms
are included in the stiffness matrix on the left hand side of Equation (5.1) in [K].
Several experimental constraints are taken into account when writing Equations (5.1)(5.3) in this manner. First, the rear spindles are fixed to ground resulting in two less DOFs
than in the 13 DOF model. Second, only vertical direction motions and torsional motions of
the powertrain in the pitch and roll directions are included. Although the other motions could
theoretically be incorporated in the model with the proposed approach, they have not been
included in this research. Third, only the forces in the vertical direction at the left and right
front tire patches are included in the excitation vector in Equation (5.3). Other excitations,
for example, due to the powertrain rotating imbalance forces, can be incorporated later after
the model parameter matrices are estimated to obtain frequency response functions for those
82
additional excitations. For now, only the left and right front excitations are included in the
excitation vector because the half-car electro-hydraulic shakers are only capable of delivering
these excitations (Figures 5.1 and 5.2). Furthermore, only the excitation at the left front tire is
included here because of the approximate symmetry in the vehicle for the two experimentally
possible excitations.
The next subsection presents an experimental method for estimating the matrices [C]
and [K] assuming the mass matrix and the tire stiffness are known. The significance and
advantage of respecting these two assumptions about mass and tire stiffness for the purposes
of parameter estimation are also discussed.
83
5.3 Approach for Hybrid Analytical / Experimental Model Development
Direct Parameter Estimation (DPE) [9] is a time-domain method for experimental
mechanical model identification. DPE is implemented in this research to estimate the vehicle
damping and stiffness matrices in Equation (5.1). As mentioned above, the diagonal mass
matrix and tire stiffness and damping are assumed to be known a priori for the reasons
discussed below.
presented here because it relies on both analytical (mass) and experimental (stiffness)
methods. The full DPE method is first presented in general for estimating all three parameter
matrices and then the modified DPE method implemented in this research is described in
more detail.
DPE is a least-squares approach, which uses input and output data, {f(t)} and {q(t)}, at
multiple time points, tj, to construct the following set of equations at Nt time points:
[[M ] [C ]
[[M ] [C ]
{q&&(t1 )}
[K ]]1133 {q& (t1 )}
{q(t1 )}
[K ]][E ] = [B]
{q&&(t2 )}
{q& (t2 )}
{q(t2 )}
L
L
= [{ f (t1 )}
K 33Nt
{ f (t2 )}
L]11Nt
(5.4)
where [E] and [B] are defined to be the output and input data matrices, respectively, in the
second line of the equation. It would also be possible to include multiple test datasets in the
formulation in Equation (5.4). For example, two input and output datasets could be collected
when the left and right front tire patch are displaced separately. Both datasets could then
easily be incorporated into Equation (5.4).
By ensuring that the total number of time points is greater than the number of
coefficients to be estimated, the optimal solution (in the least-squares sense) to the overdetermined set of equations in Equation (5.4) can be obtained using traditional linear algebra
techniques. For example, the three parameter matrices in Equation (5.4) each contain 121
(112) entries resulting in 3121=363 total coefficients to be estimated.
Consequently,
Nt>363 is the requirement for the input and output data matrices in the general formulation
for DPE in Equation (5.4). Of course, the coefficients in the three parameter matrices are not
all unique because of static and dynamic coupling in the vehicle, so constraints are usually
84
applied to ensure that the solution is physically realizable resulting in a lower number of
required datasets to estimate the parameters.
The least-squares solution to Equation (5.4) is usually expressed in terms of the
pseudo-inverse of the response data matrix, [E], as follows:
[[M ] [C ] [K ]] = [B][E ] ,
(5.5)
[E ]+ = [E ]T ([E ][E ]T )
(5.6)
where
1
and [E] + denotes the pseudo-inverse of [E] and superscript T denotes the transpose. The
solution in Equation (5.5) minimizes the sum of the least-squared errors in the set of
equations in Equation (5.4). The pseudo-inverse command in MATLAB is used in this
research to carry out the least squares minimization solution procedure for Equation (5.4).
Although Mohammed et al. [9] introduced this general method for simultaneously
estimating all three structural matrices, [M], [C] and [K], in mechanical models such as
Equation (5.1), it is not usually practical to estimate all matrices at one time because of
limitations in experimental data and the fidelity of the assumed low-order model. For
example, the eleven DOF model in Equation (5.1) is kinematically limited because it
assumes the three vehicle frame inertias in Figure 1 translate and rotate as rigid bodies.
Measured estimates of these translations and rotations lead to errors because the frame is not
actually rigid but is instead a continuous structure with flexibility. The results of these
limitations in the measurements and model can be 1) ill-conditioning of the matrix, [E][E] T,
as indicated by a poor matrix condition number (i.e., ratio of largest magnitude singular value
to smallest magnitude singular value is large) and 2) inconsistent equations with a large total
squared error in the equation set Equation (5.4) after the solution is obtained.
In order to overcome these limitations, this research modifies Mohammeds DPE
algorithm. This modified DPE algorithm assumes that (a) the mass properties of the entire
vehicle are known a priori and (b) the damping is relatively small and non-proportional.
Because automotive vibration damping is relatively high compared to damping in other
structural systems, assumption (c) is not physically reasonable from a first principles point of
view; however, the resultant model, which does include non-proportional damping,
ultimately proves to be accurate. This assumption is enforced by assuming that [C]=[0] in
85
the initial stage of the DPE process. Assumption (a) is physically reasonable and practical in
automotive applications because the inertia properties are not as likely to vary as the stiffness
properties from vehicle-to-vehicle due to the presence of connecting elements in the
suspension, frame and powertrain and manufacturing variability of the vehicle. Furthermore,
the vehicle finite element model (FEM) provided by the sponsor and usually available in any
vehicle development program is a good resource for the inertial properties of the eleven DOF
vehicle model. These properties were estimated using a NASTRAN FEM and then the
following diagonal mass matrix was generated based on information supplied by the sponsor:
74.2kg
[M ] =
74.2kg
M f
I fx
M f
I fx
Mf
I fx
311kg
17kg m 2
2
45kg m
(5.7)
{ f (t2 )} [M ]{q&&(t2 )}
L]11 Nt
, (5.8)
86
where the damping terms have been temporarily dropped and the inertia terms have been
transposed to the right hand side of the equation to produce the modified output and input
data matrices, [B] and [E], respectively.
The eight steps in the modified DPE algorithm (DPEssrfinala.m) are listed below and
describe in more detail next:
1) Define the signal processing and data acquisition parameters;
2) Load, calibrate and integrate input and output data;
3) Generate the generalized coordinates in Equation (5.2);
4) Construct the mass matrix from Equation (5.7) and define the tire stiffness and
damping properties of the front tires;
5) Construct the input and output data matrices, [B] and [E], in Equation (5.8) in
addition to the acceleration data vectors on the right hand side of Equation (5.8);
6) Estimate the least-squares solution for the stiffness matrix, [K];
7) Generate the non-proportional damping matrix, [C];
8) Synthesize the frequency response function (FRF) matrix of the identified model
and compare with the measured results using swept or random excitations.
The first step was to define the signal processing and data acquisition parameters
including the total length of the input and output time histories (1.5105 points), sample rate
(500 Hz) and number of output measurements (13 including the left and right front wheel pan
motions). The sample rate was dictated by the random data collected; a 500 Hz sampled rate
was required for collecting the 0-35 Hz random excitation and response data. 1.5105 time
points were acquired for the random data and sweep data to ensure that sufficient data was
available for averaging and to reduce leakage. Furthermore, 3.0 105 time points were
collected for the 0-15 Hz swept excitation to ensure a small change in frequency with time
(0.025 Hz/sec).
The second step was to load, integrate and calibrate the datasets. A schematic of the
(x,y,z) locations in units of inches of the measurement DOFs for the half-car tests conducted
in this research are shown in Figure 5.3-1(a). The left front tire patch at (0,0,0) was excited
vertically (out of the page; see Figure 5.1).
87
accelerometers were used (~1000 mV/g) to measure the acceleration of the wheel pans, front
spindles, frame (front, middle and rear) and powertrain (either side of engine and on
transmission) in the 13 locations. Two accelerometer installations are shown in Figure 5.31(b). Table 5.1 provides the channel number and name, voltage range, low pass filter, high
pass filter and source level information for these tests.
(integdata.m) removed trends in the acceleration and velocity time histories using first order
polynomial fits prior to integrating the cleansed data using the trapezoidal integration
function in MATLAB. Any attempt to integrate time histories prior to removing trends can
result in severe errors in the low frequency range (0-5 Hz). Residual trends due to the
numerical integration process were also removed using intermediate high pass filters. A
Chebychev seven pole digital filter with 60 dB ripple in the pass band was used as a high
pass filter (hpx.m).
The third step was to convert the measured data into generalized coordinates, {q(t)},
in Equation (5.2). A few of the z direction response coordinate time histories were extracted
directly from the measured data (z1 and z2); however, the majority of translation and
rotational coordinate time histories, (z5, z6, z7 and 5, 6, 7, 8x, and 8y) were generated
kinematically. For example, the motion of the front frame inertia center of mass, z5, was
estimated by averaging the motions of the left and right sides of the frame, (i.e., left motion +
right motion)/2).
estimated by assuming small angles, sin(k) 1 (i.e., left motion right motion =ak where
a=36, 42, 39, 12 and 37.5 inches, respectively, for the front (k=5), middle (k=6), rear (k=7)
frame and powertrain roll (k=8x) and pitch (k=8y) calculations).
The fourth step was to construct the mass matrix already provided in Equation (5.7)
and to define the tire stiffness and damping coefficients, Kft=262e3 N/m and Cft=Kft. This
nominal stiffness coefficient for the tires was provided by the sponsors. The constant was
selected in an ad hoc manner based on correlation between the synthesized and measured
FRFs to be discussed in the next section.
The fifth step was to construct the input and output data matrices, [B] and [E], in
Equation (5.8) in addition to the acceleration vectors in that equation. The output matrix,
[E], contains the displacement data, {q(tj)}, and the input matrix, [B], contains the left front
88
tire force data, {f(tj)}, as well as the reverse inertia term from the left hand side of that
equation (refer to Equation (5.8)).
The sixth step was to calculate the least-squares solution of Equation (5.8) using the
pseudo-inverse function in MATLAB to invert [E]. This algorithm uses the singular value
decomposition algorithm to ensure that equations (redundant) associated with singular values
near zero are ignored to retain the good conditioning of the remaining equations.
The seventh step was to construct the damping matrix. A proportional damping
matrix was first constructed as follows:
[C ] = [M ] + [K ] .
p
= 5 10 -3 =
(5.9)
Then the following additional diagonal matrix multiplication of [Cp] was used to tune
the damping until the synthesized FRFs matched the measured FRFs:
.
[C ] =
1
[C p ]
11313
(5.10)
The entries (1 and 3) in this matrix were selected based on observations made during
the tuning process. This tuning process could also be automated using a feedback loop in the
algorithm through which the synthesized and measured FRFs are compared to arrive at the
entries in Equation (5.10) for an arbitrary vehicle testbed.
The eighth step was to compute the FRFs of interest in the various coordinate
directions for the model and to compare these FRFs with experimentally measured FRFs.
89
Model FRFs were synthesized numerically in the frequency range of interest (0-20 Hz) by
inverting the matrix, [K]-[M]2+j[C], at each frequency with a frequency resolution of
0.01 Hz.
Experimental FRFs were computed for both random and swept excitations;
however, only the swept excitation results are included here. The algorithm used to estimate
the measured FRFs (sweeptf.m) utilized data blocks of 1024 time points long to scan through
the swept input and response time histories.
algorithm estimates the ratio of the response and input discrete Fourier transforms (DFTs)
using a flat-top P301 window to obtain accurate amplitude estimates at the slowly-varying
excitation frequencies in the sweep. The nonlinear nature of the system was ignored here by
focusing on the response at the excitation frequency only even though the nonlinearity in the
vehicle was clearly evident in a range of excitation amplitudes as described in section 5.5.
(a)
(b)
90
Table 5.1. Tri-axial sensor channel documentation for electro-hydraulic shaker experiments
on half-car vehicle testbed (channel number and name, voltage range, low pass filter, high
pass filter and source level).
CardChannel
Ch 1-1
Ch 1-2
Ch 1-3
Ch 1-4
Ch 1-5
Ch 1-6
Ch 1-7
Ch 1-8
Ch 2-1
Ch 2-2
Ch 2-3
Ch 2-4
Ch 2-5
Accel
name
RFW
LFW
RFS
LFS
RFB
LFB
RMB
LMB
RRB
LRB
RPT
LPT
TRAN
Placement Description
Right Front Wheel Pan
Left Front Wheel Pan
Right Front Spindle
Left Front Spindle
right Front Body
Left Front Body
Right Middle body
Left Middle Body
Right Rear Body
Left Rear Body
Powertrain Right Mount
Powertrain Left Mount
Powertrain Trans Mount
Range
(v)
-5 to 5
-5 to 5
-5 to 5
-5 to 5
-5 to 5
-5 to 5
-5 to 5
-5 to 5
-5 to 5
-5 to 5
-5 to 5
-5 to 5
-5 to 5
LPF
100 Hz
100 Hz
100 Hz
100 Hz
100 Hz
100 Hz
100 Hz
100 Hz
100 Hz
100 Hz
100 Hz
100 Hz
100 Hz
HPF
0.1 Hz
0.1 Hz
0.1 Hz
0.1 Hz
0.1 Hz
0.1 Hz
0.1 Hz
0.1 Hz
0.1 Hz
0.1 Hz
0.1 Hz
0.1 Hz
0.1 Hz
source
level
4 mA
4 mA
4 mA
4 mA
4 mA
4 mA
4 mA
4 mA
4 mA
4 mA
4 mA
4 mA
4 mA
Table 5.2. Tri-axial sensor channel documentation for electro-hydraulic shaker experiments
on half-car vehicle testbed (sensor calibration factors, serial numbers and other test settings).
Accel
#
22254
22255
22294
22292
22296
22298
22287
22288
22249
22250
22290
22295
22301
auto
zero
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
zero
offset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
5.4 Results of Hybrid Model Development using Direct Parameter Estimation
Several sets of results obtained by applying the analytical / experimental hybrid
model development procedure to the testbed vehicle are presented in this section. First, the
correlation between the 15 DOF stiffness matrix and synthesized stiffness matrix when an
excitation is applied to the left front tire patch is shown. Second, the correlation between
measured and synthesized FRFs when an excitation is applied to the left front tire patch is
discussed. Third, the changes in the estimated modal frequencies (real and imaginary parts)
for changes in the number of time points, Nt, used in the DPE procedure are discussed.
Lastly, the effects of changes in the assumed tire damping as a proportion of the tire stiffness
are examined as are the effects of changes in the proportional damping factors ( and in
Equation (5.9)).
The synthesized stiffness matrix (K_DPE) below is quite close to the stiffness matrix
in the 15 DOF model (K_15DOF) with the exception of the number of DOFs. The 15 DOF
model has more modes in the frequency range. Notice the diagonal terms in K_DPE matrix
are all positive and in close agreement with the diagonal values in K_15DOF. In addition,
the modal frequencies:
-4.9505+15.0060i,
-10.0751+10.7714i,
-3.0778+11.9943i,
-0.2912+10.0981i,
-6.5671+7.7078i,
-0.5001+8.2246i,
-0.5441+6.7928i,
-.7875+4.3307i,
-0.3018+3.5458i,
-0.1952+1.9894i,
-0.6245 + 2.8161i
are realizable modes (real portion negative).
92
K_DPE=1.0e+6*
0.2697
-0.0061
-0.1037
0.0291
-0.0055
-0.0003
-0.0376
-0.0599
0.0258
0.001
-0.0066
0.1983
0.1994
2.0261
-0.1723
0.0939
-0.0181
0.0939
-0.3791
0.8649
-0.2414
0.0559
0.4145
0.0789
1.2338
-0.369
-0.2919
-0.1807
2.4341
-0.1332
-1.4468
-0.0295
-0.2024
-1.4976
-0.0228
-0.2081
0.3378
-0.006
-0.2031
-0.3402
-0.8011
0.3514
-0.2462
0.128
0.9228
-0.0767
-2.2775
-0.0407
0.4203
0.2006
-4.8057
-0.3353
-0.8865
-0.0262
-0.37
2.3502
0.0576
0.3623
-0.3633
0.0371
0.3094
0.4944
0.2666
-0.2353
0.2141
-0.2388
-0.1706
0.0292
0.4857
0.0243
-0.1266
-0.0514
1.1765
-0.0112
0.0704
-0.0104
0.0087
-0.5995
-0.0165
-0.1174
0.1105
-0.0211
-0.0402
-0.0506
0.2469
-0.0337
-0.0576
0.0751
0.0011
-0.009
-0.1678
0.1864
-0.0611
0.0337
0.1145
-0.2144
1.1208
0.0949
-0.0774
0.014
-0.0086
-0.0073
-0.0415
0.0218
-0.0042
-0.0729
0.0502
0.0212
0.0685
0.0242
-0.8416
-0.029
0.0679
0.1019
0.1321
0.005 .
-0.1367
0.4898
-0.041
-0.0888
0.3825
K_15DOF=1.0e+7*
0.0302
0
0
-0.004
0.0018
0
0
0
0
0
0
0
0
0
0.0302 0
0
0
-0.004
-0.004
0.0018 0
-0.0018 0
0
0
0
0
0
0
0
0
0.1177 0
0
0
0.1177 0
0
0
-0.004
-0.0018 0
0
0
0
0
0
-1.305
0.1012 0
-0.0948
0
2.7354 0
0
0
0
0
0
-0.0858 -0.0858 0
-0.0948 0
0
-1.305
0.1896
0
0.0409 -0.0409 0
-0.0948
0
0
0
0
0
0
-0.0656 0
-0.1254 0
0
-0.0039 0
0
0
0
0
0
0
0
-0.0176 0
0.0894 0
-0.0063 -0.0016 0
0
-0.0063 -0.0016 0
...
0
0
0
0
0
0
0
0
0
0
0
0
-0.0858 0.0409 0
-0.0858 -0.0409 0
0
0
0
0
-0.0656 0
-0.0176 -0.0063
0
-0.0039 0
0.0016
-1.305
-0.1254 0
-0.0948 0
1.4767
0
0
0
0.1338 0
0
0
0
0
0
0
0
0
0
0
0.0001 0.0113 0
0.0149
-0.0391 0
0.0773 -0.0164
-0.0611 -0.015
0.0894 0
-0.0164 0
-0.0063
-0.0016
-0.0611
-0.015
-0.0164
0.0675
0
0
93
The measured FRF in Figure 5.5 was obtained in the manner described above
(sweeptf.m) for a 4 mm swept excitation from 0 to 15 Hz. The synthesized FRF in Figure 5.6
was obtained by estimating the stiffness and damping matrices for a 4 mm random excitation
from 0 to 35 Hz given the assumed mass matrix (DPEssrfinala.m) and then reconstructing
the FRFs via the procedure described above. Figure 5.6 was obtained on the assumption that
the tire damping is negligible (=0). 1000 time points were used to extract the stiffness and
damping matrices for synthesizing the FRFs in Figure 5.6. Several resonant peaks are
evident in Figure 5.5 below 5 Hz and surrounding 10 Hz. The nature of the vibration of the
vehicle at these peaks was described previously in section 3.1.2.
Although the vehicle possesses stiffness and damping nonlinearities in the tires,
suspension and frame (refer to spectrograms in section 5.5), these nonlinearities were not
included in the eleven DOF model developed in this research. Nonlinearities were less
severe for the 4 mm random excitation amplitude that was used to synthesize Figure 5.5
following the DPE process. A dataset at 1 mm amplitude random data was also collected;
however, it was observed at this amplitude that the vehicle rocked considerably resulting in
less response energy in the intended vertical direction. A dataset at 7 mm amplitude random
data was also collected but exhibited significantly more nonlinearity that the 4 mm dataset.
The FRFs in Figure 5.6 exhibit several peaks in the same neighborhood of the peaks in
Figure 5.5 and at similar levels. The roll-off of the data with frequency is also similar in the
two sets of FRFs as are the DC stiffness characteristics. Furthermore, Figure 5.6 provides a
more accurate means of estimating the static stiffness characteristics of the suspension, frame
and powertrain mounts because the FRF reconstruction process helps to extrapolate into the
lower frequency range in which the accelerometers have poor response characteristics. The
agreement between the measured and synthesized FRFs is good below 5 Hz and reasonable
in the neighborhood of 10 Hz.
application is near 12 Hz, so the correlation between the model and test data seems adequate
for the purpose of mount design and analysis.
The modal frequencies of the estimated eleven DOF model, k=k+jk, or
equivalently the eigenvalues of the state space model, were calculated as a function of the
number of time points, Nt, used in the DPE process in order to study the convergence of the
identification algorithm. Figures 5.7 and 5.8 show the absolute values of the imaginary and
94
real parts, respectively, of these modal frequencies for Nt=200, 400, 800, 1000 and 2000. It
is observed in these figures that the DPE algorithm is converging for Nt=1000; therefore, this
value was used to extract the parameter matrices and synthesize the FRFs in Figures 5.5 and
5.6.
Figure 5.5: Magnitude of measured frequency response functions from 0-15 Hz between
responses z1, z2, z5, z6, z7 and z8 for left front 4 mm swept wheel pan excitation, zlf.
95
Figure 5.6: Magnitude of synthesized frequency response functions from 0-15 Hz between
responses z1, z2, z5, z6, z7 and z8 for left front 4 mm random wheel pan excitation, zlf.
Figure 5.7: Absolute values of imaginary parts of 22 modal frequencies for estimated eleven
DOF model for 200, 400, 800, 1000, 2000 and 3000 time points showing convergence for
Nt>1000.
96
Figure 5.8: Absolute values of real parts of 22 modal frequencies for estimated eleven DOF
model for 200, 400, 800, 1000, 2000 and 3000 time points showing convergence for
Nt>1000.
In order to determine if the assumption of zero tire damping is reasonable for this
model when constructing the excitation force due to the electro-hydraulic shaker, the
constant (recall Cft=Kft) was set to 0.001, 0.002 and 0.02 when synthesizing the same
FRFs as in Figure 5.6. This variation in produced the FRF trends shown in Figure 5.9.
Note that as the tire damping is increased, the resonant peak near 12 Hz grows to unrealistic
levels based on the measured FRFs in Figure 5.5.
assumption of negligible damping made in synthesizing the FRFs in Figure 5.6 is valid for
this vehicle testbed. Negligible tire damping is due mainly to the test environment. When
the vehicle spindle attempts to resonate at the tire hop frequency, the strap (even though it is
loose) resists the resonance by restraining the tire (stiffness) and damping out the tire motion
(due to impacts between the upper tire patch and the strap). Therefore, if the strap were not
there at all, there might in fact be a larger resonance at the 12 Hz peak in the measured and
estimated transmissibilities. By tuning Ct, the estimated peak amplitude at tire hop can be
aligned with the experimentally measured peak amplitude.
97
assumption would need to be verified by carrying out a parameter sensitivity analysis to
produce trends like the one in Figure 5.9.
Figure 5.9: Magnitude of synthesized frequency response functions from 0-15 Hz between
responses z1, z2, z5, z6, z7 and z8 for left front 4 mm random wheel pan excitation, zlf, for
different values of tire damping with =0.001, 0.002 and 0.02.
98
5.5 Determine Degree of Nonlinearity in Vehicle
Vehicles have inherent nonlinearity in most components throughout the structure (i.e.
suspension, tires etc.). The degree of nonlinearity is determined through sinusoidal sweep
testing on the same half car test-bed described in section 5.2. The vehicle is excited with a
series of sinusoidal inputs with frequencies ranging from 1-15 Hz in 0.25 Hz intervals. In
addition, the process is repeated for different input amplitudes (1 mm, 4mm and 7mm).
Spectrograms are then created to display the output frequency vs. the input frequency for
each DOF recorded. The spectrograms shown in Figures 5.10-5.12 show several different
DOFs at different amplitudes of excitation.
A perfectly linear system will only respond at the input frequency. Consequently, if a
DOF at a particular input amplitude has a significant response at a slope other than 1, that
DOF has a significant degree of nonlinearity. The right column of plots, in Figure 5.10,
shows the effect of nonlinearity on the left front body. From this series of spectrograms it is
shown that the front body DOF behaves approximately linear for 1 mm input amplitude.
Although as the input amplitude increase to 4mm and further to 7 mm, more and more higher
frequency components develop. The same can be said about the other DOFs in the remainder
of the columns of figures.
99
Spindle (4 mm input)
100
101
102
CHAPTER 6: SUMMARY
It was
necessary to build and simulate other models in order to incorporate the hydro mount
characteristics.
The next model (NL 13 DOF) incorporated a nonlinear term. This term ( x3)
incorporates a stiffness that varied as function of the cube of the mount deflection. This
model also showed a reduction of vehicle chassis vibration in the frequency range of interest
as the mount deflection amplitude increased. However, this stiffness characteristic is not a
realizable characteristic in any current mount configuration. Thus, the nonlinearity of
hydraulic mounts was used in the subsequent models.
The next vehicle models, used curve fits to model the stiffness characteristics of
hydraulic powertrain mounts. The first model used a curve fit of the mount stiffness as a
103
function of frequency at several amplitudes of excitation. The second model used a curve fit
of the mount stiffness as a function of mount deflection amplitude at several frequency
points. Both models predicted similar results. The correlation between these methods was
quite good. The small discrepancy between the models is most likely due to interpolation
performed to develop a finer frequency resolution. These models effectively captured the
nonlinearity of the hydraulic mount but only in a piecewise fashion. Consequently, there is
some degree of error in the results. Nevertheless, reduction of the body DOFs with increase
mount deflection was observed using these models.
Furthermore, the 15 DOF model incorporated a hydraulic mount model that captures
frequency dependence.
seven elements that mimic the mount stiffness as a function of frequency at specific mount
deflections.
The
deflections corresponding to idle and road conditions each could be modeled and used within
the 15 DOF model.
hydraulic mount continuously throughout the frequency spectrum. But because the stiffness
elements inside the mount change for different conditions, the model may have to be
recalibrated to align mode shape locations to their respective known locations.
Extensive time is necessary for the construction of these previous models to obtain
the mass, stiffness and damping matrices. One approach for identifying these matrices was
ad hoc in nature and relied on the subjective comparison of modal properties from
experimental results provided by the sponsor. An alternative approach was outlined and
applied for identifying low-order vehicle models for use in mount simulations. This latter
approach used experimental data in a direct parameter estimation framework with constraints
on the inertial properties in the model to quickly identify a vehicle model using data from a
two-post shaker testbed. This type of model identification technique could be useful in
selecting mount parameters near the mid-way point of the product development life cycle
when a prototype vehicle becomes available for dynamic testing.
104
Table 6.1: Model Summary.
MODEL
DESCRIPTION
SDOF
Powertrain on ground.
2DOF
13 DOF
(Nominal
rate
increases)
13 DOF
K(w)
13 DOF
K(? x)
15 DOF
Modified
DPE
INSIGHT ATTAINED
Nonlinearity shifts resonance up in
frequency and reduces in magnitude for
higher input amplitudes.
Nonlinearity only affects the second
primary resonance.
Nominal mount stiffness changes shift
powertrain modes. Reduction possible
in frequency range of interest.
105
CHAPTER 7: CONCLUSIONS
Based on the suite of modes, it can be concluded that it is possible to use the
powertrain as a dynamic absorber by shifting the powertrain resonances into the frequency
range of interest 10-15Hz. The body resonances in frequency range of interest between 1015Hz can be reduced by making use of powertrain mass. Stiffening the powertrain mounts
can shift the powertrain resonances into the wanted region thereby absorbing energy from the
body. However, powertrain oscillations at idle will be smaller in amplitude than road inputs.
Because it is necessary to leave the idle isolation performance intact, the mounts must not
stiffen for small amplitude oscillations. Thus the mounts must only stiffen for road inputs at
larger amplitude deflections (1.0 mm peak to peak).
resonances higher only for the larger amplitudes, the vehicle platform must make use of
passive hydraulic mounts. The amplitude dependent hydraulic mounts can effectively stiffen
as a function of amplitude thereby shifting powertrain resonances to locations of interest
while maintaining the lower stiffness needed for small amplitude (0.1 mm peak to peak).
The 15 DOF model is a tool that can be used to predict body transmissibility response
at two (or more) operating conditions such as idle and road conditions. Running the model at
the multiple conditions can show the effect of the current tuning of the hydraulic mount and
suggest increase or decrease in amplitude dependence in order to reduce body vibrations.
The body resonances in the determined frequency range of interest will shift and or reduce
due to the absorption of energy into powertrain modes. In addition, using a modified version
of Direct Parameter Estimation (DPE) to construct accurate stiffness and damping matrices
midway in the development stage of vehicle development can prove very useful for hydraulic
mount tuning. The computed mass, stiffness and damping matrices computed from DPE can
be modified and used in the 15 DOF model to speed up the 15 DOF model construction time.
106
The estimation of mass, stiffness and damping will eliminate the need to calibrate the 15
DOF model in order to match model modes to the vehicle modal tests.
LIST OF REFERENCES
105
LIST OF REFERENCES
[1] Kim G. and Singh R., Nonlinear Analysis of Automotive Hydraulic Engine Mount,
ASME Journal of Dynamic systems, Measurement and Control 1993, 115, 482-487.
[2] Kim V. and Lee V, Elastic Foundation Effects on the Dynamic Response of Engine
Mount Systems, Proceedings of the Institution of Mechanical Engineers 2000, 214(D),
43-53.
[3] Yu Y., Peelameu S.M., Naganathan N.G.,and Dukkipati, R.V. Automotive Vehicle
Mounting systems: A Survey, ASME 2001, 123, 186-194.
[4] Ishihama M., Satoh S., Seto K., and Nagamatsu A., Vehicle Vibration Reduction by
Transfer Function Phase Control on Hydraulic Engine Mounts, JSME 1994, 37(3), 536541.
[5] Kim J. J. and Kim H. Y., Shape Design of an Engine Mount by a Method of
Parametric Shape Optimization, Proceedings of the Institution of Mechanical Engineers
1997, 211(D), 155-159.
[6] Subramaninan N.S., Dipinto J.G., Hirsch A.E., Dynamic Properties of
Polychloroprene Synthetic Elastomer, Plastics and Rubber Processing and Applications
1981, 1(4), 293-302.
[7] Lewitzke C. and Lee P., Application of Elastomeric Components for Noise and
Vibration Isolation in the Automotive Industry, Society of Automotive Engineers, Inc
2001, 2001-01-1447.
[8] Kim G. and Singh R., A Study of Passive and Adaptive Hydraulic Engine Mount
Systems with Emphasis on Nonlinear Characteristics, Journal of Sound and Vibration
1995, 179(3), 427-453.
[9] Mohammed, K. S., Worden, K. and Tomlinson, G. R., Direct Parameter Estimation
For Linear And Non-Linear Structure, Journal of Sound and Vibration 1992, 152(3),
471-499.
106
[10] Colgate J. E., Chang C. T., Chiou Y. C., Liu W. K., and Keer L. M., Modeling of a
Hydraulic Engine Mounts Focusing on Response to Sinusoidal and Composite
Excitations, Journal of Sound and Vibration 1995, 184(3), 503-528.
[11] Abdollahi, M., and Olatunbosun, OA., Vehicle Ride Enhancement Using
Simulation Assisted Rubber Mount Design, International Journal of Vehicle Design,
2001, Vol 26 (2-3), 175-186.
[12] Jeong T. and Singh R., Analytical Methods of Decoupling the Automotive Engine
Torque Roll Axis, Journal of Sound and Vibration 2000, 234(1), 85-114.
[13] Bocking J., Giacomin J., Heidrich M., Kyprianou A., and Worden K., Differential
Evolution Based Identification of Automotive Hydraulic Engine Mount Model
Parameters, Proceedings of Institution of Mechanical Engineers Part D: J. Automob
Eng. , 2000, 214 #3, 249-264.
[14] Byam, B.P., and Radcliffe, C. J., Statistical Energy Analysis Model and Connectors
for Automotive Vibration Isolation Mounts, ASME DYN SYST ONTROL DIV PUBL
DSC, 1997, Vol. 61, 751-756.
[15] Kim J.H., Lee J.M., and Yin H.J., Flexible Chassis Effects on Dynamic Response
of Engine Mount Systems SAE, 1995, 951094.
[16] Royston T.J., and Singh R., Periodic Response of Non-Linear Engine Mounting
Systems SAE, 1995, 951297.
[17] Shibayayama. T., Ito K., Gami T., Oku T., Nakajima Z., and Ichawawa A., Active
Engine Mount for Large Amplitude of Idle Vibration SAE, 1995, 951298.
[18] Automotive Engineering, July 1994, Engine Mounts and NVH, Vol 102, 19-23.
[19] Muller. M., and Weltin U., The Effect of Engine Mounts on the Noise and
Vibration Behavior of Vehicles, SAE, 1994, 940607.
[20] Blankenship G.L., Ghanadan R., Polyakov V., and Kwatny H.G., Modeling and
Design Tools for Control of Multibody Systems: Nonlinear Adaptive Control ASME
Dynamic system control div PUBL DSC, ASME, New York, NY (USA), 1993, Vol 42,
81-97.
[21] Kim, Gun, Singh, and Rajendra, Broadband Adaptive Hydraulic Mount System,
ASME Dynamic system control div PUBL DSC, ASME, New York, NY (USA) 1993,
Vol. 52 247-255.
[22] Automotive Engineering, 1993, ER Fluid Engine Mounts, Vol 101, 52-55.
107
[23] Ushijima T., and Kumakawa S., Active Engine Mount with Piezo-Actuator for
Vibration Control, SAE, 1993, 930201.
[24] Bretl J., Optimization of Engine Mounting Systems to Minimize Vehicle
Vibration, SAE, 1993, 931322.
[25] Swanson D. A., Active Engine Mounts for Vehicles, SAE, 1993, 932432.
[26] Arai. T., Kubozuka T., and Gray S. D., Development of an Engine Mount
Optimazation Method Using Modal Parameters, SAE, 1993, 932898.
[27] Kim, Gun, Singh, and Rajendra, Resonance, Isolation and Shock Control
Characteristics of Automotive Nonlinear Hydraulic Engine Mounts, ASME Dynamic
system control div PUBL DSC, ASME, New York, NY (USA) 1992, Vol. 44,165-180.
[28] Kadonatsu K., Hydraulic Engine Mount for Shock Isolation at Acceleration on the
FWD Cars, SAE, 1989, 891138.
[29] Kojinia H., Takano K, and Ushijima T., High Performance Hydraulic Mount for
Improved Vehicle Noise and Vibration, SAE, 1988, 880073.
[30] Nejuchi T., Takano K., and Ushijima T., Rheological Characteristics of ER Fluids
and Their Application to Anti-Vibration Devices with Control Mechanism for
Automobiles, SAE, 1988, 8811787.
[31] Boyle F. P., Goudie R. J., and Petek N. K., Actively Controlled Damping in
Electrorheological Fluid Filled Engine Mounts, SAE, 1988, 881785.
[32] Graf P. L, Houston T. L., and Shoureshi R., Adaptive Engine Mounts, SAE, 1986,
860549.
[33] Hagino, Y., Furuishi, Y., Makigawa, Y., Kumacai N., and Yoshikawa M., Active
Control for Body Vibration of F. W.D. Cars, SAE, 1986, 860552.
[34] Abe E., and Sugino M, Optimim Application for Hydro-Elastic Engine Mount,
SAE, 1986, 861412.
[35] Rivin E. I., Passive Engine Mounts- Some Directions for Further Development,
SAE, 1985, 850481.
[36] Flower W. C, Understanding Hydraulic Mounts for Improved Vehicle Noise,
Vibration and Ride Qualities, SAE, 1985, 850975.
[37] Clark M., Hydraulic Engine Mount Isolation, SAE, 1985, 851650.
108
[38] Marjeram R. H., Pressurized Hydraulic Mounts for Improved Isolation of Vehicle
Cabs, SAE, 1985, 852349
[39] Geek P.E., and Patton R. D., Front Wheel Drive Engine Mount Optimization,
SAE, 1984, 840736.
[40] Vemuchom M., A New Generation of Engine Mounts, SAE, 1984, 840259.
[41] Coreoran P. E., and Ticks G. H., Hydraulic Engine Mount Characteristics, SAE,
1984 840407.
[42] Muzechuk R. A., Hydraulic Mounts- Improved Engine Isolation, SAE, 1984,
840410.
[43] Bernard J. E., and Starkey J., Engine Mount Optimazation, SAE, 1983, 830257.
[44] Johnson S. R., and Subhedar J.W., Computer Optimization of Engine Mounting
Systems, SAE, 1979, 790974.
[45] Browne K. A., and Taylor E. A., Engine Mount, US patent 2.175.825 October 10,
1939.
[46] Lord H. C., Vibration dampening mounting, US patent 1.778.503 October 14,
1930.
[47] Choi, Seung-Bok , Song, and Hyun-Jeong, Vibration Control of a Passenger
Vehicle Utilizing a Semi-Active ER Engine Mount, Vehicle System Dynamics, 1985,
Vol 37
( 3), 193-216 no. 1-3, 196-200.
[48] McNeely, M., Reducing Engine Torsionals with Viscous Dampers, Diesel PRG
NORTH AM., 2000, Vol 66 (4), 40-41.
[49] Ahmed, AKW, Haque, MM, and Rakheja, S., Nonlinear Analysis of Automotive
Hydraulic Engine Mounts for Isolation of Vibration and Shock, International Journal of
Vehicle Design [INT J VEH DES],1999, Vol 26 (1) ,116-128.
[50] Su J. H., Robust Passive- Active Mount for Vibration Isolation, Proceedings of
SPIE- The International Society for Optical Engineering, 1999, Vol 3672, 144-155.
[51] Automotive engineering international, 4 Apr 1998, Reduced Engine Shake Mount
Systems, Vol 106, 189-192.
[52] Taheri S., Bahrami M.,and Kaynejad F., Seventeen DOF Non-Linear Vehicle
Dynamic Simulation, ASME Dynamic System Control Div PUBL DSC, ASME, New
York, NY (USA) 1996 Vol 81(9), 25-30.
109
[53] Lodhia BB, and Esat II, Vibration Simulation of Simulation of Systems
Incorporating Linear Viscoelastic Mounts Using Prony Series Formulation, ASME
Dynamic system control div PUBL DSC, ASME, New York, NY (USA) 1996 vol.81 (9),
171-176.
[54] Esat, I., Use Of Non-Linear Mountings In Vibration Design, ASME Dynamic
System Control Div PUBL DSC, ASME, New York, NY (USA) 1996 vol73 (1), 99-104.
[55] Ahmadian M., Miller L. R., Nobles C. M., and Swanson D. A., Modeling and
Performance of an Experimental Active Vibration Isolator, ASME Journal of Vibration
Acustics,1995, 117 (3), 272-278.
[56] Snyman JA., Heyns PS., and Vermeulen PJ., Vibration Isolation of a Mounted
Engine Through Optimization, MECH MACH THEORY,1995, Vol. 30 (1), 109-118.
[57] Galvin, D. D., Electronic Mounts Reduce Engine Vibrations, Mechanical
Engineering, 1994, vol. 116 (3), 99-102.
[58] Ahmadian M., Miller L. R., Southward S. C., and Roemer M. J., Performance
Analysis of Active Mounts for Structural Vibration Reduction, 2nd conference on
Recent Advances in Active Control of Sound and Vibration Virginia Polytechnic
Institute, 1993.
[59] Journal of Dynamic Systems Measurement and Control, Sept 1993, Nonlinear
Analysis of Automotive Hydraulic Engine Mount, Vol 115, 482-487.
[60] Chiou Y. C., Computer Simulation of Hydroelastic Engine Mounts, Master's
Thesis Northwestern University, 1993.
[61] Ahmadian M., and Miller L. R., Active Mounts- A Discussion of Future
Technological Trends, Inter-noise Conference Toronto Canada 20-22 July 1992, 1-6.
[62]Kim G., Ravindra P. V., and Singh R., Linear Analysis Of Automotive HydroMechanical Mount With Emphasis On Decoupler Characteristics, Journal of Sound and
Vibration, 1992, 158 (2), 219-243.
[63] Ashrafiuon H., and Nataraj C., Dynamic Analysis of Engine-Mount SystemsMount Systems, TRANS. ASME J. VIBRAT. ACOUST. 1992, Vol. 114, (1), 79-83.
[64] Kim, Gun, Singh, and Rajendra, Resonance, Isolation and Shock Control
Characteristics of Automotive Nonlinear Hydraulic Engine Mounts, Transportation
Systems Proceedings of ASME, DSC,1992-Vol. 44, 165-180.
110
[65] Hodgson D., Frequency Shaped Control of Active Isolators, AHS-RAES
/Technical Speicialists Meeting on Rotocraft Acoustics and Rotor Fluid Dynamics, 15-17
October 1991, Philiadelphia , 1-18.
[66] Dole K., Ishurama M., Nagamatsu A., Sawatari K., and Seto K., Optimum Design
Method for Hydraulic Engine Mounts, SAE,1991, 911055.
[67] Shariff MHBM, An Anlysis of Non-Linear Deformation on Bonded Rubber
Mounts, Proceedings of Institution of Mechanical Engineers,1989, vol. 203, (C2), 113120.
[68] Automotive Engineering, Feb 1988, Vibration, Vol 96, 82.
[69] Journal of Dynamic Systems, Measurement and Control, Dec 1988, Modeling and
Implementation of Semi-Active Hydraulic Mount Production, Vol 110, 422-429.
[70] Rubber chemistry and Technology, July/Aug 1988, Application of Finite-Element
Analysis In the Design of Automotive Elastomeric Components, Vol 61, 503-533.
[71] Automotive Engineering, Feb 1986, A Primer on Engine Mounts, Vol 94, 77-8.
[72] Barak, P., and Sachs, HK., Optimal Ride Control of a Dynamic Model for an
Automotive Vehicle System, Vehicle System Dynamics, 1985, Vol 14 (1-3), 196-200.
[73] Automotive Engineering, Nov1984, Electronically-Controlled Engine Mounting
System Smooths Transverse Power Unit, Vol 91, 67-70.
[74] Automotive Engineering, May1984, A Primer on Front-Wheel-Drive Engine
Mounts, Vol 92, 64-7.
[75] Automotive Engineering, Oct 1984, Engine Mount Employs Viscous Damping,
Vol 92, 42.
[76] Leingang C. J., and Schmitt R. V., Design of Elastomeric Vibration Isolation
Mounting Systems for Internal Combustion Engines, SAE, 1976, 760431.
APPENDIX A
108
A.1: ONE.m
% Timothy E. Freeman
% Herrick Labs, Purdue University May 2004
% This code will generate FRF for SDOF system.
% Force simulates powertrain unbalence forces
clc
clear all
close all
K1=100;
C1=1;
M1=1;
mu=10e3; % nonlinear coefficient
x10=0; x1dot0=0; %Define initial conditions
dt=0.01; % time step
Nt=5001; % number of time points
t=(0:dt:(2*Nt-1)*dt)';% set time vector
maxtime=max(t);
fv=(0:1/t(Nt):(Nt-1)/t(Nt))'; % frequncy vector
% Check sampling rate******
maxfrqstep=150;
check1=max(fv(maxfrqstep));
check2=1/dt;
if check2<10*check1
disp('Stop....sampiling rate may not be high enough')
end
% Check sampling rate******
% %%%% Generate example plots for thesis
% ii=10;
% Fn=ii; % input frequency in (Hz)
% Fo=1; % Force amplitude
% F=Fo*sin(2*pi*fv(Fn)*t);
% sim('one_fof_model'); % call simulink file
% figure(1)
% plot(t,F,'k.-')
% xlabel('time')
% ylabel('Input Force')
109
% axis([0 maxtime -1.25 1.25])
% figure(2)
% plot(t,x1,'ko')
% title(['Check for Steady State freq=',num2str(fv(ii))])
% xlabel('Time')
% ylabel('x1 ')
% hold on
% plot(t(Nt+1:2*Nt),x1(Nt+1:2*Nt),'ro-')
% legend('full','last half used for fft')
% %%%% Generate example plots for thesis
% Define Flat Top window (P301)
ftv=linspace(-0.5,0.5,Nt)';
tmp2=zeros(Nt,1);
ftop=0.9994484+2*(0.955728*cos(2*pi*1*ftv)+0.539289*cos(2*pi*2*ftv)+0.091581*co
s(2*pi*3*ftv));
values=[.1 1 5 10] %vary input amplitude
for iii=1:max(size(values))
Fo=values(iii); % set input amplitude
for ii = 2:1:maxfrqstep,
Fn=ii; % Input frequency
F=Fo*sin(2*pi*fv(Fn)*t); % Define Input
sim('one_fof_model'); % Simulink simulation
Xf=fft(ftop.*x1(Nt+1:2*Nt)); %implement discrete fourier transform on filtered data
Ff=fft(ftop.*F(Nt+1:2*Nt)); %implement discrete fourier transform on filtered data
FRF(iii,ii)=abs(Xf(ii)./Ff(ii)); % Compute Numerical FRF
% ANALYTICAL ANALYSIS
w(ii)=2*pi*fv(Fn); % define frequency in Rad/s
x_amp1(ii)=2*abs(Xf(ii))/Nt; %define displacement amplitude
% Linear FRF
FRF_nomu(ii)=1./sqrt(((K1-M1*w(ii).^2).^2+C1^2*w(ii).^2));
% no damping
FRF_noc(ii)=1./(K1-M1*w(ii).^2+(3/4)*mu*x_amp1(ii).^2);
% FRF with x=Xocost(wt+phi)
FRF_tim(iii,ii)=1./sqrt(((K1-M1*w(ii).^2+(3/4)*mu*x_amp1(ii).^2).^2+C1^2*w(ii).^2));
% FRF with x=X1cost(wt+phi1)+X2cos(3wt+3phi2)
x_amp2(ii)=2*abs(Xf(3*ii))/Nt;
NL_3w=((.75)*x_amp1(ii).^2+(.75)*x_amp1(ii).*x_amp2(ii)+(3/2)*x_amp2(ii).^2);
FRF_tim2(ii)=1./sqrt((K1-M1*w(ii).^2+mu*NL_3w).^2+(-C1*w(ii)).^2);
110
end % end frequency step loop
figure(3)
plot(t,x1,'k.-')
title(['Check for Steady State freq=',num2str(fv(ii))])
xlabel('Time')
ylabel('x1')
hold on
plot(t(Nt+1:2*Nt),x1(Nt+1:2*Nt),'ro-')
% legend('full','last half used for fft')
% check numerical vs. analytical-------------------hold off
figure(iii+10)
semilogy(fv(1:ii),FRF(iii,1:ii),'k','linewidth',1);
%title('Single degree-of-freedom')
%ylabel('magnitude (x1/F)')
hold on
semilogy(fv(1:ii),FRF_tim(iii,1:ii),'ko','linewidth',1);
semilogy(fv(1:ii),FRF_tim2(1:ii),'k^','linewidth',1);
% legend('Numerical','Analytical (wot)','Analytical (wot +3wot)')
% legend('Numerical','Analytical (wot)')
% semilogy(fv(1:ii),FRF_noc(1:ii),'k-.','linewidth',10);
% semilogy(fv(1:ii),FRF_nomu(1:ii),'k:','linewidth',10);
% legend('Numerical','Analytical','C=0','mu=0')
grid
% check numerical vs. analytical-------------------end % end input amplitude for loop
figure(5)
semilogy(fv(1:ii),FRF(1,1:ii),'k:','linewidth',2);
axis([0,3,10^-3,10^0])
% title('Single degree-of-freedom')
% xlabel('Frequency')
% ylabel('magnitude (x1/F)')
hold on
semilogy(fv(1:ii),FRF(2,1:ii),'k-.','linewidth',2);
semilogy(fv(1:ii),FRF(3,1:ii),'k--','linewidth',2);
semilogy(fv(1:ii),FRF(4,1:ii),'k','linewidth',2);
grid
111
A.2: one_fof_model.m
112
A.3: TWO.m
% Timothy E. Freeman
% Herrick Labs, Purdue University May 2004
% 2DOF system input at spindle(Poweretrain-Body)
% Increments input amplitude
clc
clear all
close all
warning off MATLAB:divideByZero
K1=200;
C1=4; %Set this equal to zero to fix differetiation (in simulink model) issue if it exists
M1=10;
K2=75;
C2=1;
M2=1;
amplitudes=[.05 .1 .3 .5]
for inc=1:max(size(amplitudes))
mu_fact=4
mu=mu_fact*1e2
inc
dt1=.01
dt=dt1;
Nt=5001
t=(0:dt1:(2*Nt-1)*dt1)';% set time vector
fv1=(0:1/t(Nt):(Nt-1)/t(Nt))';
maxfreq=250
fv1(maxfreq)
size(fv1)
max(t)
x10=0; x1dot0=0; % intitial condition
x20=0; x2dot0=0; % intitial condition
ftv=linspace(-0.5,0.5,Nt)';
tmp2=zeros(Nt,1);
113
ftop=0.9994484+2*(0.955728*cos(2*pi*1*ftv)+0.539289*cos(2*pi*2*ftv)+0.091581*co
s(2*pi*3*ftv));
check1=max(fv1(maxfreq))
check2=1/dt
if check2<10*check1
disp('Stop....sampiling rate may not be high enough')
end
for ii1 =1:maxfreq;
Fn=ii1;
% Input frequency point
Fo=amplitudes(inc);
% Input amplitude
xb=Fo*sin(2*pi*fv1(Fn)*t);
sim('two_fof_model_disp2');
Xf1=fft(ftop.*x1(Nt+1:2*Nt));
Xf2=fft(ftop.*x2(Nt+1:2*Nt));
Xb=fft(ftop.*xb(Nt+1:2*Nt));
TRAN_1(inc,ii1)=abs(Xf1(ii1)./Xb(ii1)); % X1 TRAN
TRAN_2(inc,ii1)=abs(Xf2(ii1)./Xb(ii1)); % X2 TRAN
REL(inc,ii1)=abs(Xf2(ii1)./Xf1(ii1)); % relative amplitude between x1 and x2
end
figure(1)
plot(t,x2,'o')
title(['Check for Steady State dt1=',num2str(dt1)])
xlabel('Time')
ylabel('x2 ')
hold on
plot(t(Nt+1:2*Nt),x2(Nt+1:2*Nt),'ro-')
legend('full','last half used for fft')
end
save twodata
figure(2)
semilogy(fv1(1:ii1),TRAN_1(1,:),'k:','LineWidth',2)
hold on
semilogy(fv1(1:ii1),TRAN_1(2,:),'k-.','LineWidth',2)
semilogy(fv1(1:ii1),TRAN_1(3,:),'k--','LineWidth',2)
semilogy(fv1(1:ii1),TRAN_1(4,:),'k','LineWidth',2)
figure(3)
semilogy(fv1(1:ii1),TRAN_2(1,:),'k:','LineWidth',2)
hold on
semilogy(fv1(1:ii1),TRAN_2(2,:),'k-.','LineWidth',2)
semilogy(fv1(1:ii1),TRAN_2(3,:),'k--','LineWidth',2)
114
semilogy(fv1(1:ii1),TRAN_2(4,:),'k','LineWidth',2)
figure(4)
semilogy(fv1(1:ii1),REL(1,:),'k:','LineWidth',2)
hold on
semilogy(fv1(1:ii1),REL(2,:),'k-.','LineWidth',2)
semilogy(fv1(1:ii1),REL(3,:),'k--','LineWidth',2)
semilogy(fv1(1:ii1),REL(4,:),'k','LineWidth',2)
figure(5)
orient tall
subplot(311)
title(['Transimisibilty: Mu=',num2str(mu)])
semilogy(fv1(1:ii1),TRAN_1(1,:),'k:','LineWidth',2)
ylabel('TRAN 1 x1/xb (dB)')
hold on
semilogy(fv1(1:ii1),TRAN_1(2,:),'k-.','LineWidth',2)
semilogy(fv1(1:ii1),TRAN_1(3,:),'k--','LineWidth',2)
semilogy(fv1(1:ii1),TRAN_1(4,:),'k','LineWidth',2)
subplot(312)
semilogy(fv1(1:ii1),TRAN_2(1,:),'k:','LineWidth',2)
ylabel('TRAN 1 x2/xb (dB)')
hold on
semilogy(fv1(1:ii1),TRAN_2(2,:),'k-.','LineWidth',2)
semilogy(fv1(1:ii1),TRAN_2(3,:),'k--','LineWidth',2)
semilogy(fv1(1:ii1),TRAN_2(4,:),'k','LineWidth',2)
subplot(313)
semilogy(fv1(1:ii1),REL(1,:),'k:','LineWidth',2)
xlabel('Frequency (Hz)')
ylabel('TRAN x2/x1 (dB)')
hold on
semilogy(fv1(1:ii1),REL(2,:),'k-.','LineWidth',2)
semilogy(fv1(1:ii1),REL(3,:),'k--','LineWidth',2)
semilogy(fv1(1:ii1),REL(4,:),'k','LineWidth',2)
115
A.4: two_fof_model_disp.m
116
A.5: ssr13_linear_stiffen.m
% Chevy SSR 13 DOF model
% Linear transmissibility function development
% This code creates FRF for all degrees of freedom
% This code will work with the animate.m script!!!!
% This code varies the nominal engine mount stiffness
% Used to generate Plots for thesis
clc % clear matlab window
clear all % clear all variables
close all % close all figures
% vary=1;
flag=1; % Code will generate and save mode plots for each powertrain mount stiffness (1:
ON other:off)
values=[1 1.4 1.8 2.2]%[1 2 4 8]%
number=length(values)
values2=[1]%[1 1.4 1.8 2.2]
number2=length(values2)
%---------------------------------------------------------% define frequency range of interest
minf=5;
maxf=40;
int=0.05;
w=2*pi*(minf:int:maxf)';
%---------------------------------------------------------inc2=1;
while inc2<=number2
inc=1;
while inc<=number;
% Define system parameters
% Powertrain
Mp=311; Ipx=17; Ipy=45; %477500e-6; Ipy=785900e-6;
em_fact=values(inc);
tm_fact=1;
117
Kem=em_fact*390e3; Cem=0.125;
Ktm=tm_fact*930e3; Ctm=0.45;
b1=1/1*244.5e-3; b2=245.5e-3; c=981.3e-3; d=268.04e-3; e=20.5e-3;
% Frame and body
Mf=1070.6; Ifx=327.230;
% Not sure about Ktb or Kbb
%t_fact=250; % I think this is a better value !!!! 4/05/04
b_fact=29; % Not right used to check something
t_fact=237;
% For TOP DOWN b_fact=29;
% For TOP DOWN t_fact=237;
% For TOP UP b_fact=400;
% For TOP UP t_fact=475;
Ktb=t_fact*400e1;
Kbb=b_fact*450e3;
Ctb=0.125;
Cbb=0.125;
alpha=2.0/6; beta=1.5/6; chi=2.5/6;
% Suspension (front/rear)
Mfs=74.2;
Kfs=40.3e3; Cfs=0.05;
Mrs=175/2;
Krs=28.5e3; Krss=1/1*830e3; Crs=0.005;
Kft=262e3; Krt=319e3;
a=454.7e-3; f=476.5e-3;
% Define mass, damping and stiffness matrices
M=diag([Mfs Mfs Mrs Mrs alpha*Mf alpha*Ifx beta*Mf beta*Ifx chi*Mf chi*Ifx Mp
Ipx Ipy]);
K=[ Kft+Kfs 0
0
0
-Kfs
a*Kfs
0
0
0
0
0
0
0
0
Kft+Kfs 0
0
-Kfs
-a*Kfs
0
0
0
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
0
-(Krss+Krs)
f*(Krss+Krs)
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
-(Krss+Krs)
-f*(Krss+Krs)
0
0
0
-Kfs -Kfs 0
0
Kfs+Kfs+Kem+Kem+Kbb Kfs*(a-a)+Kem*(b2-b1)
-Kbb
0
0
0
-Kem-Kem
Kem*(b1-b2)
Kem*(-d-d)
118
a*Kfs -a*Kfs 0
0
Kfs*(a-a)+Kem*(b2-b1)
Kfs*(a^2+a^2)+Kem*(b1^2+b2^2)+Ktb 0
-Ktb
0
0
Kem*(b1-b2)
-Kem*b1^2-Kem*b2^2
Kem*d*(b1-b2)
0
0
0
0
-Kbb
0
Kbb+Kbb+Ktm 0
-Kbb
0
-Ktm
0
Ktm*(c-d)
0
0
0
0
0
-Ktb
0
Ktb+Ktb
0
-Ktb
0
0
0
0
0
-(Krss+Krs) -(Krss+Krs) 0
0
-Kbb
0
Kbb+2*(Krss+Krs)
-f*(Krss+Krs)+f*(Krss+Krs) 0
0
0
0
0
f*(Krss+Krs) -f*(Krss+Krs) 0
0
0
Ktb
-f*(Krss+Krs)+f*(Krss+Krs) Ktb+2*f^2*(Krss+Krs)
0
0
0
0
0
0
0
-Kem-Kem
Kem*(b1-b2)
-Ktm
0
0
0
Kem+Kem+Ktm
Kem*(b2-b1)
Kem*(d+d)-(c-d)*Ktm
0
0
0
0
Kem*(b1-b2)
-Kem*b1^2-Kem*b2^2
0
0
0
0
Kem*(b2-b1)
Kem*b1^2+Kem*b2^2
-Kem*b1*d+Kem*b2*d
0
0
0
0
Kem*(-d-d)
Kem*d*(b1-b2)
Ktm*(cd) 0
0
0
Kem*(d+d)-(c-d)*Ktm Kem*b1*d+Kem*b2*d
Kem*d^2+Kem*d^2+Ktm*(c-d)^2];
theta=.0001;
eta=.0001;
C=theta*M+eta*K;
% Compute transmissibility functions
for ii = 1:max(size(w)),
T(:,:,ii)=inv(-M*w(ii)^2+j*w(ii)*C+K)*diag([j*w(ii)*(C(1,1)+C(1,5))+Kft;
j*w(ii)*(C(1,1)+C(1,5))+Kft; j*w(ii)*(C(3,3)+C(3,9))+Krt; j*w(ii)*(C(3,3)+C(3,9))+Krt;
0; 0; 0; 0; 0; 0; 0; 0; 0]);
%T(output,input,frequency)
end
%-------------------------------------------------------------------------% Pick off imaginary FRF values of the original system (USED FOR ANIMATION)
%-------------------------------------------------------------------------N=100;
t=linspace(0,5,N);
FRF=imag(squeeze(T(1:13,1,:))+squeeze(T(1:13,4,:)));
% T(all outputs,first input,all frequencies)
FRF2(:,:,inc)=FRF;
% FRF2(all outputs, all frequencies, stiffness increment)
w_hz=w/2/pi; % convert radians/s to Hz
if flag==1
119
%-------------------------------------------------------------------------%Create Mode Plot
%-------------------------------------------------------------------------figure(inc); %5-20 Hz sweep
%figure(31); %5-20 Hz sweep
plot(w_hz,FRF)
axis([minf maxf -8 8])
xlabel('Frequency [Hz]');
end
%--------------------------------------------------------------------------------------------------------if inc==1
T_start=T; % transmisibility without nominal stiffness change
% if flag==1;
% saveas(1,'Mode_plot1')
% end
end
if inc==2
T_2=T;
% First shift in engine mount stiffness (values(2))
% if flag==1;
% saveas(inc,'Mode_plot2')
% end
elseif inc==3
T_3=T;
% if flag==1;
% saveas(inc,'Mode_plot3')
% end
elseif inc==4
T_4=T;
% if flag==1;
% saveas(inc,'Mode_plot4')
% end
end
if inc==1
% %----------------------------------------------------------------------------------------% % Record transmisibility Functions
% %----------------------------------------------------------------------------------------T_11(1,:)=T(1,1,:);
T_21(1,:)=T(2,1,:);
T_31(1,:)=T(3,1,:);
T_41(1,:)=T(4,1,:);
120
T_51(1,:)=T(5,1,:);
T_61(1,:)=T(6,1,:);
T_71(1,:)=T(7,1,:);
T_81(1,:)=T(8,1,:);
T_91(1,:)=T(9,1,:);
T_101(1,:)=T(10,1,:);
T_111(1,:)=T(11,1,:);
T_121(1,:)=T(12,1,:);
T_131(1,:)=T(13,1,:);
end
inc=inc+1;
end % end inc while loop
if flag==1
%-------------------------------------------------------------------------%Create Mode Plot
%-------------------------------------------------------------------------figure(inc2*30); %5-20 Hz sweep
subplot(411)
plot(w_hz,FRF2(:,:,1))
ylabel('imag(Tk1+Tk4)')
% legend('Standard')
axis([minf maxf -8 8])
subplot(412)
plot(w_hz,FRF2(:,:,2))
ylabel('imag(Tk1+Tk4)')
% legend('Powertrain Stiffness 40% larger')
axis([minf maxf -8 8])
subplot(413)
plot(w_hz,FRF2(:,:,3))
ylabel('imag(Tk1+Tk4)')
% legend('Powertrain Stiffness 80% larger')
axis([minf maxf -8 8])
subplot(414)
plot(w_hz,FRF2(:,:,4))
ylabel('imag(Tk1+Tk4)')
% legend('Powertrain Stiffness 120% larger')
axis([minf maxf -8 8])
xlabel('Frequency [Hz]');
end
orient tall
inc2=inc2+1;
121
end % end inc2 while loop
% break;
maxf=25;
% Plot results
figure(10);
% body bounce modes FRF
subplot(211);
semilogy(w/2/pi,abs(squeeze(T_start([5],1,:))+squeeze(T_start([5],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_2([5 ],1,:))+squeeze(T_2([5 ],4,:))),'-.');
semilogy(w/2/pi,abs(squeeze(T_3([5 ],1,:))+squeeze(T_3([5 ],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_4([5 ],1,:))+squeeze(T_4([5 ],4,:))),'-');
title('Front Body Bounce')
ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
%Body roll modes FRF
subplot(212);
semilogy(w/2/pi,abs(squeeze(T_start([6],1,:))+squeeze(T_start([6 ],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_2([6 ],1,:))+squeeze(T_2([6 ],4,:))),'-.');
semilogy(w/2/pi,abs(squeeze(T_3([6 ],1,:))+squeeze(T_3([6 ],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_4([6 ],1,:))+squeeze(T_4([6 ],4,:))),'-');
title('Front Body Roll')
xlabel('Frequency [Hz]'); ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
% legend('standard',' 1.4','1.8','2.2')
saveas(10,'Front FRF')
figure(11);
% body bounce modes FRF
subplot(211);
semilogy(w/2/pi,abs(squeeze(T_start([7],1,:))+squeeze(T_start([7],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_2([7 ],1,:))+squeeze(T_2([7 ],4,:))),'-.');
semilogy(w/2/pi,abs(squeeze(T_3([7 ],1,:))+squeeze(T_3([7 ],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_4([7 ],1,:))+squeeze(T_4([7 ],4,:))),'-');
title('Middle Body Bounce')
ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
%Body roll modes FRF
subplot(212);
semilogy(w/2/pi,abs(squeeze(T_start([8],1,:))+squeeze(T_start([8],4,:))),':');
122
hold on
semilogy(w/2/pi,abs(squeeze(T_2([8 ],1,:))+squeeze(T_2([8 ],4,:))),'-.');
semilogy(w/2/pi,abs(squeeze(T_3([8 ],1,:))+squeeze(T_3([8 ],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_4([8 ],1,:))+squeeze(T_4([8 ],4,:))),'-');
title('Middle Body Roll')
xlabel('Frequency [Hz]'); ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
%legend('standard',' 1.4','1.8','2.2')
saveas(11,'Middle FRF')
figure(12);
orient tall
% body bounce modes FRF
subplot(211);
semilogy(w/2/pi,abs(squeeze(T_start([9],1,:))+squeeze(T_start([9],4,:))),':')
hold on
semilogy(w/2/pi,abs(squeeze(T_2([9 ],1,:))+squeeze(T_2([9 ],4,:))),'-.');
semilogy(w/2/pi,abs(squeeze(T_3([9 ],1,:))+squeeze(T_3([9 ],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_4([9 ],1,:))+squeeze(T_4([9 ],4,:))),'-');
title('Rear Body Bounce')
ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
%Body roll modes FRF
subplot(212);
semilogy(w/2/pi,abs(squeeze(T_start([10],1,:))+squeeze(T_start([10],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_2([10 ],1,:))+squeeze(T_2([10 ],4,:))),'-.');
semilogy(w/2/pi,abs(squeeze(T_3([10 ],1,:))+squeeze(T_3([10 ],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_4([10 ],1,:))+squeeze(T_4([10 ],4,:))),'-');
title('Rear Body Roll')
xlabel('Frequency [Hz]'); ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
% legend('standard',' 1.4','1.8','2.2')
saveas(12,'Rear FRF')
maxf=40;
figure(13)
orient tall
% body bounce modes FRF
subplot(211);
semilogy(w/2/pi,abs(squeeze(T_start([5],1,:))+squeeze(T_start([5],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_start([7],1,:))+squeeze(T_start([7],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_start([9],1,:))+squeeze(T_start([9],4,:))),'-')
title('Body Bounce')
ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
123
axis([minf maxf 1e-3 .5e2]);
%Body roll modes FRF
subplot(212);
semilogy(w/2/pi,abs(squeeze(T_start([6],1,:))+squeeze(T_start([6],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_start([8],1,:))+squeeze(T_start([8],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_start([10],1,:))+squeeze(T_start([10],4,:))),'-');
title('Body Roll')
xlabel('Frequency [Hz]'); ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
%legend('front','middle','rear')
saveas(13,'Standard Body FRF')
figure(14);
% Powertrain Bounce FRF
subplot(311);
semilogy(w/2/pi,abs(squeeze(T_start([11],1,:))+squeeze(T_start([11],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_2([11],1,:))+squeeze(T_2([11],4,:))),'-.');
semilogy(w/2/pi,abs(squeeze(T_3([11],1,:))+squeeze(T_3([11],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_4([11],1,:))+squeeze(T_4([11],4,:))),'-');
gtext('Powertrain Bounce')
%ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
%Powertrain Roll FRF
subplot(312);
semilogy(w/2/pi,abs(squeeze(T_start([12],1,:))+squeeze(T_start([12],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_2([12],1,:))+squeeze(T_2([12],4,:))),'-.');
semilogy(w/2/pi,abs(squeeze(T_3([12],1,:))+squeeze(T_3([12],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_4([12],1,:))+squeeze(T_4([12],4,:))),'-');
gtext('Powertrain Roll')
ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
%legend('standard',' 1.4','1.8','2.2')
%Powertrain Pitch FRF
subplot(313);
semilogy(w/2/pi,abs(squeeze(T_start([13],1,:))+squeeze(T_start([13],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_2([13],1,:))+squeeze(T_2([13],4,:))),'-.');
semilogy(w/2/pi,abs(squeeze(T_3([13],1,:))+squeeze(T_3([13],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_4([13],1,:))+squeeze(T_4([13],4,:))),'-');
124
gtext('Powertrain Pitch')
xlabel('Frequency [Hz]'); %ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
%legend('standard',' 1.4','1.8','2.2')
saveas(14,'Powertrain FRF')
figure(31)
semilogy(w_hz,abs(T_11),w_hz,abs(T_21),w_hz,abs(T_31),w_hz,abs(T_41),w_hz,abs(T
_51),w_hz,abs(T_61),w_hz,abs(T_71),...
w_hz,abs(T_81),w_hz,abs(T_91),w_hz,abs(T_101),w_hz,abs(T_111),w_hz,abs(T_121),
w_hz,abs(T_131))
xlabel('Frequency Hz')
ylabel('Transmisibility (Magnitude)')
grid
% legend('unsprung LF','unsprung RF','unsprung LR','unsprung RR','F body bounce','F
body roll',...
%'M body bounce','M body roll','R body bounce','R body roll','Power bounce','Power
Roll','Power Pitch')
125
A.6: ANIMATE.m
% Linear Model Animation
% Timothy E. Freeman
% Doug Adams (Herrick Labs, Purdue University)
% * Use this code after the linear model code has been run
% * Code will ask user for input
%
% **&&**use this section if FRF2 has 3 dimension due to incrementing parameter
% such as mu, amplitude, Stiffness etc...
values
disp('Which place in the values array do you want to animate?')
inc=input('Enter interger: ')
FRF=FRF2(:,:,inc);
%**&&**
%-----------------------------------------------------------------------------------------%Create Mode Plot of the original system
%-----------------------------------------------------------------------------------------figure(21); %0-40 Hz sweep
w_hz=w/2/pi;
plot(w_hz,FRF)
axis([minf maxf -8 8])
xlabel('Frequency [Hz]');
%---------------------------------------------------------------------------------------%Animation Section
%---------------------------------------------------------------------------------------loop=1;
while loop==1 | loop==2; % allows plots to be regenerated without recalculating
transmissibility
disp('Look at figure 21.....')
disp('What frequency (Hz) so you wish to animate?')
fq=input('Enter frequency')
freq=round(((fq-minf)/int)+1); % pick out the position in the frequency vector that
coreesponds to a specific frequency in Hz
magx=input('enter magnitude of animation');
% Define static coordinates
126
x=[0 -10 0
000
20 -10 0
20 0 0
0 -10 4
0 0 4
10 -10 4
10 0 4
20 -10 4
20 0 4
0 -7 8
0 -3 8
5 -5 8];
% Define car representation
% figure(3)
% plot3(x([1 5],1),x([1 5],2),x([1 5],3),'r.-',x([2 6],1),x([2 6],2),x([2 6],3),'r.-',x([3
9],1),x([3 9],2),x([3 9],3),'r.-',x([4 10],1),x([4 10],2),x([4 10],3),'r.-',x([5 6 8 7 9 10 8 6 5
7 9],1),x([5 6 8 7 9 10 8 6 5 7 9],2),x([5 6 8 7 9 10 8 6 5 7 9],3),'r.-',x([11 12 13
11],1),x([11 12 13 11],2),x([11 12 13 11],3),'r.-');
% axis([-5 35 -5 15 -5 10]);
% view(-10.5,14);
% pause(5)
% close(3)
statls=2; %define the size of the lines for the static diagram
statm=20; %define the size of the markers for the static diagram
movels=2.5; %define the size of the lines for the moving diagram
movem=25; %define the size of the markers for the moving diagram
% Generate animation
figure(31);
for ii=1:N,
zd=magx*[FRF(1:4,freq)' FRF(5,freq)-5*FRF(6,freq) FRF(5,freq)+5*FRF(6,freq)
FRF(7,freq)-5*FRF(8,freq) FRF(7,freq)+5*FRF(8,freq) FRF(9,freq)-5*FRF(10,freq)
FRF(9,freq)+5*FRF(10,freq) FRF(11,freq)-2*FRF(12,freq)+5*FRF(13,freq)
FRF(11,freq)+2*FRF(12,freq)+5*FRF(13,freq) FRF(11,freq)]'*sin(2*pi*t(ii));
plot3(x([1 5],1),x([1 5],2),x([1 5],3),'r.:','LineWidth',1.5,'MarkerSize',statm);
hold on
plot3(x([2 6],1),x([2 6],2),x([2 6],3),'r.:','LineWidth',statls,'MarkerSize',statm);
plot3(x([3 9],1),x([3 9],2),x([3 9],3),'r.:','LineWidth',statls,'MarkerSize',statm);
plot3(x([4 10],1),x([4 10],2),x([4 10],3),'r.:','LineWidth',statls,'MarkerSize',statm);
127
plot3(x([5 6 8 7 9 10 8 6 5 7 9],1),x([5 6 8 7 9 10 8 6 5 7 9],2),x([5 6 8 7 9 10 8 6 5 7
9],3),'r.:','LineWidth',statls,'MarkerSize',statm);
plot3(x([11 12 13 11],1),x([11 12 13 11],2),x([11 12 13
11],3),'r.:','LineWidth',statls,'MarkerSize',statm);
plot3(x([1 5],1),x([1 5],2),x([1 5],3)+zd([1 5]),'k.','LineWidth',movels,'MarkerSize',movem);
plot3(x([2 6],1),x([2 6],2),x([2 6],3)+zd([2 6]),'k.','LineWidth',movels,'MarkerSize',movem);
plot3(x([3 9],1),x([3 9],2),x([3 9],3)+zd([3 9]),'k.','LineWidth',movels,'MarkerSize',movem);
plot3(x([4 10],1),x([4 10],2),x([4 10],3)+zd([4 10]),'k.','LineWidth',movels,'MarkerSize',movem);
plot3(x([5 6 8 7 9 10 8 6 5 7 9],1),x([5 6 8 7 9 10 8 6 5 7 9],2),x([5 6 8 7 9 10 8 6 5 7
9],3)+zd([5 6 8 7 9 10 8 6 5 7 9]),'k.-','LineWidth',movels,'MarkerSize',movem);
plot3(x([11 12 13 11],1),x([11 12 13 11],2),x([11 12 13 11],3)+zd([11 12 13 11]),'k.','LineWidth',movels,'MarkerSize',movem);
axis([-5 35 -5 15 -5 10]);
view(-10.5,14);
pause(.05); % slows computer replots in order for visual animation
hold off
end
close(31)
disp('You just ran the animation at frequency point:')
freq
disp('Would you like to animate another frequency?')
disp('Enter 1 to animate another freq');
loop=input('Enter 2 to repeat this freq');
%repeat
if loop==2
% Generate animation
figure(31);
for ii=1:N,
zd=magx*[FRF(1:4,freq)' FRF(5,freq)-5*FRF(6,freq) FRF(5,freq)+5*FRF(6,freq)
FRF(7,freq)-5*FRF(8,freq) FRF(7,freq)+5*FRF(8,freq) FRF(9,freq)-5*FRF(10,freq)
FRF(9,freq)+5*FRF(10,freq) FRF(11,freq)-2*FRF(12,freq)+5*FRF(13,freq)
FRF(11,freq)+2*FRF(12,freq)+5*FRF(13,freq) FRF(11,freq)]'*sin(2*pi*t(ii));
plot3(x([1 5],1),x([1 5],2),x([1 5],3),'r.:','LineWidth',statls,'MarkerSize',statm);
hold on
plot3(x([2 6],1),x([2 6],2),x([2 6],3),'r.:','LineWidth',statls,'MarkerSize',statm);
128
plot3(x([3 9],1),x([3 9],2),x([3 9],3),'r.:','LineWidth',statls,'MarkerSize',statm);
plot3(x([4 10],1),x([4 10],2),x([4 10],3),'r.:','LineWidth',statls,'MarkerSize',statm);
plot3(x([5 6 8 7 9 10 8 6 5 7 9],1),x([5 6 8 7 9 10 8 6 5 7 9],2),x([5 6 8 7 9 10 8 6 5 7
9],3),'r.:','LineWidth',statls,'MarkerSize',statm);
plot3(x([11 12 13 11],1),x([11 12 13 11],2),x([11 12 13
11],3),'r.:','LineWidth',statls,'MarkerSize',statm);
plot3(x([1 5],1),x([1 5],2),x([1 5],3)+zd([1 5]),'k.','LineWidth',movels,'MarkerSize',movem);
plot3(x([2 6],1),x([2 6],2),x([2 6],3)+zd([2 6]),'k.','LineWidth',movels,'MarkerSize',movem);
plot3(x([3 9],1),x([3 9],2),x([3 9],3)+zd([3 9]),'k.','LineWidth',movels,'MarkerSize',movem);
plot3(x([4 10],1),x([4 10],2),x([4 10],3)+zd([4 10]),'k.','LineWidth',movels,'MarkerSize',movem);
plot3(x([5 6 8 7 9 10 8 6 5 7 9],1),x([5 6 8 7 9 10 8 6 5 7 9],2),x([5 6 8 7 9 10 8 6 5 7
9],3)+zd([5 6 8 7 9 10 8 6 5 7 9]),'k.-','LineWidth',movels,'MarkerSize',movem);
plot3(x([11 12 13 11],1),x([11 12 13 11],2),x([11 12 13 11],3)+zd([11 12 13 11]),'k.','LineWidth',movels,'MarkerSize',movem);
axis([-5 35 -5 15 -5 10]);
view(-10.5,14);
pause(.05); % slows computer replots in order for visual animation
hold off
end
disp('Would you like to animate another frequency?')
loop=input('Enter 1 to continue animating');
end
end % end animation while loop-------------------------------------------------------------close(21)
129
A.7: ssr13_NL.m
% Chevy SSR 13 DOF model
% Full nonlinear time history calculation
clear all
close all
clc
start=400; %frequency point to begin analysis
stop=400; %frequency point to end analysis
disp('Defining system parameters....')
% Integrate equations of motion in state variable form
dt=0.002;
Nt=4*2^13;
t=(0:dt:(Nt-1)*dt)';
state=zeros(26,Nt);
tdown=t(1:2:Nt);
f1=12001;
f2=16001;
BS=f2-f1;
fv=(0:1/tdown(BS):(BS/2-1)/tdown(BS));
max_freq=max(fv)
start_freq=fv(start)
freq_int=1/tdown(BS)
stop_freq=fv(stop)
% Create window
ftv=linspace(-0.5,0.5,BS)';
tmp2=zeros(BS,1);
ftop=0.9994484+2*(0.955728*cos(2*pi*1*ftv)+0.539289*cos(2*pi*2*ftv)+0.091581*co
s(2*pi*3*ftv));
%----------------------------------------------------------------------------------------------% Define system parameters
pnl=.1; % percent nonlinear
deltax=.5; % mount displacement
% Powertrain
130
% em_fact=1;
tm_fact=1;
em_fact=1;
Mp=311; Ipx=17; Ipy=45; %477500e-6; Ipy=785900e-6;
Kem=em_fact*390e3;
Ktm=tm_fact*930e3;
Cem=0.125;
Ctm=0.45;
b1=1/1*244.5e-3; b2=245.5e-3; c=981.3e-3; d=268.04e-3; e=20.5e-3;
t_fact=475; % Tweaked to align linear operating shape locations with GM data
b_fact=33; % Tweaked to align linear operating shape locations with GM data
% Frame and body
Mf=1070.6; Ifx=327.230;
Ktb=t_fact*400e1; Ctb=0.125;
Kbb=b_fact*450e3; Cbb=0.125;
alpha=2/6; beta=1.5/6; chi=2.5/6;
% Suspension (front/rear)
Mfs=74.2;
Kfs=40.3e3; Cfs=0.05;
Mrs=175/2;
Krs=28.5e3; Krss=1/1*830e3; Crs=0.005;
Kft=262e3; Krt=319e3;
a=454.7e-3; f=476.5e-3;
% Define mass, damping and stiffness matrices
M=diag([Mfs Mfs Mrs Mrs alpha*Mf alpha*Ifx beta*Mf beta*Ifx chi*Mf chi*Ifx Mp
Ipx Ipy]);
K=[ Kft+Kfs 0
0
0
-Kfs
a*Kfs
0
0
0
0
0
0
0
0
Kft+Kfs 0
0
-Kfs
-a*Kfs
0
0
0
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
0
-(Krss+Krs)
f*(Krss+Krs)
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
-(Krss+Krs)
-f*(Krss+Krs)
0
0
0
-Kfs -Kfs 0
0
Kfs+Kfs+Kem+Kem+Kbb Kfs*(a-a)+Kem*(b2-b1)
-Kbb
0
0
0
-Kem-Kem
Kem*(b1-b2)
Kem*(-d-d)
a*Kfs -a*Kfs 0
0
Kfs*(a-a)+Kem*(b2-b1)
Kfs*(a^2+a^2)+Kem*(b1^2+b2^2)+Ktb 0
-Ktb
0
0
Kem*(b1-b2)
-Kem*b1^2-Kem*b2^2
Kem*d*(b1-b2)
131
0
0
0
0
-Kbb
0
Kbb+Kbb+Ktm 0
-Kbb
0
-Ktm
0
Ktm*(c-d)
0
0
0
0
0
-Ktb
0
Ktb+Ktb
0
-Ktb
0
0
0
0
0
-(Krss+Krs) -(Krss+Krs) 0
0
-Kbb
0
Kbb+2*(Krss+Krs)
-f*(Krss+Krs)+f*(Krss+Krs) 0
0
0
0
0
f*(Krss+Krs) -f*(Krss+Krs) 0
0
0
Ktb
-f*(Krss+Krs)+f*(Krss+Krs) Ktb+2*f^2*(Krss+Krs)
0
0
0
0
0
0
0
-Kem-Kem
Kem*(b1-b2)
-Ktm
0
0
0
Kem+Kem+Ktm
Kem*(b2-b1)
Kem*(d+d)-(c-d)*Ktm
0
0
0
0
Kem*(b1-b2)
-Kem*b1^2-Kem*b2^2
0
0
0
0
Kem*(b2-b1)
Kem*b1^2+Kem*b2^2
-Kem*b1*d+Kem*b2*d
0
0
0
0
Kem*(-d-d)
Kem*d*(b1-b2)
Ktm*(cd) 0
0
0
Kem*(d+d)-(c-d)*Ktm Kem*b1*d+Kem*b2*d
Kem*d^2+Kem*d^2+Ktm*(c-d)^2];
C=0.0004*M+0.0004*K;
Cft=C(1,1)+C(1,5);
Crt=C(3,3)+C(3,9);
mu1=(pnl*Kem*1e6)/((1-pnl)*deltax^2) % Engine mount %Kem must be in N/m
mu2=-0*930*1e9 % Transmission mount
% All system parameters defined
%-----------------------------------------------------------------------------------------clear pnl tm_fact em_fact Kem Ktm Cem Ctm e t_fact b_fact Ktb Ctb Kbb Cbb chi Mfs
Kfs Cfs Mrs Krs Krss Crs a f
break;
% break;
%==============================================================
======================================
%--------Start the MAIN loop-----------------------------------------------------------------------%==============================================================
======================================
disp('Loop running...')
for zz= start:stop,
zz
% Define the input (e.g., tramp)
freq=fv(zz);
amp=0.038;
zlf=amp*sin(2*pi*freq*t); % Left front displacement
132
zlfd=amp*(2*pi*freq)*cos(2*pi*freq*t);% Left front velocity
zrf=-0*zlf; % Right front displacement
zrfd=-0*zlfd; % Right front velocity
zrr=amp*sin(2*pi*freq*t); % Right Rear displacement
zrrd=amp*(2*pi*freq)*cos(2*pi*freq*t);% Right Rear velocity
zlr=-0*zrr; % Left Rear displacement
zlrd=-0*zrrd; % Left Rear velocity
p=3; % Power of nonlinearity
%==============================================================
=======================================================
for ii = 3:2:max(size(t)), % The time step for the Runge-Kutta 4th order integration is
h=2*dt
% The nonlinearities currently used are cubic stiffness (hardening)
k1=(2*dt)*[state(14:26,ii-2); -inv(M)*K*state(1:13,ii-2)-inv(M)*C*state(14:26,ii2)+...
[0; 0; 0; 0; (1/alpha/Mf)*mu1*((state(11,ii-2)-b1*state(12,ii-2)+d*state(13,ii-2)(state(5,ii-2)-b1*state(6,ii-2)))^p+...
(state(11,ii-2)+b2*state(12,ii-2)+d*state(13,ii-2)-(state(5,ii-2)+b2*state(6,ii2)))^p);
(1/alpha/Ifx)*mu1*(-b1*(state(11,ii-2)-b1*state(12,ii-2)+d*state(13,ii-2)(state(5,ii-2)-b1*state(6,ii-2)))^p+...
b2*(state(11,ii-2)+b2*state(12,ii-2)+d*state(13,ii-2)-(state(5,ii2)+b2*state(6,ii-2)))^p);
(1/beta/Mf)*mu2*(state(11,ii-2)-(c-d)*state(13,ii-2)-state(7,ii-2))^p; 0; 0; 0;
(1/Mp)*mu1*(-(state(11,ii-2)-b1*state(12,ii-2)+d*state(13,ii-2)-(state(5,ii-2)b1*state(6,ii-2)))^p-...
(state(11,ii-2)+b2*state(12,ii-2)+d*state(13,ii-2)-(state(5,ii-2)+b2*state(6,ii2)))^p)-(1/Mp)*mu2*(state(11,ii-2)-(c-d)*state(13,ii-2)-state(7,ii-2)).^p;
(1/Ipx)*mu1*(b1*(state(11,ii-2)-b1*state(12,ii-2)+d*state(13,ii-2)-(state(5,ii-2)b1*state(6,ii-2)))^p-...
b2*(state(11,ii-2)+b2*state(12,ii-2)+d*state(13,ii-2)-(state(5,ii-2)+b2*state(6,ii2)))^p);
(1/Ipy)*mu1*(-d*(state(11,ii-2)-b1*state(12,ii-2)+d*state(13,ii-2)-(state(5,ii-2)b1*state(6,ii-2)))^p-...
d*(state(11,ii-2)+b2*state(12,ii-2)+d*state(13,ii-2)-(state(5,ii-2)+b2*state(6,ii2)))^p)+...
(1/Ipy)*mu2*(c-d)*(state(11,ii-2)-(c-d)*state(13,ii-2)-state(7,ii-2)).^p]+...
inv(M)*[eye(4); zeros(9,4)]*[Cft*zlfd(ii-2)+Kft*zlf(ii-2); Cft*zrfd(ii2)+Kft*zrf(ii-2); Crt*zlrd(ii-2)+Krt*zlr(ii-2); Crt*zrrd(ii-2)+Krt*zrr(ii-2)]];
k2=(2*dt)*[state(14:26,ii-2)+k1(14:26)/2; -inv(M)*K*(state(1:13,ii-2)+k1(1:13)/2)inv(M)*C*(state(14:26,ii-2)+k1(14:26)/2)+...
133
[0; 0; 0; 0; (1/alpha/Mf)*mu1*((state(11,ii-2)+k1(11)/2-b1*(state(12,ii2)+k1(12)/2)+d*(state(13,ii-2)+k1(13)/2)-(state(5,ii-2)+k1(5)/2-b1*(state(6,ii2)+k1(6)/2)))^p+...
(state(11,ii-2)+k1(11)/2+b2*(state(12,ii-2)+k1(12)/2)+d*(state(13,ii2)+k1(13)/2)-(state(5,ii-2)+k1(5)/2+b2*(state(6,ii-2)+k1(6)/2)))^p);
(1/alpha/Ifx)*mu1*(-b1*(state(11,ii-2)+k1(11)/2-b1*(state(12,ii2)+k1(12)/2)+d*(state(13,ii-2)+k1(13)/2)-(state(5,ii-2)+k1(5)/2-b1*(state(6,ii2)+k1(6)/2)))^p+...
b2*(state(11,ii-2)+k1(11)/2+b2*(state(12,ii2)+k1(12)/2)+d*(state(13,ii-2)+k1(13)/2)-(state(5,ii-2)+k1(5)/2+b2*(state(6,ii2)+k1(6)/2)))^p);
(1/beta/Mf)*mu2*(state(11,ii-2)+k1(11)/2-(c-d)*(state(13,ii-2)+k1(13)/2)(state(7,ii-2)+k1(7)/2)).^p; 0; 0; 0;
(1/Mp)*mu1*(-(state(11,ii-2)+k1(11)/2-b1*(state(12,ii2)+k1(12)/2)+d*(state(13,ii-2)+k1(13)/2)-(state(5,ii-2)+k1(5)/2-b1*(state(6,ii2)+k1(6)/2)))^p-...
(state(11,ii-2)+k1(11)/2+b2*(state(12,ii-2)+k1(12)/2)+d*(state(13,ii2)+k1(13)/2)-(state(5,ii-2)+k1(5)/2+b2*(state(6,ii-2)+k1(6)/2)))^p)(1/Mp)*mu2*(state(11,ii-2)+k1(11)/2-(c-d)*(state(13,ii-2)+k1(13)/2)-(state(7,ii2)+k1(7)/2)).^p;
(1/Ipx)*mu1*(b1*(state(11,ii-2)+k1(11)/2-b1*(state(12,ii2)+k1(12)/2)+d*(state(13,ii-2)+k1(13)/2)-(state(5,ii-2)+k1(5)/2-b1*(state(6,ii2)+k1(6)/2)))^p-...
b2*(state(11,ii-2)+k1(11)/2+b2*(state(12,ii-2)+k1(12)/2)+d*(state(13,ii2)+k1(13)/2)-(state(5,ii-2)+k1(5)/2+b2*(state(6,ii-2)+k1(6)/2)))^p);
(1/Ipy)*mu1*(-d*(state(11,ii-2)+k1(11)/2-b1*(state(12,ii2)+k1(12)/2)+d*(state(13,ii-2)+k1(13)/2)-(state(5,ii-2)+k1(5)/2-b1*(state(6,ii2)+k1(6)/2)))^p-...
d*(state(11,ii-2)+k1(11)/2+b2*(state(12,ii-2)+k1(12)/2)+d*(state(13,ii2)+k1(13)/2)-(state(5,ii-2)+k1(5)/2+b2*(state(6,ii-2)+k1(6)/2)))^p)+...
(1/Ipy)*mu2*(c-d)*(state(11,ii-2)+k1(11)/2-(c-d)*(state(13,ii-2)+k1(13)/2)(state(7,ii-2)+k1(7)/2)).^p]+...
inv(M)*[eye(4); zeros(9,4)]*[Cft*zlfd(ii-1)+Kft*zlf(ii-1); Cft*zrfd(ii1)+Kft*zrf(ii-1); Crt*zlrd(ii-1)+Krt*zlr(ii-1); Crt*zrrd(ii-1)+Krt*zrr(ii-1)]];
k3=(2*dt)*[state(14:26,ii-2)+k2(14:26)/2; -inv(M)*K*(state(1:13,ii-2)+k2(1:13)/2)inv(M)*C*(state(14:26,ii-2)+k2(14:26)/2)+...
[0; 0; 0; 0; (1/alpha/Mf)*mu1*((state(11,ii-2)+k2(11)/2-b1*(state(12,ii2)+k2(12)/2)+d*(state(13,ii-2)+k2(13)/2)-(state(5,ii-2)+k2(5)/2-b1*(state(6,ii2)+k2(6)/2)))^p+...
(state(11,ii-2)+k2(11)/2+b2*(state(12,ii-2)+k2(12)/2)+d*(state(13,ii2)+k2(13)/2)-(state(5,ii-2)+k2(5)/2+b2*(state(6,ii-2)+k2(6)/2)))^p);
(1/alpha/Ifx)*mu1*(-b1*(state(11,ii-2)+k2(11)/2-b1*(state(12,ii2)+k2(12)/2)+d*(state(13,ii-2)+k2(13)/2)-(state(5,ii-2)+k2(5)/2-b1*(state(6,ii2)+k2(6)/2)))^p+...
134
b2*(state(11,ii-2)+k2(11)/2+b2*(state(12,ii2)+k2(12)/2)+d*(state(13,ii-2)+k2(13)/2)-(state(5,ii-2)+k2(5)/2+b2*(state(6,ii2)+k2(6)/2)))^p);
(1/beta/Mf)*mu2*(state(11,ii-2)+k2(11)/2-(c-d)*(state(13,ii-2)+k2(13)/2)(state(7,ii-2)+k2(7)/2)).^p; 0; 0; 0;
(1/Mp)*mu1*(-(state(11,ii-2)+k2(11)/2-b1*(state(12,ii2)+k2(12)/2)+d*(state(13,ii-2)+k2(13)/2)-(state(5,ii-2)+k2(5)/2-b1*(state(6,ii2)+k2(6)/2)))^p-...
(state(11,ii-2)+k2(11)/2+b2*(state(12,ii-2)+k2(12)/2)+d*(state(13,ii2)+k2(13)/2)-(state(5,ii-2)+k2(5)/2+b2*(state(6,ii-2)+k2(6)/2)))^p)(1/Mp)*mu2*(state(11,ii-2)+k2(11)/2-(c-d)*(state(13,ii-2)+k2(13)/2)-(state(7,ii2)+k2(7)/2)).^p;
(1/Ipx)*mu1*(b1*(state(11,ii-2)+k2(11)/2-b1*(state(12,ii2)+k2(12)/2)+d*(state(13,ii-2)+k2(13)/2)-(state(5,ii-2)+k2(5)/2-b1*(state(6,ii2)+k2(6)/2)))^p-...
b2*(state(11,ii-2)+k2(11)/2+b2*(state(12,ii-2)+k2(12)/2)+d*(state(13,ii2)+k2(13)/2)-(state(5,ii-2)+k2(5)/2+b2*(state(6,ii-2)+k2(6)/2)))^p);
(1/Ipy)*mu1*(-d*(state(11,ii-2)+k2(11)/2-b1*(state(12,ii2)+k2(12)/2)+d*(state(13,ii-2)+k2(13)/2)-(state(5,ii-2)+k2(5)/2-b1*(state(6,ii2)+k2(6)/2)))^p-...
d*(state(11,ii-2)+k2(11)/2+b2*(state(12,ii-2)+k2(12)/2)+d*(state(13,ii2)+k2(13)/2)-(state(5,ii-2)+k2(5)/2+b2*(state(6,ii-2)+k2(6)/2)))^p)+...
(1/Ipy)*mu2*(c-d)*(state(11,ii-2)+k2(11)/2-(c-d)*(state(13,ii-2)+k2(13)/2)(state(7,ii-2)+k2(7)/2)).^p]+...
inv(M)*[eye(4); zeros(9,4)]*[Cft*zlfd(ii-1)+Kft*zlf(ii-1); Cft*zrfd(ii1)+Kft*zrf(ii-1); Crt*zlrd(ii-1)+Krt*zlr(ii-1); Crt*zrrd(ii-1)+Krt*zrr(ii-1)]];
k4=(2*dt)*[state(14:26,ii-2)+k3(14:26); -inv(M)*K*(state(1:13,ii-2)+k3(1:13))inv(M)*C*(state(14:26,ii-2)+k3(14:26))+...
[0; 0; 0; 0; (1/alpha/Mf)*mu1*((state(11,ii-2)+k3(11)-b1*(state(12,ii2)+k3(12))+d*(state(13,ii-2)+k3(13))-(state(5,ii-2)+k3(5)-b1*(state(6,ii-2)+k3(6))))^p+...
(state(11,ii-2)+k3(11)+b2*(state(12,ii-2)+k3(12))+d*(state(13,ii-2)+k3(13))(state(5,ii-2)+k3(5)+b2*(state(6,ii-2)+k3(6))))^p);
(1/alpha/Ifx)*mu1*(-b1*(state(11,ii-2)+k3(11)-b1*(state(12,ii2)+k3(12))+d*(state(13,ii-2)+k3(13))-(state(5,ii-2)+k3(5)-b1*(state(6,ii-2)+k3(6))))^p+...
b2*(state(11,ii-2)+k3(11)+b2*(state(12,ii-2)+k3(12))+d*(state(13,ii2)+k3(13))-(state(5,ii-2)+k3(5)+b2*(state(6,ii-2)+k3(6))))^p);
(1/beta/Mf)*mu2*(state(11,ii-2)+k3(11)-(c-d)*(state(13,ii-2)+k3(13))-(state(7,ii2)+k3(7))).^p; 0; 0; 0;
(1/Mp)*mu1*(-(state(11,ii-2)+k3(11)-b1*(state(12,ii-2)+k3(12))+d*(state(13,ii2)+k3(13))-(state(5,ii-2)+k3(5)-b1*(state(6,ii-2)+k3(6))))^p-...
(state(11,ii-2)+k3(11)+b2*(state(12,ii-2)+k3(12))+d*(state(13,ii-2)+k3(13))(state(5,ii-2)+k3(5)+b2*(state(6,ii-2)+k3(6))))^p)-(1/Mp)*mu2*(state(11,ii-2)+k3(11)-(cd)*(state(13,ii-2)+k3(13))-(state(7,ii-2)+k3(7))).^p;
135
(1/Ipx)*mu1*(b1*(state(11,ii-2)+k3(11)-b1*(state(12,ii2)+k3(12))+d*(state(13,ii-2)+k3(13))-(state(5,ii-2)+k3(5)-b1*(state(6,ii-2)+k3(6))))^p-...
b2*(state(11,ii-2)+k3(11)+b2*(state(12,ii-2)+k3(12))+d*(state(13,ii-2)+k3(13))(state(5,ii-2)+k3(5)+b2*(state(6,ii-2)+k3(6))))^p);
(1/Ipy)*mu1*(-d*(state(11,ii-2)+k3(11)-b1*(state(12,ii-2)+k3(12))+d*(state(13,ii2)+k3(13))-(state(5,ii-2)+k3(5)-b1*(state(6,ii-2)+k3(6))))^p-...
d*(state(11,ii-2)+k3(11)+b2*(state(12,ii-2)+k3(12))+d*(state(13,ii-2)+k3(13))(state(5,ii-2)+k3(5)+b2*(state(6,ii-2)+k3(6))))^p)+...
(1/Ipy)*mu2*(c-d)*(state(11,ii-2)+k3(11)-(c-d)*(state(13,ii-2)+k3(13))-(state(7,ii2)+k3(7))).^p]+...
inv(M)*[eye(4); zeros(9,4)]*[Cft*zlfd(ii)+Kft*zlf(ii); Cft*zrfd(ii)+Kft*zrf(ii);
Crt*zlrd(ii)+Krt*zlr(ii); Crt*zrrd(ii)+Krt*zrr(ii)]];
state(:,ii)=state(:,ii-2)+k1/6+k2/3+k3/3+k4/6; % Calculate fourth order RK increment
in state vector
end %End Runga Kutta
%==============================================================
=======================================================
temp1=state(5,1:2:Nt)';
x_5(:,zz-start+1)=temp1;
temp2=zlf(1:2:Nt);
temp3=fft(ftop.*temp1(f1+1:f1+BS))./fft(ftop.*temp2(f1+1:f1+BS));
T5(zz-start+1)=abs(temp3(zz));
temp1=state(6,1:2:Nt)';
x_6(:,zz-start+1)=temp1;
temp2=zlf(1:2:Nt);
temp3=fft(ftop.*temp1(f1+1:f1+BS))./fft(ftop.*temp2(f1+1:f1+BS));
T6(zz-start+1)=abs(temp3(zz));
temp1=state(7,1:2:Nt)';
x_7(:,zz-start+1)=temp1;
temp2=zlf(1:2:Nt);
temp3=fft(ftop.*temp1(f1+1:f1+BS))./fft(ftop.*temp2(f1+1:f1+BS));
T7(zz-start+1)=abs(temp3(zz));
temp1=state(8,1:2:Nt)';
x_8(:,zz-start+1)=temp1;
temp2=zlf(1:2:Nt);
temp3=fft(ftop.*temp1(f1+1:f1+BS))./fft(ftop.*temp2(f1+1:f1+BS));
T8(zz-start+1)=abs(temp3(zz));
temp1=state(9,1:2:Nt)';
136
x_9(:,zz-start+1)=temp1;
temp2=zlf(1:2:Nt);
temp3=fft(ftop.*temp1(f1+1:f1+BS))./fft(ftop.*temp2(f1+1:f1+BS));
T9(zz-start+1)=abs(temp3(zz));
temp1=state(10,1:2:Nt)';
x_10(:,zz-start+1)=temp1;
temp2=zlf(1:2:Nt);
temp3=fft(ftop.*temp1(f1+1:f1+BS))./fft(ftop.*temp2(f1+1:f1+BS));
T10(zz-start+1)=abs(temp3(zz));
temp1=state(11,1:2:Nt)';
x_11(:,zz-start+1)=temp1;
temp2=zlf(1:2:Nt);
temp3=fft(ftop.*temp1(f1+1:f1+BS))./fft(ftop.*temp2(f1+1:f1+BS));
T11(zz-start+1)=abs(temp3(zz));
temp1=state(12,1:2:Nt)';
x_12(:,zz-start+1)=temp1;
temp2=zlf(1:2:Nt);
temp3=fft(ftop.*temp1(f1+1:f1+BS))./fft(ftop.*temp2(f1+1:f1+BS));
T12(zz-start+1)=abs(temp3(zz));
temp1=state(13,1:2:Nt)';
x_13(:,zz-start+1)=temp1;
temp2=zlf(1:2:Nt);
temp3=fft(ftop.*temp1(f1+1:f1+BS))./fft(ftop.*temp2(f1+1:f1+BS));
T13(zz-start+1)=abs(temp3(zz));
end
disp('saving data......')
save SSR_NL_data.mat f1 f2 BS fv tdown t x_5 x_6 x_7 x_8 x_9 x_10 x_11 x_12 x_13
T5 T6 T7 T8 T9 T10 T11 T12 T13 start stop
%==============================================================
======================================
%----------End the MAIN LOOP-----------------------------------------------------------------------%==============================================================
======================================
figure(1);
subplot(211);
plot(tdown(f1+1:f1+BS),x_5(f1+1:f1+BS)','*');
137
% axis([39 40 -20 20]);
xlabel('Time [sec]'); ylabel('Displacement States [mm]');
subplot(212);
plot(tdown(f1+1:f1+BS),x_6(f1+1:f1+BS)','*');
% axis([39 40 -.08 .08]);
xlabel('Time [sec]'); ylabel('Rotation States [rad]');
figure(2);
subplot(211);
plot(tdown(f1+1:f1+BS),x_7(f1+1:f1+BS)','*');
% axis([39 40 -20 20]);
xlabel('Time [sec]'); ylabel('Displacement States [mm]');
subplot(212);
plot(tdown(f1+1:f1+BS),x_8(f1+1:f1+BS)','*');
% axis([39 40 -.08 .08]);
xlabel('Time [sec]'); ylabel('Rotation States [rad]');
figure(3);
subplot(211);
plot(tdown(f1+1:f1+BS),x_9(f1+1:f1+BS)','*');
% axis([39 40 -20 20]);
xlabel('Time [sec]'); ylabel('Displacement States [mm]');
subplot(212);
plot(tdown(f1+1:f1+BS),x_10(f1+1:f1+BS)','*');
% axis([39 40 -.08 .08]);
xlabel('Time [sec]'); ylabel('Rotation States [rad]');
figure(4)
subplot(211);
plot(tdown,1e3*state([5],1:2:Nt)','*');
% axis([39 40 -20 20]);
xlabel('Time [sec]'); ylabel('Displacement States [mm]');
subplot(212);
plot(tdown,state([6],1:2:Nt)','*');
% axis([39 40 -.08 .08]);
xlabel('Time [sec]'); ylabel('Rotation States [rad]');
force=Kem*(state(11,:)-b1*state(12,:)+d*state(13,:)-(state(5,:)-b1*state(6,:)))+...
mu1*(state(11,:)-b1*state(12,:)+d*state(13,:)-(state(5,:)-b1*state(6,:))).^p; % Engine
mount
force2=Ktm*(state(11,:)-(c-d)*state(13,:)-state(7,:))+...
mu2*(state(11,:)-(c-d)*state(13,:)-state(7,:)).^p;
% Transmission
mount
138
del=state(11,:)-b1*state(12,:)+d*state(13,:)-(state(5,:)-b1*state(6,:)); % Engine mount
del2=state(11,:)-(c-d)*state(13,:)-state(7,:);
% Transmission mount
figure(11)
plot(1e3*del(1:2:Nt),force(1:2:Nt),'.');
xlabel('Displacement [mm]'); ylabel('Restoring Force [N]');
axis([-1.5 1.5 -1e4 1e4]);
hold on
mu1=0;
mu2=0;
force=Kem*(state(11,:)-b1*state(12,:)+d*state(13,:)-(state(5,:)-b1*state(6,:)))+...
mu1*(state(11,:)-b1*state(12,:)+d*state(13,:)-(state(5,:)-b1*state(6,:))).^p; % Engine
mount
force2=Ktm*(state(11,:)-(c-d)*state(13,:)-state(7,:))+...
mu2*(state(11,:)-(c-d)*state(13,:)-state(7,:)).^p;
% Transmission
mount
del=state(11,:)-b1*state(12,:)+d*state(13,:)-(state(5,:)-b1*state(6,:)); % Engine mount
del2=state(11,:)-(c-d)*state(13,:)-state(7,:);
% Transmission mount
plot(1e3*del(1:2:Nt),force(1:2:Nt),'r.');
legend('nonlinear','linear')
139
A.8: ssr13_linear_fithz.m
% Chevy SSR 13 DOF model
% Linear transmissibility function development
% This code creates FRF for all degrees of freedom
% This code will work with the animate.m script!!!!
% This code varies the nominal engine mount stiffness
% Used to generate Plots for thesis
% Edit for use with curve fits
% K(deltax) @ each Frequency
% Edit for use with different curvefits
% K(freq) @ each amplitude
clc % clear matlab window
clear all % clear all variables
close all % close all figures
% vary=1;
flag=2; % Code will generate and save mode plots for each powertrain mount stiffness (1:
ON other:off)
% flag==2 to check curve fit results
%---------------------------------------------------------% define frequency range of interest
minf=2; % Must start at above 2
maxf=25;
int=0.05;
w=2*pi*(minf:int:maxf)';
w_hz=w/2/pi; % convert radians/s to Hz
%---------------------------------------------------------leastsquare_fq % this is a code that generates curvefits for each deflection
% (K as a function of frequency)
% Outputs engine mount curves as stiffness
% stiffness(coeffients,amplitude)
delx
inc=1;
while inc<=max(size(delx))
del_x=delx(inc)
% Define system parameters
140
% Powertrain
Mp=311; Ipx=17; Ipy=45; %477500e-6; Ipy=785900e-6;
em_fact=1;
tm_fact=1;
Ktm=tm_fact*930e3; Ctm=0.45;
b1=1/1*244.5e-3; b2=245.5e-3; c=981.3e-3; d=268.04e-3; e=20.5e-3;
% Frame and body
Mf=1070.6; Ifx=327.230;
% Not sure about Ktb or Kbb
b_fact=29;
t_fact=237;
% For TOP DOWN b_fact=29;
% For TOP DOWN t_fact=237;
% For TOP UP b_fact=400;
% For TOP UP t_fact=475;
Ktb=t_fact*400e1;
Kbb=b_fact*450e3;
Ctb=0.125;
Cbb=0.125;
alpha=2.0/6; beta=1.5/6; chi=2.5/6;
% Suspension (front/rear)
Mfs=74.2;
Kfs=40.3e3; Cfs=0.05;
Mrs=175/2;
Krs=28.5e3; Krss=1/1*830e3; Crs=0.005;
Kft=262e3; Krt=319e3;
a=454.7e-3; f=476.5e-3;
% Define mass, damping and stiffness matrices
M=diag([Mfs Mfs Mrs Mrs alpha*Mf alpha*Ifx beta*Mf beta*Ifx chi*Mf chi*Ifx Mp
Ipx Ipy]);
% Compute transmissibility functions
ii=1;
while ii <=max(size(w))% fq
K_em=stiffness(1,inc)+stiffness(2,inc)*w_hz(ii)+stiffness(3,inc)*w_hz(ii)^2+stiffness(4,
inc)*w_hz(ii)^3+stiffness(5,inc)*w_hz(ii)^4+stiffness(6,inc)*w_hz(ii)^5;
check_kemhz(ii,inc)=K_em;
C_em=damping(1,inc)+damping(2,inc)*w_hz(ii)+damping(3,inc)*w_hz(ii)^2+damping(
4,inc)*w_hz(ii)^3+damping(5,inc)*w_hz(ii)^4+damping(6,inc)*w_hz(ii)^5;
141
% Define stiffness matrices
Kem=em_fact*K_em*10^3;
% Cem=0.125;
K=[ Kft+Kfs 0
0
0
-Kfs
a*Kfs
0
0
0
0
0
0
0
0
Kft+Kfs 0
0
-Kfs
-a*Kfs
0
0
0
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
0
-(Krss+Krs)
f*(Krss+Krs)
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
-(Krss+Krs)
-f*(Krss+Krs)
0
0
0
-Kfs -Kfs 0
0
Kfs+Kfs+Kem+Kem+Kbb Kfs*(a-a)+Kem*(b2-b1)
-Kbb
0
0
0
-Kem-Kem
Kem*(b1-b2)
Kem*(-d-d)
a*Kfs -a*Kfs 0
0
Kfs*(a-a)+Kem*(b2-b1)
Kfs*(a^2+a^2)+Kem*(b1^2+b2^2)+Ktb 0
-Ktb
0
0
Kem*(b1-b2)
-Kem*b1^2-Kem*b2^2
Kem*d*(b1-b2)
0
0
0
0
-Kbb
0
Kbb+Kbb+Ktm 0
-Kbb
0
-Ktm
0
Ktm*(c-d)
0
0
0
0
0
-Ktb
0
Ktb+Ktb
0
-Ktb
0
0
0
0
0
-(Krss+Krs) -(Krss+Krs) 0
0
-Kbb
0
Kbb+2*(Krss+Krs)
-f*(Krss+Krs)+f*(Krss+Krs) 0
0
0
0
0
f*(Krss+Krs) -f*(Krss+Krs) 0
0
0
Ktb
-f*(Krss+Krs)+f*(Krss+Krs) Ktb+2*f^2*(Krss+Krs)
0
0
0
0
0
0
0
-Kem-Kem
Kem*(b1-b2)
-Ktm
0
0
0
Kem+Kem+Ktm
Kem*(b2-b1)
Kem*(d+d)-(c-d)*Ktm
0
0
0
0
Kem*(b1-b2)
-Kem*b1^2-Kem*b2^2
0
0
0
0
Kem*(b2-b1)
Kem*b1^2+Kem*b2^2
-Kem*b1*d+Kem*b2*d
0
0
0
0
Kem*(-d-d)
Kem*d*(b1-b2)
Ktm*(cd) 0
0
0
Kem*(d+d)-(c-d)*Ktm Kem*b1*d+Kem*b2*d
Kem*d^2+Kem*d^2+Ktm*(c-d)^2];
theta=.0001;
eta=.0001;
% Define damping
C=theta*M+eta*K;
T(:,:,ii)=inv(-M*w(ii)^2+j*w(ii)*C+K)*diag([j*w(ii)*(C(1,1)+C(1,5))+Kft;
j*w(ii)*(C(1,1)+C(1,5))+Kft; j*w(ii)*(C(3,3)+C(3,9))+Krt; j*w(ii)*(C(3,3)+C(3,9))+Krt;
0; 0; 0; 0; 0; 0; 0; 0; 0]);
%T(output,input,frequency)
142
ii=ii+1;
end
%-------------------------------------------------------------------------% Pick off imaginary FRF values of the original system (USED FOR ANIMATION)
%-------------------------------------------------------------------------N=100;
t=linspace(0,5,N);
FRF=imag(squeeze(T(1:13,1,:))+squeeze(T(1:13,4,:)));
% T(all outputs,first input,all frequencies)
FRF2(:,:,inc)=FRF;
% FRF2(all outputs, all frequencies, stiffness increment)
if flag==1
%-------------------------------------------------------------------------%Create Mode Plot
%-------------------------------------------------------------------------figure(1); %5-20 Hz sweep
%figure(31); %5-20 Hz sweep
plot(w_hz,FRF)
axis([minf maxf -8 8])
xlabel('Frequency [Hz]');
end
if inc==1
T_1hz=T;
elseif inc==2
T_2hz=T;
elseif inc==3
T_3hz=T;
elseif inc==4
T_4hz=T;
elseif inc==5
T_5hz=T;
elseif inc==6
T_6hz=T;
elseif inc==7
T_7hz=T;
end
inc=inc+1;
end % end del_x while loop
w_hz_hz=w_hz;
143
save T_K_hz w_hz_hz fq check_kemhz T_1hz T_2hz T_3hz T_4hz T_5hz T_6hz T_7hz
K_star
% Check the curve fit results-------------------------------------------if flag==2
figure(50)
plot(fq,K_star(:,2),'*r')
hold on
plot(w_hz,check_kemhz(:,2),'.-')
xlabel('delta x'); ylabel('K em');
legend('data','curve fit')
figure(51)
plot(fq,K_star(:,3),'*r')
hold on
plot(w_hz,check_kemhz(:,3),'.-')
xlabel('delta x'); ylabel('K em');
legend('data','curve fit')
figure(52)
plot(fq,K_star(:,4),'*r')
hold on
plot(w_hz,check_kemhz(:,4),'.-')
xlabel('delta x'); ylabel('K em');
legend('data','curve fit')
figure(53)
plot(fq,K_star(:,5),'*r')
hold on
plot(w_hz,check_kemhz(:,5),'.-')
xlabel('delta x'); ylabel('K em');
legend('data','curve fit')
figure(54)
plot(fq,K_star(:,6),'*r')
hold on
plot(w_hz,check_kemhz(:,6),'.-')
xlabel('delta x'); ylabel('K em');
legend('data','curve fit')
figure(55)
plot(fq,K_star(:,7),'*r')
hold on
plot(w_hz,check_kemhz(:,7),'.-')
xlabel('delta x'); ylabel('K em');
legend('data','curve fit')
end
if flag==1
%-------------------------------------------------------------------------%Create Mode Plot
144
%-------------------------------------------------------------------------figure(40); %5-20 Hz sweep
subplot(411)
plot(w_hz,FRF2(:,:,1))
legend('Deflection .1 ')
axis([minf maxf -8 8])
subplot(412)
plot(w_hz,FRF2(:,:,3))
legend('Deflection .3 ')
axis([minf maxf -8 8])
subplot(413)
plot(w_hz,FRF2(:,:,6))
legend('Deflection 1.0 ')
axis([minf maxf -8 8])
subplot(414)
plot(w_hz,FRF2(:,:,7))
legend('Deflection 2.0 ')
axis([minf maxf -8 8])
xlabel('Frequency [Hz]');
orient tall
end
figure(60)
plot(fq,K_star(:,1),':',fq,K_star(:,5),'-.',fq,K_star(:,6),'--',fq,K_star(:,7),'-')
legend('Del x= .1','Del x= .5','Del x= 1','Del x= 2')
break;
maxf=25;
figure(13)
orient tall
% body bounce modes FRF
subplot(211);
semilogy(w/2/pi,abs(squeeze(T_1([5],1,:))+squeeze(T_1([5],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_1([7],1,:))+squeeze(T_1([7],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_1([9],1,:))+squeeze(T_1([9],4,:))),'-')
title('Body Bounce')
ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
%Body roll modes FRF
subplot(212);
semilogy(w/2/pi,abs(squeeze(T_1([6],1,:))+squeeze(T_1([6],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_1([8],1,:))+squeeze(T_1([8],4,:))),'--');
145
semilogy(w/2/pi,abs(squeeze(T_1([10],1,:))+squeeze(T_1([10],4,:))),'-');
title('Body Roll')
xlabel('Frequency [Hz]'); ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
legend('front','middle','rear')
figure(31)
semilogy(w_hz,abs(T_11),w_hz,abs(T_21),w_hz,abs(T_31),w_hz,abs(T_41),w_hz,abs(T
_51),w_hz,abs(T_61),w_hz,abs(T_71),...
w_hz,abs(T_81),w_hz,abs(T_91),w_hz,abs(T_101),w_hz,abs(T_111),w_hz,abs(T_121),
w_hz,abs(T_131))
xlabel('Frequency Hz')
ylabel('Transmisibility (Magnitude)')
grid
legend('unsprung LF','unsprung RF','unsprung LR','unsprung RR','F body bounce','F body
roll',...
'M body bounce','M body roll','R body bounce','R body roll','Power bounce','Power
Roll','Power Pitch')
146
A.9: ssr13_linear_fitdel.m
% Chevy SSR 13 DOF model
% Linear transmissibility function development
% This code creates FRF for all degrees of freedom
% This code will work with the "animate.m" script!!!!
% This code varies the nominal engine mount stiffness
% Used to generate Plots for thesis
% Edit for use with curve fits
% K(deltax) @ each Frequency
clc % clear matlab window
clear all % clear all variables
close all % close all figures
% vary=1;
flag=0; % Code will generate and save mode plots for each powertrain mount stiffness (1:
ON other:off)
% flag==2 to check curve fit results
%---------------------------------------------------------% define frequency range of interest
minf=2; % Moust start at above 1.5
maxf=25;
int=0.05;
w=2*pi*(minf:int:maxf)';
w_hz=w/2/pi; % convert radians/s to Hz
%---------------------------------------------------------leastsquare % this is a code that generates curvefits for each frequency point
% (K as a function of delta x)
% Outputs engine mount curves as stiffness
% stiffness(coeffients,frequency)
Delta_x=[.1 .3 .5 1.0 2.0]
inc=1;
while inc<=max(size(Delta_x))
del_x=Delta_x(inc)
% Define system parameters
% Powertrain
147
Mp=311; Ipx=17; Ipy=45; %477500e-6; Ipy=785900e-6;
em_fact=1;
tm_fact=1;
Ktm=tm_fact*930e3; Ctm=0.45;
b1=1/1*244.5e-3; b2=245.5e-3; c=981.3e-3; d=268.04e-3; e=20.5e-3;
% Frame and body
Mf=1070.6; Ifx=327.230;
% Not sure about Ktb or Kbb
%t_fact=250; % I think this is a better value !!!! 4/05/04
b_fact=29; % Not right used to check something
t_fact=237;
% For TOP DOWN b_fact=29;
% For TOP DOWN t_fact=237;
% For TOP UP b_fact=400;
% For TOP UP t_fact=475;
Ktb=t_fact*400e1;
Kbb=b_fact*450e3;
Ctb=0.125;
Cbb=0.125;
alpha=2.0/6; beta=1.5/6; chi=2.5/6;
% Suspension (front/rear)
Mfs=74.2;
Kfs=40.3e3; Cfs=0.05;
Mrs=175/2;
Krs=28.5e3; Krss=1/1*830e3; Crs=0.005;
Kft=262e3; Krt=319e3;
a=454.7e-3; f=476.5e-3;
% Define mass, damping and stiffness matrices
M=diag([Mfs Mfs Mrs Mrs alpha*Mf alpha*Ifx beta*Mf beta*Ifx chi*Mf chi*Ifx Mp
Ipx Ipy]);
% Compute transmissibility functions
ii=1;
while ii <=max(size(w))% fq
freq=round(w_hz(ii));
lownum=floor(w_hz(ii));
highnum=ceil(w_hz(ii));
148
K_emlow=stiffness(1,lownum-1)+stiffness(2,lownum-1)*del_x+stiffness(3,lownum1)*del_x^2+stiffness(4,lownum-1)*del_x^3+stiffness(5,lownum-1)*del_x^4;
K_emhigh=stiffness(1,highnum-1)+stiffness(2,highnum-1)*del_x+stiffness(3,highnum1)*del_x^2+stiffness(4,highnum-1)*del_x^3+stiffness(5,highnum-1)*del_x^4;
K_em=abs(w_hz(ii)-lownum)/abs(highnum-lownum)*abs(K_emhighK_emlow)+K_emlow;
check_kemdel(ii,inc)=K_em;
Cem=damping(1,freq-1)+damping(2,freq-1)*del_x+damping(3,freq1)*del_x^2+damping(4,freq-1)*del_x^3+damping(5,freq-1)*del_x^4;
% Define stiffness matrices
Kem=em_fact*K_em*10^3;
% Cem=0.125;
K=[ Kft+Kfs 0
0
0
-Kfs
a*Kfs
0
0
0
0
0
0
0
0
Kft+Kfs 0
0
-Kfs
-a*Kfs
0
0
0
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
0
-(Krss+Krs)
f*(Krss+Krs)
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
-(Krss+Krs)
-f*(Krss+Krs)
0
0
0
-Kfs -Kfs 0
0
Kfs+Kfs+Kem+Kem+Kbb Kfs*(a-a)+Kem*(b2-b1)
-Kbb
0
0
0
-Kem-Kem
Kem*(b1-b2)
Kem*(-d-d)
a*Kfs -a*Kfs 0
0
Kfs*(a-a)+Kem*(b2-b1)
Kfs*(a^2+a^2)+Kem*(b1^2+b2^2)+Ktb 0
-Ktb
0
0
Kem*(b1-b2)
-Kem*b1^2-Kem*b2^2
Kem*d*(b1-b2)
0
0
0
0
-Kbb
0
Kbb+Kbb+Ktm 0
-Kbb
0
-Ktm
0
Ktm*(c-d)
0
0
0
0
0
-Ktb
0
Ktb+Ktb
0
-Ktb
0
0
0
0
0
-(Krss+Krs) -(Krss+Krs) 0
0
-Kbb
0
Kbb+2*(Krss+Krs)
-f*(Krss+Krs)+f*(Krss+Krs) 0
0
0
0
0
f*(Krss+Krs) -f*(Krss+Krs) 0
0
0
Ktb
-f*(Krss+Krs)+f*(Krss+Krs) Ktb+2*f^2*(Krss+Krs)
0
0
0
0
0
0
0
-Kem-Kem
Kem*(b1-b2)
-Ktm
0
0
0
Kem+Kem+Ktm
Kem*(b2-b1)
Kem*(d+d)-(c-d)*Ktm
0
0
0
0
Kem*(b1-b2)
-Kem*b1^2-Kem*b2^2
0
0
0
0
Kem*(b2-b1)
Kem*b1^2+Kem*b2^2
-Kem*b1*d+Kem*b2*d
0
0
0
0
Kem*(-d-d)
Kem*d*(b1-b2)
Ktm*(cd) 0
0
0
Kem*(d+d)-(c-d)*Ktm Kem*b1*d+Kem*b2*d
Kem*d^2+Kem*d^2+Ktm*(c-d)^2];
149
theta=.0001;
eta=.0001;
% Define damping
C=theta*M+eta*K;
T(:,:,ii)=inv(-M*w(ii)^2+j*w(ii)*C+K)*diag([j*w(ii)*(C(1,1)+C(1,5))+Kft;
j*w(ii)*(C(1,1)+C(1,5))+Kft; j*w(ii)*(C(3,3)+C(3,9))+Krt; j*w(ii)*(C(3,3)+C(3,9))+Krt;
0; 0; 0; 0; 0; 0; 0; 0; 0]);
%T(output,input,frequency)
ii=ii+1;
end
%-------------------------------------------------------------------------% Pick off imaginary FRF values of the original system (USED FOR ANIMATION)
%-------------------------------------------------------------------------N=100;
t=linspace(0,5,N);
FRF=imag(squeeze(T(1:13,1,:))+squeeze(T(1:13,4,:)));
% T(all outputs,first input,all frequencies)
%FRF2(:,:,inc)=FRF;
% FRF2(all outputs, all frequencies, stiffness increment)
if flag==1
%-------------------------------------------------------------------------%Create Mode Plot
%-------------------------------------------------------------------------figure(1); %5-20 Hz sweep
%figure(31); %5-20 Hz sweep
plot(w_hz,FRF)
axis([minf maxf -8 8])
xlabel('Frequency [Hz]');
end
if inc==1
T_1del=T;
elseif inc==2
T_2del=T;
elseif inc==3
T_3del=T;
elseif inc==4
T_4del=T;
elseif inc==5
T_5del=T;
elseif inc==6
150
T_6del=T;
end
inc=inc+1;
end % end del_x while loop
w_hz_del=w_hz;
save T_K_del w_hz_del fq check_kemdel T_1del T_2del T_3del T_4del T_5del K_star
maxf=25;
if flag==2
figure(50)
plot(delx,K_star(1,:),'g')
hold on
plot(Delta_x,check_kemdel(11,:),'.-')
legend('data','curve fit')
xlabel('delta x'); ylabel('K em');
figure(51)
plot(delx,K_star(5,:),'g')
hold on
plot(Delta_x,check_kemdel(91,:),'.-')
legend('data','curve fit')
xlabel('delta x'); ylabel('K em');
figure(52)
plot(delx,K_star(10,:),'g')
hold on
plot(Delta_x,check_kemdel(191,:),'.-')
legend('data','curve fit')
xlabel('delta x'); ylabel('K em');
figure(53)
plot(delx,K_star(15,:),'g')
hold on
plot(Delta_x,check_kemdel(291,:),'.-')
legend('data','curve fit')
xlabel('delta x'); ylabel('K em');
figure(54)
plot(delx,K_star(20,:),'g')
hold on
plot(Delta_x,check_kemdel(391,:),'.-')
legend('data','curve fit')
xlabel('delta x'); ylabel('K em');
figure(55)
plot(delx,K_star(24,:),'g')
hold on
151
plot(Delta_x,check_kemdel(451,:),'.-')
legend('data','curve fit')
xlabel('delta x'); ylabel('K em');
end
break;
if flag==1
%-------------------------------------------------------------------------%Create Mode Plot
%-------------------------------------------------------------------------figure(40); %5-20 Hz sweep
subplot(411)
plot(w_hz,FRF2(:,:,1))
legend('Standard')
axis([minf maxf -8 8])
subplot(412)
plot(w_hz,FRF2(:,:,2))
legend('Powertrain Stiffness 40% larger')
axis([minf maxf -8 8])
subplot(413)
plot(w_hz,FRF2(:,:,3))
legend('Powertrain Stiffness 80% larger')
axis([minf maxf -8 8])
subplot(414)
plot(w_hz,FRF2(:,:,4))
legend('Powertrain Stiffness 120% larger')
axis([minf maxf -8 8])
xlabel('Frequency [Hz]');
orient tall
end
break;
maxf=25;
figure(13)
orient tall
% body bounce modes FRF
subplot(211);
semilogy(w/2/pi,abs(squeeze(T_1([5],1,:))+squeeze(T_1([5],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_1([7],1,:))+squeeze(T_1([7],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_1([9],1,:))+squeeze(T_1([9],4,:))),'-')
title('Body Bounce')
ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
152
%Body roll modes FRF
subplot(212);
semilogy(w/2/pi,abs(squeeze(T_1([6],1,:))+squeeze(T_1([6],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T_1([8],1,:))+squeeze(T_1([8],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T_1([10],1,:))+squeeze(T_1([10],4,:))),'-');
title('Body Roll')
xlabel('Frequency [Hz]'); ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
legend('front','middle','rear')
figure(31)
semilogy(w_hz,abs(T_11),w_hz,abs(T_21),w_hz,abs(T_31),w_hz,abs(T_41),w_hz,abs(T
_51),w_hz,abs(T_61),w_hz,abs(T_71),...
w_hz,abs(T_81),w_hz,abs(T_91),w_hz,abs(T_101),w_hz,abs(T_111),w_hz,abs(T_121),
w_hz,abs(T_131))
xlabel('Frequency Hz')
ylabel('Transmisibility (Magnitude)')
grid
legend('unsprung LF','unsprung RF','unsprung LR','unsprung RR','F body bounce','F body
roll',...
'M body bounce','M body roll','R body bounce','R body roll','Power bounce','Power
Roll','Power Pitch')
153
A.10: leastsquare.m
% This scipt has the original GM supplied Hydraulic mount data
% I added columns for Delta x = 1.3 and 1.6 to give better curve fits
% Without the extra columns the curve fit overshoots severlly.
%Delta X: .1
.2
.3
.4
.5 1.0
1.3
1.6
2.0 %Hz
K_star=[440.116
444.509
443.321
440.220
436.755
427.049
427.049
427.049
418.697
%%2
445.422 447.708
448.266
447.049
440.988
424.694
424.694
424.694
414.555
%%3
448.397 450.507
450.406
456.769
445.294
420.938
420.938
420.938
408.530
%%4
449.961 452.786
452.283
471.344
452.264
416.419
416.419
416.419
402.784
%%5
451.393 453.674
454.032
491.740
465.900
413.954
413.954
413.954
400.101
%%6
454.640 454.804
455.526
520.196
487.738
419.099
419.099
419.099
404.249
%%7
456.383 456.352
456.622
556.494
523.957
436.190
436.190
436.190
421.262
%%8
455.558 457.295
456.904
486.215
575.621
469.624
469.624
469.624
458.039
%%9
457.940 458.703
458.368
481.442
642.997
522.679
522.679
522.679
519.411
%%10
458.263 458.518
458.549
479.241
719.574
591.583
591.583
591.583
602.590
%%11
459.447 459.564
459.371
478.549
803.881
680.935
680.935
680.935
702.908
%%12
459.482 459.691
459.429
478.371
878.764
787.640
787.640
787.640
806.720
%%13
461.156 460.859
459.760
478.633
918.260
919.427
919.427
919.427
900.297
%%14
460.956 460.493
461.172
478.700
890.100
1055.956
1055.956
1055.956
966.161
%%15
462.132 461.512
461.702
478.432
720.197
1179.989
1179.989
1179.989
1005.650%%16
462.063 461.199
461.612
478.896
641.296
1268.817
1268.817
1268.817
1025.837%%17
154
461.118 461.070
462.714
479.066
1317.181
1317.181
1033.068%%18
462.266 461.086
462.091
479.447
1327.927
1327.927
1035.956%%19
463.312 461.171
462.024
479.098
1318.257
1318.257
1035.948%%20
462.448 461.297
462.291
478.789
1300.906
1300.906
1026.605%%21
462.308 460.892
461.882
479.328
1278.558
1278.558
1026.041%%22
462.820 460.029
461.655
478.573
1256.411
1256.411
1020.519%%23
461.493 460.861
460.748
478.653
1234.042
1234.042
1015.666%%24
461.458 459.457
459.979
478.191
1209.987
1209.987
1012.032%%25
457.439 456.330
458.048
476.785
1128.816
1128.816
1000.674%%30
];
606.565
1317.181
587.422
1327.927
577.494
1318.257
566.911
1300.906
560.610
1278.558
556.879
1256.411
554.444
1234.042
552.084
1209.987
545.746
1128.816
155
A.11: SSR_15DOF.m
% Linear Chevy SSR 15 DOF model
% Timothy E. Freeman
% Doug Adams (Herrick Labs, Purdue University)
% * Inserted hydromount into 13DOF model each engine mount adds a degree of
freedom
% * Incorporated correct Hydro mount parameters into the Model
% -The previous Hydro mount parameters were only the best estimate
% took out all extra misc stuff
% Corrected proportional damping for hydromount model
% calibrated for mode shapes
% increase Damping by a factor of 10
% Used to generate FRFs to compare with SSR tests 033104
% Added new way to calibrate (Double while loop)040604
clc % clear matlab window
clear all % clear all variables
close all % close all figures
disp('Running....')
%---------------------------------------------------------% define frequency range of interest
minf=0;
maxf=40;
int=0.05;
w=2*pi*(minf:int:maxf)';
%---------------------------------------------------------values=[1];
values2=[1];
% values=[.05 .5 1 2 5 ] % use to increment torsional body stiffness
% values2=[.01 .05 .5 1 2 5 10] % use to increment bending body stiffness
maxnumber=length(values);
maxnumber2=length(values2);
inc=1;
inc2=1;
while inc2<=maxnumber2
while inc<=maxnumber; %**1**
% for values2=values2
% for values=values
156
157
%
%
%
%
%
57.69
2-30 Hz
%
Powertrain***************************************************************
% Geometry definitions (Look at vehicle diagram for desciption)
b1=1/1*244.5e-3; b2=245.5e-3; c=981.3e-3; d=268.04e-3; e=20.5e-3;
% Frame and body
Mf=1070.6; Ifx=327.230;
% Not sure about Ktb or Kbb (Bending and torsional stiffness between the body sections)
t_fact=values2(inc2)
b_fact=values(inc)
% For 13DOF Model Calibratio values (USE as starting point)
% For TOP DOWN b_fact=29;
% For TOP DOWN t_fact=237;
% For TOP UP b_fact=400;
% For TOP UP t_fact=475;
Ktb=t_fact*237*400e1;
Kbb=b_fact*29*450e3;
%mass & inertia proportions
alpha=2.0/6; beta=1.5/6; chi=2.5/6;
% Suspension (front/rear)
Mfs=74.2;
Kfs=40.3e3; Cfs=0.05;
Mrs=175/2;
Krs=28.5e3; Krss=1/1*830e3; Crs=0.005;
Kft=262e3; Krt=319e3;
a=454.7e-3; f=476.5e-3;
% Define mass, damping and stiffness matrices Originally there will be 17DOF.
% Although there are two constraints (one for each jhydraulic mount)
M_17=diag([Mfs Mfs Mrs Mrs alpha*Mf alpha*Ifx beta*Mf beta*Ifx chi*Mf chi*Ifx Mp
Ipx Ipy 0 0 mf1 mf2]);
158
% { z1
z2
z3
z4
z5
O5
z6
O6
z7
O7
z8
O8x
O8y
z9
z10
z11
z12 }
K_17=[ Kft+Kfs 0
0
0
-Kfs
a*Kfs
0
0
0
0
0
0
0
0
0
0
0
0
Kft+Kfs 0
0
-Kfs
-a*Kfs
0
0
0
0
0
0
0
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
0
-(Krss+Krs)
f*(Krss+Krs)
0
0
0
0
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
-(Krss+Krs)
-f*(Krss+Krs)
0
0
0
0
0
0
0
-Kfs -Kfs 0
0
Kfs+Kfs+Ks+Ks+Kbb+Kd1+Kd2
Kfs*(aa)+Ks*(b2-b1)+Kd1*b1+Kd2*b2
-Kbb
0
0
0
-Ks-Ks
Ks*(b1-b2)
Ks*(-d-d)
-Kd1
-Kd2
0
0
a*Kfs -a*Kfs 0
0
Kfs*(a-a)+Ks*(b2-b1)+Kd2*b2-Kd1*b1
0
Kfs*(a^2+a^2)+Ks*(b1^2+b2^2)+Ktb+Kd2*b2^2+Kd1*b1^2
0
-Ktb
0
Ks*(b1-b2)
-Ks*b1^2-Ks*b2^2
Ks*d*(b1-b2)
Kd1*b1
-Kd2*b2
0
0
0
0
0
0
-Kbb
0
0
Kbb+Kbb+Ks3 0
-Kbb
0
-Ks3
Ks3*(c-d)
0
0
0
0
0
0
0
0
0
-Ktb
0
0
0
Ktb+Ktb 0
-Ktb
0
0
0
0
0
0
0
-(Krss+Krs) -(Krss+Krs) 0
0
-Kbb
0
Kbb+2*(Krss+Krs)
-f*(Krss+Krs)+f*(Krss+Krs) 0
0
0
0
0
0
0
0
0
0
f*(Krss+Krs) -f*(Krss+Krs) 0
0
-Ktb
-f*(Krss+Krs)+f*(Krss+Krs) Ktb+2*f^2*(Krss+Krs)
0
0
0
0
0
0
0
0
0
0
0
-Ks-Ks
Ks*(b1-b2)
-Ks3
0
0
0
Ks+Ks+Ks3+Kv1+Kv2
Ks*(b2-b1)-Kv1*b1+Kv2*b2
Ks*(d+d)-(c-d)*Ks3+Kv1*d+Kv2*d
Kv1
-Kv2
0
0
0
0
0
0
Ks*(b1-b2)
-Ks*b1^2-Ks*b2^2
0
0
0
0
Ks*(b2-b1)+Kv2*b2-Kv1*b1
Ks*b1^2+Ks*b2^2+Kv2*b2^2+Kv1*b1^2
-Ks*b1*d+Ks*b2*d+Kv2*b2*dKv1*b1*d
Kv1*b1
-Kv2*b2
0
0
0
0
0
0
Ks*(-d-d)
Ks*d*(b1-b2)
Ks3*(c-d) 0
0
0
Ks*(d+d)-(c-
159
d)*Ks3+Kv1*d+Kv2*d
-Ks*b1*d+Ks*b2*d-Kv1*b1*d+Kv2*b2*d
Ks*d^2+Ks*d^2+Ks3*(c-d)^2+Kv1*d^2+Kv2*d^2
-Kv1*d
-Kv2*d
0
0
0
0
0
0
-Kd1
-Kd1*b1
0
0
0
0
-Kv1
Kv1*b1
-Kv1*d
Kv1+Kd1+K31
0
-K31 0
0
0
0
0
-Kd2
-Kd2*b2
0
0
0
0
-Kv2
-Kv2*b2
-Kv2*d
0
Kv2+Kd2+K32 0
-K32
0
0
0
0
0
0
0
0
0
0
0
0
0
-K31
0
K31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-K32
0
K32];
% stiffness without non proportial terms
% { z1
z2
z3
z4
z5
O5
z6
O6
z7
O7
z8
O8x
O8y
z9
z10
z11
z12 }
K_p=[ Kft+Kfs 0
0
0
-Kfs
a*Kfs
0
0
0
0
0
0
0
0
0
0
0
0
Kft+Kfs 0
0
-Kfs
-a*Kfs
0
0
0
0
0
0
0
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
f*(Krss+Krs)
0
0
0
0
-(Krss+Krs)
0
0
0
0
0
0
0
0
Krt+Krss+Krs 0
0
0
0
-(Krss+Krs)
-f*(Krss+Krs)
0
0
0
0
0
0
0
-Kfs -Kfs 0
0
Kfs+Kfs+Ks+Kbb
Kfs*(a-a)
-Kbb
0
0
0
0
0
0
0
0
0
0
a*Kfs -a*Kfs 0
0
Kfs*(a-a)
Kfs*(a^2+a^2)+Ktb
0
-Ktb
0
0
0
0
0
0
0
0
0
0
0
0
0
-Kbb
0
Kbb+Kbb+Ks3 0
-Kbb
0
-Ks3
0
Ks3*(c-d)
0
0
0
0
0
0
0
0
0
-Ktb
0
0
Ktb+Ktb 0
-Ktb
0
0
0
0
0
0
160
0
0
-(Krss+Krs) -(Krss+Krs) 0
0
-Kbb
0
Kbb+2*(Krss+Krs)
-f*(Krss+Krs)+f*(Krss+Krs) 0
0
0
0
0
0
0
0
0
f*(Krss+Krs) -f*(Krss+Krs) 0
0
0
-Ktb
-f*(Krss+Krs)+f*(Krss+Krs) Ktb+2*f^2*(Krss+Krs)
0
0
0
0
0
0
0
0
0
0
0
0
0
-Ks3
0
0
0
Ks3
0
-(c-d)*Ks3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Ks3*(c-d) 0
0
0
-(c-d)*Ks3
0
Ks3*(c-d)^2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
K31
0
-K31 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
K32
0
-K32
0
0
0
0
0
0
0
0
0
0
0
0
0
-K31
0
K31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-K32
0
K32];
% Non proportional terms (inside Hydromount)
% { z1
z2
z3
z4
z5
O5
z6
O6
z7
O7
z8
O8x
O8y
z9
z10
z11
z12 }
C_np=[
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Cs+Cs+Cd1+Cd2
Cs*(b2b1)+Cd1*b1+Cd2*b2
0
0
0
0
161
-Cs-Cs
-Cd1
Cs*(b1-b2)
Cs*(-d-d)
-Cd2
0
0
0
0
0
0
Cs*(b2-b1)+Cd2*b2-Cd1*b1
Cs*(b1^2+b2^2)+Cd2*b2^2+Cd1*b1^2
0
0
0
0
Cs*(b1-b2)
-Cs*b1^2-Cs*b2^2
Cs*d*(b1b2)
Cd1*b1
-Cd2*b2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-Cs-Cs
Cs*(b1-b2)
0
0
0
0
Cs+Cs+Cv1+Cv2
Cs*(b2-b1)-Cv1*b1+Cv2*b2
Cs*(d+d)+Cv1*d+Cv2*d
-Cv1
-Cv2
0
0
0
0
0
0
Cs*(b1-b2)
-Cs*b1^2-Cs*b2^2
0
0
0
0
Cs*(b2-b1)+Cv2*b2-Cv1*b1
Cs*b1^2+Cs*b2^2+Cv2*b2^2+Cv1*b1^2
-Cs*b1*d+Cs*b2*d+Cv2*b2*dCv1*b1*d
Cv1*b1
-Cv2*b2
0
0
0
0
0
0
Cs*(-d-d)
Cs*d*(b1-b2)
0
0
0
0
Cs*(d+d)+Cv1*d+Cv2*d
Cs*b1*d+Cs*b2*d-Cv1*b1*d+Cv2*b2*d
Cs*d^2+Cs*d^2+Cv1*d^2+Cv2*d^2
-Cv1*d
-Cv2*d
0
0
0
0
0
0
-Cd1
-Cd1*b1
0
0
0
0
-Cv1
Cv1*b1
-Cv1*d
Cv1+Cd1
0
0
0
0
0
0
0
-Cd2
-Cd2*b2
0
0
0
0
-Cv2
-Cv2*b2
-Cv2*d
0
Cv2+Cd2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0];
theta=.0002;
eta=.0002;
162
C_p=theta*M_17+eta*K_p; %Damping from proportional damping terms
C_17=C_p+C_np; % Add Proportional and nonproportional terms
CON=[eye(15)
% Two Constraints
0 0 0 0 r1+1 -(r1+1)*b1 0 0 0 0 0 0 0 -r1 0
0 0 0 0 r2+1 -(r2+1)*b2 0 0 0 0 0 0 0 0 -r2];
M=CON'*M_17*CON; % implement constriant NOW 15DOF
C=CON'*C_17*CON; % implement constriant NOW 15DOF
K=CON'*K_17*CON; % implement constriant NOW 15DOF
%---------------------------------------------------------------------------------------% Compute transmissibility functions
%---------------------------------------------------------------------------------------for ii = 1:max(size(w)), % increment frequency %**2**
T(:,:,ii)=inv(-M*w(ii)^2+j*w(ii)*C+K)*diag([j*w(ii)*(C(1,1)+C(1,5))+Kft;
j*w(ii)*(C(1,1)+C(1,5))+Kft; j*w(ii)*(C(3,3)+C(3,9))+Krt; j*w(ii)*(C(3,3)+C(3,9))+Krt;
0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0;]);
end % End frequency increment for loop %**2**
%-----------------------------------------------------------------------------------------% Pick off imaginary FRF values of the original system
%-----------------------------------------------------------------------------------------N=100;
t=linspace(0,5,N);
FRF=imag(squeeze(T(1:13,1,:))+squeeze(T(1:13,4,:))); % tramp input
FRF2(:,:,inc)=FRF;
w_hz=w/2/pi;
% %-----------------------------------------------------------------------------------------% %Create Mode Plot
% %-----------------------------------------------------------------------------------------% figure(inc); %5-20 Hz sweep
% %figure(1); %5-20 Hz sweep
% plot(w_hz,FRF)
% axis([minf maxf -8 8])
% xlabel('Frequency [Hz]');
% pause(2)
% %saveas(1,'Mode_plot')
% %----------------------------------------------------------------------------------------% % Record transmisibility Functions
% %----------------------------------------------------------------------------------------T_11(1,:)=T(1,1,:);
163
T_21(1,:)=T(2,1,:);
T_31(1,:)=T(3,1,:);
T_41(1,:)=T(4,1,:);
T_51(1,:)=T(5,1,:);
T_61(1,:)=T(6,1,:);
T_71(1,:)=T(7,1,:);
T_81(1,:)=T(8,1,:);
T_91(1,:)=T(9,1,:);
T_101(1,:)=T(10,1,:);
T_111(1,:)=T(11,1,:);
T_121(1,:)=T(12,1,:);
T_131(1,:)=T(13,1,:);
T_141(1,:)=T(14,1,:);
T_151(1,:)=T(15,1,:);
% figure(2)
%
semilogy(w_hz,abs(T_11),w_hz,abs(T_21),w_hz,abs(T_31),w_hz,abs(T_41),w_hz,abs(T
_51),w_hz,abs(T_61),w_hz,abs(T_71),...
%
w_hz,abs(T_81),w_hz,abs(T_91),w_hz,abs(T_101),w_hz,abs(T_111),w_hz,abs(T_121),
w_hz,abs(T_131),w_hz,abs(T_141),w_hz,abs(T_151))
% xlabel('Frequency Hz')
% ylabel('Transmisibility (Magnitude)')
% legend('unsprung LF','unsprung RF','unsprung LR','unsprung RR','F body bounce','F
body roll',...
% 'M body bounce','M body roll','R body bounce','R body roll','power bounce','Power
Roll','Power Pitch','L hyd fluid','R hyd fluid')
figure(2)
semilogy(w_hz,abs(T_11),w_hz,abs(T_21),w_hz,abs(T_51),w_hz,abs(T_61),w_hz,abs(T
_71),...
w_hz,abs(T_81),w_hz,abs(T_91),w_hz,abs(T_101),w_hz,abs(T_111))
xlabel('Frequency Hz')
ylabel('Transmisibility (Magnitude)')
legend('unsprung LF','unsprung RF','F body bounce','F body roll',...
'M body bounce','M body roll','R body bounce','R body roll','power bounce')
%saveas(2,'FRF_plot')
figure(10);
% body bounce modes FRF
164
subplot(211);
semilogy(w/2/pi,abs(squeeze(T([5],1,:))+squeeze(T([5],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T([7 ],1,:))+squeeze(T([7 ],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T([9 ],1,:))+squeeze(T([9 ],4,:))),'-');
ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
gtext('Body Bounce modes')
%Body roll modes FRF
subplot(212);
semilogy(w/2/pi,abs(squeeze(T([6],1,:))+squeeze(T([6],4,:))),':');
hold on
semilogy(w/2/pi,abs(squeeze(T([8 ],1,:))+squeeze(T([8 ],4,:))),'--');
semilogy(w/2/pi,abs(squeeze(T([10 ],1,:))+squeeze(T([10 ],4,:))),'-');
xlabel('Frequency [Hz]'); ylabel('Mag. T_{k1}+T_{k4} [mm/mm]');
axis([minf maxf 1e-3 .5e2]);
gtext('Body Roll modes')
165
% axis([minf maxf -8 8])
% subplot(513)
% plot(w_hz,FRF2(:,:,3))
% axis([minf maxf -8 8])
% subplot(514)
% plot(w_hz,FRF2(:,:,4))
% axis([minf maxf -8 8])
% subplot(515)
% plot(w_hz,FRF2(:,:,5))
% axis([minf maxf -8 8])
% orient tall
inc=1;
inc2=inc2+1;
end
disp('saving data......')
save FRF.mat w_hz T_11 T_21 T_31 T_41 T_51 T_61 T_71 T_81 T_91 T_101 T_111
T_121 T_131 T_141 T_151
disp('FRF data saved as: FRF.mat ')
disp('FRF plot saved as: FRF_plot ')
disp('Mode plot saved as: Mode_plot ')
disp('execute "animate" to animate modes')
166
A.12: DPEssrfinala.m
% Compute mass, damping and stiffness parameters for
% reduced-order lumped parameter model using forced response input
clear all;
% Define data acquisition parameters
BS=150000;
% Size of data block
Fs=500;
% Sample rate in Hz
dt=1/Fs;
% Temporal resolution in sec
ti=(0:dt:(BS-1)*dt)'; % Time vector
No=13;
% Number of responses to integrate
% Load, calibrate and integrate data
load e:4rlf35ex
xddot=A(:,1:13);
caldata;
integdata;
% Generate coordinates
generatecoord;
% Define known vehicle parameters
% Assume that powertrain mass and inertia are known
% and lumped at measurement degrees-of-freedom
% Powertrain
Mp=311; Ipx=17; Ipy=45;
% Suspension
Mfs=74.2;
Mrs=87.5;
% Frame/Body
Mf=1070.6; % Total frame mass
Ifx=327.230; % Total frame roll inertia
alpha=2.0/6; beta=1.5/6; chi=2.5/6; % Factors to distribute body inertia
M1=alpha*Mf;
167
I1=alpha*Ifx;
M2=beta*Mf;
I2=beta*Ifx;
M3=chi*Mf;
I3=chi*Ifx;
% Assign parameters to mass matrix
MP=diag([Mfs Mfs M1 I1 M2 I2 M3 I3 Mp Ipx Ipy]);
% Stiffness properties that could be assumed a priori
Kft=262e3; Cft=Kft*0*0.001;
Krt=319e3;
% Construct individual data matrices
begT=140000; endT=141000; skipT=1;
[m,n]=size((begT:skipT:endT)');
Dd=[xd1(begT:skipT:endT) xd2(begT:skipT:endT) xdbf(begT:skipT:endT)
r1d(begT:skipT:endT) xdbm(begT:skipT:endT) r2d(begT:skipT:endT)
xdbr(begT:skipT:endT) r3d(begT:skipT:endT) xdpcm(begT:skipT:endT)
r4d(begT:skipT:endT) r5d(begT:skipT:endT)];
D=[x1(begT:skipT:endT) x2(begT:skipT:endT) xbf(begT:skipT:endT)
r1(begT:skipT:endT) xbm(begT:skipT:endT) r2(begT:skipT:endT) xbr(begT:skipT:endT)
r3(begT:skipT:endT) xpcm(begT:skipT:endT) r4(begT:skipT:endT)
r5(begT:skipT:endT)];
% Construct mass matrix for use on right hand side of equation
% to create distributed forcing in model
Mdd=[xdd1(begT:skipT:endT) xdd2(begT:skipT:endT) xddbf(begT:skipT:endT)
r1dd(begT:skipT:endT) xddbm(begT:skipT:endT) r2dd(begT:skipT:endT)
xddbr(begT:skipT:endT) r3dd(begT:skipT:endT) xddpcm(begT:skipT:endT)
r4dd(begT:skipT:endT) r5dd(begT:skipT:endT)];
% Construct composite data matrices
novel=1; % Either use damping in the model, or compute it afterward using proportional
damping
if novel==1,
E=[D]';
B=[Kft*x(begT:skipT:endT,2)+Cft*xdot(begT:skipT:endT,2)-MP(1,1)*Mdd(:,1) Mdd(:,2:11)*MP(2:11,2:11)]'; % Left front tire excitation
else
E=[Dd D]';
B=[Kft*x(begT:skipT:endT,2)+Cft*xdot(begT:skipT:endT,2)-MP(1,1)*Mdd(:,1) Mdd(:,2:11)*MP(2:11,2:11)]'; % Left front tire excitation
end
168
169
A.13: caldata.m
% Calibrate data
disp('calibrating data...');
calfactors=inv(diag([919.24 1031.67 999.14 1042.98 1052.17 1014.70 953.18 1025.30
1045.10 997.02 951.06 991.36 1034.50 1002 960.25])/1000);
calfactors=calfactors(1:13,1:13);
xddot=xddot*calfactors;
% Convert units of data
xddot=xddot*9.81; % convert to m/s^2
170
A.14: integdata.m
% Integrate acceleration data
disp('integrating accelerations...');
for ii = 1:No,
[pv,sv]=polyfit(ti,xddot(:,ii),1);
xddot(:,ii)=xddot(:,ii)-(ti*pv(1)+pv(2));
end
xdot=dt*cumtrapz(xddot,1);
xdot=hpx(xdot,.005,ti);
for ii = 1:No,
[pv,sv]=polyfit(ti,xdot(:,ii),1);
xdot(:,ii)=xdot(:,ii)-(ti*pv(1)+pv(2));
end
x=dt*cumtrapz(xdot,1);
for ii = 1:No,
[pv,sv]=polyfit(ti,x(:,ii),1);
x(:,ii)=x(:,ii)-(ti*pv(1)+pv(2));
end
x=hpx(x,.005,ti);
171
A.15: hpx.m
function y=hpx(x,z,t)
%
% Timothy Freeman
% Purdue University
% April 2004
%
% This function filters the input signal x. The filter
% is high pass with a stop band frequency at z rad/sec.
%
% y = hpx(x,z,t);
%
% where, y = Filtered signal
%
x = Unfiltered signal
%
z = Cutoff (break) frequency for Butterworth filter
%
t = Time vector
% Extract temporal parameters
[m,n]=size(t);
w_stop=z;
% Set up filter parameters
[b,a]=cheby1(7,.001,w_stop,'high');
% Filter the input vector
y=filtfilt(b,a,x);
172
A.16: genetratecoord.m
% Convert measured data to analytical model
% coordinates: x1, x2, xbf, r1, xbm, r2, xbr, r3, xpcm, r4, r5
% Eleven degrees-of-freedom in all
% Generate displacement coordinates from model
x1=x(:,4); % Left front spindle
x2=x(:,3); % Right front spindle
x3=x(:,6); % Left front body
x4=x(:,5); % Right front body
x5=x(:,8); % Left middle body
x6=x(:,7); % Right middle body
x7=x(:,10); % Left rear body
x8=x(:,9); % Right rear body
x9=x(:,12); % Left powertrain
x10=x(:,11); % Right powertrain
x11=x(:,13); % Rear powertrain
% x12=x(:,15); % Left rear spindle
% x13=x(:,14); % Right rear spindle
xd1=xdot(:,4); % Left front spindle
xd2=xdot(:,3); % Right front spindle
xd3=xdot(:,6); % Left front body
xd4=xdot(:,5); % Right front body
xd5=xdot(:,8); % Left middle body
xd6=xdot(:,7); % Right middle body
xd7=xdot(:,10); % Left rear body
xd8=xdot(:,9); % Right rear body
xd9=xdot(:,12); % Left powertrain
xd10=xdot(:,11); % Right powertrain
xd11=xdot(:,13); % Rear powertrain
% xd12=xdot(:,15); % Left rear spindle
% xd13=xdot(:,14); % Right rear spindle
xdd1=xddot(:,4); % Left front spindle
xdd2=xddot(:,3); % Right front spindle
xdd3=xddot(:,6); % Left front body
xdd4=xddot(:,5); % Right front body
173
xdd5=xddot(:,8); % Left middle body
xdd6=xddot(:,7); % Right middle body
xdd7=xddot(:,10); % Left rear body
xdd8=xddot(:,9); % Right rear body
xdd9=xddot(:,12); % Left powertrain
xdd10=xddot(:,11); % Right powertrain
xdd11=xddot(:,13); % Rear powertrain
% xdd12=xddot(:,15); % Left rear spindle
% xdd13=xddot(:,14); % Right rear spindle
% Contrusct translational degrees-of-freedom
xbf=(x3+x4)/2; % body front
xbm=(x5+x6)/2; % body middle
xbr=(x7+x8)/2; % body rear
xpcm=(x9+x10)/2; % powertrain cm
xdbf=(xd3+xd4)/2; % body front
xdbm=(xd5+xd6)/2; % body middle
xdbr=(xd7+xd8)/2; % body rear
xdpcm=(xd9+xd10)/2; % powertrain cm
xddbf=(xdd3+xdd4)/2; % body front
xddbm=(xdd5+xdd6)/2; % body middle
xddbr=(xdd7+xdd8)/2; % body rear
xddpcm=(xdd9+xdd10)/2; % powertrain cm
% Construct rotational degrees-of-freedom
r1=(x4-x3)/(36*(2.54e-2)/1); % in rad, body front
r2=(x6-x5)/(42*(2.54e-2)/1); % in rad, body middle
r3=(x8-x7)/(39*(2.54e-2)/1 ); % in rad, body rear
r4=(x10-x9)/(12*(2.54e-2)/1); % in rad, powertrain roll
r5=(x11-(x10-x9)/2)/(37.5*(2.54e-2)/1); % in rad, powertrain pitch
r1d=(xd4-xd3)/(36*(2.54e-2)/1); % in rad, body front
r2d=(xd6-xd5)/(42*(2.54e-2)/1); % in rad, body middle
r3d=(xd8-xd7)/(39*(2.54e-2)/1); % in rad, body rear
r4d=(xd10-xd9)/(12*(2.54e-2)/1); % in rad, powertrain roll
r5d=(xd11-(xd10-xd9)/2)/(37.5*(2.54e-2)/1); % in rad, powertrain pitch
r1dd=(xdd4-xdd3)/(36*(2.54e-2)/1); % in rad, body front
r2dd=(xdd6-xdd5)/(42*(2.54e-2)/1); % in rad, body middle
r3dd=(xdd8-xdd7)/(39*(2.54e-2)/1); % in rad, body rear
r4dd=(xdd10-xdd9)/(12*(2.54e-2)/1); % in rad, powertrain roll
r5dd=(xdd11-(xdd10-xdd9)/2)/(37.5*(2.54e-2)/1); % in rad, powertrain pitch
174
A.17: sweeptf.m
% Compute FRF for sweep input one block at a time
% Load, calibrate and integrate data
load e:4slf15ex
xddot=A(:,1:13);
ti=(0:dt:(3e5-1)*dt)'; % Time vector
caldata;
integdata;
generatecoord;
% Define data acquisition parameters
BS=1024;
% Size of data block
t=(0:dt:(BS-1)*dt)'; % Time vector
N=max(size(A));
% Length of time histories
Nb=round(N/BS);
% Number of blocks for transmissibility calculations
deltaf=1/t(BS);
% Frequency resolution for swept transmissibility calculations
% Generate flat top window
ftv=linspace(-0.5,0.5,BS)'; % Generate frequency counter for window generation
tmp2=0.9994484+2*(0.955728*cos(2*pi*1*ftv)+0.539289*cos(2*pi*2*ftv)+0.091581*c
os(2*pi*3*ftv));
% Compute transmissibility functions for all data blocks in time series
for ii = 1:Nb-1,
TF12(ii)=max(fft(x1(1+(ii-1)*BS:ii*BS).*tmp2))./max(fft(x(1+(ii1)*BS:ii*BS,2).*tmp2));
TF22(ii)=max(fft(x2(1+(ii-1)*BS:ii*BS).*tmp2))./max(fft(x(1+(ii1)*BS:ii*BS,2).*tmp2));
TF32(ii)=max(fft(xbf(1+(ii-1)*BS:ii*BS).*tmp2))./max(fft(x(1+(ii1)*BS:ii*BS,2).*tmp2));
TF42(ii)=max(fft(xbm(1+(ii-1)*BS:ii*BS).*tmp2))./max(fft(x(1+(ii1)*BS:ii*BS,2).*tmp2));
TF52(ii)=max(fft(xbr(1+(ii-1)*BS:ii*BS).*tmp2))./max(fft(x(1+(ii1)*BS:ii*BS,2).*tmp2));
TF62(ii)=max(fft(xpcm(1+(ii-1)*BS:ii*BS).*tmp2))./max(fft(x(1+(ii1)*BS:ii*BS,2).*tmp2));
end
% Plot results
Endfreq=15;
175
fp=linspace(0,Endfreq,Nb-1); % generate frequency vector, Endfreq should match file
used
figure(2);
semilogy(fp,abs([TF12' TF22' TF32' TF42' TF52' TF62']));
xlabel('Frequency [Hz]');
ylabel('Magnitude Transmissibility');
axis([0 15 1e-3 1e1]);