DCL

system identification

Machine Tested Sanitized data

Gantry MIMO FRF Identification

Two-input two-output frequency-response identification of a gantry stage: linear and yaw excitation, 2×2 FRF matrix, coherence assessment, DAC input correlation and its impact on decoupling.

Role
Identification method · Measurement · Analysis
Stack
MATLAB · FRF · Welch · MIMO
Published
Jun 15, 2026
Updated
Jul 18, 2026

Key Metrics

FRF matrix
2×2
Modes
Linear / Yaw
Excitation
Dual-drive DAC
Estimator
Welch-averaged

Executive Summary

A gantry stage driven by two parallel linear motors is a two-input system: the same pair of drive commands can excite a linear (translation) mode and a yaw (rotation) mode. Tuning each drive independently while ignoring the coupling gives misleading margins. This project builds the full 2×2 FRF matrix in physical drive coordinates and in linear/yaw modal coordinates, assesses measurement quality with coherence, and analyzes how correlation between the two DAC excitation signals corrupts the MIMO estimate.

Engineering Context

The gantry beam is driven at both ends (drive 1, drive 2), each with its own encoder. Because the beam is not rigid and the two drives are mechanically coupled through it, a command on drive 1 produces a response on encoder 2 and vice versa. Decoupling control design needs the cross terms — which means they must first be measured credibly.

Performance Requirements

  • Obtain all four FRFs of the 2×2 matrix over the servo-relevant band.
  • Coherence high enough over the crossover region to trust gain/phase margins (threshold: sanitized).
  • Separate the linear and yaw modes clearly enough to support independent loop shaping in modal coordinates.

System Architecture

flowchart LR
  E1[Excitation u1] --> D1[Drive 1]
  E2[Excitation u2] --> D2[Drive 2]
  D1 --> G[Gantry beam dynamics]
  D2 --> G
  G --> S1[Encoder y1]
  G --> S2[Encoder y2]
  S1 --> FRF[2×2 FRF estimation]
  S2 --> FRF
  E1 --> FRF
  E2 --> FRF

Mathematical Model

Physical and modal coordinates

With drive forces u1,u2u_1, u_2 and encoder positions y1,y2y_1, y_2, the linear and yaw coordinates follow from the transformation:

Eq. 1 — modal transformation
xlin=12(y1+y2),θyaw=1L(y1y2)x_{lin} = \tfrac{1}{2}(y_1 + y_2), \qquad \theta_{yaw} = \tfrac{1}{L}(y_1 - y_2)

L is the effective encoder separation; the linear coordinate is the mean motion, yaw is the differential rotation.

MIMO FRF estimation

The 2×2 matrix is estimated from cross- and auto-spectra. For a well-posed estimate the two excitations must be uncorrelated; the H1 estimator in matrix form is:

Eq. 2 — H1 MIMO estimator
G^(f)=Syu(f)Suu(f)1\hat{G}(f) = S_{yu}(f)\,S_{uu}(f)^{-1}

where SuuS_{uu} is the input cross-spectral matrix. If the two DAC signals are correlated, SuuS_{uu} becomes ill-conditioned and the matrix inversion amplifies noise — this is the central practical failure mode of MIMO FRF measurement.

Identification / Measurement Method

  1. Excite both drives with independent broadband signals (uncorrelated by construction).
  2. Record u1,u2,y1,y2u_1, u_2, y_1, y_2 synchronously at the servo sample rate.
  3. Welch-average the spectra: segmenting, windowing and overlap trade variance against frequency resolution (see the Welch method note).
  4. Compute the 2×2 FRF matrix via Eq. 2, plus multiple coherence per output.
  5. Transform to linear/yaw coordinates via Eq. 1 and compare the diagonal dominance in both coordinate frames.

Synthetic data from an ideal two-mass model — for component demonstration, not a machine measurement.

Controller Design

Controller design itself is out of scope for this page; the identification supports it in two ways:

  • Loop shaping is done per modal channel (linear, yaw) where the plant is closest to diagonal.
  • The residual off-diagonal terms bound how far the two modal bandwidths can be pushed independently — decoupling considerations are documented with sanitized numbers.

Simulation Results

A two-mass synthetic model (the one behind the demo plot above) was used to validate the estimation pipeline end-to-end: known plant in, Welch-averaged estimate out, and the estimate must reproduce the known anti-resonance/resonance pair within the expected variance. This verifies the code path before any machine data is trusted.

Machine Results

Machine FRF campaigns were run on the gantry with the method above. Published results are being sanitized. TODO: normalized magnitude plots of all four channels in both coordinate frames, with coherence.

Key Engineering Decisions

Reusable Artifacts

MIMO Welch FRF estimation script (synthetic-data demo)

MATLAB .m · Planned — not yet published · Planned artifact

Limitations

  • The linear/yaw transformation assumes a rigid mapping between encoder positions and the modal coordinates; beam flexibility above the servo band violates this.
  • Published data is synthetic or normalized; absolute frequencies and gains are not disclosed.

Next Iteration

  • Automate condition-number and coherence checks as pass/fail gates during acquisition.
  • Extend the pipeline to closed-loop identification (excitation added on the controller output).

Version History

DateChange
2026-06-15Initial publication: method, math, failure case.
2026-07-18Added synthetic pipeline validation and demo plot.

Related Notes

Type to search.