HuntsvilleEngineers mark
HE Reference Shelf — huntsvilleengineers.com
The Reference Shelf · Applied Engineering Math

Power spectral density and stationary random processes

A PSD tells you how a random signal's mean-square power is spread across frequency — the g²/Hz curve on a vibration spec is literally how much squared acceleration lives in each one-hertz slice.

Also known as: Power spectral density · PSD · spectral density · g^2/Hz · Stationary random processes and spectral statistics · random vibration statistics · Gaussian random process · level crossings

The formula

The definition, for a stationary random process x(t):

S_xx(f) = lim T→∞  E[ |X_T(f)|² ] / T

Reading: Fourier-transform a T-second record, square the magnitude, divide by the record length, and average over the ensemble. The division by T is what makes it power per hertz instead of energy — random signals never die out, so their energy is infinite but their power is finite.

The Wiener–Khinchin theorem, which is why the PSD exists at all for random signals:

S_xx(f) = ∫ R_xx(τ) · e^(−i·2π·f·τ) dτ

Reading: the PSD is the Fourier transform of the autocorrelation function. Autocorrelation and power spectrum are one piece of information in two coordinate systems [3].

The identity every vibration engineer uses weekly — the area under a one-sided PSD G(f) is the mean-square value:

x_RMS² = ∫₀^∞ G(f) df        →   Grms = √(area under the g²/Hz curve)

Reading: integrate the spec curve over its band and take the square root; that is the overall level printed at the bottom of the profile.

Rice's level-crossing formula for a stationary Gaussian process with RMS σ:

ν_a⁺ = ν₀⁺ · exp(−a² / (2σ²)),    ν₀⁺ = √( m₂ / m₀ ),    m_k = ∫ f^k · G(f) df

Reading: the rate of upward crossings of level a falls off as a Gaussian in the level, and the zero-crossing rate ν₀⁺ comes straight from the spectral moments — the PSD alone predicts how often the signal visits any amplitude [8][9].

Miles' equation, the one-line response estimate for a lightly damped single-degree-of-freedom system on a random base input:

σ_response ≈ √( (π/2) · f_n · Q · W(f_n) )

Reading: the RMS response of a resonator riding on random vibration depends only on its natural frequency, its Q, and the input PSD value at that one frequency — the resonance samples the input spectrum locally [10][11].

Where you meet it

  • A test readiness review with a MIL-STD-810 Method 514 profile on the screen. The random vibration table is a set of frequency breakpoints in g²/Hz connected by dB/octave slopes, plus an overall Grms [18]. The classic example is the old Navy screening spec NAVMAT P-9492: 0.01 g²/Hz at 20 Hz, rising 3 dB/octave to 0.04 g²/Hz at 80 Hz, flat to 350 Hz, falling 3 dB/octave to 0.007 g²/Hz at 2000 Hz — 6.06 Grms overall, and yes, that number checks out when you integrate the segments [16][17].
  • The shaker control rack on the test floor. The controller estimates the PSD at the control accelerometer in near-real time, compares it against the reference with alarm and abort bands in dB, and adjusts the drive. When the test conductor calls "in spec, full level," they mean the measured PSD sits inside the tolerance envelope.
  • An RF bench. Thermal noise at −174 dBm/Hz, phase noise in dBc/Hz, ADC noise floors — all spectral densities. The math is identical to the vibration case; only the units change from g²/Hz to watts or radians-squared per hertz.
  • A structures design review. Somebody points Miles' equation at an avionics box: natural frequency 100 Hz, Q of 10, input 0.04 g²/Hz at resonance gives √(1.571·100·10·0.04) ≈ 7.9 Grms at the response — the number that drives the fatigue margin and the fastener count.

How it works

The load-bearing assumption is stationarity: the statistics of the process don't change over the record. Wide-sense stationarity — constant mean, autocorrelation depending only on lag — is what makes R(τ) and therefore the PSD well defined [2][3]. The working assumption on top of that is ergodicity: one long record from your accelerometer stands in for the ensemble average you can't have. Both fail on real hardware more often than people admit — engine run-up, thermal drift, a stage event mid-record. The fix is to segment the data into locally stationary blocks and process those, not to feed twenty minutes of changing conditions into one average and call the result a spectrum.

Estimation is its own discipline. The raw periodogram — FFT the record, square it — does not converge: its standard deviation equals its mean no matter how long the record gets. The cure is averaging, and the standard recipe is Welch's method: chop the record into overlapping segments, window each, average the squared spectra [14][15]. The trade is fundamental — segment length sets frequency resolution (Δf = 1/T_segment), segment count sets statistical confidence (normalized random error ≈ 1/√n_averages). You cannot have fine resolution and low variance from a short record; every spectrum analyzer setting menu is a negotiation with that fact.

The bookkeeping traps, which cause more bad numbers than the theory does:

  • One-sided versus two-sided. Vibration specs are one-sided (G(f), positive frequencies only); the mathematical definition is two-sided and half the height. Mixing conventions puts you off by a factor of 2 — 3 dB, which is exactly the size of a typical test tolerance.
  • Window power correction. A Hann window throws away signal power; PSD estimation must divide by the window's equivalent noise bandwidth, not the amplitude correction used for sine tones. Use the wrong one and every broadband level reads about 1.8 dB off.
  • Tones don't belong in a PSD. A sine wave's power is finite and concentrated, so its apparent PSD height is A²/2 divided by your resolution bandwidth — change Δf and the peak height changes while the broadband floor stays put. If a "peak" in your spectrum grows when you narrow the bins, it's a tone; report its power in g², not g²/Hz.
  • Grms is not a peak. A Gaussian random signal spends about 0.27% of the time beyond ±3σ — which sounds small until you notice that at a 1000-Hz-bandwidth test it means several 3σ excursions every second, and 4σ–5σ peaks over a one-hour run are a statistical certainty, not bad luck. Rice's formula makes this quantitative: with ν₀⁺ = 100 Hz, 3σ upcrossings arrive at 100·e^(−4.5) ≈ 1.1 per second [8][9]. Shaker controllers that clip the drive at 3σ are quietly changing the fatigue content of the test.
  • The Gaussian assumption itself. The spectral math holds for any stationary process, but the crossing statistics, peak distributions, and fatigue estimates assume Gaussian amplitudes. Gunfire, wheeled-vehicle, and pyro-adjacent environments run heavy-tailed (high kurtosis); a Gaussian shaker test at matched PSD under-tests the tails. That is why kurtosis control exists on modern controllers.

History

The periodogram came first, and it came from geophysics. In 1898 Arthur Schuster, hunting for hidden periodicities in meteorological and magnetic records, published the method of squaring Fourier coefficients to score candidate periods — the raw spectral estimate every FFT analyzer still computes before averaging [6][7]. What Schuster lacked was a theory saying what the periodogram of a random signal meant. Norbert Wiener supplied it in his 1930 Generalized Harmonic Analysis, tying a signal's spectrum to its autocorrelation, and Aleksandr Khinchin gave the clean stationary-process form in 1934 — the Wiener–Khinchin theorem [3][4][5].

The statistics of random signals became an engineering toolkit during the war. Stephen O. Rice at Bell Labs published Mathematical Analysis of Random Noise in two parts, 1944 and 1945, deriving the zero-crossing rates, level-crossing rates, and peak distributions of Gaussian noise directly from spectral moments [8][9] — the same formulas structural dynamicists now use to count fatigue cycles. In 1954 John W. Miles, working on jet-buffet fatigue of aircraft panels, reduced the response of a single-degree-of-freedom structure under random loading to the one-line estimate that carries his name [10][11].

Measurement practice caught up in two steps. Blackman and Tukey's 1958 The Measurement of Power Spectra gave engineers the first rigorous recipe — estimate the autocorrelation, window it, transform it [12][13]. Then the FFT landed in 1965 [19][20], and in 1967 Peter Welch of IBM showed the now-universal shortcut: skip the autocorrelation, average modified periodograms of overlapping segments [14][15]. Every shaker controller and spectrum analyzer on Redstone runs Welch's method, whether the menu says so or not.

Related tools

Sources

  1. https://en.wikipedia.org/wiki/Spectral_density
  2. https://en.wikipedia.org/wiki/Stationary_process
  3. https://en.wikipedia.org/wiki/Wiener%E2%80%93Khinchin_theorem
  4. https://mathshistory.st-andrews.ac.uk/Biographies/Wiener_Norbert/
  5. https://mathshistory.st-andrews.ac.uk/Biographies/Khinchin/
  6. https://en.wikipedia.org/wiki/Arthur_Schuster
  7. https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/TM003i001p00013
  8. https://archive.org/details/bstj23-3-282
  9. https://onlinelibrary.wiley.com/doi/10.1002/j.1538-7305.1945.tb00453.x
  10. https://arc.aiaa.org/doi/abs/10.2514/8.3199
  11. https://www.vibrationdata.com/tutorials_alt/Simmons_MilesEquation.pdf
  12. https://archive.org/details/bstj37-1-185
  13. https://en.wikipedia.org/wiki/Blackman%E2%80%93Tukey_transformation
  14. https://research.ibm.com/publications/the-use-of-fast-fourier-transform-for-the-estimation-of-power-spectra-a-method-based-on-time-averaging-over-short-modified-periodograms
  15. https://en.wikipedia.org/wiki/Welch%27s_method
  16. https://everyspec.com/USN/NAVY-General/NAVMAT_P-9492_28720/
  17. http://www.vibrationdata.com/tutorials/navm.pdf
  18. https://everyspec.com/MIL-STD/MIL-STD-0800-0899/MIL-STD-810H_55998/
  19. https://en.wikipedia.org/wiki/Cooley%E2%80%93Tukey_FFT_algorithm
  20. https://mathshistory.st-andrews.ac.uk/Biographies/Tukey/

Written by HE in our own words from the cited sources — engineering judgment included, your stamp still required. All entries →

★ The Reference Shelf

Reading is free. The shelf is for cardholders.

Your library card is an email address: pin it to your shelf, print the card, take the FE/PE quick-reference pack, read the Huntsville history. The shelf remembers what you reach for.

Already on the list? Enter with your subscribed email →