system identification
Machine Tested Sanitized dataGantry 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 and encoder positions , the linear and yaw coordinates follow from the transformation:
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:
where is the input cross-spectral matrix. If the two DAC signals are correlated, becomes ill-conditioned and the matrix inversion amplifies noise — this is the central practical failure mode of MIMO FRF measurement.
Identification / Measurement Method
- Excite both drives with independent broadband signals (uncorrelated by construction).
- Record synchronously at the servo sample rate.
- Welch-average the spectra: segmenting, windowing and overlap trade variance against frequency resolution (see the Welch method note).
- Compute the 2×2 FRF matrix via Eq. 2, plus multiple coherence per output.
- 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
| Date | Change |
|---|---|
| 2026-06-15 | Initial publication: method, math, failure case. |
| 2026-07-18 | Added synthetic pipeline validation and demo plot. |
Related Notes
- How to Obtain a Stable FRF Using Welch Averaging Segment length, window, overlap and averaging count decide whether an FRF is smooth and trustworthy or noisy and biased. A practical recipe with the trade-offs made explicit.
- Why Can an Anti-resonance Have Poor Repeatability? A 280 Hz anti-resonance that moves between measurements is telling you something about contact stiffness, preload and clearance. A debugging plan for unrepeatable anti-resonances.
- Understanding Linear and Yaw Modes in a Gantry Why a dual-drive gantry is naturally described by sum and difference coordinates, what the transformation actually assumes, and how mode separation simplifies both identification and control.