Vibration Fatigue

Fatigue Damage-Based PSD Synthesis from an FDS (Theory + Case Study)

A practical, engineering-grade workflow to convert measured vibration time histories into a laboratory-ready PSD—anchored on fatigue damage equivalence across an SDOF bank, validated by Rainflow and Dirlik.

December 24, 2025
18–22 min read
Figure 1
Figure 1
Overview figure of the full pipeline from measured acceleration → FDS → PSD synthesis (Rainflow loop and Dirlik route) → validation → stepped envelope for test definition.

Why “RMS matching” is not a fatigue equivalence criterion

In vibration durability, the goal is rarely to reproduce a waveform. The goal is to reproduce fatigue damage in a controlled and accelerated environment. That difference matters.

Two vibration environments can share similar global metrics (RMS acceleration, crest factor, peak values) and still induce very different fatigue lives. Fatigue is driven by stress ranges and cycle distributions, and those depend strongly on where spectral energy concentrates relative to the system’s dynamics.

This post documents a complete methodology to synthesize an equivalent PSD that reproduces the same Fatigue Damage Spectrum (FDS) of a measured time signal, and to validate equivalence via both time-domain (Rainflow) and frequency-domain (Dirlik) estimators.

What you will learn

  • How the FDS is constructed using an SDOF oscillator bank excited by measured base acceleration.
  • The exact dynamic model used to map base acceleration PSD → relative displacement PSD → equivalent stress PSD.
  • How Rainflow + Miner and Dirlik lead to two practical routes for PSD↔FDS matching.
  • The analytical inversion that produces a baseline equivalent PSD from a target FDS.
  • How exposure duration enters the equivalence problem (and why it can’t be “fixed later”).
  • How to simplify a synthesized PSD into a stepped envelope for real shaker execution.

1) Fatigue Damage Spectrum (FDS): the engineering meaning

The Fatigue Damage Spectrum is built by evaluating a family of linear single-degree-of-freedom (SDOF) oscillators, each characterized by a natural frequency fₙ and damping ζ (often represented as Q). The measured acceleration signal is applied as a base excitation.

For each oscillator, you compute the response, convert it to an equivalent stress history, and evaluate fatigue damage via Rainflow counting and Miner’s rule using a chosen S–N curve.

Key Insight

The FDS is a damage localization tool: it tells you which frequency bands are most damaging under the measured environment, given an assumed response model and fatigue law. It is not a “severity spectrum” in the RMS sense.

Damage model used in the case study

The case study uses a Basquin-type S–N model and Miner accumulation. The fatigue curve is defined by a reference point and exponent:

S1 = 86 MPa
N1 = 1e6 cycles
k  = 3

Damage:
D = Σ_{i=1..Nc} (Si / S1)^k * (1 / N1)

Here, Sᵢ are the rainflow stress ranges (or equivalent ranges from the oscillator response) and the exponent kcontrols how sharply damage increases with amplitude.

Figure 2
Figure 2
Schematic used in the paper: time-domain acceleration excites SDOF bank → response → rainflow cycles → Miner damage → FDS. This is the reference workflow for the FDS construction.

2) The dynamic model used in PSD↔FDS synthesis (base PSD → stress PSD)

The complementary technical note (“Detalhes Modelo Dinâmico FDS”) formalizes the exact model that maps a base acceleration PSD to an equivalent stress PSD used by Dirlik. The model is a linear, time-invariant, base-excited SDOF written in terms of relative displacement: z(t) = x(t) − y(t), where y(t) is the base motion.

Equation of motion (base excitation)

m z̈(t) + c ż(t) + k z(t) = −m ÿ(t)

ωn = √(k/m)
ζ  = c / (2 m ωn)

Transfer function: base acceleration → relative displacement

In the frequency domain, the transfer function (as written in the note) is:

H_acc→disp(ω) = Z(ω) / Ÿ(ω) = −1 / (ωn² − ω² + j 2 ζ ωn ω)

|H_acc→disp(ω)|² = 1 / [ (ωn² − ω²)² + (2 ζ ωn ω)² ]

Introducing the non-dimensional ratio r = ω/ωₙ, the note rewrites the squared magnitude into an implementation-friendly form:

|H_acc→disp(ω)|² = 1 / { ωn^4 [ (1 − r²)² + (2 ζ r)² ] }

PSD mapping and stress proportionality

Under linear system and stationary process assumptions:

Sz(ω; ωn) = |H_acc→disp(ω)|² · Sa(ω)

σ(t) = K · z(t)  ⇒  Sσ(ω; ωn) = K² · Sz(ω; ωn)

Common Pitfall

Unit consistency is where most “it only matches after scaling” problems come from. Typical failure modes: (1) mixing Hz and rad/s inside spectral moments, (2) accidental use of g vs m/s², (3) applying K in the wrong domain (time vs PSD), or (4) losing the 2π factors in moments.

3) Symbols, parameters, and what is actually being computed

Before discussing synthesis, it is worth being explicit about the objects involved: the environment PSD is not compared directly to the FDS. The comparison is made after passing the environment through the oscillator bank and fatigue estimator.

SymbolMeaningNotes
f, ωFrequency (Hz) and angular frequency (rad/s)Be explicit: ω = 2πf
fₙ, ωₙSDOF natural frequencyIndex of the oscillator bank used to build the FDS
ζ, QDamping ratio (ζ) and quality factor (Q)Common relationship used: Q = 1/(2ζ)
Sa(f)Base acceleration PSDInput environment (measured or specified)
Sz(f; fₙ)Relative displacement PSD for oscillator fₙObtained via transfer function: S_out = |H|²·S_in
Sσ(f; fₙ)Equivalent stress PSD for oscillator fₙUses linear mapping σ(t)=K·z(t) ⇒ Sσ=K²·Sz
m0, m1, m2, m4Spectral moments of SσDirlik uses moments to estimate rainflow range distribution
TExposure durationDamage scales with T and PSD magnitude (nonlinearly)

4) Case study: measured acceleration → reference FDS

The paper’s case study starts from a real measured acceleration time history (vertical direction). This signal is the reference environment from which the target FDS is computed.

Figure 3
Figure 3
Measured acceleration time history used as reference input for the FDS computation.

Reference FDS computed from the time signal

The reference FDS is obtained by applying the SDOF bank (with damping ratio used in the case study) and then computing fatigue damage via Rainflow counting and Miner’s rule using the Basquin parameters stated (S1=86 MPa, N1=1e6, k=3).

Figure 4
Figure 4
Reference FDS computed from the measured time signal using SDOF responses + Rainflow + Miner (case-study parameters in the paper).

5) Equivalent PSD synthesis: two practical routes

Once the target FDS is defined, the project describes two complementary routes: (i) an iterative time-domain optimization loop based on synthesized random signals and Rainflow damage, and (ii) a frequency-domain loop using Dirlik (damage directly from PSD), which is substantially faster for iteration.

5.1) Time-domain iterative loop (Rainflow-based)

The time-domain approach begins with an initial PSD guess and iteratively updates it based on the ratio between the target and simulated damage spectra. The update rule in the paper is:

G_next(f) = G_current(f) · ( D_target(f) / D_sim(f) )^(2/b)

The generated PSD is converted into a time signal using IFFT with random phases, then reprocessed through the SDOF bank, followed by Rainflow and Miner to produce D_sim(f). Iteration continues until the relative error falls below the stated tolerance (e.g., 5%).

5.2) Frequency-domain route (Dirlik-based)

The Dirlik route bypasses signal synthesis and rainflow counting by estimating the distribution of stress ranges from spectral moments of the stress PSD. The paper states the moments computation and the Dirlik range PDF formulation.

m_i = ∫₀^∞ f^i · Gσ(f) df

for i ∈ {0, 1, 2, 4}   (moments used by Dirlik)

Note: when writing this in JSX, always print the set as a string to avoid TypeScript interpreting {0,1,2,4} as a comma operator.

6) Results: synthesized PSDs and FDS equivalence checks

The case study compares the PSD synthesized by the time-domain Rainflow loop against the PSD synthesized by the Dirlik route. It also compares the resulting FDS curves against the original reference FDS.

Figure 5
Figure 5
Comparison between synthesized PSDs (Dirlik vs. time-domain Rainflow-based approach). The intent is to converge to a spectrum that reproduces the same damage distribution.
Figure 6
Figure 6
FDS comparison: original reference FDS vs. FDS obtained from the synthesized PSDs (Dirlik-based and Rainflow-based), verifying damage equivalence under the stated assumptions.

7) Stepped envelope for test execution

The synthesized PSD is then simplified into an envelope defined by a limited number of breakpoints. This is a pragmatic step: shaker controllers typically execute stepped profiles, and test specifications must be portable, repeatable, and auditable.

Figure 7
Figure 7
Final PSD with stepped envelope approximation used to define a laboratory-ready profile while preserving the FDS equivalence criterion.

8) Exposure duration: what equivalence means (and when it breaks)

The paper explicitly highlights that fatigue equivalence depends on the exposure duration. Under stationary assumptions, damage scales with duration and PSD magnitude nonlinearly:

D ∝ T_test · G^(b/2)

This is one of the key engineering levers for acceleration: you can shorten test time only by increasing PSD levels appropriately, and the required increase depends on the fatigue exponent b.

9) Assumptions and limitations (explicit, not hidden)

  • Linear SDOF response (mass–spring–damper), small deformations, viscous damping.
  • Base excitation modeled as acceleration input; response of interest proportional to relative displacement (σ = K·z).
  • Fatigue computed via uniaxial S–N (Basquin) and Miner linear damage accumulation.
  • Dirlik route assumes stationary Gaussian excitation; real signals may include transients, harmonics, or nonstationarity.
  • SDOF approximation does not capture nonlinearities (contact, friction, plasticity) unless explicitly modeled elsewhere.
  • Accuracy is conditional on unit consistency (g vs m/s²), correct ω=2πf handling, and correct K factor definition.

10) Workflow (step-by-step, as in the projects)

  1. Acquire a representative acceleration time signal (field measurement) in the critical direction.
  2. Define the SDOF bank: frequency grid fₙ and damping (ζ or Q).
  3. Compute SDOF responses, convert response to stress using σ(t)=K·z(t), and compute damage to generate the reference FDS.
  4. Define the target exposure duration (field or accelerated test) consistently with the equivalence objective.
  5. Synthesize an initial PSD candidate (analytical inversion baseline or heuristic initial spectrum).
  6. Refine/validate using either:
    • Time-domain Rainflow loop (IFFT random phase → SDOF bank → Rainflow → FDS → PSD update), or
    • Dirlik loop (PSD → stress PSD → moments → Dirlik damage → FDS).
  7. Compare the synthesized FDS against the target FDS (match or envelope criterion).
  8. Simplify the PSD into a stepped envelope for test execution and re-check equivalence.

11) Practical takeaways (what you can apply tomorrow)

  • Always define equivalence in terms of damage and duration—not just spectral amplitude.
  • Make the response model explicit: base excitation → relative response → stress (σ=K·z).
  • Document damping (ζ or Q); it directly controls response amplification and damage localization.
  • Prefer Dirlik for iterative PSD optimization loops; use time-domain validation selectively for critical cases.
  • When simplifying PSDs into stepped envelopes, validate equivalence on the FDS—not on RMS.
  • Treat unit consistency as a first-class design requirement (especially g vs m/s² and 2π factors).
  • State what the method does not cover (nonlinearities, multiaxiality, nonstationarity) to avoid overclaiming.

A subtle practical note

This PSD↔FDS workflow fits naturally inside a robust signal-processing pipeline (batch handling, PSD/FFT, filters, Rainflow damage, reporting). We’ve been consolidating these capabilities in SigProc as part of the vibration fatigue toolkit—without changing the underlying engineering assumptions described above.

If you’re building an accelerated vibration test spec and want a second technical review of your equivalence assumptions (duration, damping, S–N parameters, and response mapping), you can reach out.