Skip to main content
emobility.academy
B.Tech / BEVehicle dynamicsBeginner About 4 weeksMATLAB & Simulink

Quarter-Car Suspension Model and Ride Comfort on Indian Roads

Build a two-degree-of-freedom quarter-car suspension model in Simulink and evaluate ride comfort and road holding on ISO 8608 road profiles representative of Indian roads, including speed breakers. Tune spring and damper for an EV that carries extra battery mass.

Tools: Simulink

Quarter-Car Suspension Model and Ride Comfort on Indian Roads: Electric scooter in the DIYguru EV lab during a training session
Representative photo from DIYguru's EV lab, not of this specific project.

The problem

EVs carry heavy battery packs that change sprung mass and often stiffen suspension requirements, while Indian roads combine rough surfaces, potholes and frequent speed breakers. A quarter-car model is the simplest way to see how spring and damper choices trade comfort against tyre grip and suspension travel, and to choose sensible values early in design.

Objectives

  • Build a quarter-car model with sprung and unsprung masses, spring, damper and tyre stiffness.
  • Generate random road profiles to ISO 8608 classes and a speed-breaker profile.
  • Compute comfort, road-holding and suspension-travel metrics.
  • Tune spring stiffness and damping for an EV with added sprung mass.
  • Compare frequency and time-domain results and explain the trade-offs.

What you need

Tools and toolboxes

  • Simulink — Quarter-car model, road input and logging.
  • MATLAB — Road-profile generation, transfer functions, ISO 2631 weighting, metric calculation and parameter sweeps.
  • Signal Processing Toolbox — Optional: filter design and power spectral density estimation for the comfort weighting; basic filter and fft functions also work.

Software

  • MATLAB R2023b or later
  • Simulink

Extra parts and data

None beyond the software above.

Key concepts

Quarter-car model
One corner of the vehicle with sprung mass (body share), unsprung mass (wheel, hub, brake), suspension spring and damper, and tyre stiffness to the road.
ISO 8608 road classes
Roads are classified by the power spectral density of their height profile, from class A (very good) to H (very poor). Random profiles can be generated from these spectra.
Frequency-weighted acceleration
ISO 2631 weights vertical body acceleration by how sensitive people are at each frequency, most sensitive around 4–8 Hz, and the RMS of the weighted signal is used as a comfort measure.
Dynamic tyre load
Fluctuation of tyre contact force around its static value. Larger fluctuation means poorer road holding, because grip drops when load is low.

Step-by-step guide

  1. 1

    Define parameters

    Choose example values for a compact EV corner: sprung mass 300 kg (including the battery share), unsprung mass 40 kg, spring 20 kN/m, damper 1.5 kN·s/m and tyre stiffness 180 kN/m. Define a lighter non-EV baseline with less sprung mass. Compute body and wheel-hop natural frequencies, roughly sqrt(k/m)/(2π), and the damping ratio, and check they are in usual ranges (body near 1–1.5 Hz, wheel hop near 10–15 Hz).

    Checkpoint: A parameter script with calculated natural frequencies and damping ratio in expected ranges.

  2. 2

    Build the model

    Write the equations ms·z̈s = −ks·(zs − zu) − cs·(żs − żu) and mu·z̈u = ks·(zs − zu) + cs·(żs − żu) − kt·(zu − zr). Implement them in Simulink with Integrator and Gain blocks, with road height zr as input. Output body acceleration, suspension travel and dynamic tyre force. Use a variable-step solver or a fixed step of 1 ms.

    Checkpoint: Static test with zero road input gives no motion, and a small road step gives a decaying oscillation at the body frequency.

  3. 3

    Verify in the frequency domain

    Derive the transfer functions from road height to body acceleration, suspension travel and tyre force, and plot them with bode or freqs. Run the Simulink model with sine road inputs at several frequencies and compare amplitude ratios with the transfer-function values. The two peaks should appear near the body and wheel-hop frequencies. Compute the transfer functions with tf from Control System Toolbox, or by hand with polyval in base MATLAB.

    Checkpoint: Simulated sine responses match transfer-function gains within a few per cent at each test frequency.

  4. 4

    Generate road profiles

    Generate random road profiles for ISO 8608 classes A to D, and E to represent poor roads, using a sum of sinusoids with random phases fitted to the class PSD. Convert to time with vehicle speed. Add a speed-breaker profile, for example a bump of about 10 cm height and 3–4 m length as an example shape, crossed at 20 km/h.

    Checkpoint: Computed PSD of each generated profile matches its target class spectrum.

  5. 5

    Compute the metrics

    Run each road class at several speeds and compute frequency-weighted RMS body acceleration with an ISO 2631 Wk-style weighting filter, RMS suspension travel and RMS dynamic tyre load divided by static load. For the speed breaker, record peak acceleration, peak travel and whether the tyre loses contact. Use speeds such as 20, 40 and 60 km/h for random roads. Report the tyre-load metric as RMS dynamic load divided by static load, where values approaching one indicate risk of the tyre leaving the road.

    Checkpoint: A metrics table per road class and speed, with metrics increasing for rougher classes.

  6. 6

    Compare EV and baseline

    Run the same cases for the EV and baseline parameter sets. Explain the effect of extra sprung mass: lower body frequency can improve comfort but increases static deflection and travel needs, while unsprung mass mostly affects road holding. Plot comfort against road holding for both. Keep spring and damper settings the same for both vehicles in this step so the effect of mass alone is isolated, then retune in the next step. Use the same road profiles for both.

    Checkpoint: A comparison chart of comfort, travel and tyre load for the two vehicles.

  7. 7

    Tune spring and damper

    Sweep spring stiffness and damping over a grid, running sim() for a representative road class and the speed breaker. Plot the comfort and road-holding metrics as a carpet plot, with a constraint on maximum suspension travel. Choose a design and justify it as a compromise rather than an optimum of one metric. Repeat the tuning on a second road class to check the choice is not specific to one road.

    Checkpoint: A carpet plot with the travel constraint marked and the chosen design highlighted.

  8. 8

    Report

    Present the model, verification, road generation, metrics, EV comparison and tuning. State the limitations: one corner only, linear components, no pitch or roll and no bump stops. Suggest a half-car model and non-linear dampers as extensions. Include frequency-domain verification, the road-profile PSD check and the tuning carpet plot. Explain the chosen design as a trade-off, and keep the parameter and run scripts with the report so another student can reproduce the work and change the vehicle.

    Checkpoint: A report with a justified spring and damper choice and verification evidence.

Testing & validation

  • Natural frequencies from parameters match simulation.
  • Sine responses match transfer-function gains.
  • Generated road PSDs match ISO 8608 class targets.
  • Comfort, travel and tyre-load metrics across classes, speeds and vehicles.

Expected results

A verified quarter-car model with ISO 8608 road inputs that quantifies comfort and road holding for an EV and a baseline, and a justified spring and damper selection under a travel constraint.

Take it further

  • Extend to a half-car model with pitch for speed-breaker crossings.
  • Add a non-linear damper with different bump and rebound rates and bump stops.
  • Design a skyhook semi-active damper controller.
  • Study in-wheel motor unsprung mass with the same tools.

Viva and review questions

Why are there two resonance peaks?

The body bounces on the suspension spring at a low frequency and the wheel bounces between suspension and tyre stiffness at a higher frequency.

Why is more damping not always better?

More damping reduces the body resonance peak but transmits more high-frequency road input to the body, hurting comfort between the peaks.

What does dynamic tyre load tell you?

How much contact force varies; large variations mean moments of low load and therefore less grip for braking and cornering.

Learn it at DIYguru

These DIYguru courses and programmes teach what this project needs.

Related EV projects

All 100 MATLAB & Simulink EV projects