Spectral Dynamics Inc.
  • Home
    • About SD
    • History of Spectral Dynamics
  • Shakers

    Shakers

    • Overview
    • Water Cooled
    • Air Cooled
    • Vibration Shaker Systems Buyer's Guide

    Options

    • Slip Tables & Head Expanders
    • Shock Test Machines
    • Hydraulic Exciters
  • Vibration Controllers

    Multiple/Single Axis

    • Jaguar™

    Single Axis

    • Panther
    • Puma™
    • Lynx™
  • Advanced Solutions

    ARPG Products

    • SIPS™
    • VIDAS™
    • IMPAX-SD-LAB™

    P.I.N.D. System

    • Felix™ Computer Aided Test System

    Advanced Solutions

    • BalanceTool™

    High Speed Data Acquisition

    • VIDAS™

    Data Analysis

    • CATS™
    • STAR Modal™
    • STAR Acoustics™
  • Support

    Service & Information

    • Vibration Control Buyer’s Guide
    • Request Product Information
    • Contact SD
    • Customer Training
    • Domestic US Service

    Software Support

    • Panther Software Tutorials
    • Spectral Dynamics Software FAQs
    • CATS / STAR Modal™ Help

    Additional Support

    • Related Links
    • Technical Library
    • Spectral Dynamics Vibration Calculator
  1. You are here:  
  2. Home
  3. Support
  4. Technical Library
  5. NLAF: Shock Amplitude on Nonlinear Systems

Technical Note · Shock Testing

NLAF: Shock Amplitude on Nonlinear Systems

Why a shock pulse equalized at low level comes out the wrong size at full level on a nonlinear system, how Panther's Non-Linear Adjustment Factor (NLAF) corrects the amplitude pulse by pulse without disturbing the equalized shape, and how to schedule a test so it works best.

Key takeaways

  • Panther equalizes a shock pulse at a low level (−20 dB by default) and scales it up. On a linear system the full-level pulse is right. On a nonlinear one (long-stroke shakers, airbag tests, amplifiers near their limits) the shape stays right but the level does not: a few percent to more than 20% low, or high.
  • NLAF is the wanted peak divided by the measured peak. Panther works it out after every pulse, averages it over the pulses since it was last applied, and scales the drive by it during the ramp and between schedule rows.
  • Auto NLAF is on by default in automatic tests, and each correction is limited to the Level Increment (3 dB by default). In manual mode, the Update button under NLAF # applies the averaged value to the next output.
  • It changes only the drive's gain, never the compensation. That is why it is preferred to repeated compensation updates when the shape is good and only the peak is off.
  • Measured on Panther with a simulated test system that loses 22% of its gain at full level: the test aborts on its first full-level pulse without NLAF; with Auto NLAF it runs to the end and each row of pulses lands closer to the reference. A system that gains 15% over-tests every pulse by 14% without NLAF and comes back to within 0.1% with it.
  • Schedule for it: split the full-level pulses into several rows, and use a smaller Level Increment on strongly nonlinear systems. On a linear system NLAF stays at 1.0, so a large factor there means something else is wrong.

Why shock pulses come out wrong at full level

A Panther shock test reaches full level in stages. System identification measures the shaker system's frequency response with low-level random noise. The reference pulse divided by that response gives the compensated drive. A few pulses at the equalization level (−20 dB by default) confirm the drive, and the compensation is adjusted if they miss the alarm limits. The schedule then ramps up in steps of the Level Increment, one pulse per step, to the levels in the schedule.

Every step of that sequence assumes the system scales: twice the drive, twice the response. Many shock systems don't, and the bigger the pulse the further they stray:

  • Long-stroke and airbag systems. Near the ends of its travel an electrodynamic shaker's force factor falls and its suspension stiffens; pneumatic and airbag systems change stiffness with pressure and stroke.
  • Power amplifiers approaching their voltage or current limits.
  • Fixtures and test articles with isolators, elastomers or joints whose stiffness depends on amplitude.

When the nonlinearity mainly changes the system's gain, the full-level response keeps the equalized shape but arrives at the wrong size. It is systematic, not random: every pulse at that level misses by about the same amount.

Reference at full level Without NLAF (−9.4% at the peak) With Auto NLAF (−1.9%) 120 150 180 210 240 0 5 10 15 20 Time (ms) Acceleration (g) (a) The whole pulse 180 185 190 14 16 18 20 Time (ms) (b) The peak
Figure 1. An illustration from our model: a 20 g, 11 ms half-sine with pre- and post-pulses, on a simulated shaker whose gain falls 10% at full level. Equalized at −20 dB and scaled up, the first full-level pulse has the right shape but peaks 9.4% low. With Auto NLAF the last pulse of the run is 1.9% low.

What NLAF is

The Non-Linear Adjustment Factor is the gain the drive would need for the response to land on the reference:

NLAF = L · Rpk / |C|pkL: the level requested for the pulse (0 dB = 1). Rpk: the reference peak. |C|pk: the measured peak of the control channel. For an imported waveform, the ratio is taken at the reference's largest point.

A factor of 1.10 means the response was 9% low and the drive should rise by 10% (0.83 dB). After every pulse Panther logs it with the pulse's errors, for example "Avg Error = 0.37%; Error at Peak = 9.40%, Suggested NLAF = 1.10375". The peak error is logged as a magnitude; the factor shows the direction.

Table 1. Reading an NLAF
NLAFResponse wasDrive change
0.80 25% high −1.94 dB
0.90 11.1% high −0.92 dB
1.00 on target 0 dB
1.10 9.1% low +0.83 dB
1.20 16.7% low +1.58 dB
1.41 29.1% low +3.00 dB (one application's limit at the default increment)

How Panther applies it

Schedule level (dB) EQ −17 −14 −11 −8 −5 −2 row 1 row 2 row 3 one pulse Auto NLAF applied: the average since the last application, at most ± the Level Increment Output the pulse at the requested level Measure the peak of the control channel Suggested NLAF wanted ÷ measured peak Average since the last application Apply to the drive, limited
Figure 2. An automatic schedule with Auto NLAF, as Panther ran it for Table 3: equalization at −20 dB, a ramp in 3 dB steps with one pulse per step, then three rows of pulses at full level. After each pulse Panther suggests an NLAF; after equalization, during the ramp and between rows it applies the average of the suggestions since the last application.
  • Averaged over a group. One pulse is the smallest group, but the factor is best used as a group average, which smooths out pulse-to-pulse scatter.
  • Applied after equalization, during the ramp and between schedule rows in automatic tests with Auto NLAF on. The pulses within one row go out as a group at a fixed drive.
  • Limited per application to ± the Level Increment, so no single correction can change the drive by more than one ramp step. The log says "Apply NLAF" or, when the limit acts, "Apply Limited NLAF".
  • Cumulative. The corrected drive carries over to every following pulse and level. Going back down to a lower level, the next pulses measure the new error and Auto NLAF corrects back.
  • Never combined with a compensation update. An output that updates the compensation clears the pending NLAF, so the two corrections never stack on the same pulse.
Table 2. NLAF in Panther Shock
WhereWhatDefault
Schedule dialog: Auto NLAF Applies the averaged NLAF automatically after equalization, during the ramp and between schedule rows. Automatic mode only. On
Schedule dialog: Level Increment (dB) The ramp step between levels, and the most one NLAF application can change the drive 3 dB
Schedule dialog: Equalization Level Where the compensated pulse is first confirmed −20 dB
Manual control panel: NLAF # Update Applies the averaged suggestion to the next manual output –
Event log "Suggested NLAF" after every pulse; "Apply NLAF" or "Apply Limited NLAF" when applied. In manual mode, a "Gain Shift" warning with its NLAF equivalent when the system gain moves more than 1 dB from its system-identification value –

What it does for accuracy

To show the effect over a whole test, we ran Panther Shock against its device simulator, with a simulated test system whose gain changes with level. The pulse was a 20 g, 11 ms half-sine with pre- and post-pulses. The schedule was Panther's default ramp (equalization at −20 dB, 3 dB steps) followed by ten full-level pulses in rows of 3, 3 and 4, judged against Panther's factory limits of 10% (alarm) and 20% (abort) on the peak error. Each simulated system changes its gain with the peak drive of every pulse, by exactly −10%, −22% or +15% at full level, or saturates its drive by 15% at full level. Because the test system is known exactly, every error Panther reports can be checked against the truth: the simulator records the gain it applied to every pulse. The five systems are deliberately simple: each nonlinearity is a single, smooth effect, the same on every pulse.

Without NLAF With Auto NLAF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -30 -20 -10 0 +10 +20 +30 Peak error (%) ±10% alarm ±20% abort test aborts (a) Gain falls 22% at full level equalize ramp, 3 dB steps full level: rows of 3, 3, 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -30 -20 -10 0 +10 +20 +30 Peak error (%) ±10% alarm ±20% abort (b) Gain rises 15% at full level equalize ramp, 3 dB steps full level: rows of 3, 3, 4 Pulse number
Figure 3. Peak error of every pulse, measured on Panther. (a) A system that loses 22% of its gain at full level: without NLAF the error grows through the ramp and the first full-level pulse, at −22.4%, passes the abort limit. With Auto NLAF the ramp takes out part of the growing error, the test runs, and the three rows at full level come in at −17.2%, −9.7% and −5.4%. (b) A system that gains 15%: without NLAF every full-level pulse over-tests by 14%; with NLAF the three rows come in at +8.5%, −0.4% and +0.1%.
Table 3. Ten full-level pulses on five simulated systems, measured on Panther
System at full levelAuto NLAFFirst full-level pulseMean |peak error|Pulses past the 10% alarmOutcome
Linear Off −0.05% 0.05% 0 of 10 Completes
On +0.02% 0.01% 0 of 10 Completes; total NLAF 0.00 dB
Gain falls 10% Off −10.1% 10.1% 10 of 10 Completes, just past the alarm throughout
On −6.8% 2.9% 0 of 10 Completes; last pulse −0.5%; drive +1.08 dB
Gain falls 22% Off −22.4% – – Aborts on the first full-level pulse
On −17.2% 10.2% 3 of 10 Completes; last pulse −5.4%; drive +3.21 dB
Gain rises 15% Off +14.0% 14.0% 10 of 10 Completes as an over-test
On +8.5% 2.7% 0 of 10 Completes; last pulse +0.1%; drive −0.96 dB
Drive saturates, 15% at full level Off −13.1% 13.1% 10 of 10 Completes, low; top of the pulse flattened
On −9.6% 4.3% 0 of 10 Peak corrected, last pulse −1.0%; the flattened top remains (see Limits)

Three things stand out. On a linear system Auto NLAF does nothing measurable: every suggestion was between 0.9997 and 1.0006, and its total correction 0.00 dB. Where the gain changes with level, it turns a test that runs near or past the limits into one that converges onto the reference. And it starts on the way up: the ramp takes out part of the change before any full-level pulse is spent, and each row at full level takes out more.

Getting the most from NLAF

NLAF can only act between groups, and it always learns from the last level, which is a little below the next one. Both facts make the schedule part of the accuracy.

3 dB steps, one row of 10 3 dB steps, rows of 3, 3, 4 3 dB steps, rows of 1 1 dB steps, rows of 3, 3, 4 1 2 3 4 5 6 7 8 9 10 -20 -16 -12 -8 -4 0 Pulse at full level Peak error (%) −10% alarm
Figure 4. The ten full-level pulses on the 22% system, scheduled four ways, all with Auto NLAF, measured on Panther. One row of ten runs at the drive the ramp reached and stays at −17%. Rows of 3, 3 and 4 converge to −5%, and rows of one pulse converge fastest, to −0.2%. A 1 dB ramp starts closest, at −11.5%, because each step's correction comes from a level nearer the next.
Table 4. Scheduling a strongly nonlinear system (gain falls 22%), Auto NLAF on, measured on Panther
ScheduleFirst full-level pulseLastMean |peak error|Past the 10% alarm
3 dB steps, one row of 10 −17.2% −17.2% 17.2% 10 of 10
3 dB steps, rows of 3, 3, 4 −17.2% −5.4% 10.2% 3 of 10
3 dB steps, ten rows of 1 −17.3% −0.2% 4.3% 2 of 10
1 dB steps, rows of 3, 3, 4 −11.5% −4.0% 7.1% 3 of 10
  • Split the pulses at level into rows. NLAF is applied between rows, so ten pulses in rows of two or three get several corrections at full level; ten in a single row all run at the drive the ramp reached. The total pulse count does not change.
  • Use a smaller Level Increment for strongly nonlinear systems. Smaller steps mean each correction is learned closer to the level it is used at. The ramp takes a few more pulses at lower levels.
  • Mind the per-step limit. One application can move the drive by at most the Level Increment. With 1 dB steps, a large correction takes several groups.
  • In manual mode, run a few pulses, read the suggested NLAF in the log, and press Update when the values agree.

NLAF or a compensation update?

Panther can also correct a shock drive by updating the compensation: the measured error, times a feedback factor, adjusts the frequency-domain compensation for the next pulse. That is the right tool when the shape is wrong. When the shape is right and only the peak is off, NLAF is the better one. (This comparison is from our model of the two corrections; the Panther runs above cover NLAF.)

No correction Compensation update, feedback 0.25 Compensation update, feedback 0.75 NLAF after every pulse 1 2 3 4 5 6 7 8 9 10 -12 -10 -8 -6 -4 -2 0 Pulse at full level Peak error (%)
Figure 5. From our model: ten full-level pulses on the 10% system, corrected after every pulse in three ways. NLAF converges as fast as a compensation update with a feedback of 0.75, and faster than one with 0.25, the feedback the Panther manual suggests for stability.
Table 5. Correcting after every pulse at full level (model)
SystemMethodFirst full-level pulseLastMean |peak error|Shape error over the pulse
Gain falls 10% No correction −9.4% −11.2% 9.9% 0.1%
Compensation update, feedback 0.25 −7.2% −2.7% 3.7% 0.1%
Compensation update, feedback 0.75 −4.9% −1.3% 1.3% 0.1%
NLAF after every pulse −4.3% −1.3% 1.2% 0.1%
Drive saturates, 15% Compensation update, feedback 0.25 −9.9% −4.3% 5.8% 1.4%
Compensation update, feedback 0.75 −7.2% −2.4% 2.5% 0.9%
NLAF after every pulse −5.7% −1.4% 1.3% 4.1%

On a gain nonlinearity the two reach the same place, and NLAF gets there at least as fast. The difference is what they leave behind. NLAF is one logged number applied to the drive, limited per step, and the compensation stays exactly as system identification measured it. A compensation update writes the full-level gain change (−1.1 to −1.25 dB here) into the compensation itself, and in a real test it learns from every line of a single pulse's spectrum, including lines where the pulse carries little energy and the measurement is mostly noise or distortion. That is why the Panther manual, from field experience, recommends using NLAF to set the peak when the shape is good, rather than repeatedly updating the compensation.

On the clipping system the compensation update did something NLAF cannot: it reduced the shape error over the pulse from about 4% to about 1% by pre-shaping the drive around the flattening. The price is a compensation that now describes this system at this level, distortion included, rather than the system itself. (Our update rule follows the manual's description but not Panther's limits on each update, so the model shows the direction, not Panther's exact numbers.)

Shape wrong: update the compensation. Size wrong: NLAF. Look at the overlay of control and reference. If the response follows the reference but is uniformly too small or too large, leave the compensation alone and let NLAF scale it. If the pre- and post-pulses, the rise or the ringing differ, the compensation needs work, and a gain factor cannot fix it.

Limits and cautions

  • NLAF corrects size, not shape. When the system clips, as a saturating amplifier or a shaker at the end of its stroke does, the top of the pulse flattens. NLAF still brings the peak up (in Table 3 from −13.1% to −1.0% by the last pulse), but the flattened top remains and grows slightly as the drive rises: the shape error over the pulse went from 2.7% to 4.0%. A flattened top means the system is at a limit, and no correction can add capacity.
  • NLAF raises the drive on a softening system. The 22% system needed up to 4.5 dB more drive. Check that the shaker's displacement, velocity and force limits, and the drive limit, still hold at the corrected level.
  • On a linear system, NLAF should stay at 1.0. On a wire, a small rigid load or any system known to be linear, a suggested NLAF far from 1 is a symptom, not a correction: something else is wrong, such as a sensitivity, a range or a channel mapping. Turn Auto NLAF off and find the cause before running at level.
  • It needs repeatable pulses. NLAF assumes the next pulse behaves like the last few. On a system that changes from pulse to pulse, averaging over a larger group gives a steadier factor.

Common misconceptions

Table 6. Misconceptions about NLAF
MisconceptionReality
"If the pulse is low at full level, re-run system identification." The system identification measured the system correctly, at the level it was run. A gain that changes with level is exactly what NLAF corrects, without throwing away a good compensation.
"Equalize at full level and the problem goes away." It does, at the cost of extra full-energy pulses on the test article. NLAF corrects using the pulses the schedule runs anyway.
"NLAF corrects only the next pulse." It is cumulative: the corrected drive carries over to every following pulse and level until a new NLAF changes it.
"Auto NLAF works in manual mode." It has no effect there. In manual mode, use the Update button under NLAF #.
"A big NLAF means a very nonlinear system." It can. On a system known to be linear it means something else is wrong; turn Auto NLAF off and investigate.
"NLAF can fix a clipped pulse." It sets the peak; it cannot restore a flattened top. That needs more capacity, not more gain.

Quick reference

Table 7. NLAF rules
ItemRule
Suggested NLAF wanted peak / measured peak = L·Rpk / |C|pk, after every pulse
Applied value average of the suggestions since the last application
When (Auto NLAF) after equalization, during the ramp and between schedule rows; automatic mode only
When (manual) on the next output after Update under NLAF #
Limit ± the Level Increment per application (3 dB default = a factor of 0.71 to 1.41)
Persistence cumulative: carried to every following pulse and level
With compensation updates never both on the same output
Drive change 20·log10(NLAF) dB
Factory peak-error limits alarm 10%, abort 20%

How Panther helps

  • Amplitude correction built into the schedule: Auto NLAF is on by default and acts through the ramp and between schedule rows, so the nonlinearity is corrected on the way up rather than discovered at full level.
  • Safe by construction: each correction is limited to one level increment, and a compensation update and an NLAF are never applied to the same pulse.
  • The equalized shape is kept: NLAF scales the drive and leaves the system identification untouched, so a good compensation stays good.
  • Visible: every pulse logs its average error, its peak error and its suggested NLAF, and every application is logged with its value.
  • Manual control when you want it: in manual mode, apply the averaged correction with one button when the suggestions agree.

References and further reading

  1. MIL-STD-810H Change 1, Environmental Engineering Considerations and Laboratory Tests, Method 516.8, Shock.
  2. C. M. Harris and A. G. Piersol (eds.), Harris' Shock and Vibration Handbook, 5th ed., McGraw-Hill.
  3. Spectral Dynamics Technical Library: Shock Response Spectrum; Resonance; FFT Fundamentals.

Related Technical Library


 

  • Adaptive Control Loop

  • Classical Shock Testing on a Shaker

  • Coherence and Phase Matching in Vibration Testing: Essential Parameters for Accurate Control

  • Digital Tracking Sampling in Sine Vibration Control

  • Examples of Data Analysis for Rotating Machinery

  • FFT Fundamentals: Resolution, Windowing and Leakage

  • Fixture Design for Vibration Testing

  • Importance of Coherence in Vibration Control

  • Kurtosis

  • Limit Channels, Notching and Alarm and Abort Lines

  • Measuring Transmissibility

  • MIL-STD-810H Vibration and Shock Methods Explained

  • NLAF: Shock Amplitude on Nonlinear Systems

  • Overlap Processing in PANTHER Vibration Controllers: Improving Low-Frequency Test Response

  • Reading Dynamic Range Specifications

  • Real-Time Digital Resampling in Vibration Control

  • Resonance

  • Rotating Machinery Analysis: Principles, Applications, and Best Practices for Predictive Maintenance

  • Shaker Performance Limits: Force, Velocity and Displacement

  • Shock Response Spectrum (SRS)

  • Sigma Clipping

  • Sigma Clipping - Ultra Clip

  • Sigma Clipping, Ultra Clip and Kurtosis in Random Vibration Control

  • Statistical Degrees of Freedom (DOF) in Random Vibration Control

  • The Critical Importance of Native 64-Bit Architecture in Vibration Control Systems

Spectral Dynamics, Inc. is a leading worldwide supplier of systems and software for vibration testing, structural dynamics, and acoustic analysis. Spectral Dynamics' products are used for design verification, product testing and process improvement by manufacturers of all types of electronic and mechanical products.

1500 Wyatt Drive Suite 14
Santa Clara, CA 95054-1522
Tel: (800) 778-8755
sales@spectraldynamics.com
service@spectraldynamics.com

Vibration Controllers

  • Panther  
  • Lynx  
  • Puma  
  • Jaguar

Advanced Solutions

  • Felix - P.I.N.D.

Support

  • Contact
  • Product Information
  • Domestic U.S. Service

© 2026 Spectral Dynamics Inc. Privacy Policy

Download our ISO 9001:2015 certificate | Sitemap

LinkedIn Facebook YouTube