Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Chapter 3: Time-Domain Signal Processing

Authors
Affiliations
University of Alberta
University of Alberta

1Overview

In bridge SHM, sensors continuously collect measurements that vary over time. These time-varying signals contain information about structural behavior, environmental conditions, and potential damage. Time-domain signal processing analyzes how a signal evolves over time without transforming it to other domains and is often the first step when examining raw sensor data. This chapter covers techniques for preprocessing and interpreting time-series data (e.g., acceleration or strain measurements) directly in the time domain. These time-domain fundamentals form the foundation for the more advanced analysis methods covered in subsequent chapters.


2What is a Time Series?

A time series is a sequence of data points indexed in time order, typically collected at equally spaced intervals. For SHM applications, common time series include:

In mathematical terms, a digital (or discrete-time) signal is a sequence of numbers like {x[0],x[1],…,x[N−1]}\{x[0], x[1], \ldots, x[N-1]\} of length NN obtained by sampling a continuous-time signal x(t)x(t) at equally spaced time instants. If the sampling period is Ts>0T_s > 0 seconds, then the sampling frequency is Fs=1TsF_s = \frac{1}{T_s} hertz, and the nn-th sample at time instant tn=nTst_n = nT_s is

x[n]  ≜  x(nTs),n=0,1,…,N−1.x[n]\;\triangleq\;x(nT_s), \quad n = 0,1,\ldots, N-1.
<Figure size 1400x1200 with 3 Axes>

Signal sampling from continuous to discrete time series.

2.1Pulse amplitude modulation

The sampling operation can be represented in continuous time using an impulse (Dirac-comb) model. The sampled digital signal is

xs(t)  =  ∑n=0N−1x[n] δ(t−nTs),x_s(t)\;=\;\sum_{n=0}^{N-1} x[n]\,\delta(t-nT_s),

This idealizes pulse-amplitude modulation by infinitely short pulses whose areas equal the samples.

<Figure size 1000x600 with 2 Axes>

Figure 2:ontinuous-time signal x(t)x(t) and the sampling pulse train with spacing TsT_s.


3Basic principles of sampling

Discrete-time analysis uses two frequency units in parallel: analog frequency ff (Hz) with Ω=2πf\Omega=2\pi f (rad/s), and digital (normalized) frequency k=f/Fsk=f/F_s (cycles/sample) with Ωk=2πk\Omega_k=2\pi k (rad/sample). Sampling the analog sinusoid x(t)=Asin⁡(2πft+θ)x(t)=A\sin(2\pi f t+\theta) at rate FsF_s gives the digital sinusoid

x[n]=Asin⁡(2πk n+θ),k=fFs.x[n]=A\sin(2\pi k\,n+\theta), \qquad k=\frac{f}{F_s}.

Because sin⁡(2πr+θ)=sin⁡(θ)\sin(2\pi r +\theta)=\sin(\theta) for any integer r=k×nr=k \times n, digital sinusoids whose frequencies differ by an integer multiple of 2π2\pi (equivalently, whose kk differ by an integer) are identical. A unique digital frequency can therefore be restricted to the unit band

−π≤Ωk<π⟺−12≤k<12.-\pi\le \Omega_k < \pi \quad\Longleftrightarrow\quad -\tfrac12 \le k < \tfrac12 .

If the analog signal is bandlimited to fmax⁡f_{\max}, ideal alias-free sampling requires the sampling theorem

Fs>2fmax⁡.F_s > 2 f_{\max}.

The boundary Fs/2F_s/2 is the Nyquist frequency; sampling above this rate prevents the spectral replicas generated by sampling from overlapping.

3.1Aliasing

If (5) is violated, different analog sinusoids collapse to the same digital sinusoid: aliasing.

<Figure size 1650x900 with 2 Axes>

Figure 3:Digital sinusoid identity.


4Components of Time-Series Data

A time-series can be decomposed into underlying components: trend, seasonality, cyclic variations, and irregular (noise) components. Identifying these components aids preprocessing (e.g., removing trends or seasonal effects) and correct data interpretation. Consider a single foil strain gauge mounted along the girder axis at midspan on the bottom flange of a simply supported steel bridge. Under positive bending from traffic, this location is typically in tension. We express strain in microstrain (με\mu\varepsilon). For context, a common serviceability target is to keep peak service strains near or below about 0.12% ≈ 1200 με\mu\varepsilon; “yield-level” strain depends on the steel grade: εy≈fy/E\varepsilon_y \approx f_y/E with E≈200E \approx 200 GPa, so for fy=250–350f_y=250\text{–}350 MPa, εy≈0.125%–0.175%\varepsilon_y \approx 0.125\%\text{–}0.175\% (1250–1750 με\mu\varepsilon). Thus, a generic 0.20% (2000 με\mu\varepsilon) line is above yield for many steels and should be treated as an illustrative “do-not-exceed” proxy rather than a universal safety limit.

4.1Additive model

The measured strain X(t)X(t) is commonly treated as an additive sum of four components,

X(t)  =  T(t)  +  S(t)  +  C(t)  +  R(t),X(t) \;=\; T(t) \;+\; S(t) \;+\; C(t) \;+\; R(t),

where TT is trend, SS is seasonal (regular, fixed-period patterns), CC is cyclic (repetitive but not strictly periodic), and RR is the residual. This additive model is appropriate because superposition is a good approximation for strain in linear elastic service.

4.1.1Trend, T(t)T(t)

The trend is the slow, long-term movement of the baseline strain under comparable environmental and operational conditions. In a bridge application it may creep upward over months if average traffic grows, if stiffness is slowly lost (e.g., fatigue cracking or corrosion reducing section), or if supports settle. The trend evolves on the scale of weeks to years and is usually estimated by a smooth filter (e.g., long moving average or LOESS). Detrending prevents gradual, expected drift from confounding anomaly detection.

4.1.2Seasonality, S(t)S(t)

Seasonality repeats with a known period and must not be mistaken for damage when its amplitude is within expected limits. Two drivers dominate for a midspan bottom-flange gauge:

  1. Temperature: apparent/mechanical thermal strain follows εth≈α ΔT\varepsilon_{\text{th}} \approx \alpha\,\Delta T with α≈11–13\alpha \approx 11\text{–}13 με\mu\varepsilon/°C for steel. A day–night swing of 30 °C therefore produces on the order of 30×12≈36030\times 12 \approx 360 με\mu\varepsilon change, large enough to shift the baseline strain but still normal if combined peaks remain below service limits. Uniform temperature change mainly produces free expansion (little stress in an unconstrained member) but the gauge still reports apparent strain; through-depth thermal gradients add curvature and thus real bending strain at the flange.

  2. Regular usage cycles: diurnal rush-hour loading and weekday/weekend differences repeat predictably (periods of 24 h and 7 d). For anomaly detection, these patterns should be modeled and removed (or conditioned on: |T, S$) so the SHM system does not alarm on normal daily or seasonal swings. For fatigue assessment, the magnitude and count of these seasonal cycles are directly relevant and should be retained for damage accumulation calculations (e.g., rainflow + S-N).

4.1.3Cyclic, C(t)C(t)

Cyclic variations are repeatable but not locked to a fixed period. Think of school terms, harvest seasons, tourist waves, or medium-term detours that temporarily reroute trucks. Their amplitude and timing wander; forcing them into the seasonal template will distort S(t)S(t) and inflate residuals. Instead, capture them as a separate slow, quasi-periodic component (often via a broader-band smoother than TT).

4.1.4Residual, R(t)R(t)

After explaining TT, SS, and CC, the remainder contains high-frequency noise, unmodeled short events (single heavy-truck bursts, braking near the gauge), and truly unusual behavior. This is where sudden, non-recurring changes appear, so robust outlier detection and event logic are applied to R(t)R(t). In contrast to trend shifts, residual spikes are brief and often sparse. Always guard against false alarms from sensor faults or temperature-induced zero-shifts by cross-checking with temperature channels and neighboring sensors.

The following figure shows the decomposition of midspan bottom-flange strain time-series data from a simply supported bridge girder into its underlying components.

<Figure size 2400x2000 with 1 Axes>

Figure 4:Decomposition of measured strain at the midspan bottom flange of a simply supported bridge girder.

4.2Multiplicative models

In some time-series, the amplitude of periodic variation grows or shrinks with the overall level. In those cases a multiplicative model gives a cleaner separation of structure and noise than an additive model:

X(t)=T(t)×S(t)×C(t)×R(t)X(t)=T(t)\times S(t)\times C(t)\times R(t)

When to prefer multiplicative over additive:

For midspan bottom-flange strain, the additive model is often adequate because elastic strains superpose linearly. The multiplicative view is useful when analyzing relative strain (percent of a baseline) or when operational influences scale the amplitude (e.g., warmer seasons and heavier traffic both raise the baseline and the size of daily swings). The multiplicative model is log-additive:

log⁡X(t)=log⁡T(t)+log⁡S(t)+log⁡C(t)+log⁡R(t),\log X(t)=\log T(t)+\log S(t)+\log C(t)+\log R(t),

The same tools used for additive decomposition (moving averages, LOESS, STL, harmonic regression) apply in log space; exponentiate the components afterward (optionally with a small log-normal bias correction) for interpretation and alarm setting.

<Figure size 2400x2000 with 1 Axes>

Figure 5:Multiplicative decomposition of measured strain at the midspan bottom flange of a simply supported bridge girder.

4.3Implementation of the methods

Decomposition proceeds as follows: estimate a smooth trend, remove it, extract the periodic component over the relevant cycle, and isolate the residual. The steps in Algorithm 1 specify when to choose additive vs. multiplicative models and how to validate the residual as noise.

<Figure size 1650x1575 with 1 Axes>

Figure 6:Additive decomposition of midspan bottom-flange strain (no cyclic): original X(t), detrended X(t)-T(t), and residual R(t).

5Detrending

Detrending removes a known or modeled trend from a time-series so that analysis can focus on the fluctuations of interest. In bridge SHM, trends may arise from environmental effects or long-term structural changes. When tracking slow deterioration the trend itself is of interest; otherwise, separating the slowly-varying component from the dynamic response is the goal.

5.1Subtracting the mean

The simplest detrend is removing the constant offset (mean). For many vibration signals this is done by default (AC coupling), since the analysis focuses on oscillations around zero. Subtracting the mean produces a zero-average time-series, which many downstream analyses require.

Source
<Figure size 1650x900 with 2 Axes>

Figure 7:Detrending by subtracting the mean (constant offset) from a realistic 48-hour midspan bottom-flange strain record.

5.2Linear detrend

When the data has an approximately linear trend, fit a straight line (least squares) to the data and subtract it. This leaves the residual fluctuations around that line. For example, bridge strain data over a day may show a roughly linear increase due to a temperature rise from morning to afternoon; removing that linear component highlights other deviations.

Source
<Figure size 1650x900 with 2 Axes>

Figure 8:Linear detrending of a strain series with a slow temperature-driven rise across the day plus noise.

5.3Polynomial detrend

When the trend is nonlinear (e.g., a quadratic temperature curve over a day, or a logarithmic creep curve), fit higher-order polynomials or other nonlinear functions and subtract them to obtain stationary residuals.

Source
<Figure size 1650x900 with 2 Axes>

Figure 9:Quadratic (polynomial) detrending for a nonlinear drift mimicking daytime heating/cooling over 48 hours.

5.4Moving average (or moving median) baseline removal

A moving average with a large window captures slow changes (the trend); subtracting it from the signal acts as a high-pass filter. A moving median can be used similarly to reduce the influence of outliers.

Source
<Figure size 1650x900 with 2 Axes>

Figure 10:Moving-average baseline removal (2-hour window) to isolate higher-frequency fluctuations from thermal drift.

5.5Differencing

Taking the first difference (y[n]=x[n]−x[n−1]y[n] = x[n] - x[n-1]) removes a constant trend (it becomes zero) or converts a linear trend to a constant. In SHM, differencing acceleration yields jerk, which is not typical, but for slowly varying strains differencing can highlight incremental changes.

Source
<Figure size 1650x900 with 2 Axes>

Figure 11:First differencing to remove low-frequency drift and emphasize changes between samples.


6Statistical Descriptors in the Time Domain

Statistical descriptors quantify the properties of time-domain signals and serve as damage-sensitive features that can indicate changes in structural condition. They capture characteristics of the signal’s distribution, energy content, and extreme values.

6.1Mean (Average)

The mean μx\mu_x of a signal x[n]x[n] over a time window is defined as the arithmetic average of all values:

μx=E{X}=1N∑n=0N−1x[n]\mu_x = \mathbb{E}\{X\} = \frac{1}{N} \sum_{n=0}^{N-1} x[n]

where x[n]x[n] are the sampled values of the random variable XX and NN is the number of samples. In acceleration signals the mean is often close to zero after removing any DC bias. For strain signals the mean represents a baseline due to static loads. Removing the mean (zero-centering) prevents a non-zero mean from distorting other statistics such as variance.

6.2Variance and standard deviation

The variance σx2\sigma_x^2 measures the spread of the data around the mean:

σx2=E{(X−μx)2}=1N−1∑n=0N−1(x[n]−μx)2\sigma_x^2 = \mathbb{E}\{(X - \mu_x)^2\} = \frac{1}{N-1} \sum_{n=0}^{N-1} (x[n] - \mu_x)^2

The standard deviation σx\sigma_x is simply the square root of variance:

σx=σx2\sigma_x = \sqrt{\sigma_x^2}

These metrics quantify the energy or variability in the signal.

6.3Root Mean Square (RMS)

RMS quantifies the signal’s effective magnitude and is widely used in vibration analysis. It is defined as:

xRMS=1N∑n=0N−1x[n]2=E{X2}x_{\mathrm{RMS}} = \sqrt{\frac{1}{N} \sum_{n=0}^{N-1} x[n]^2} = \sqrt{\mathbb{E}\{X^2\}}

The relationship between RMS, mean, and standard deviation is:

xRMS2=μx2+σx2.x_{\mathrm{RMS}}^2=\mu_x^2+\sigma_x^2.

6.4Crest Factor

The crest factor is the ratio of the peak amplitude (absolute peak) to the RMS value:

CF=max⁡∣x[n]∣xRMS.\text{CF} = \frac{\max |x[n]|}{x_{\mathrm{RMS}}}.

This dimensionless number indicates how “peaky” the signal is. A pure sinusoid has CF≈1.414\text{CF} \approx 1.414 (peak = 1, RMS = 1/21/\sqrt{2}). Occasional spikes drive the crest factor high because the peak greatly exceeds the RMS. The crest factor combines peak and energy information and is less sensitive to absolute scaling than the peak alone.

6.5Skewness (Third Moment)

Skewness measures the asymmetry of the signal value distribution. It is defined as:

S=E{(X−μxσx)3}=1N∑n=0N−1(x[n]−μxσx)3.S = \mathbb{E}\{(\frac{X - \mu_x}{\sigma_x})^3\} = \frac{1}{N} \sum_{n=0}^{N-1} (\frac{x[n] - \mu_x}{\sigma_x})^3.

When S=0S=0 the distribution is symmetric around the mean. A positive skew indicates a longer right tail; a negative skew indicates a longer left tail.

<Figure size 2250x750 with 3 Axes>

Figure 12:Visual illustration of skewness in probability distributions.

6.6Kurtosis (Fourth Moment)

Kurtosis KK measures the “tailedness” of the distribution, i.e., how heavy or light the tails are relative to a normal distribution. One definition (for excess kurtosis) is:

K=E{(X−μxσx)4}−3=1N∑n=0N−1(x[n]−μxσx)4−3,K = \mathbb{E}\{(\frac{X - \mu_x}{\sigma_x})^4\}- 3 = \frac{1}{N} \sum_{n=0}^{N-1} (\frac{x[n] - \mu_x}{\sigma_x})^4 - 3,

Subtracting 3 makes K=0K=0 for a Gaussian (the Pearson definition does not subtract 3, giving a normal distribution kurtosis of 3). High kurtosis indicates frequent extreme deviations: a sharp peak and heavy tails. Low kurtosis indicates a flatter distribution with light tails. Because a single large spike can substantially raise kurtosis, tracking it over time can detect the onset of irregular events.

<Figure size 2250x750 with 3 Axes>

Figure 13:Kurtosis comparison showing tail behavior in probability distributions.

6.7Implementation example

The following example examines a realistic acceleration measurement from a highway bridge under ambient traffic loading.

Source
<Figure size 1650x450 with 1 Axes>

Figure 14:Loading and plotting a sample acceleration data with non-Gaussian characteristics.

Now let’s analyze this acceleration time series as a random variable and examine its probability distribution.

Source
<Figure size 1200x900 with 1 Axes>

Figure 15:Statistical distribution of the reference singal.

Loading...

7Correlation Analysis

In signal processing, correlation analysis identifies similarities between sensor measurements, detects periodicities, and reduces noise effects.

7.1Similarity of Signals

Similarity between two zero-mean time-series can be formalized by the inner product (or covariance):

⟨x,y⟩  =  Cov(x,y)=∑n=0N−1x[n] y[n]N,\langle \mathbf{x}, \mathbf{y} \rangle \;=\; \text{Cov}(\mathbf{x}, \mathbf{y}) = \frac{\sum_{n=0}^{N-1} x[n]\,y[n]}{N},

The induced norm ∥x∥=⟨x,x⟩=σx\|\mathbf{x}\|=\sqrt{\langle \mathbf{x},\mathbf{x}\rangle} = \sigma_x yields a scale-invariant similarity (cosine similarity or Pearson’s correlation coefficient)

ρxy  =  ⟨x,y⟩∥x∥ ∥y∥=Cov(x,y)σx.σy∈[−1,1],\rho_{xy} \;=\; \frac{\langle \mathbf{x}, \mathbf{y} \rangle}{\|\mathbf{x}\|\,\|\mathbf{y}\|} = \frac{\text{Cov}(\mathbf{x}, \mathbf{y})}{\sigma_x . \sigma_y}\in[-1,1],

which measures how much x[n]x[n] aligns with y[n]y[n]. Large ∣ρxy∣|\rho_{xy}| means the signals agree strongly in phase and shape at zero lag; ρxy=0\rho_{xy}=0 indicates orthogonality (no linear similarity).

<Figure size 1800x1050 with 4 Axes>

Figure 16:Illustrative scatter plots of correlation. (a) Two uncorrelated signals (ρ = 0). (b) Two perfectly correlated signals (ρ = 1).

7.2Auto/Cross-correlation

Cross-correlation measures the similarity between two signals as a function of time lag (τ=hTs\tau=hT_s):

rxy[h]  =  ∑n=0N−1x[n] y[n+h]N,h∈Z.r_{xy}[h]\;=\;\frac{\sum_{n=0}^{N-1} x[n]\,y[n+h]}{N},\qquad h\in\mathbb{Z}.

rxy[h]r_{xy}[h] slides y[n]y[n] by hh and computes the inner product at each shift; peaks indicate time alignments where the two signals share structure even when not synchronized at h=0h=0.

Cross-correlation operation’s intuition [Source].

Figure 17:Cross-correlation operation’s intuition [Source].

A normalized measure that removes scale is:

ρxy[h]  =  rxy[h]rxx[0] ryy[0]∈[−1,1],\rho_{xy}[h]\;=\;\frac{r_{xy}[h]}{\sqrt{r_{xx}[0]\,r_{yy}[0]}}\in[-1,1],
1
2
3
4
5
6
7
8
9
10
import numpy as np
from scipy import signal

# Method 1: Using np.correlate (most common)
xcorr_np = np.correlate(x, y, mode='full')
xcorr_norm = xcorr_np / np.sqrt(np.max(np.correlate(x,x,mode='full')) * np.max(np.correlate(y,y,mode='full')))

# Method 2: Using scipy.signal.correlate
xcorr_scipy = signal.correlate(x, y, mode='full')
xcorr_scipy_norm = xcorr_scipy / xcorr_scipy.max()

The autocorrelation is the special case y=xy=x. The autocorrelation function is symmetric; its value at zero lag equals the variance (σx2\sigma_x^2), and it approaches zero for large lags.

rxx[h]  =  E ⁣{Xt.Xt+τ},rxx[0]=E{X2}    (=σx for zero-mean X),r_{xx}[h]\;=\;\mathbb{E}\!\{X_t . X_{t+\tau}\},\quad r_{xx}[0]=\mathbb{E}\{X^{2}\}\;\;(=\sigma_x \text{ for zero-mean } X),

The following figure demonstrates autocorrelation by comparing a signal with its time-lagged copies.

<Figure size 2250x1500 with 4 Axes>

Figure 18:Demonstration of autocorrelation showing signal alignment at different lags and the complete autocorrelation function

7.3Period Detection Using Autocorrelation

Autocorrelation is useful for detecting the period of a signal when periodicity is not obvious from the time-domain waveform. When a signal contains periodic components, the autocorrelation function shows peaks at lags equal to the fundamental period and its multiples, because shifting a periodic signal by one complete period produces perfect alignment and maximum correlation. For a signal with period T0T_0, peaks appear at lags h=kT0h = kT_0 for k=0,±1,±2,…k = 0, \pm 1, \pm 2, \ldots; the spacing between consecutive peaks directly reveals T0T_0, even in the presence of noise.

Source
<Figure size 2100x1500 with 2 Axes>
Loading...

Figure 19:Period detection using autocorrelation analysis of a composite sinusoidal signal


8Noise Modeling and Rejection Techniques

Noise is inherent in sensor measurements due to electrical and environmental effects, thermal fluctuations, quantization errors, and electromagnetic interference. What we measure in practice is the corrupted signal:

x[n]=s[n]+ns[n]x[n] = s[n] + n_s[n]

where s[n]s[n] is the desired noise-free signal and ns[n]n_s[n] is the additive noise component. Correlation analysis provides tools to reduce noise effects and recover information about the original signal structure.

8.1Signal-to-Noise Ratio (SNR)

Measurement quality is commonly quantified using the Signal-to-Noise Ratio (SNR), defined as the ratio of signal power to noise power:

SNR=σs2σns2\text{SNR} = \frac{\sigma_s^2}{\sigma_{n_s}^2}

The SNR is typically expressed in decibels (dB):

SNRdB=10log⁡10(σs2σns2) dB\text{SNR}_{\text{dB}} = 10 \log_{10}\left(\frac{\sigma_s^2}{\sigma_{n_s}^2}\right) \text{ dB}

Higher SNR values indicate cleaner measurements; lower values indicate significant noise contamination.

8.2White noise

A zero-mean Gaussian white-noise process ns[n]n_s[n] with variance σns2\sigma_{n_s}^2 is defined by a delta autocorrelation:

rnsns[h]  =  σns2 δ[h],δ[0]=1,  δ[h≠0]=0,r_{n_sn_s}[h]\;=\;\sigma_{n_s}^{2}\,\delta[h],\qquad \delta[0]=1,\;\delta[h\neq 0]=0,

If ns1[n]n_{s1}[n] and ns2[n]n_{s2}[n] are independent white noises, then their cross-correlation is identically zero:

rns1ns2[h]  =  0∀h.r_{n_{s1} n_{s2}}[h]\;=\;0\quad\forall h.

Likewise, if x[n]x[n] is any WSS process independent of ns[n]n_s[n], then

rxns[h]  =  E{x[n] ns[n+h]}  =  0∀h,r_{xn_s}[h]\;=\;\mathbb{E}\{x[n]\,n_s[n+h]\} \;=\;0\quad\forall h,
Source
<Figure size 2250x1500 with 4 Axes>

Figure 20:Demonstration of white noise autocorrelation and cross-correlation properties

8.3Other Common Noise Models

8.3.1Pink Noise (1/f Noise)

Unlike white noise, in which each sample is independent, pink noise exhibits temporal correlations that decay gradually with increasing lag following a power law. Distant samples retain a weak but measurable correlation. This slow decay means that power integrated over logarithmic frequency bands remains constant, hence the alternative name “equal-energy-per-octave” noise. In SHM, pink noise arises from environmental loading, temperature fluctuations, and electronic drift when multiple physical processes with different time constants contribute to the signal.

rnpnp[h]=σnp2⋅1∣h∣α+1,0<α<1r_{n_p n_p}[h] = \sigma_{n_p}^2 \cdot \frac{1}{|h|^{\alpha} + 1}, \quad 0 < \alpha < 1

8.3.2Random Walk

Red noise (random walk) is the cumulative sum of white noise increments. Each sample equals the accumulated sum of all previous perturbations, creating a non-stationary process with unbounded variance. The generation mechanism is a simple recursion: the current value equals the previous value plus a white noise innovation. In structural monitoring, red noise models foundation settlement, long-term material creep, sensor baseline drift, and accumulated measurement errors. Nearby samples are highly correlated because they share most of their accumulated history; correlation decreases as lag grows and fewer common increments contribute to both samples.

nr[n]=nr[n−1]+w[n],w[n]∼N(0,σw2)n_r[n] = n_r[n-1] + w[n], \quad w[n] \sim \mathcal{N}(0, \sigma_w^2)
rnrnr[h]=σnr2(1−∣h∣N),∣h∣<Nr_{n_r n_r}[h] = \sigma_{n_r}^2 \left(1 - \frac{|h|}{N}\right), \quad |h| < N
Source
findfont: Failed to find font weight semibold for Liberation Sans, now using 700.
findfont: Failed to find font weight semibold for Liberation Sans, now using 700.
<Figure size 2100x1200 with 4 Axes>

Figure 21:Time-domain signals and sample autocorrelation for pink noise and random walk noise.

8.4Using Autocorrelation for Noise Rejection

For autocorrelation analysis in the presence of white noise, assume that s[n]s[n] is statistically independent of n[n]n[n] (i.e., rsn[h]=0r_{sn}[h] = 0 for all lags hh). By linearity of correlation and the white noise property from (26):

rxx[h]=rss[h]+rnn[h]=rss[h]+σn2 δ[h]r_{xx}[h] = r_{ss}[h] + r_{nn}[h] = r_{ss}[h] + \sigma_n^{2}\,\delta[h]

This result has three consequences:

  1. Zero-lag contribution: White noise adds only a delta spike at zero lag (h=0h = 0), contributing σn2\sigma_n^2 to the autocorrelation.

  2. Structure preservation: All non-zero-lag autocorrelation (h≠0h \neq 0) comes exclusively from the underlying signal s[n]s[n].

  3. Noise immunity: The signal’s correlation structure remains intact despite time-domain corruption.

Even when x[n]x[n] is heavily corrupted by noise, analyzing rxx[h]r_{xx}[h] reveals the underlying signal structure, because the noise contribution vanishes at non-zero lags.

Source
<Figure size 2250x900 with 2 Axes>

Figure 22:Demonstration of noise rejection using autocorrelation analysis


9Impulse Response and System Characterization

9.1Simulation of Dynamic Systems using Impulse Response

Consider a single-degree-of-freedom (SDOF) dynamic system subjected to an external force u(t)u(t), with governing equation:

mx¨(t)+cx˙(t)+kx(t)=u(t),m\ddot{x}(t) + c\dot{x}(t) + kx(t) = u(t),

where mm is the mass, cc is the damping coefficient, and kk is the stiffness. The solution to this linear time-invariant system is expressed in terms of the impulse response function (IRF) g(t)g(t): the output x(t)x(t) is the convolution of u(t)u(t) with g(t)g(t):

x(t)  =  ∫−∞∞u(τ) g(t−τ) dτ  =  ∫0tu(τ) g(t−τ) dτ  =  (u∗g)(t).x(t) \;=\; \int_{-\infty}^{\infty} u(\tau)\,g(t-\tau)\,d\tau \;=\; \int_{0}^{t} u(\tau)\,g(t-\tau)\,d\tau \;=\; (u * g) (t).

g(t)g(t) is the displacement response to a unit impulse u(t)=δ(t)u(t) = \delta(t) and fully characterizes the system by encoding its mass, damping, and stiffness properties. In discrete form:

x[n]=∑h=0N−1u[h]g[n−h],n=0,1,…,N−1x[n] = \sum_{h=0}^{N-1} u[h]g[n-h], \quad n = 0,1,\ldots, N-1

For an underdamped SDOF system, g(t)g(t) can be obtained analytically:

g(t)  =  1mωd e−ζωnt sin⁡(ωdt),t≥0,g(t) \;=\; \frac{1}{m\omega_d}\,e^{-\zeta \omega_n t}\,\sin(\omega_d t), \qquad t \ge 0,

with parameters:

g(t)g(t) is a decaying sinusoid: the oscillation period is set by ωd\omega_d and the envelope decay rate by ζωn\zeta \omega_n.

Once the impulse response is known, the system response to any arbitrary input (wind, traffic, seismic excitation) is obtained by evaluating the convolution integral:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import numpy as np

# System parameters
m, k, zeta = 1.0, (2*np.pi*2.0)**2, 0.02     # mass, stiffness, damping ratio
wn = np.sqrt(k/m)
wd = wn*np.sqrt(1-zeta**2)

# Time vector
dt, T = 0.01, 20
t = np.arange(0, T, dt)

# Impulse response g(t)
g = (1/(m*wd)) * np.exp(-zeta*wn*t) * np.sin(wd*t)

# Arbitrary input
u = 0.3*np.random.randn(len(t)) + np.sin(2*np.pi*1.5*t)*(t<5)

# Output response via convolution
x = np.convolve(u, g)[:N] * dt
Source
<Figure size 1500x900 with 1 Axes>

Figure 23:A mpulse Response for a typical underdamped SDOF system.

9.2Impulse Response Identification Techniques

9.2.1Impact Test

In practice, g(t)g(t) is obtained experimentally by applying an impulse (hammer impact), i.e., u(t)=δ(t)u(t) = \delta(t). Substituting into (34) and using the sifting property of the Dirac delta gives:

x(t)  =  ∫0tδ(τ) g(t−τ) dτ  =  g(t).x(t) \;=\; \int_{0}^{t} \delta(\tau)\,g(t-\tau)\,d\tau \;=\; g(t).

9.2.2Ambient Vibration Test

Suppose we measure only the output x(t)x(t) under ambient excitations. If the ambient input is modeled as zero-mean white Gaussian noise, the output autocorrelation rxx(τ)r_{xx}(\tau) contains the same information as the impulse response g(t)g(t).

Starting from the autocorrelation of the output:

rxx(τ)  =  E[ x(t) x(t+τ) ].r_{xx}(\tau) \;=\; \mathbb{E}[\,x(t)\,x(t+\tau)\,].

Substituting (34) gives a double convolution:

rxx(τ)  =  E ⁣[∫g(α) u(t−α) dα  ∫g(β) u(t+τ−β) dβ].r_{xx}(\tau) \;=\; \mathbb{E}\!\left[ \int g(\alpha)\,u(t-\alpha)\,d\alpha \; \int g(\beta)\,u(t+\tau-\beta)\,d\beta \right].

By linearity, g(α)g(\alpha) and g(β)g(\beta) move outside the expectation:

rxx(τ)  =  ∫ ⁣ ⁣∫g(α) g(β) E[ u(t−α) u(t+τ−β) ] dα dβ.r_{xx}(\tau) \;=\; \int\!\!\int g(\alpha)\,g(\beta)\,\mathbb{E}[\,u(t-\alpha)\,u(t+\tau-\beta)\,]\,d\alpha\,d\beta.

The inner expectation is the autocorrelation of the input u(t)u(t):

E[ u(t−α) u(t+τ−β) ]  =  E[ u(t) u(t+τ+α−β) ]  =  ruu(τ+α−β).\mathbb{E}[\,u(t-\alpha)\,u(t+\tau-\beta)\,] \;=\; \mathbb{E}[\,u(t)\,u(t+\tau + \alpha -\beta)\,] \;=\; r_{uu}(\tau + \alpha - \beta).

For zero-mean white Gaussian noise:

ruu(τ+α−β)  =  σuu2δ(τ+α−β).r_{uu}(\tau + \alpha - \beta) \;=\; \sigma_{uu}^2 \delta(\tau + \alpha - \beta).

Substituting into (40) and applying the sifting property of δ\delta collapses one integral:

rxx(τ)  =  σuu2∫ ⁣ ⁣∫g(α) g(β) δ(τ+α−β) dα dβ  =  σuu2∫g(α) g(α+τ) dα.r_{xx}(\tau) \;=\; \sigma_{uu}^2 \int\!\!\int g(\alpha)\,g(\beta)\, \delta(\tau + \alpha - \beta)\,d\alpha\,d\beta \;=\; \sigma_{uu}^2 \int g(\alpha)\,g(\alpha+\tau)\,d\alpha.

This is the convolution of g(t)g(t) with its time-reversal g(−t)g(-t):

rxx(τ)  =  σuu2 [g(t)∗g(−t)].r_{xx}(\tau) \;=\; \sigma_{uu}^2 \,[g(t) * g(-t)].

Evaluating the convolution shows that gx(t)=g(t)∗g(−t)g_x(t) = g(t) * g(-t) retains the form of an exponentially decaying sinusoid: a constant scale factor times e−ζωnτe^{-\zeta \omega_n \tau} multiplied by a sinusoid at ωd\omega_d, possibly with a phase shift. Although the amplitude and shape differ from g(t)g(t), the decay rate still reflects the damping ratio ζ\zeta and the oscillation period is still governed by ωd\omega_d.

This result is the foundation of ambient vibration testing: exciting a structure with ambient white-like noise (traffic, wind) and measuring the output autocorrelation indirectly identifies the impulse response and hence the modal properties.

9.3Extracting Structure’s Parameters

Once g(t)g(t) (or its estimate) is obtained, key system parameters follow:

  1. Natural period: The oscillation period Tn≈Td=2π/ωdT_n \approx T_d = 2\pi/\omega_d is read from zero-crossings or the dominant frequency of g(t)g(t).

  2. Damping ratio: The exponential envelope decays as e−ζωnte^{-\zeta \omega_n t}; fitting an exponential to the peak amplitudes yields ζ\zeta.

  3. System characterization: With ωn\omega_n and ζ\zeta known, the system’s response to arbitrary inputs follows by convolution.

The procedure is summarized below.

9.4Python Implementation

Source
<Figure size 1800x1200 with 2 Axes>
Loading...

Figure 24:Impulse response identification of an SDOF system under ambient load condition.

This implementation identifies the damped period (hence natural frequency) from autocorrelation zero-crossings and estimates damping from the exponential decay of the envelope. The resulting impulse response then predicts future response under arbitrary inputs via convolution.

9.5Impulse Response Functions for MDOF Systems

Consider a bridge structure discretized into NdN_d nodes along its span, each node representing a degree of freedom. The equation of motion has the same form as (33) but in matrix form. An impulse at node jj produces a displacement response at node ii characterized by gij(t)g_{ij}(t), yielding an Nd×NdN_d \times N_d impulse response matrix that completely describes the structural dynamics.

Multi-degree-of-freedom bridge structure showing impulse response function setup.

Figure 25:Multi-degree-of-freedom bridge structure showing impulse response function setup.

The complete impulse response matrix g(t)\mathbf{g}(t) contains all possible input-output relationships:

g(t)=[g11(t)g12(t)⋯g1Nd(t)g21(t)g22(t)⋯g2Nd(t)⋮⋮⋱⋮gNd1(t)gNd2(t)⋯gNdNd(t)]\mathbf{g}(t) = \begin{bmatrix} g_{11}(t) & g_{12}(t) & \cdots & g_{1N_d}(t) \\ g_{21}(t) & g_{22}(t) & \cdots & g_{2N_d}(t) \\ \vdots & \vdots & \ddots & \vdots \\ g_{N_d1}(t) & g_{Nd2}(t) & \cdots & g_{N_d N_d}(t) \end{bmatrix}

Maxwell’s reciprocity theorem, arising from the symmetry of the mass and stiffness matrices, gives:

gij(t)=gji(t)g_{ij}(t) = g_{ji}(t)

This reduces the number of independent impulse response functions from Nd2N_d^2 to Nd(Nd+1)/2N_d(N_d+1)/2, simplifying experimental characterization.

9.5.1Response to Arbitrary Loading

When the structure is subjected to arbitrary forces u1(t),u2(t),…,uNd(t)u_1(t), u_2(t), \ldots, u_{N_d}(t) at nodes 1 through NdN_d, the response at node ii is:

xi(t)=∑j=1Nd∫0∞uj(τ)gij(t−τ)dτ=∑j=1Nd(uj∗gij)(t)x_i(t) = \sum_{j=1}^{N_d} \int_{0}^{\infty} u_j(\tau) g_{ij}(t-\tau) d\tau = \sum_{j=1}^{N_d} (u_j * g_{ij})(t)

This superposition enables response prediction for complex loading scenarios from the impulse response matrix alone. The complete IRF for an MDOF system is:

gij(t)=∑r=1NdϕirϕjrMrωdre−ζrωnrtsin⁡(ωdrt),t≥0g_{ij}(t) = \sum_{r=1}^{N_d} \frac{\phi_{ir}\phi_{jr}}{M_r\omega_{dr}} e^{-\zeta_r\omega_{nr}t} \sin(\omega_{dr}t), \quad t \geq 0

where ϕir\phi_{ir} and ϕjr\phi_{jr} are the rr-th mode shape ordinates at nodes ii and jj, MrM_r is the modal mass, ωnr\omega_{nr} is the natural frequency, ζr\zeta_r is the damping ratio, and ωdr=ωnr1−ζr2\omega_{dr} = \omega_{nr}\sqrt{1-\zeta_r^2} is the damped natural frequency for mode rr. Each IRF is a superposition of NdN_d modal contributions; each modal term contains:

9.5.2Practical Implications

Experimental modal analysis: The expression provides the theoretical basis for extracting modal parameters (ωnr\omega_{nr}, ζr\zeta_r, ϕr\boldsymbol{\phi}_{r}) from measured impulse response functions by curve fitting.

Damage detection: Structural damage alters modal parameters and therefore the IRFs; comparing baseline and current IRFs reveals these changes.

Model reduction: For lightly damped structures, only the first few modes contribute substantially to the impulse response, permitting reduced-order modeling.

The following figure shows how multiple modes combine to form the complete impulse response function. Multi-modal superposition complicates parameter identification because the measured IRF at each node contains overlapping frequencies with varying amplitudes and decay rates. Frequency-domain analysis is generally required to extract individual modal parameters from the composite response.

Source
<Figure size 1800x1200 with 2 Axes>

Figure 26:Multi-mode impulse response function showing the contribution of individual modes and their superposition for a 5-DOF system with varying modal parameters.

10Exercises

The following exercises reinforce the concepts covered in this chapter. They include both conceptual questions and coding tasks. (NumPy/Pandas are assumed available for coding exercises.)