Hybrid simulation relies on the transfer system to impose the computed displacements on the specimen. When the outer controller loop loses stability, the actuator drives the specimen beyond its target displacements. Such instability creates safety hazards for laboratory personnel and can also damage the specimen and expensive equipment such as the actuator and servo-valve. Instability then necessitates early termination of the test, and the experiment is lost before the planned loading is completed. Because the specimen may already be damaged, the test must be repeated with a new specimen. The dynamics of the experiment are not fixed, because the specimen itself can change during the test. Maghareh et al. [2] noted that a failure in part of the physical substructure can drastically change its dynamics. They also noted that such a change affects the safety and integrity of the experiment.
Gomaa et al. [1] showed that specimen degradation can cause this instability even when the outer controller is properly tuned for the initial state. As the specimen degrades, its stiffness decreases and the same controller produces a larger response. This results in gain amplification in the outer controller loop, which reduces its gain margin. Conventional time-delay-based margins can miss this mechanism, so Gomaa et al. [1] proposed the NCF online stability indicator (NCF OSI) based on the NCF margin. This finding encourages the use of the NCF margin in this study. However, that finding was obtained from a virtual hybrid simulation, so this section examines whether the same mechanism appears in a physical experiment.
Figure 1 shows the experimental setup, in which the specimen is a steel column representing the physical substructure. Its base is anchored to a concrete block with four Hilti anchors, and its top is connected to the actuator. An MTS hydraulic actuator with a capacity of 10 kip imposes the lateral displacement at the top of the column. The internal LVDT of the actuator measures this displacement, which serves as the feedback signal of the outer controller loop. A Speedgoat real-time target runs the outer controller and sends the command to the actuator at 2048 Hz.

The goal of the tests is to compare the outer controller loop before and after damage. The plant is first identified in the initial state, while the anchorage is undamaged and the specimen has its initial stiffness. The specimen is then pushed laterally until the concrete around the anchors cracks and the base loses part of its rotational stiffness. Finally, the plant of the degraded specimen is identified, and Section 2.3 compares the two states.
No numerical substructure is involved in the tests of this section, and the measured force is therefore not fed back. The reference is a prescribed displacement, so only the outer controller loop is closed. As Figure 2 shows, the outer controller acts on the tracking error and sends the command to the plant . The measured displacement is then fed back to the controller, which closes the loop with unity feedback.
The plant was experimentally identified before and after the anchorage damage, and the two identified plants are denoted and . In each state, band-limited white noise up to 80 Hz was applied through the loop of Figure 2 with the same PID controller . A parametric model was then fitted to the transfer function from the command to the measured displacement . In the initial state, the lateral stiffness of the specimen at the actuator control point was MN/m. After the anchorage was damaged, the lateral stiffness fell to 5.38 MN/m, or , which is a 25% loss.
In the loop of Figure 2, the controller is the same in both states, and only the specimen changes. The open-loop transfer function is therefore in the initial state and in the damaged state. The chordal distance between and the critical point is
and its minimum over frequency is the NCF margin, presented by Vinnicombe [3] as the generalized stability margin. Figure 3 compares the experimentally identified frequency responses of the two states and their chordal distances.
The 25% loss of lateral stiffness raised the loop gain by a factor of about 2.4. However, the phase of the loop changed only slightly, as Figure 3 shows. The loss of stiffness therefore mainly amplifies the loop gain rather than adding phase lag. Consequently, the NCF margin falls from 0.59 at 35 Hz in the initial state to 0.34 at 39 Hz in the damaged state, below the 0.4 guideline. These trends agree with the gain-amplification mechanism and the guideline proposed by Gomaa et al. [1], so the mechanism also appears in a physical experiment.
These results expose a dilemma for a fixed outer controller, which must be tuned before the experiment begins. A controller tuned for the initial state becomes too aggressive once the specimen degrades, as Section 2.3 showed. Conversely, a controller tuned for the damaged state can remain stable but compromises tracking performance in the initial state. The specimen state is also highly uncertain during the experiment, so the appropriate tuning cannot be chosen in advance. The stability of the outer controller loop must therefore be quantified online based on the observed measurements. Updating the controller accordingly is then required so the experiment is completed safely and successfully. Section 3 presents a framework that meets both requirements by combining an online stability indicator with an adaptive controller.
The NCF OSI introduced in Section 2.1 quantifies the robustness of the closed-loop system as the physical plant changes during the experiment. This study extends the analytical results to experimental implementation, discusses the challenges that arise, and proposes ways to address them. The proposed framework comprises two parts: an online estimator of the indicator and an adaptive controller that scales the outer controller output according to the estimated indicator. The indicator is estimated during the experiment from the desired displacement calculated by the numerical substructure and the measured actuator displacement. To this end, three estimator branches are combined at each frequency, each weighted by the confidence in its output. The first is direct identification, , which estimates the closed-loop transfer function of the outer controller loop from the desired displacement to the measured actuator displacement , with the cross-spectral estimator [4]. The second is output-power inference, , which can detect loop amplification at frequencies that cannot be reliably identified. This branch compares the output power measured during the experiment against the reference recorded before the excitation. The third is the prior identification of the initial state, , which serves as a fallback when insufficient information is available. The adaptive controller then uses the estimated indicator to scale the controller output by the adaptive factor , keeping the loop stable with an adequate margin as the specimen degrades while retaining as much tracking performance as possible. This section presents the framework first and then its calibration against cases with a known margin.
In the hybrid simulation of Figure 4, the numerical substructure computes the desired displacement from the ground acceleration and measured force . To compensate for transfer-system lag and improve tracking, a phase-lead compensator receives and produces the reference . The outer controller takes the tracking error , where is the measured actuator displacement. It scales its output by the adaptive factor to produce the command sent to the plant .
The plant comprises the specimen of stiffness and the transfer system, which includes the inner-loop controller, servo-valve, and actuator. The control–structure interaction discussed by Dyke et al. [5] is also accounted for in the transfer-system dynamics. The measured force is fed back to the numerical substructure and closes the numerical substructure loop. Similarly, the measured displacement is fed back to the outer controller and closes the outer controller loop.
The NCF OSI block runs alongside the outer-controller loop and does not alter the signals within it. It collects the reference and the measured displacement over a moving window and estimates the NCF margin of the loop at each update. The adaptive law then compares this estimate with a target margin and updates the adaptive factor . A lower margin reduces to restore stability, while a sufficient margin lets recover toward one to retain tracking performance.
The plant in Figure 4 is characterized by the transfer function from the command to the measured actuator displacement . The open-loop transfer function of the outer controller loop and its closed-loop response from to are
Here , and are the Laplace transforms of , and , respectively. The NCF stability margin of the outer controller loop is evaluated for the loop under unity feedback [6]:
As the specimen changes during a hybrid simulation, the loop changes with it, and so does its margin. Equation (4) could be applied directly only if were identified with high confidence at every frequency, but online measurements rarely support this. The NCF OSI is therefore estimated from three complementary branches, which the following sections develop in turn. These are direct identification , output-power inference and the prior identification of the initial state .
Identifying the closed-loop transfer function requires the autospectrum of reference and the cross spectrum of measured actuator displacement with . The autospectrum of is also needed to calculate coherence, which helps set the identification weight at each frequency. A moving window lets these spectra follow changes in the specimen during the experiment instead of averaging over the whole record.
Each window contains samples of and , where is the sampling frequency and is the window duration. Updates occur at intervals , so consecutive windows overlap when and share part of their samples. With update index and sample index within each window, the Hann-windowed discrete Fourier transforms are
where and are the samples of window , and is the angular frequency of bin . The samples of each window are weighted by the Hann window presented by Blackman and Tukey [7]:
Welch [8] proposed estimating the power spectrum by averaging, with equal weight, the squared Fourier magnitudes of overlapping windowed segments of a record. Cross spectra are estimated in the same way from products of paired Fourier transforms, with one transform conjugated. In the present study, the plant changes as the specimen degrades, so recent windows should carry more weight than earlier ones. Each window therefore provides one raw estimate of the autospectra of and and the cross spectrum of with :
where the superscript denotes the complex conjugate, and the subscript marks the raw estimate of window . These raw estimates are averaged with the geometric moving average proposed by Roberts [9], which updates an average from its previous value and the newest observation. Earlier spectra are retained with contributions that decay as new windows arrive, which reduces scatter between updates while still following changes in the plant. The first complete window initializes the average, and at each subsequent update weights the new spectrum and weights the previous average:
The NCF OSI is evaluated over , the set of frequencies considered in the analysis.
At each selected frequency, the loop response can be identified directly from the reference and the measured response . The averaged spectra give the estimate of the closed-loop frequency response [4] and the magnitude-squared coherence
Inverting Equation (3) gives the identified loop, which is the open-loop transfer function estimated from the measured closed-loop response:
Here, the identified loop is smoothed with the running median over neighbouring frequencies, as proposed by Di Matteo et al. [10], so the median is taken over each frequency and its two neighbours. With three values, a single outlying bin cannot set the median, and the smoothed loop is given by
The identified margin then follows from Equation (4), with the smoothed loop in place of the unknown loop :
At each update, however, the estimate is uncertain at any frequency that the command does not excite sufficiently. The measured response at that frequency then stays close to the sensor noise and carries little information.
Each bin therefore receives an identification weight between zero and one, built from three factors. The first is command activity , which checks from the root mean square of the window that the command rises above the noise:
where is the root mean square of the command samples in the considered window , is the standard deviation of the command noise measured in a quiet record, and is a hyperparameter to be tuned. The second factor is the input leverage , which reduces the weight of bins that carry little command energy. To measure this, the command power in each bin is first normalized by its maximum over :
The raw leverage then sets the weight of each bin through the threshold , expressed as a fraction of the peak command power. A bin with well above should receive a weight close to one, and a bin well below it a weight close to zero:
which changes smoothly between these limits and equals one half when , that is, when the bin carries times the peak command power. The leverage is relative to the peak bin, so is still needed to reject a command that is weak at all frequencies. The third factor is the coherence from Equation (15), which multiplies the activity and the leverage to complete the weight
This weight sets the share of direct identification in the per-frequency fusion of the three branches in Section 3.1.3.
Where the command carries little energy, the identification weight falls toward zero, and direct identification then provides little evidence of the margin. A degrading specimen can still reduce the margin of the outer controller loop at these frequencies, so a second source of evidence is needed. In this case, the output power still carries evidence, because the outer controller loop shapes every signal that enters it, including sensor noise. Wu and Wang [11] used the active-power deviation and its rate of change to detect the positive-feedback mode of a virtual synchronous generator. The output-power inference branch is inspired by this approach and uses the change in output power as evidence of a reduced margin. To quantify this change at each frequency, the averaged output power is compared with its reference from the initial state:
where is the observed power ratio at window , which measures the change in output power at each frequency relative to the initial state. The averaged autospectrum of is from Equation (12), and is the reference autospectrum of recorded in the initial state.
The output-power branch detects a change by comparing the present output power with a reference from the initial state. A single window of output power fluctuates strongly, so a reference taken from one window could bias every later comparison. The reference autospectrum is therefore the median of three raw autospectra recorded in the initial state. These autospectra are taken at 0.5, 1.0 and 1.5 s after the start of the experiment, with :
where , and are the corresponding updates, and the median discards one unusually loud or quiet window.
According to the experimental verification presented in Section 2.3, the change due to specimen degradation can be represented by an amplification of the open-loop gain. Consequently, a candidate loop with amplification predicts the power ratio relative to the initial state
where is the predicted power ratio, and is the loop of the prior identification of the initial state. The amplification is then selected as the candidate in that minimizes the logarithmic difference between the observed and predicted ratios:
where is the selected amplification, and is a grid of candidate values of .
The predicted ratio in Equation (25) assumes that only the loop has changed since the reference was recorded. At frequencies without excitation, however, the output consists mainly of sensor noise, and its power scatters because it is estimated from few windows. The reference is the median of only three windows, so it is also uncertain at these frequencies. Consequently, can indicate an amplification that does not exist, and the estimated margin would decrease without degradation.
The identified margin cannot correct this error, because it is valid only at the excited frequencies. Degradation, however, changes the loop at all frequencies, so it also increases the magnitude of the identified loop at the excited frequencies. Section 2.3 observed such an increase by a factor of about 2.4 in the damaged specimen. A real amplification inferred from output power should therefore be accompanied by an increase in the identified loop. The factor measures this increase and thus confirms whether the amplification indicated by is real.
The factor is the real scale that best fits the prior loop to the identified loop in the weighted least-squares sense:
The factor is real, consistent with the real amplification in Equation (25), and each term of the sum expands as
Setting the derivative of the sum with respect to to zero gives the closed-form solution
The weight lets the well-identified excited frequencies dominate, and the identified loop is taken before frequency-median smoothing. For an unchanged specimen , whereas for the damaged specimen of Section 2 the loop increase gives .
The confirmation then sets how much the amplification inferred from output power is trusted in the margin estimate. It depends on the loop increase identified at the excited frequencies and is clipped between a lower bound and one:
where is the confirmation threshold, and once reaches it, equals one and the amplification inferred from output power is fully trusted. The lower bound is a safety minimum that keeps some trust in the inferred amplification even when no loop increase is identified. It accounts for amplification that cannot be observed at any excited frequency, such as amplification from unmodeled dynamics or higher-mode effects. The inferred amplification is then pulled toward one when the confirmation is low, which gives the accepted amplification
where is the accepted amplification, which replaces as the input of the recursive averaging in Equation (32).
The accepted amplification at update inherits the scatter of and therefore varies between updates. To reduce this scatter while following the degrading specimen, successive accepted amplifications are averaged recursively. As for the spectra in Equations (11)–(13), more weight is placed on recent values, and the average is formed on a logarithmic scale:
where is the smoothed amplification, and is the averaging factor that weights the newest accepted amplification. Equation (4) applied to the prior loop scaled by the smoothed amplification then gives the margin of this branch:
where is the output-power margin, which reflects the loop amplification inferred from output power and confirmed by the identified loop.
Besides being pulled toward one, an unconfirmed amplification should also carry little weight in the fused margin. The confirmation therefore also weights this branch, together with the identification weight, in the fusion of Section 3.1.3:
where is the weight of the output-power branch, and is the identification weight from Equation (22). Consequently, this branch receives the share left by direct identification, in proportion to the confirmation.
Unlike direct identification, which reflects both losses and gains in the stability margin, the output-power branch detects only open-loop gain amplification. Consequently, once the adaptive controller restores stability and the output power returns to its initial level, this branch cannot reflect a recovered loop. A recovery step is therefore introduced to release the remembered amplification once the output power indicates that the loop has recovered. While the median of over remains below one, the smoothed amplification is reduced gradually:
where is the recovery factor, with , and the reduction stops once the output power rises above its initial reference. As a result, the output power itself limits how far the amplification is released as the loop recovers.
The third branch is the margin of the prior identification of the initial state, evaluated with the current adaptive factor:
At each frequency, the three branches now provide three margin estimates, which are combined according to the evidence behind each. The prior receives the weight left by the two measured branches, so the three weights sum to one:
The three margins are then combined with these weights at each frequency bin to give the fused margin curve:
Fusion is performed bin by bin, before any reduction over frequency, so margins evaluated at different frequencies are never combined. This choice also handles the idle case without special treatment, because in every bin when the command is inactive. An unchanged loop then reads its gain-scaled prior, and a bin with a remembered change continues to report it.
To drive the adaptive controller, the fused curve is reduced to a single value at each update. Following Equation (4), which takes the infimum over frequency, the NCF OSI margin is the lowest value of over :
where is the NCF OSI margin at update , and is the set of frequencies considered in evaluating the NCF OSI. The adaptive law of Section 3.1.4 then uses this margin to compute the next adaptive factor . Figure 5 summarizes one complete update, from the measured signals to the adaptive factor, and Table 1 lists the estimator parameters.
The NCF OSI estimated in Section 3.1.3 provides the margin needed to adjust the adaptive controller factor . When the margin falls below a specified target, is reduced to maintain the stability of the system. This reduction is intended to counteract the gain amplification caused by specimen degradation, as discussed earlier in Section 2.
To achieve this while retaining as much tracking performance as possible, is updated from the difference between the estimated margin and a target margin:
where is the margin error, and is the target NCF margin listed in Table 1. A negative error indicates insufficient margin, whereas a positive error indicates spare margin that can be used to restore tracking performance.
Reducing and restoring the adaptive factor carry different risks, which depend on how quickly each change is made. A slow reduction leaves the loop exposed to instability for as long as the margin remains insufficient. Conversely, a fast recovery can raise back toward instability before the margin estimate settles after a reduction. The adaptive factor is therefore reduced and restored at different rates, depending on the sign of the margin error:
where is the adaptation gain, and is the ratio of the recovery rate to the reduction rate. Consequently, falls at full rate when the margin is below the target and recovers about three times more slowly. The adaptive factor is bounded between the smallest permitted value and one, which corresponds to the full controller output.
The framework of Section 3.1 contains 15 parameters, which are listed in Table 1 with their values and roles. Seven of them are design values set directly by the test and the analysis rather than by calibration. Among them, the window duration and the update interval are defined in Section 3.1.1. The window duration of 0.5 s gives a frequency resolution of 2 Hz, which also sets the lower bound of . The update interval of 0.125 s sets how often the indicator and are updated. The upper bound of , 80 Hz, matches the band over which the plants were identified in Section 2.3. The grid spans the amplifications expected from degradation and includes the factor of about 2.4 observed in Section 2.3. The target follows the guideline of Gomaa et al. [1], and keeps part of the controller active.
The remaining eight parameters are hyperparameters, which are marked as calibrated in Table 1 and tuned in this section. They set how quickly the indicator follows a change, how much evidence each branch requires, and how strongly the adaptive factor responds. Their suitable values depend on the laboratory, the equipment, the specimen and its material, which differ between experiments. They therefore cannot be fixed from theory and must be calibrated against cases with a known margin.
| Symbol | Value | Type | Role | |
|---|---|---|---|---|
| 0.125 s | — | Design | Update interval | |
| , | 0.5 s, 1024 | — | Design | Window length at Hz |
| 2–80 Hz, 37 bins | — | Design | Analysis set, 58–62 Hz rejected | |
| 0.39 | 0.25 s | Calibrated | Spectral averaging, Equations (11)–(13) | |
| 4.54 | — | Calibrated | Activity threshold relative to command noise, Equation (19) | |
| — | Calibrated | Input-leverage threshold, Equation (21) | ||
| 0.5–6, 25 values | — | Design | Candidate loop-magnitude changes, Equation (26) | |
| 0.1 | — | Design | Minimum confirmation, Equation (30) | |
| 1.5 | — | Calibrated | Confirmation threshold, Equation (30) | |
| 0.12 | 1.0 s | Calibrated | Output-power memory, accumulation, Equation (32) | |
| 0.73 | 0.4 s | Calibrated | Recovery factor per update, Equation (35) | |
| 0.40 | — | Design | Target NCF margin, Equation (40) | |
| 0.625 | — | Calibrated | Adaptation gain per update, Equation (41) | |
| 0.32 | — | Calibrated | Ratio of the recovery rate to the reduction rate of | |
| 0.20 | — | Design | Smallest adaptive factor, Equation (41) |
The two plants identified in Section 2.3 provide such cases for the column specimen of this study. Because both models are known, the true NCF margin can be computed at every update and compared with the estimate. To impose damage numerically, both models receive the same command , and their outputs are mixed:
where and are the outputs of and , and is the damage index. Here represents the initial state and represents the damaged state identified in Section 2.3. While is constant, superposition makes this mixture equivalent to the single linear plant driven by . The true margin at each update therefore follows from Equation (4) applied to the corresponding loop . The mixture interpolates the responses of the two states and does not represent an intermediate stiffness.
The calibration cases combine three features, and the first is the damage history over a case duration of 120 s. Sudden damage steps from zero to one at 40 s and back to zero at 80 s. Gradual damage ramps up between 20 and 50 s and back down between 70 and 100 s. The second feature is the excitation band of the reference , which is band-limited white noise with an RMS of 0.15 mm. Sensor noise with a standard deviation of 0.05 mm is added to the measured displacement.
Wideband excitation covers 2 to 80 Hz and therefore includes the frequencies of the minimum margin, near 35–38 Hz. Narrowband excitation covers only 2 to 10 Hz, so direct identification cannot observe the change at those frequencies, and only output-power inference can detect it. The third feature is the adaptive factor, which is either fixed at one or active during the case. With fixed, the cases test whether the indicator alone estimates the margin correctly as the damage changes. With active, the same cases test whether the loop is held at the target while tracking is retained. Table 2 lists the resulting eight cases, which cover every combination of the three features.
| Case | Damage history | Excitation | Adaptive factor |
|---|---|---|---|
| 1 | Sudden | Wideband, 2–80 Hz | Fixed, |
| 2 | Gradual | Wideband, 2–80 Hz | Fixed, |
| 3 | Sudden | Narrowband, 2–10 Hz | Fixed, |
| 4 | Gradual | Narrowband, 2–10 Hz | Fixed, |
| 5 | Sudden | Wideband, 2–80 Hz | Active |
| 6 | Gradual | Wideband, 2–80 Hz | Active |
| 7 | Sudden | Narrowband, 2–10 Hz | Active |
| 8 | Gradual | Narrowband, 2–10 Hz | Active |
Figures 6 and 7 show the cases with fixed and active, respectively, and each column shows one case in three panels. The first panel shows the command and the measured displacement, and the second shows the damage index . The third compares the estimated with the true margin and , and shows in the adaptive cases.


Four simple metrics, listed in Table 3, summarize each case after the first 5 s of the record. The estimation error is the mean of , which measures how closely the indicator follows the true margin. The roughness is the median of the second difference of , multiplied by 1000, so steady changes are not penalized. The travel is the total variation of , which measures how much the controller is adjusted. The unsafe time is the percentage of time with , during which the true margin lies clearly below the target.
| Case | Estimation error | Roughness | Travel of | Unsafe time (%) |
|---|---|---|---|---|
| 1 | 0.014 | 10.5 | — | 34.8 |
| 2 | 0.014 | 11.8 | — | 25.1 |
| 3 | 0.017 | 0.010 | — | 34.8 |
| 4 | 0.032 | 0.52 | — | 25.1 |
| 5 | 0.014 | 10.1 | 1.44 | 1.5 |
| 6 | 0.015 | 11.1 | 1.38 | 0.0 |
| 7 | 0.022 | 0.023 | 2.44 | 3.6 |
| 8 | 0.037 | 0.53 | 2.64 | 1.0 |
Each case constrains the hyperparameters of the branch or the adaptive law that it exercises most strongly. The wideband cases set the spectral averaging , the activity threshold and the leverage threshold of direct identification. The narrowband cases set the output-power parameters, with their damage onset setting and and their return to the initial state setting . The adaptive cases set the adaptation gain and the ratio of the recovery rate to the reduction rate. The values in Table 1 were tuned on a wider benchmark, which included a closed-loop experimental record and a replay of a recorded hybrid simulation. The eight cases above therefore illustrate the behavior of these values rather than define the complete tuning.
The estimator relies on four assumptions, and each one limits how the reported indicator should be interpreted.